| 
									
										
										
										
											2018-07-26 11:56:21 +02:00
										 |  |  | <?xml version="1.0" encoding="UTF-8" ?> | 
					
						
							| 
									
										
										
										
											2020-01-26 16:01:49 +01:00
										 |  |  | <class name="VisualShader" inherits="Shader" version="3.2"> | 
					
						
							| 
									
										
										
										
											2018-07-26 11:56:21 +02:00
										 |  |  | 	<brief_description> | 
					
						
							| 
									
										
										
										
											2019-10-11 12:06:57 -03:00
										 |  |  | 		A custom shader program with a visual editor. | 
					
						
							| 
									
										
										
										
											2018-07-26 11:56:21 +02:00
										 |  |  | 	</brief_description> | 
					
						
							|  |  |  | 	<description> | 
					
						
							| 
									
										
										
										
											2019-10-11 12:06:57 -03:00
										 |  |  | 		This class allows you to define a custom shader program that can be used for various materials to render objects. | 
					
						
							|  |  |  | 		The visual shader editor creates the shader. | 
					
						
							| 
									
										
										
										
											2018-07-26 11:56:21 +02:00
										 |  |  | 	</description> | 
					
						
							|  |  |  | 	<tutorials> | 
					
						
							|  |  |  | 	</tutorials> | 
					
						
							|  |  |  | 	<methods> | 
					
						
							|  |  |  | 		<method name="add_node"> | 
					
						
							|  |  |  | 			<return type="void"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="node" type="VisualShaderNode"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="2" name="position" type="Vector2"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="3" name="id" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="can_connect_nodes" qualifiers="const"> | 
					
						
							|  |  |  | 			<return type="bool"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="from_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="2" name="from_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="3" name="to_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="4" name="to_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="connect_nodes"> | 
					
						
							|  |  |  | 			<return type="int" enum="Error"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="from_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="2" name="from_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="3" name="to_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="4" name="to_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							| 
									
										
										
										
											2019-05-28 18:08:13 +02:00
										 |  |  | 		<method name="connect_nodes_forced"> | 
					
						
							|  |  |  | 			<return type="void"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="from_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="2" name="from_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="3" name="to_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="4" name="to_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							| 
									
										
										
										
											2018-07-26 11:56:21 +02:00
										 |  |  | 		<method name="disconnect_nodes"> | 
					
						
							|  |  |  | 			<return type="void"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="from_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="2" name="from_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="3" name="to_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="4" name="to_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="get_node" qualifiers="const"> | 
					
						
							|  |  |  | 			<return type="VisualShaderNode"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="id" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="get_node_connections" qualifiers="const"> | 
					
						
							|  |  |  | 			<return type="Array"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="get_node_list" qualifiers="const"> | 
					
						
							|  |  |  | 			<return type="PoolIntArray"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="get_node_position" qualifiers="const"> | 
					
						
							|  |  |  | 			<return type="Vector2"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="id" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="get_valid_node_id" qualifiers="const"> | 
					
						
							|  |  |  | 			<return type="int"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="is_node_connection" qualifiers="const"> | 
					
						
							|  |  |  | 			<return type="bool"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="from_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="2" name="from_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="3" name="to_node" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="4" name="to_port" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="remove_node"> | 
					
						
							|  |  |  | 			<return type="void"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="id" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="set_mode"> | 
					
						
							|  |  |  | 			<return type="void"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="mode" type="int" enum="Shader.Mode"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 		<method name="set_node_position"> | 
					
						
							|  |  |  | 			<return type="void"> | 
					
						
							|  |  |  | 			</return> | 
					
						
							|  |  |  | 			<argument index="0" name="type" type="int" enum="VisualShader.Type"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="1" name="id" type="int"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<argument index="2" name="position" type="Vector2"> | 
					
						
							|  |  |  | 			</argument> | 
					
						
							|  |  |  | 			<description> | 
					
						
							|  |  |  | 			</description> | 
					
						
							|  |  |  | 		</method> | 
					
						
							|  |  |  | 	</methods> | 
					
						
							|  |  |  | 	<members> | 
					
						
							| 
									
										
										
										
											2019-09-24 13:34:03 +02:00
										 |  |  | 		<member name="code" type="String" setter="set_code" getter="get_code" override="true" default=""shader_type spatial;void vertex() {// Output:0}void fragment() {// Output:0}void light() {// Output:0}"" /> | 
					
						
							| 
									
										
										
										
											2019-06-29 12:38:01 +02:00
										 |  |  | 		<member name="graph_offset" type="Vector2" setter="set_graph_offset" getter="get_graph_offset" default="Vector2( 0, 0 )"> | 
					
						
							| 
									
										
										
										
											2018-07-26 11:56:21 +02:00
										 |  |  | 		</member> | 
					
						
							|  |  |  | 	</members> | 
					
						
							|  |  |  | 	<constants> | 
					
						
							|  |  |  | 		<constant name="TYPE_VERTEX" value="0" enum="Type"> | 
					
						
							|  |  |  | 		</constant> | 
					
						
							|  |  |  | 		<constant name="TYPE_FRAGMENT" value="1" enum="Type"> | 
					
						
							|  |  |  | 		</constant> | 
					
						
							|  |  |  | 		<constant name="TYPE_LIGHT" value="2" enum="Type"> | 
					
						
							|  |  |  | 		</constant> | 
					
						
							|  |  |  | 		<constant name="TYPE_MAX" value="3" enum="Type"> | 
					
						
							| 
									
										
										
										
											2019-06-27 11:10:53 +02:00
										 |  |  | 			Represents the size of the [enum Type] enum. | 
					
						
							| 
									
										
										
										
											2018-07-26 11:56:21 +02:00
										 |  |  | 		</constant> | 
					
						
							|  |  |  | 		<constant name="NODE_ID_INVALID" value="-1"> | 
					
						
							|  |  |  | 		</constant> | 
					
						
							|  |  |  | 		<constant name="NODE_ID_OUTPUT" value="0"> | 
					
						
							|  |  |  | 		</constant> | 
					
						
							|  |  |  | 	</constants> | 
					
						
							|  |  |  | </class> |