2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								<?xml version="1.0" encoding="UTF-8" ?>  
						 
					
						
							
								
									
										
										
										
											2023-07-06 10:08:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								<class  name= "VisualShaderNode"  inherits= "Resource"  xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance"  xsi:noNamespaceSchemaLocation= "../class.xsd" >  
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									<brief_description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 13:19:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										Base class for [VisualShader] nodes. Not related to scene nodes.
							 
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</brief_description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<description > 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 13:19:58 +02: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 also has connection ports that allow to connect it to another nodes and control the flow of the shader.
							 
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<tutorials > 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-24 13:19:58 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<link  title= "Using VisualShaders" > $DOCS_URL/tutorials/shaders/visual_shaders.html</link> 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</tutorials> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<methods > 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-05 15:53:53 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "clear_default_input_values" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-05 15:53:53 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Clears the default input ports value.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-22 10:33:40 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_default_input_port"  qualifiers= "const" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<return  type= "int"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<param  index= "0"  name= "type"  type= "int"  enum= "VisualShaderNode.PortType"  /> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												Returns the input port which should be connected by default when this node is created as a result of dragging a connection from an existing node to the empty space on the graph.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-23 11:14:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "get_default_input_values"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "Array"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-23 11:14:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-23 10:31:45 +03: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 11:14:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "get_input_port_default_value"  qualifiers= "const" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "Variant"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "port"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-08 19:41:07 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Returns the default value of the input [param port].
							 
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-05 15:53:53 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "remove_input_port_default_value" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "port"  type= "int"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-05 15:53:53 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-08 19:41:07 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Removes the default value of the input [param port].
							 
						 
					
						
							
								
									
										
										
										
											2021-06-05 15:53:53 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-23 11:14:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<method  name= "set_default_input_values" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<param  index= "0"  name= "values"  type= "Array"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-23 11:14:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2020-01-23 10:31:45 +03: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 11:14:14 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										<method  name= "set_input_port_default_value" > 
							 
						 
					
						
							
								
									
										
										
										
											2021-07-30 15:28:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											<return  type= "void"  /> 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-06 21:11:48 +03: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 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											<description > 
							 
						 
					
						
							
								
									
										
										
										
											2022-08-08 19:41:07 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												Sets the default [param value] for the selected input [param port].
							 
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
											</description> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</method> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</methods> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<members > 
							 
						 
					
						
							
								
									
										
										
										
											2019-06-29 12:38:01 +02: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 10:31:45 +03: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 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
										</member> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									</members> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									<constants > 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-09 22:51:48 +03: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 17:50:49 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "PORT_TYPE_SCALAR_INT"  value= "1"  enum= "PortType" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Integer scalar. Translated to [code]int[/code] type in shader code.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-27 20:49:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "PORT_TYPE_SCALAR_UINT"  value= "2"  enum= "PortType" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											Unsigned integer scalar. Translated to [code]uint[/code] type in shader code.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										<constant  name= "PORT_TYPE_VECTOR_2D"  value= "3"  enum= "PortType" > 
							 
						 
					
						
							
								
									
										
										
										
											2022-02-01 11:32:01 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											2D vector of floating-point values. Translated to [code]vec2[/code] type in shader code.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-27 20:49:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "PORT_TYPE_VECTOR_3D"  value= "4"  enum= "PortType" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-09 22:51:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											3D vector of floating-point values. Translated to [code]vec3[/code] type in shader code.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-27 20:49:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "PORT_TYPE_VECTOR_4D"  value= "5"  enum= "PortType" > 
							 
						 
					
						
							
								
									
										
										
										
											2022-04-12 19:09:29 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											4D vector of floating-point values. Translated to [code]vec4[/code] type in shader code.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-27 20:49:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "PORT_TYPE_BOOLEAN"  value= "6"  enum= "PortType" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-09 22:51:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Boolean type. Translated to [code]bool[/code] type in shader code.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-27 20:49:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "PORT_TYPE_TRANSFORM"  value= "7"  enum= "PortType" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-08-09 22:51:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Transform type. Translated to [code]mat4[/code] type in shader code.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2022-12-27 20:49:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "PORT_TYPE_SAMPLER"  value= "8"  enum= "PortType" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-01 11:51:50 +03: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-12-27 20:49:11 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										<constant  name= "PORT_TYPE_MAX"  value= "9"  enum= "PortType" > 
							 
						 
					
						
							
								
									
										
										
										
											2019-10-01 11:51:50 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											Represents the size of the [enum PortType] enum.
							 
						 
					
						
							
								
									
										
										
										
											2019-08-09 22:51:48 +03:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										</constant> 
							 
						 
					
						
							
								
									
										
										
										
											2018-07-26 11:56:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									</constants> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</class>