Inherits: Resource < RefCounted < Object

Inherited By: 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, VisualShaderNodeResizableBase, VisualShaderNodeSample3D, VisualShaderNodeScreenUVToSDF, VisualShaderNodeSDFRaymarch, VisualShaderNodeSDFToScreenUV, VisualShaderNodeSmoothStep, VisualShaderNodeStep, VisualShaderNodeSwitch, VisualShaderNodeTexture, VisualShaderNodeTextureSDF, VisualShaderNodeTextureSDFNormal, VisualShaderNodeTransformCompose, VisualShaderNodeTransformDecompose, VisualShaderNodeTransformFunc, VisualShaderNodeTransformOp, VisualShaderNodeTransformVecMult, VisualShaderNodeUVFunc, VisualShaderNodeUVPolarCoord, VisualShaderNodeVarying, VisualShaderNodeVectorBase

Base class for nodes in a visual shader graph.


Visual shader graphs consist of various nodes. Each node in the graph is a separate object and they are represented as a rectangular boxes with title and a set of properties. Each node has also connection ports that allow to connect it to another nodes and control the flow of the shader.








clear_default_input_values ( )


get_default_input_values ( ) const


get_input_port_default_value ( int port ) const


remove_input_port_default_value ( int port )


set_default_input_values ( Array values )


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


  • editor_refresh_request ( )

Emitted when the node requests an editor refresh. Currently called only in setter of VisualShaderNodeTexture.source, VisualShaderNodeTexture, and VisualShaderNodeCubemap (and their derivatives).


enum PortType:

  • PORT_TYPE_SCALAR = 0 --- Floating-point scalar. Translated to float type in shader code.

  • PORT_TYPE_SCALAR_INT = 1 --- Integer scalar. Translated to int type in shader code.

  • PORT_TYPE_VECTOR_2D = 2 --- 2D vector of floating-point values. Translated to vec2 type in shader code.

  • PORT_TYPE_VECTOR_3D = 3 --- 3D vector of floating-point values. Translated to vec3 type in shader code.

  • PORT_TYPE_VECTOR_4D = 4 --- 4D vector of floating-point values. Translated to vec4 type in shader code.

  • PORT_TYPE_BOOLEAN = 5 --- Boolean type. Translated to bool type in shader code.

  • PORT_TYPE_TRANSFORM = 6 --- Transform type. Translated to mat4 type in shader code.

  • PORT_TYPE_SAMPLER = 7 --- Sampler type. Translated to reference of sampler uniform in shader code. Can only be used for input ports in non-uniform nodes.

  • PORT_TYPE_MAX = 8 --- Represents the size of the PortType enum.

Property Descriptions

  • int output_port_for_preview







Sets the output port index which will be showed for preview. If set to -1 no port will be open for preview.

Method Descriptions

  • void clear_default_input_values ( )

Clears the default input ports value.

  • Array get_default_input_values ( ) const

Returns an Array containing default values for all of the input ports of the node in the form [index0, value0, index1, value1, ...].

  • Variant get_input_port_default_value ( int port ) const

Returns the default value of the input port.

  • void remove_input_port_default_value ( int port )

Removes the default value of the input port.

  • void set_default_input_values ( Array values )

Sets the default input ports values using an Array of the form [index0, value0, index1, value1, ...]. For example: [0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)].

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

Sets the default value for the selected input port.