VisualShaderNode

Inherits: Resource < Reference < Object

Inherited By: VisualShaderNodeBooleanConstant, VisualShaderNodeColorConstant, VisualShaderNodeColorFunc, VisualShaderNodeColorOp, VisualShaderNodeCompare, VisualShaderNodeCubeMap, VisualShaderNodeCustom, VisualShaderNodeDeterminant, VisualShaderNodeDotProduct, VisualShaderNodeFaceForward, VisualShaderNodeFresnel, VisualShaderNodeGroupBase, VisualShaderNodeIf, VisualShaderNodeInput, VisualShaderNodeIs, VisualShaderNodeOuterProduct, VisualShaderNodeOutput, VisualShaderNodeScalarClamp, VisualShaderNodeScalarConstant, VisualShaderNodeScalarDerivativeFunc, VisualShaderNodeScalarFunc, VisualShaderNodeScalarInterp, VisualShaderNodeScalarOp, VisualShaderNodeScalarSmoothStep, VisualShaderNodeSwitch, VisualShaderNodeTexture, VisualShaderNodeTransformCompose, VisualShaderNodeTransformConstant, VisualShaderNodeTransformDecompose, VisualShaderNodeTransformFunc, VisualShaderNodeTransformMult, VisualShaderNodeTransformVecMult, VisualShaderNodeUniform, VisualShaderNodeUniformRef, VisualShaderNodeVec3Constant, VisualShaderNodeVectorClamp, VisualShaderNodeVectorCompose, VisualShaderNodeVectorDecompose, VisualShaderNodeVectorDerivativeFunc, VisualShaderNodeVectorDistance, VisualShaderNodeVectorFunc, VisualShaderNodeVectorInterp, VisualShaderNodeVectorLen, VisualShaderNodeVectorOp, VisualShaderNodeVectorRefract, VisualShaderNodeVectorScalarMix, VisualShaderNodeVectorScalarSmoothStep, VisualShaderNodeVectorScalarStep, VisualShaderNodeVectorSmoothStep

可视化着色器图中节点的基类。

描述

可视化着色器图由各种节点组成。图中的每个节点都是一个独立的对象,它们被表示为带有标题和一系列属性的矩形框。每个节点都有连接端口,可以将其连接到另一个节点并控制着色器的流程。

教程

属性

int

output_port_for_preview

-1

方法

Array

get_default_input_values ( ) const

Variant

get_input_port_default_value ( int port ) const

void

set_default_input_values ( Array values )

void

set_input_port_default_value ( int port, Variant value )

信号

  • editor_refresh_request ( )

当节点请求刷新编辑器时触发。目前只在VisualShaderNodeTexture.sourceVisualShaderNodeTextureVisualShaderNodeCubeMap及其派生对象的setter中调用。

枚举

enum PortType:

  • PORT_TYPE_SCALAR = 0 —- 浮点标量。在着色器代码中被转换成float类型。

  • PORT_TYPE_VECTOR = 1 —- 浮点值的 3D 向量。在着色器代码中转换为 vec3 类型。

  • PORT_TYPE_BOOLEAN = 2 —- 布尔类型。在着色器代码中转换为 bool 类型。

  • PORT_TYPE_TRANSFORM = 3 —- 变换类型。在着色器代码中转换为 mat4 类型。

  • PORT_TYPE_SAMPLER = 4 —- 采样器类型。转换为着色器代码中的采样器uniform引用。只能用于non-uniform节点中的输入端口。

  • PORT_TYPE_MAX = 5 —- 表示PortType枚举的大小。

属性说明

  • int output_port_for_preview

Default

-1

Setter

set_output_port_for_preview(value)

Getter

get_output_port_for_preview()

设置将被显示为预览的输出端口索引。如果设置为-1,则没有端口会被打开进行预览。

方法说明

  • Array get_default_input_values ( ) const

返回一个包含节点所有输入端口默认值的Array,形式为[index0, value0, index1, value1, ...]


  • Variant get_input_port_default_value ( int port ) const

返回输入port的默认值。


  • void set_default_input_values ( Array values )

使用[index0, value0, index1, value1, ...]形式的Array设置默认输入端口值。例如: [0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)]


  • void set_input_port_default_value ( int port, Variant value )

设置所选输入port的默认值。