2018-07-26 17:56:21 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 21:18:53 +08:00
<class name= "VisualShaderNode" inherits= "Resource" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2018-07-26 17:56:21 +08:00
<brief_description >
2020-03-04 02:21:21 +08:00
Base class for nodes in a visual shader graph.
2018-07-26 17:56:21 +08:00
</brief_description>
<description >
2020-10-13 01:37:50 +08:00
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.
2018-07-26 17:56:21 +08:00
</description>
<tutorials >
2021-11-15 17:43:07 +08:00
<link title= "VisualShaders" > $DOCS_URL/tutorials/shaders/visual_shaders.html</link>
2018-07-26 17:56:21 +08:00
</tutorials>
<methods >
2021-06-05 20:53:53 +08:00
<method name= "clear_default_input_values" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2021-06-05 20:53:53 +08:00
<description >
Clears the default input ports value.
</description>
</method>
2020-01-23 18:14:14 +08:00
<method name= "get_default_input_values" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Array" />
2020-01-23 18:14:14 +08:00
<description >
2020-01-23 15:31:45 +08:00
Returns an [Array] containing default values for all of the input ports of the node in the form [code][index0, value0, index1, value1, ...][/code].
2020-01-23 18:14:14 +08:00
</description>
</method>
2018-07-26 17:56:21 +08:00
<method name= "get_input_port_default_value" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Variant" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "port" type= "int" />
2018-07-26 17:56:21 +08:00
<description >
2022-08-09 07:41:07 +08:00
Returns the default value of the input [param port].
2018-07-26 17:56:21 +08:00
</description>
</method>
2021-06-05 20:53:53 +08:00
<method name= "remove_input_port_default_value" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "port" type= "int" />
2021-06-05 20:53:53 +08:00
<description >
2022-08-09 07:41:07 +08:00
Removes the default value of the input [param port].
2021-06-05 20:53:53 +08:00
</description>
</method>
2020-01-23 18:14:14 +08:00
<method name= "set_default_input_values" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "values" type= "Array" />
2020-01-23 18:14:14 +08:00
<description >
2020-01-23 15:31:45 +08:00
Sets the default input ports values using an [Array] of the form [code][index0, value0, index1, value1, ...][/code]. For example: [code][0, Vector3(0, 0, 0), 1, Vector3(0, 0, 0)][/code].
2020-01-23 18:14:14 +08:00
</description>
</method>
2018-07-26 17:56:21 +08:00
<method name= "set_input_port_default_value" >
2021-07-30 21:28:05 +08:00
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "port" type= "int" />
<param index= "1" name= "value" type= "Variant" />
<param index= "2" name= "prev_value" type= "Variant" default= "null" />
2018-07-26 17:56:21 +08:00
<description >
2022-08-09 07:41:07 +08:00
Sets the default [param value] for the selected input [param port].
2018-07-26 17:56:21 +08:00
</description>
</method>
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "output_port_for_preview" type= "int" setter= "set_output_port_for_preview" getter= "get_output_port_for_preview" default= "-1" >
2020-01-23 15:31:45 +08:00
Sets the output port index which will be showed for preview. If set to [code]-1[/code] no port will be open for preview.
2018-07-26 17:56:21 +08:00
</member>
</members>
<signals >
<signal name= "editor_refresh_request" >
<description >
2020-02-12 16:59:06 +08:00
Emitted when the node requests an editor refresh. Currently called only in setter of [member VisualShaderNodeTexture.source], [VisualShaderNodeTexture], and [VisualShaderNodeCubemap] (and their derivatives).
2018-07-26 17:56:21 +08:00
</description>
</signal>
</signals>
<constants >
2019-08-10 03:51:48 +08:00
<constant name= "PORT_TYPE_SCALAR" value= "0" enum= "PortType" >
Floating-point scalar. Translated to [code]float[/code] type in shader code.
</constant>
2020-02-25 22:50:49 +08:00
<constant name= "PORT_TYPE_SCALAR_INT" value= "1" enum= "PortType" >
Integer scalar. Translated to [code]int[/code] type in shader code.
</constant>
2022-02-01 16:32:01 +08:00
<constant name= "PORT_TYPE_VECTOR_2D" value= "2" enum= "PortType" >
2D vector of floating-point values. Translated to [code]vec2[/code] type in shader code.
</constant>
2022-02-07 01:15:28 +08:00
<constant name= "PORT_TYPE_VECTOR_3D" value= "3" enum= "PortType" >
2019-08-10 03:51:48 +08:00
3D vector of floating-point values. Translated to [code]vec3[/code] type in shader code.
</constant>
2022-04-13 01:09:29 +08:00
<constant name= "PORT_TYPE_VECTOR_4D" value= "4" enum= "PortType" >
4D vector of floating-point values. Translated to [code]vec4[/code] type in shader code.
</constant>
<constant name= "PORT_TYPE_BOOLEAN" value= "5" enum= "PortType" >
2019-08-10 03:51:48 +08:00
Boolean type. Translated to [code]bool[/code] type in shader code.
</constant>
2022-04-13 01:09:29 +08:00
<constant name= "PORT_TYPE_TRANSFORM" value= "6" enum= "PortType" >
2019-08-10 03:51:48 +08:00
Transform type. Translated to [code]mat4[/code] type in shader code.
</constant>
2022-04-13 01:09:29 +08:00
<constant name= "PORT_TYPE_SAMPLER" value= "7" enum= "PortType" >
2019-10-01 16:51:50 +08:00
Sampler type. Translated to reference of sampler uniform in shader code. Can only be used for input ports in non-uniform nodes.
</constant>
2022-04-13 01:09:29 +08:00
<constant name= "PORT_TYPE_MAX" value= "8" enum= "PortType" >
2019-10-01 16:51:50 +08:00
Represents the size of the [enum PortType] enum.
2019-08-10 03:51:48 +08:00
</constant>
2018-07-26 17:56:21 +08:00
</constants>
</class>