2019-04-15 14:49:41 +02:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 14:18:53 +01:00
<class name= "VisualShaderNodeDerivativeFunc" inherits= "VisualShaderNode" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2019-04-15 14:49:41 +02:00
<brief_description >
2022-01-28 19:36:10 +01:00
Calculates a derivative within the visual shader graph.
2019-04-15 14:49:41 +02:00
</brief_description>
<description >
2020-05-07 11:19:23 +02:00
This node is only available in [code]Fragment[/code] and [code]Light[/code] visual shaders.
2019-04-15 14:49:41 +02:00
</description>
<tutorials >
</tutorials>
<members >
2022-01-28 19:36:10 +01:00
<member name= "function" type= "int" setter= "set_function" getter= "get_function" enum= "VisualShaderNodeDerivativeFunc.Function" default= "0" >
A derivative function type. See [enum Function] for options.
</member>
<member name= "op_type" type= "int" setter= "set_op_type" getter= "get_op_type" enum= "VisualShaderNodeDerivativeFunc.OpType" default= "0" >
A type of operands and returned value. See [enum OpType] for options.
2019-04-15 14:49:41 +02:00
</member>
2023-01-26 12:31:37 +01:00
<member name= "precision" type= "int" setter= "set_precision" getter= "get_precision" enum= "VisualShaderNodeDerivativeFunc.Precision" default= "0" >
2023-02-26 01:24:41 +01:00
Sets the level of precision to use for the derivative function. See [enum Precision] for options. When using the GL Compatibility renderer, this setting has no effect.
2023-01-26 12:31:37 +01:00
</member>
2019-04-15 14:49:41 +02:00
</members>
<constants >
2022-01-28 19:36:10 +01:00
<constant name= "OP_TYPE_SCALAR" value= "0" enum= "OpType" >
A floating-point scalar.
</constant>
2022-02-01 09:32:01 +01:00
<constant name= "OP_TYPE_VECTOR_2D" value= "1" enum= "OpType" >
A 2D vector type.
</constant>
<constant name= "OP_TYPE_VECTOR_3D" value= "2" enum= "OpType" >
2022-01-28 19:36:10 +01:00
A 3D vector type.
</constant>
2022-04-12 19:09:29 +02:00
<constant name= "OP_TYPE_VECTOR_4D" value= "3" enum= "OpType" >
A 4D vector type.
</constant>
<constant name= "OP_TYPE_MAX" value= "4" enum= "OpType" >
2022-01-28 19:36:10 +01:00
Represents the size of the [enum OpType] enum.
</constant>
2019-04-15 14:49:41 +02:00
<constant name= "FUNC_SUM" value= "0" enum= "Function" >
2020-05-07 11:19:23 +02:00
Sum of absolute derivative in [code]x[/code] and [code]y[/code].
2019-04-15 14:49:41 +02:00
</constant>
<constant name= "FUNC_X" value= "1" enum= "Function" >
2020-05-07 11:19:23 +02:00
Derivative in [code]x[/code] using local differencing.
2019-04-15 14:49:41 +02:00
</constant>
<constant name= "FUNC_Y" value= "2" enum= "Function" >
2020-05-07 11:19:23 +02:00
Derivative in [code]y[/code] using local differencing.
2019-04-15 14:49:41 +02:00
</constant>
2021-08-14 12:38:22 +02:00
<constant name= "FUNC_MAX" value= "3" enum= "Function" >
Represents the size of the [enum Function] enum.
</constant>
2023-01-26 12:31:37 +01:00
<constant name= "PRECISION_NONE" value= "0" enum= "Precision" >
No precision is specified, the GPU driver is allowed to use whatever level of precision it chooses. This is the default option and is equivalent to using [code]dFdx()[/code] or [code]dFdy()[/code] in text shaders.
</constant>
<constant name= "PRECISION_COARSE" value= "1" enum= "Precision" >
The derivative will be calculated using the current fragment's neighbors (which may not include the current fragment). This tends to be faster than using [constant PRECISION_FINE], but may not be suitable when more precision is needed. This is equivalent to using [code]dFdxCoarse()[/code] or [code]dFdyCoarse()[/code] in text shaders.
</constant>
<constant name= "PRECISION_FINE" value= "2" enum= "Precision" >
The derivative will be calculated using the current fragment and its immediate neighbors. This tends to be slower than using [constant PRECISION_COARSE], but may be necessary when more precision is needed. This is equivalent to using [code]dFdxFine()[/code] or [code]dFdyFine()[/code] in text shaders.
</constant>
<constant name= "PRECISION_MAX" value= "3" enum= "Precision" >
Represents the size of the [enum Precision] enum.
</constant>
2019-04-15 14:49:41 +02:00
</constants>
</class>