class_visualshadernodecompare.rst 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the VisualShaderNodeCompare.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_VisualShaderNodeCompare:
  6. VisualShaderNodeCompare
  7. =======================
  8. **Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
  9. A comparison function for common types within the visual shader graph.
  10. Description
  11. -----------
  12. Compares ``a`` and ``b`` of :ref:`type<class_VisualShaderNodeCompare_property_type>` by :ref:`function<class_VisualShaderNodeCompare_property_function>`. Returns a boolean scalar. Translates to ``if`` instruction in shader code.
  13. Properties
  14. ----------
  15. +--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
  16. | :ref:`Condition<enum_VisualShaderNodeCompare_Condition>` | :ref:`condition<class_VisualShaderNodeCompare_property_condition>` | ``0`` |
  17. +--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
  18. | :ref:`Function<enum_VisualShaderNodeCompare_Function>` | :ref:`function<class_VisualShaderNodeCompare_property_function>` | ``0`` |
  19. +--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
  20. | :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` | :ref:`type<class_VisualShaderNodeCompare_property_type>` | ``0`` |
  21. +--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
  22. Enumerations
  23. ------------
  24. .. _enum_VisualShaderNodeCompare_ComparisonType:
  25. .. _class_VisualShaderNodeCompare_constant_CTYPE_SCALAR:
  26. .. _class_VisualShaderNodeCompare_constant_CTYPE_SCALAR_INT:
  27. .. _class_VisualShaderNodeCompare_constant_CTYPE_VECTOR_2D:
  28. .. _class_VisualShaderNodeCompare_constant_CTYPE_VECTOR_3D:
  29. .. _class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN:
  30. .. _class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM:
  31. .. _class_VisualShaderNodeCompare_constant_CTYPE_MAX:
  32. enum **ComparisonType**:
  33. - **CTYPE_SCALAR** = **0** --- A floating-point scalar.
  34. - **CTYPE_SCALAR_INT** = **1** --- An integer scalar.
  35. - **CTYPE_VECTOR_2D** = **2** --- A 2D vector type.
  36. - **CTYPE_VECTOR_3D** = **3** --- A 3D vector type.
  37. - **CTYPE_BOOLEAN** = **4** --- A boolean type.
  38. - **CTYPE_TRANSFORM** = **5** --- A transform (``mat4``) type.
  39. - **CTYPE_MAX** = **6** --- Represents the size of the :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` enum.
  40. ----
  41. .. _enum_VisualShaderNodeCompare_Function:
  42. .. _class_VisualShaderNodeCompare_constant_FUNC_EQUAL:
  43. .. _class_VisualShaderNodeCompare_constant_FUNC_NOT_EQUAL:
  44. .. _class_VisualShaderNodeCompare_constant_FUNC_GREATER_THAN:
  45. .. _class_VisualShaderNodeCompare_constant_FUNC_GREATER_THAN_EQUAL:
  46. .. _class_VisualShaderNodeCompare_constant_FUNC_LESS_THAN:
  47. .. _class_VisualShaderNodeCompare_constant_FUNC_LESS_THAN_EQUAL:
  48. .. _class_VisualShaderNodeCompare_constant_FUNC_MAX:
  49. enum **Function**:
  50. - **FUNC_EQUAL** = **0** --- Comparison for equality (``a == b``).
  51. - **FUNC_NOT_EQUAL** = **1** --- Comparison for inequality (``a != b``).
  52. - **FUNC_GREATER_THAN** = **2** --- Comparison for greater than (``a > b``). Cannot be used if :ref:`type<class_VisualShaderNodeCompare_property_type>` set to :ref:`CTYPE_BOOLEAN<class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN>` or :ref:`CTYPE_TRANSFORM<class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM>`.
  53. - **FUNC_GREATER_THAN_EQUAL** = **3** --- Comparison for greater than or equal (``a >= b``). Cannot be used if :ref:`type<class_VisualShaderNodeCompare_property_type>` set to :ref:`CTYPE_BOOLEAN<class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN>` or :ref:`CTYPE_TRANSFORM<class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM>`.
  54. - **FUNC_LESS_THAN** = **4** --- Comparison for less than (``a < b``). Cannot be used if :ref:`type<class_VisualShaderNodeCompare_property_type>` set to :ref:`CTYPE_BOOLEAN<class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN>` or :ref:`CTYPE_TRANSFORM<class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM>`.
  55. - **FUNC_LESS_THAN_EQUAL** = **5** --- Comparison for less than or equal (``a <= b``). Cannot be used if :ref:`type<class_VisualShaderNodeCompare_property_type>` set to :ref:`CTYPE_BOOLEAN<class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN>` or :ref:`CTYPE_TRANSFORM<class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM>`.
  56. - **FUNC_MAX** = **6** --- Represents the size of the :ref:`Function<enum_VisualShaderNodeCompare_Function>` enum.
  57. ----
  58. .. _enum_VisualShaderNodeCompare_Condition:
  59. .. _class_VisualShaderNodeCompare_constant_COND_ALL:
  60. .. _class_VisualShaderNodeCompare_constant_COND_ANY:
  61. .. _class_VisualShaderNodeCompare_constant_COND_MAX:
  62. enum **Condition**:
  63. - **COND_ALL** = **0** --- The result will be true if all of component in vector satisfy the comparison condition.
  64. - **COND_ANY** = **1** --- The result will be true if any of component in vector satisfy the comparison condition.
  65. - **COND_MAX** = **2** --- Represents the size of the :ref:`Condition<enum_VisualShaderNodeCompare_Condition>` enum.
  66. Property Descriptions
  67. ---------------------
  68. .. _class_VisualShaderNodeCompare_property_condition:
  69. - :ref:`Condition<enum_VisualShaderNodeCompare_Condition>` **condition**
  70. +-----------+----------------------+
  71. | *Default* | ``0`` |
  72. +-----------+----------------------+
  73. | *Setter* | set_condition(value) |
  74. +-----------+----------------------+
  75. | *Getter* | get_condition() |
  76. +-----------+----------------------+
  77. Extra condition which is applied if :ref:`type<class_VisualShaderNodeCompare_property_type>` is set to :ref:`CTYPE_VECTOR_3D<class_VisualShaderNodeCompare_constant_CTYPE_VECTOR_3D>`.
  78. ----
  79. .. _class_VisualShaderNodeCompare_property_function:
  80. - :ref:`Function<enum_VisualShaderNodeCompare_Function>` **function**
  81. +-----------+---------------------+
  82. | *Default* | ``0`` |
  83. +-----------+---------------------+
  84. | *Setter* | set_function(value) |
  85. +-----------+---------------------+
  86. | *Getter* | get_function() |
  87. +-----------+---------------------+
  88. A comparison function. See :ref:`Function<enum_VisualShaderNodeCompare_Function>` for options.
  89. ----
  90. .. _class_VisualShaderNodeCompare_property_type:
  91. - :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **type**
  92. +-----------+----------------------------+
  93. | *Default* | ``0`` |
  94. +-----------+----------------------------+
  95. | *Setter* | set_comparison_type(value) |
  96. +-----------+----------------------------+
  97. | *Getter* | get_comparison_type() |
  98. +-----------+----------------------------+
  99. The type to be used in the comparison. See :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` for options.
  100. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  101. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  102. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  103. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  104. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  105. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`