class_visualshadernodecompare.rst 7.9 KB

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