VisualShader
Успадковує: Shader < Resource < RefCounted < Object
Користувальницька програма з візуальним редактором.
Опис
Цей клас надає графічний візуальний редактор для створення Shader. Хоча VisualShader не вимагають кодування, вони діляться однаковою логікою з сценарними відтінками. Вони використовують VisualShaderNode, які можна підключити один до одного, щоб контролювати потік тіні. Візуальний шейдер граф перетворюється на шейдер сценарію за сценаріями.
Посібники
Властивості
Методи
void |
add_node(type: Type, node: VisualShaderNode, position: Vector2, id: int) |
void |
add_varying(name: String, mode: VaryingMode, type: VaryingType) |
void |
attach_node_to_frame(type: Type, id: int, frame: int) |
can_connect_nodes(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) const |
|
connect_nodes(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) |
|
void |
connect_nodes_forced(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) |
void |
detach_node_from_frame(type: Type, id: int) |
void |
disconnect_nodes(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) |
get_node_connections(type: Type) const |
|
get_node_list(type: Type) const |
|
get_node_position(type: Type, id: int) const |
|
get_valid_node_id(type: Type) const |
|
has_varying(name: String) const |
|
is_node_connection(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) const |
|
void |
remove_node(type: Type, id: int) |
void |
remove_varying(name: String) |
void |
replace_node(type: Type, id: int, new_class: StringName) |
void |
|
void |
set_node_position(type: Type, id: int, position: Vector2) |
Переліки
enum Type: 🔗
Type TYPE_VERTEX = 0
Екскаватор, що працює на вершинах.
Type TYPE_FRAGMENT = 1
Фрагментний шейдер, що працює на фрагментах (пікселях).
Type TYPE_LIGHT = 2
Шейдер для світлових розрахунків.
Type TYPE_START = 3
Функція для "старта" етапу шейдера частинок.
Type TYPE_PROCESS = 4
Функція для "обробки" етапу шейдера частинок.
Type TYPE_COLLIDE = 5
Функція для фази "колід" (ручка для зіткнення частинок) шейдера частинок.
Type TYPE_START_CUSTOM = 6
Функція для "старта" етапу шейдера частинок, з індивідуальним виходом.
Type TYPE_PROCESS_CUSTOM = 7
Функція для "обробки" етапу шейдера частинок, з індивідуальним виходом.
Type TYPE_SKY = 8
Шейдер для 3D середовища небо.
Type TYPE_FOG = 9
Ускладнений шейдер, який працює для кожного флоксаля карти об'ємної фольги.
Type TYPE_MAX = 10
Представляє розмір переліку Type.
enum VaryingMode: 🔗
VaryingMode VARYING_MODE_VERTEX_TO_FRAG_LIGHT = 0
Varying пропускається з функцій Vertex до Fragment і Light.
VaryingMode VARYING_MODE_FRAG_TO_LIGHT = 1
Varying пропускається з Fragment функція Light.
VaryingMode VARYING_MODE_MAX = 2
Представляємо розмір VaryingMode enum.
enum VaryingType: 🔗
VaryingType VARYING_TYPE_FLOAT = 0
Варирування типу float.
VaryingType VARYING_TYPE_INT = 1
Варирування типу int.
VaryingType VARYING_TYPE_UINT = 2
Варирування типу не позначено int.
VaryingType VARYING_TYPE_VECTOR_2D = 3
Варирування типу Vector2.
VaryingType VARYING_TYPE_VECTOR_3D = 4
Варирування типу Vector3.
VaryingType VARYING_TYPE_VECTOR_4D = 5
Варирування типу Vector4.
VaryingType VARYING_TYPE_BOOLEAN = 6
Варирування типу bool.
VaryingType VARYING_TYPE_TRANSFORM = 7
Різне є типу Transform3D.
VaryingType VARYING_TYPE_MAX = 8
Представляємо розмір VaryingType enum.
Константи
NODE_ID_INVALID = -1 🔗
Призначає недійсний вузол VisualShader.
NODE_ID_OUTPUT = 0 🔗
Призначає вихідний вузол VisualShader.
Описи властивостей
Застаріло: This property does nothing and always equals to zero.
Застаріло.
Описи методів
void add_node(type: Type, node: VisualShaderNode, position: Vector2, id: int) 🔗
Додає вказаний node до шейдера.
void add_varying(name: String, mode: VaryingMode, type: VaryingType) 🔗
Додає новий варіативний вузол значення до шейра.
void attach_node_to_frame(type: Type, id: int, frame: int) 🔗
Прикріплює задану вершину до заданої рами.
bool can_connect_nodes(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) const 🔗
Повертаємо true, якщо вказані вершини та порти можуть бути підключені разом.
Error connect_nodes(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) 🔗
З'єднує вказані вузли та порти.
void connect_nodes_forced(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) 🔗
З'єднує вказані вершини і порти, навіть якщо вони не можуть бути підключені. Таке з'єднання недійсне і не буде функціонувати належним чином.
void detach_node_from_frame(type: Type, id: int) 🔗
Знімає задану вершину з рами її додається.
void disconnect_nodes(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) 🔗
З'єднує вказані вузли та порти.
VisualShaderNode get_node(type: Type, id: int) const 🔗
Повертає екземпляр вузла шейдера із заданим значенням type і id.
Array[Dictionary] get_node_connections(type: Type) const 🔗
Повертає список підключених вузлів із зазначеним типом.
PackedInt32Array get_node_list(type: Type) const 🔗
Повертає список всіх вузлів в шейдері з вказаним типом.
Vector2 get_node_position(type: Type, id: int) const 🔗
Повертає позицію зазначеного вузла в межах графіка шнека.
int get_valid_node_id(type: Type) const 🔗
Повертає наступний ідентифікатор вузла, який може бути доданий до графа шейра.
bool has_varying(name: String) const 🔗
Повертаємо true, якщо шейдер має різне значення з вказаною name.
bool is_node_connection(type: Type, from_node: int, from_port: int, to_node: int, to_port: int) const 🔗
Повертає true, якщо вказаний вузол і підключення порту існують.
void remove_node(type: Type, id: int) 🔗
Видаліть зазначений вузол з тіні.
void remove_varying(name: String) 🔗
Видаляє вузол зі змінним значенням із заданим name. Виводить помилку, якщо вузол із цим ім'ям не знайдено.
void replace_node(type: Type, id: int, new_class: StringName) 🔗
Замінює зазначений вузол з вершиною нового типу класу.
Встановлює режим цього відтінку.
void set_node_position(type: Type, id: int, position: Vector2) 🔗
Встановлює положення зазначеного вузла.