VisualShaderNode

Наследует: Resource < RefCounted < Object

Наследуется от: VisualShaderNodeBillboard, VisualShaderNodeClamp, VisualShaderNodeColorFunc, VisualShaderNodeColorOp, VisualShaderNodeCompare, VisualShaderNodeConstant, VisualShaderNodeCubemap, VisualShaderNodeCustom, VisualShaderNodeDerivativeFunc, VisualShaderNodeDeterminant, VisualShaderNodeDistanceFade, VisualShaderNodeDotProduct, VisualShaderNodeFloatFunc, VisualShaderNodeFloatOp, VisualShaderNodeFresnel, VisualShaderNodeIf, VisualShaderNodeInput, VisualShaderNodeIntFunc, VisualShaderNodeIntOp, VisualShaderNodeIs, VisualShaderNodeLinearSceneDepth, VisualShaderNodeMix, VisualShaderNodeMultiplyAdd, VisualShaderNodeOuterProduct, VisualShaderNodeOutput, VisualShaderNodeParameter, VisualShaderNodeParameterRef, VisualShaderNodeParticleAccelerator, VisualShaderNodeParticleConeVelocity, VisualShaderNodeParticleEmit, VisualShaderNodeParticleEmitter, VisualShaderNodeParticleMultiplyByAxisAngle, VisualShaderNodeParticleRandomness, VisualShaderNodeProximityFade, VisualShaderNodeRandomRange, VisualShaderNodeRemap, VisualShaderNodeReroute, VisualShaderNodeResizableBase, VisualShaderNodeRotationByAxis, VisualShaderNodeSample3D, VisualShaderNodeScreenNormalWorldSpace, VisualShaderNodeScreenUVToSDF, VisualShaderNodeSDFRaymarch, VisualShaderNodeSDFToScreenUV, VisualShaderNodeSmoothStep, VisualShaderNodeStep, VisualShaderNodeSwitch, VisualShaderNodeTexture, VisualShaderNodeTextureSDF, VisualShaderNodeTextureSDFNormal, VisualShaderNodeTransformCompose, VisualShaderNodeTransformDecompose, VisualShaderNodeTransformFunc, VisualShaderNodeTransformOp, VisualShaderNodeTransformVecMult, VisualShaderNodeUIntFunc, VisualShaderNodeUIntOp, VisualShaderNodeUVFunc, VisualShaderNodeUVPolarCoord, VisualShaderNodeVarying, VisualShaderNodeVectorBase, VisualShaderNodeWorldPositionFromDepth

Базовый класс для узлов VisualShader. Не относится к узлам сцены.

Описание

Графы визуальных шейдеров состоят из различных узлов. Каждый узел в графе является отдельным объектом и представлен в виде прямоугольных блоков с заголовком и набором свойств. Каждый узел также имеет порты соединения, которые позволяют подключать его к другим узлам и управлять потоком шейдера.

Обучающие материалы

Свойства

int

linked_parent_graph_frame

-1

int

output_port_for_preview

-1

Методы

void

clear_default_input_values()

int

get_default_input_port(type: PortType) const

Array

get_default_input_values() const

Variant

get_input_port_default_value(port: int) const

void

remove_input_port_default_value(port: int)

void

set_default_input_values(values: Array)

void

set_input_port_default_value(port: int, value: Variant, prev_value: Variant = null)


Перечисления

enum PortType: 🔗

PortType PORT_TYPE_SCALAR = 0

Скаляр с плавающей точкой. В коде шейдера преобразуется в тип float.

PortType PORT_TYPE_SCALAR_INT = 1

Целочисленный скаляр. В коде шейдера переведен в тип int.

PortType PORT_TYPE_SCALAR_UINT = 2

Беззнаковый целочисленный скаляр. Переводится в тип uint в коде шейдера.

PortType PORT_TYPE_VECTOR_2D = 3

2D вектор значений с плавающей точкой. Переведенный в тип vec2 в коде шейдера.

PortType PORT_TYPE_VECTOR_3D = 4

3D вектор значений с плавающей точкой. Переведенный в тип vec3 в коде шейдера.

PortType PORT_TYPE_VECTOR_4D = 5

4D вектор значений с плавающей точкой. Переведено в тип vec4 в коде шейдера.

PortType PORT_TYPE_BOOLEAN = 6

Тип Boolean. В коде шейдера переведен в тип bool.

PortType PORT_TYPE_TRANSFORM = 7

Тип преобразования. Переведено в тип mat4 в коде шейдера.

PortType PORT_TYPE_SAMPLER = 8

Тип сэмплера. Транслируется в ссылку на униформу сэмплера в коде шейдера. Может использоваться только для входных портов в не-унформных узлах.

PortType PORT_TYPE_MAX = 9

Представляет размер перечисления PortType.


Описания свойств

int linked_parent_graph_frame = -1 🔗

  • void set_frame(value: int)

  • int get_frame()

Представляет индекс фрейма, с которым связан этот узел. Если установлено значение -1, узел не связан ни с одним фреймом.


int output_port_for_preview = -1 🔗

  • void set_output_port_for_preview(value: int)

  • int get_output_port_for_preview()

Устанавливает индекс выходного порта, который будет показан для предварительного просмотра. Если установлено значение -1, ни один порт не будет открыт для предварительного просмотра.


Описания метода

void clear_default_input_values() 🔗

Очищает значение входных портов по умолчанию.


int get_default_input_port(type: PortType) const 🔗

Возвращает входной порт, который должен быть подключен по умолчанию, когда этот узел создается в результате перетаскивания соединения из существующего узла в пустое место на графике.


Array get_default_input_values() const 🔗

Возвращает Array, содержащий значения по умолчанию для всех входных портов узла в форме [index0, value0, index1, value1, ...].


Variant get_input_port_default_value(port: int) const 🔗

Возвращает значение по умолчанию для входа port.


void remove_input_port_default_value(port: int) 🔗

Удаляет значение по умолчанию для входа port.


void set_default_input_values(values: Array) 🔗

Устанавливает значения входных портов по умолчанию с помощью Array в форме [index0, value0, index1, value1, ...]. Например: [0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)].


void set_input_port_default_value(port: int, value: Variant, prev_value: Variant = null) 🔗

Устанавливает значение параметра по умолчанию value для выбранного входа port.