ShaderMaterial

Успадковує: Material < Resource < RefCounted < Object

Матеріал, визначений за індивідуальною програмою Shader та значеннями параметрів його шейдера.

Опис

Матеріал, який використовує користувацьку програму Shader, щоб надати візуальні елементи (полотні елементи, сітки, лижі, тумани), або для обробки частинок. У порівнянні з іншими матеріалами, ShaderMaterial надає більш глибокий контроль над створеним кодом шейра. Для отримання більш детальної інформації див. індекс документації тінейджерів нижче.

Кілька ShaderMaterials може використовувати той же шейдер і налаштовувати різні значення для формувальних уніформ.

Примітка: З причин виконання Resource.changed сигнал, що видається тільки при зміні ресурсу.resource_name. Тільки в редакторі, він також використовується для змін shader.

Посібники

Властивості

Shader

shader

Методи

Variant

get_shader_parameter(param: StringName) const

void

set_shader_parameter(param: StringName, value: Variant)


Описи властивостей

Shader shader 🔗

Програма Shader використовується для рендерингу цього матеріалу.


Описи методів

Variant get_shader_parameter(param: StringName) const 🔗

Повертає поточний набір значення для цього матеріалу уніформи в тіні.


void set_shader_parameter(param: StringName, value: Variant) 🔗

Зміна значення, встановленого для цього матеріалу уніформи в шейдері.

Примітка: param є випадково-чутливим і повинен відповідати назві однорідності в коді точно (не капіталізоване ім'я в інспекторі).

Примітка: Зміни у форму шейдера будуть ефективні на всіх екземплярах з використанням цього ShaderMaterial. Щоб запобігти цьому, скористайтеся перистентними уніформами з GeometryInstance3D.set_instance_shader_parameter() або дублікуванням ShaderMaterial ресурсу за допомогою Resource.changed. Уніформи перистансу дозволяють краще перевикористання шейкера і тому швидше, тому їх слід віддавати перевагу над зануренням СhaderMaterial при можливості.