Pārlūkot izejas kodu

Docs for some nodes in visual shader(part 2)

Yuri Roubinsky 5 gadi atpakaļ
vecāks
revīzija
766d1ef276

+ 1 - 0
doc/classes/VisualShaderNode.xml

@@ -5,6 +5,7 @@
 	<description>
 	</description>
 	<tutorials>
+		<link>https://docs.godotengine.org/en/latest/tutorials/shading/visual_shaders.html</link>
 	</tutorials>
 	<methods>
 		<method name="get_default_input_values" qualifiers="const">

+ 10 - 0
doc/classes/VisualShaderNodeCubeMap.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="VisualShaderNodeCubeMap" inherits="VisualShaderNode" version="3.2">
 	<brief_description>
+		A [CubeMap] sampling node to be used within the visual shader graph.
 	</brief_description>
 	<description>
+		Translated to [code]texture(cubemap, vec3)[/code] in the shader language. Returns a color vector and alpha channel as scalar.
 	</description>
 	<tutorials>
 	</tutorials>
@@ -10,22 +12,30 @@
 	</methods>
 	<members>
 		<member name="cube_map" type="CubeMap" setter="set_cube_map" getter="get_cube_map">
+			The [CubeMap] texture to sample when using [constant SOURCE_TEXTURE] as [member source].
 		</member>
 		<member name="source" type="int" setter="set_source" getter="get_source" enum="VisualShaderNodeCubeMap.Source" default="0">
+			Defines which source should be used for the sampling. See [enum Source] for options.
 		</member>
 		<member name="texture_type" type="int" setter="set_texture_type" getter="get_texture_type" enum="VisualShaderNodeCubeMap.TextureType" default="0">
+			Defines the type of data provided by the source texture. See [enum TextureType] for options.
 		</member>
 	</members>
 	<constants>
 		<constant name="SOURCE_TEXTURE" value="0" enum="Source">
+			Use the [CubeMap] set via [member cube_map]. If this is set to [member source], the [code]samplerCube[/code] port is ignored.
 		</constant>
 		<constant name="SOURCE_PORT" value="1" enum="Source">
+			Use the [CubeMap] sampler reference passed via the [code]samplerCube[/code] port. If this is set to [member source], the [member cube_map] texture is ignored.
 		</constant>
 		<constant name="TYPE_DATA" value="0" enum="TextureType">
+			No hints are added to the uniform declaration.
 		</constant>
 		<constant name="TYPE_COLOR" value="1" enum="TextureType">
+			Adds [code]hint_albedo[/code] as hint to the uniform declaration for proper sRGB to linear conversion.
 		</constant>
 		<constant name="TYPE_NORMALMAP" value="2" enum="TextureType">
+			Adds [code]hint_normal[/code] as hint to the uniform declaration, which internally converts the texture for proper usage as normal map.
 		</constant>
 	</constants>
 </class>

+ 2 - 0
doc/classes/VisualShaderNodeCubeMapUniform.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="VisualShaderNodeCubeMapUniform" inherits="VisualShaderNodeTextureUniform" version="3.2">
 	<brief_description>
+		A [CubeMap] uniform node to be used within the visual shader graph.
 	</brief_description>
 	<description>
+		Translated to [code]uniform samplerCube[/code] in the shader language. The output value can be used as port for [VisualShaderNodeCubeMap].
 	</description>
 	<tutorials>
 	</tutorials>

+ 2 - 0
doc/classes/VisualShaderNodeDeterminant.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="VisualShaderNodeDeterminant" inherits="VisualShaderNode" version="3.2">
 	<brief_description>
+		Calculates the determinant of a [Transform] within the visual shader graph.
 	</brief_description>
 	<description>
+		Translates to [code]deteminant(x)[/code] in the shader language.
 	</description>
 	<tutorials>
 	</tutorials>

+ 2 - 0
doc/classes/VisualShaderNodeDotProduct.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="VisualShaderNodeDotProduct" inherits="VisualShaderNode" version="3.2">
 	<brief_description>
+		Calculates a dot product of two vectors within the visual shader graph.
 	</brief_description>
 	<description>
+		Translates to [code]dot(a, b)[/code] in the shader language.
 	</description>
 	<tutorials>
 	</tutorials>

+ 4 - 0
doc/classes/VisualShaderNodeExpression.xml

@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="VisualShaderNodeExpression" inherits="VisualShaderNodeGroupBase" version="3.2">
 	<brief_description>
+		A custom visual shader graph expression written in Godot Shading Language.
 	</brief_description>
 	<description>
+		Custom Godot Shading Language expression, with a custom amount of input and output ports.
+		The provided code is directly injected into the graph's matching shader function ([code]vertex[/code], [code]fragment[/code], or [code]light[/code]), so it cannot be used to to declare functions, varyings, uniforms, or global constants. See [VisualShaderNodeGlobalExpression] for such global definitions.
 	</description>
 	<tutorials>
 	</tutorials>
@@ -10,6 +13,7 @@
 	</methods>
 	<members>
 		<member name="expression" type="String" setter="set_expression" getter="get_expression" default="&quot;&quot;">
+			An expression in Godot Shading Language, which will be injected at the start of the graph's matching shader function ([code]vertex[/code], [code]fragment[/code], or [code]light[/code]), and thus cannot be used to declare functions, varyings, uniforms, or global constants.
 		</member>
 	</members>
 	<constants>

+ 2 - 0
doc/classes/VisualShaderNodeFaceForward.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="VisualShaderNodeFaceForward" inherits="VisualShaderNode" version="3.2">
 	<brief_description>
+		Returns the vector that points in the same direction as a reference vector within the visual shader graph.
 	</brief_description>
 	<description>
+		Translates to [code]faceforward(N, I, Nref)[/code] in the shader language. The function has three vector parameters: [code]N[/code], the vector to orient, [code]I[/code], the incident vector, and [code]Nref[/code], the reference vector. If the dot product of [code]I[/code] and [code]Nref[/code] is smaller than zero the return value is [code]N[/code]. Otherwise [code]-N[/code] is returned.
 	</description>
 	<tutorials>
 	</tutorials>

+ 2 - 0
doc/classes/VisualShaderNodeFresnel.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="VisualShaderNodeFresnel" inherits="VisualShaderNode" version="3.2">
 	<brief_description>
+		A Fresnel effect to be used within the visual shader graph.
 	</brief_description>
 	<description>
+		Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it).
 	</description>
 	<tutorials>
 	</tutorials>

+ 2 - 0
doc/classes/VisualShaderNodeGlobalExpression.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="VisualShaderNodeGlobalExpression" inherits="VisualShaderNodeExpression" version="3.2">
 	<brief_description>
+		A custom global visual shader graph expression written in Godot Shading Language.
 	</brief_description>
 	<description>
+		Custom Godot Shader Language expression, which is placed on top of the generated shader. You can place various function definitions inside to call later in [VisualShaderNodeExpression]s (which are injected in the main shader functions). You can also declare varyings, uniforms and global constants.
 	</description>
 	<tutorials>
 	</tutorials>

+ 24 - 0
doc/classes/VisualShaderNodeGroupBase.xml

@@ -1,8 +1,10 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <class name="VisualShaderNodeGroupBase" inherits="VisualShaderNode" version="3.2">
 	<brief_description>
+		Base class for a family of nodes with variable amount of input and output ports within the visual shader graph.
 	</brief_description>
 	<description>
+		Currently, has no direct usage, use the derived classes instead.
 	</description>
 	<tutorials>
 	</tutorials>
@@ -17,6 +19,7 @@
 			<argument index="2" name="name" type="String">
 			</argument>
 			<description>
+				Adds an input port with the specified [code]type[/code] (see [enum VisualShaderNode.PortType]) and [code]name[/code].
 			</description>
 		</method>
 		<method name="add_output_port">
@@ -29,54 +32,63 @@
 			<argument index="2" name="name" type="String">
 			</argument>
 			<description>
+				Adds an output port with the specified [code]type[/code] (see [enum VisualShaderNode.PortType]) and [code]name[/code].
 			</description>
 		</method>
 		<method name="clear_input_ports">
 			<return type="void">
 			</return>
 			<description>
+				Removes all previously specified input ports.
 			</description>
 		</method>
 		<method name="clear_output_ports">
 			<return type="void">
 			</return>
 			<description>
+				Removes all previously specified output ports.
 			</description>
 		</method>
 		<method name="get_free_input_port_id" qualifiers="const">
 			<return type="int">
 			</return>
 			<description>
+				Returns a free input port ID which can be used in [method add_input_port].
 			</description>
 		</method>
 		<method name="get_free_output_port_id" qualifiers="const">
 			<return type="int">
 			</return>
 			<description>
+				Returns a free output port ID which can be used in [method add_output_port].
 			</description>
 		</method>
 		<method name="get_input_port_count" qualifiers="const">
 			<return type="int">
 			</return>
 			<description>
+				Returns the number of input ports in use. Alternative for [method get_free_input_port_id].
 			</description>
 		</method>
 		<method name="get_inputs" qualifiers="const">
 			<return type="String">
 			</return>
 			<description>
+				Returns a [String] description of the input ports as as colon-separated list using the format [code]id,type,name;[/code] (see [method add_input_port]).
 			</description>
 		</method>
 		<method name="get_output_port_count" qualifiers="const">
 			<return type="int">
 			</return>
 			<description>
+				Returns the number of output ports in use. Alternative for [method get_free_output_port_id].
 			</description>
 		</method>
 		<method name="get_outputs" qualifiers="const">
 			<return type="String">
 			</return>
 			<description>
+				Returns a [String] description of the output ports as as colon-separated list using the format [code]id,type,name;[/code] (see [method add_output_port]).
 			</description>
 		</method>
 		<method name="has_input_port" qualifiers="const">
@@ -85,6 +97,7 @@
 			<argument index="0" name="id" type="int">
 			</argument>
 			<description>
+				Returns [code]true[/code] if the specified input port exists.
 			</description>
 		</method>
 		<method name="has_output_port" qualifiers="const">
@@ -93,6 +106,7 @@
 			<argument index="0" name="id" type="int">
 			</argument>
 			<description>
+				Returns [code]true[/code] if the specified output port exists.
 			</description>
 		</method>
 		<method name="is_valid_port_name" qualifiers="const">
@@ -101,6 +115,7 @@
 			<argument index="0" name="name" type="String">
 			</argument>
 			<description>
+				Returns [code]true[/code] if the specified port name does not override an existed port name and is valid within the shader.
 			</description>
 		</method>
 		<method name="remove_input_port">
@@ -109,6 +124,7 @@
 			<argument index="0" name="id" type="int">
 			</argument>
 			<description>
+				Removes the specified input port.
 			</description>
 		</method>
 		<method name="remove_output_port">
@@ -117,6 +133,7 @@
 			<argument index="0" name="id" type="int">
 			</argument>
 			<description>
+				Removes the specified output port.
 			</description>
 		</method>
 		<method name="set_input_port_name">
@@ -127,6 +144,7 @@
 			<argument index="1" name="name" type="String">
 			</argument>
 			<description>
+				Renames the specified input port.
 			</description>
 		</method>
 		<method name="set_input_port_type">
@@ -137,6 +155,7 @@
 			<argument index="1" name="type" type="int">
 			</argument>
 			<description>
+				Sets the specified input port's type (see [enum VisualShaderNode.PortType]).
 			</description>
 		</method>
 		<method name="set_inputs">
@@ -145,6 +164,7 @@
 			<argument index="0" name="inputs" type="String">
 			</argument>
 			<description>
+				Defines all input ports using a [String] formatted as a colon-separated list: [code]id,type,name;[/code] (see [method add_input_port]).
 			</description>
 		</method>
 		<method name="set_output_port_name">
@@ -155,6 +175,7 @@
 			<argument index="1" name="name" type="String">
 			</argument>
 			<description>
+				Renames the specified output port.
 			</description>
 		</method>
 		<method name="set_output_port_type">
@@ -165,6 +186,7 @@
 			<argument index="1" name="type" type="int">
 			</argument>
 			<description>
+				Sets the specified output port's type (see [enum VisualShaderNode.PortType]).
 			</description>
 		</method>
 		<method name="set_outputs">
@@ -173,11 +195,13 @@
 			<argument index="0" name="outputs" type="String">
 			</argument>
 			<description>
+				Defines all output ports using a [String] formatted as a colon-separated list: [code]id,type,name;[/code] (see [method add_output_port]).
 			</description>
 		</method>
 	</methods>
 	<members>
 		<member name="size" type="Vector2" setter="set_size" getter="get_size" default="Vector2( 0, 0 )">
+			The size of the node in the visual shader graph.
 		</member>
 	</members>
 	<constants>