class_visualshadernodederivativefunc.rst 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/VisualShaderNodeDerivativeFunc.xml.
  6. .. _class_VisualShaderNodeDerivativeFunc:
  7. VisualShaderNodeDerivativeFunc
  8. ==============================
  9. **Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  10. Calculates a derivative within the visual shader graph.
  11. .. rst-class:: classref-introduction-group
  12. Description
  13. -----------
  14. This node is only available in ``Fragment`` and ``Light`` visual shaders.
  15. .. rst-class:: classref-reftable-group
  16. Properties
  17. ----------
  18. .. table::
  19. :widths: auto
  20. +-----------------------------------------------------------------+---------------------------------------------------------------------------+-------+
  21. | :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` | :ref:`function<class_VisualShaderNodeDerivativeFunc_property_function>` | ``0`` |
  22. +-----------------------------------------------------------------+---------------------------------------------------------------------------+-------+
  23. | :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` | :ref:`op_type<class_VisualShaderNodeDerivativeFunc_property_op_type>` | ``0`` |
  24. +-----------------------------------------------------------------+---------------------------------------------------------------------------+-------+
  25. | :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` | :ref:`precision<class_VisualShaderNodeDerivativeFunc_property_precision>` | ``0`` |
  26. +-----------------------------------------------------------------+---------------------------------------------------------------------------+-------+
  27. .. rst-class:: classref-section-separator
  28. ----
  29. .. rst-class:: classref-descriptions-group
  30. Enumerations
  31. ------------
  32. .. _enum_VisualShaderNodeDerivativeFunc_OpType:
  33. .. rst-class:: classref-enumeration
  34. enum **OpType**:
  35. .. _class_VisualShaderNodeDerivativeFunc_constant_OP_TYPE_SCALAR:
  36. .. rst-class:: classref-enumeration-constant
  37. :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` **OP_TYPE_SCALAR** = ``0``
  38. A floating-point scalar.
  39. .. _class_VisualShaderNodeDerivativeFunc_constant_OP_TYPE_VECTOR_2D:
  40. .. rst-class:: classref-enumeration-constant
  41. :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` **OP_TYPE_VECTOR_2D** = ``1``
  42. A 2D vector type.
  43. .. _class_VisualShaderNodeDerivativeFunc_constant_OP_TYPE_VECTOR_3D:
  44. .. rst-class:: classref-enumeration-constant
  45. :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` **OP_TYPE_VECTOR_3D** = ``2``
  46. A 3D vector type.
  47. .. _class_VisualShaderNodeDerivativeFunc_constant_OP_TYPE_VECTOR_4D:
  48. .. rst-class:: classref-enumeration-constant
  49. :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` **OP_TYPE_VECTOR_4D** = ``3``
  50. A 4D vector type.
  51. .. _class_VisualShaderNodeDerivativeFunc_constant_OP_TYPE_MAX:
  52. .. rst-class:: classref-enumeration-constant
  53. :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` **OP_TYPE_MAX** = ``4``
  54. Represents the size of the :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` enum.
  55. .. rst-class:: classref-item-separator
  56. ----
  57. .. _enum_VisualShaderNodeDerivativeFunc_Function:
  58. .. rst-class:: classref-enumeration
  59. enum **Function**:
  60. .. _class_VisualShaderNodeDerivativeFunc_constant_FUNC_SUM:
  61. .. rst-class:: classref-enumeration-constant
  62. :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` **FUNC_SUM** = ``0``
  63. Sum of absolute derivative in ``x`` and ``y``.
  64. .. _class_VisualShaderNodeDerivativeFunc_constant_FUNC_X:
  65. .. rst-class:: classref-enumeration-constant
  66. :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` **FUNC_X** = ``1``
  67. Derivative in ``x`` using local differencing.
  68. .. _class_VisualShaderNodeDerivativeFunc_constant_FUNC_Y:
  69. .. rst-class:: classref-enumeration-constant
  70. :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` **FUNC_Y** = ``2``
  71. Derivative in ``y`` using local differencing.
  72. .. _class_VisualShaderNodeDerivativeFunc_constant_FUNC_MAX:
  73. .. rst-class:: classref-enumeration-constant
  74. :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` **FUNC_MAX** = ``3``
  75. Represents the size of the :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` enum.
  76. .. rst-class:: classref-item-separator
  77. ----
  78. .. _enum_VisualShaderNodeDerivativeFunc_Precision:
  79. .. rst-class:: classref-enumeration
  80. enum **Precision**:
  81. .. _class_VisualShaderNodeDerivativeFunc_constant_PRECISION_NONE:
  82. .. rst-class:: classref-enumeration-constant
  83. :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` **PRECISION_NONE** = ``0``
  84. 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 ``dFdx()`` or ``dFdy()`` in text shaders.
  85. .. _class_VisualShaderNodeDerivativeFunc_constant_PRECISION_COARSE:
  86. .. rst-class:: classref-enumeration-constant
  87. :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` **PRECISION_COARSE** = ``1``
  88. 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 :ref:`PRECISION_FINE<class_VisualShaderNodeDerivativeFunc_constant_PRECISION_FINE>`, but may not be suitable when more precision is needed. This is equivalent to using ``dFdxCoarse()`` or ``dFdyCoarse()`` in text shaders.
  89. .. _class_VisualShaderNodeDerivativeFunc_constant_PRECISION_FINE:
  90. .. rst-class:: classref-enumeration-constant
  91. :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` **PRECISION_FINE** = ``2``
  92. The derivative will be calculated using the current fragment and its immediate neighbors. This tends to be slower than using :ref:`PRECISION_COARSE<class_VisualShaderNodeDerivativeFunc_constant_PRECISION_COARSE>`, but may be necessary when more precision is needed. This is equivalent to using ``dFdxFine()`` or ``dFdyFine()`` in text shaders.
  93. .. _class_VisualShaderNodeDerivativeFunc_constant_PRECISION_MAX:
  94. .. rst-class:: classref-enumeration-constant
  95. :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` **PRECISION_MAX** = ``3``
  96. Represents the size of the :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` enum.
  97. .. rst-class:: classref-section-separator
  98. ----
  99. .. rst-class:: classref-descriptions-group
  100. Property Descriptions
  101. ---------------------
  102. .. _class_VisualShaderNodeDerivativeFunc_property_function:
  103. .. rst-class:: classref-property
  104. :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` **function** = ``0``
  105. .. rst-class:: classref-property-setget
  106. - void **set_function** **(** :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` value **)**
  107. - :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` **get_function** **(** **)**
  108. A derivative function type. See :ref:`Function<enum_VisualShaderNodeDerivativeFunc_Function>` for options.
  109. .. rst-class:: classref-item-separator
  110. ----
  111. .. _class_VisualShaderNodeDerivativeFunc_property_op_type:
  112. .. rst-class:: classref-property
  113. :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` **op_type** = ``0``
  114. .. rst-class:: classref-property-setget
  115. - void **set_op_type** **(** :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` value **)**
  116. - :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` **get_op_type** **(** **)**
  117. A type of operands and returned value. See :ref:`OpType<enum_VisualShaderNodeDerivativeFunc_OpType>` for options.
  118. .. rst-class:: classref-item-separator
  119. ----
  120. .. _class_VisualShaderNodeDerivativeFunc_property_precision:
  121. .. rst-class:: classref-property
  122. :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` **precision** = ``0``
  123. .. rst-class:: classref-property-setget
  124. - void **set_precision** **(** :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` value **)**
  125. - :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` **get_precision** **(** **)**
  126. Sets the level of precision to use for the derivative function. See :ref:`Precision<enum_VisualShaderNodeDerivativeFunc_Precision>` for options. When using the GL Compatibility renderer, this setting has no effect.
  127. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  128. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  129. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  130. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  131. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  132. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
  133. .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`