:github_url: hide .. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the VisualShaderNode.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_VisualShaderNode: VisualShaderNode ================ **Inherits:** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` **Inherited By:** :ref:`VisualShaderNodeBooleanConstant`, :ref:`VisualShaderNodeColorConstant`, :ref:`VisualShaderNodeColorFunc`, :ref:`VisualShaderNodeColorOp`, :ref:`VisualShaderNodeCompare`, :ref:`VisualShaderNodeCubemap`, :ref:`VisualShaderNodeCustom`, :ref:`VisualShaderNodeDeterminant`, :ref:`VisualShaderNodeDotProduct`, :ref:`VisualShaderNodeFaceForward`, :ref:`VisualShaderNodeFloatConstant`, :ref:`VisualShaderNodeFloatFunc`, :ref:`VisualShaderNodeFloatOp`, :ref:`VisualShaderNodeFresnel`, :ref:`VisualShaderNodeGroupBase`, :ref:`VisualShaderNodeIf`, :ref:`VisualShaderNodeInput`, :ref:`VisualShaderNodeIntConstant`, :ref:`VisualShaderNodeIntFunc`, :ref:`VisualShaderNodeIntOp`, :ref:`VisualShaderNodeIs`, :ref:`VisualShaderNodeOuterProduct`, :ref:`VisualShaderNodeOutput`, :ref:`VisualShaderNodeScalarClamp`, :ref:`VisualShaderNodeScalarDerivativeFunc`, :ref:`VisualShaderNodeScalarInterp`, :ref:`VisualShaderNodeScalarSmoothStep`, :ref:`VisualShaderNodeSwitch`, :ref:`VisualShaderNodeTexture`, :ref:`VisualShaderNodeTransformCompose`, :ref:`VisualShaderNodeTransformConstant`, :ref:`VisualShaderNodeTransformDecompose`, :ref:`VisualShaderNodeTransformFunc`, :ref:`VisualShaderNodeTransformMult`, :ref:`VisualShaderNodeTransformVecMult`, :ref:`VisualShaderNodeUniform`, :ref:`VisualShaderNodeVec3Constant`, :ref:`VisualShaderNodeVectorClamp`, :ref:`VisualShaderNodeVectorCompose`, :ref:`VisualShaderNodeVectorDecompose`, :ref:`VisualShaderNodeVectorDerivativeFunc`, :ref:`VisualShaderNodeVectorDistance`, :ref:`VisualShaderNodeVectorFunc`, :ref:`VisualShaderNodeVectorInterp`, :ref:`VisualShaderNodeVectorLen`, :ref:`VisualShaderNodeVectorOp`, :ref:`VisualShaderNodeVectorRefract`, :ref:`VisualShaderNodeVectorScalarMix`, :ref:`VisualShaderNodeVectorScalarSmoothStep`, :ref:`VisualShaderNodeVectorScalarStep`, :ref:`VisualShaderNodeVectorSmoothStep` Base class for nodes in a visual shader graph. Tutorials --------- - :doc:`../tutorials/shaders/visual_shaders` Properties ---------- +-----------------------+-----------------------------------------------------------------------------------------+--------+ | :ref:`int` | :ref:`output_port_for_preview` | ``-1`` | +-----------------------+-----------------------------------------------------------------------------------------+--------+ Methods ------- +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_default_input_values` **(** **)** const | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_input_port_default_value` **(** :ref:`int` port **)** const | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_default_input_values` **(** :ref:`Array` values **)** | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_input_port_default_value` **(** :ref:`int` port, :ref:`Variant` value **)** | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Signals ------- .. _class_VisualShaderNode_signal_editor_refresh_request: - **editor_refresh_request** **(** **)** Emitted when the node requests an editor refresh. Currently called only in setter of :ref:`VisualShaderNodeTexture.source`, :ref:`VisualShaderNodeTexture`, and :ref:`VisualShaderNodeCubemap` (and their derivatives). Enumerations ------------ .. _enum_VisualShaderNode_PortType: .. _class_VisualShaderNode_constant_PORT_TYPE_SCALAR: .. _class_VisualShaderNode_constant_PORT_TYPE_SCALAR_INT: .. _class_VisualShaderNode_constant_PORT_TYPE_VECTOR: .. _class_VisualShaderNode_constant_PORT_TYPE_BOOLEAN: .. _class_VisualShaderNode_constant_PORT_TYPE_TRANSFORM: .. _class_VisualShaderNode_constant_PORT_TYPE_SAMPLER: .. _class_VisualShaderNode_constant_PORT_TYPE_MAX: 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** = **2** --- 3D vector of floating-point values. Translated to ``vec3`` type in shader code. - **PORT_TYPE_BOOLEAN** = **3** --- Boolean type. Translated to ``bool`` type in shader code. - **PORT_TYPE_TRANSFORM** = **4** --- Transform type. Translated to ``mat4`` type in shader code. - **PORT_TYPE_SAMPLER** = **5** --- 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** = **6** --- Represents the size of the :ref:`PortType` enum. Property Descriptions --------------------- .. _class_VisualShaderNode_property_output_port_for_preview: - :ref:`int` **output_port_for_preview** +-----------+------------------------------------+ | *Default* | ``-1`` | +-----------+------------------------------------+ | *Setter* | set_output_port_for_preview(value) | +-----------+------------------------------------+ | *Getter* | get_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 ------------------- .. _class_VisualShaderNode_method_get_default_input_values: - :ref:`Array` **get_default_input_values** **(** **)** const Returns an :ref:`Array` containing default values for all of the input ports of the node in the form ``[index0, value0, index1, value1, ...]``. ---- .. _class_VisualShaderNode_method_get_input_port_default_value: - :ref:`Variant` **get_input_port_default_value** **(** :ref:`int` port **)** const Returns the default value of the input ``port``. ---- .. _class_VisualShaderNode_method_set_default_input_values: - void **set_default_input_values** **(** :ref:`Array` values **)** Sets the default input ports values using an :ref:`Array` of the form ``[index0, value0, index1, value1, ...]``. For example: ``[0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)]``. ---- .. _class_VisualShaderNode_method_set_input_port_default_value: - void **set_input_port_default_value** **(** :ref:`int` port, :ref:`Variant` value **)** Sets the default value for the selected input ``port``.