class_visualshadernodecompare.rst 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/makerst.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:`Reference<class_Reference>` **<** :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:
  28. .. _class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN:
  29. .. _class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM:
  30. enum **ComparisonType**:
  31. - **CTYPE_SCALAR** = **0** --- A floating-point scalar.
  32. - **CTYPE_SCALAR_INT** = **1** --- An integer scalar.
  33. - **CTYPE_VECTOR** = **2** --- A 3D vector type.
  34. - **CTYPE_BOOLEAN** = **3** --- A boolean type.
  35. - **CTYPE_TRANSFORM** = **4** --- A transform (``mat4``) type.
  36. ----
  37. .. _enum_VisualShaderNodeCompare_Function:
  38. .. _class_VisualShaderNodeCompare_constant_FUNC_EQUAL:
  39. .. _class_VisualShaderNodeCompare_constant_FUNC_NOT_EQUAL:
  40. .. _class_VisualShaderNodeCompare_constant_FUNC_GREATER_THAN:
  41. .. _class_VisualShaderNodeCompare_constant_FUNC_GREATER_THAN_EQUAL:
  42. .. _class_VisualShaderNodeCompare_constant_FUNC_LESS_THAN:
  43. .. _class_VisualShaderNodeCompare_constant_FUNC_LESS_THAN_EQUAL:
  44. enum **Function**:
  45. - **FUNC_EQUAL** = **0** --- Comparison for equality (``a == b``).
  46. - **FUNC_NOT_EQUAL** = **1** --- Comparison for inequality (``a != b``).
  47. - **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>`.
  48. - **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>`.
  49. - **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>`.
  50. - **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>`.
  51. ----
  52. .. _enum_VisualShaderNodeCompare_Condition:
  53. .. _class_VisualShaderNodeCompare_constant_COND_ALL:
  54. .. _class_VisualShaderNodeCompare_constant_COND_ANY:
  55. enum **Condition**:
  56. - **COND_ALL** = **0** --- The result will be true if all of component in vector satisfy the comparison condition.
  57. - **COND_ANY** = **1** --- The result will be true if any of component in vector satisfy the comparison condition.
  58. Property Descriptions
  59. ---------------------
  60. .. _class_VisualShaderNodeCompare_property_condition:
  61. - :ref:`Condition<enum_VisualShaderNodeCompare_Condition>` **condition**
  62. +-----------+----------------------+
  63. | *Default* | ``0`` |
  64. +-----------+----------------------+
  65. | *Setter* | set_condition(value) |
  66. +-----------+----------------------+
  67. | *Getter* | get_condition() |
  68. +-----------+----------------------+
  69. Extra condition which is applied if :ref:`type<class_VisualShaderNodeCompare_property_type>` is set to :ref:`CTYPE_VECTOR<class_VisualShaderNodeCompare_constant_CTYPE_VECTOR>`.
  70. ----
  71. .. _class_VisualShaderNodeCompare_property_function:
  72. - :ref:`Function<enum_VisualShaderNodeCompare_Function>` **function**
  73. +-----------+---------------------+
  74. | *Default* | ``0`` |
  75. +-----------+---------------------+
  76. | *Setter* | set_function(value) |
  77. +-----------+---------------------+
  78. | *Getter* | get_function() |
  79. +-----------+---------------------+
  80. A comparison function. See :ref:`Function<enum_VisualShaderNodeCompare_Function>` for options.
  81. ----
  82. .. _class_VisualShaderNodeCompare_property_type:
  83. - :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **type**
  84. +-----------+----------------------------+
  85. | *Default* | ``0`` |
  86. +-----------+----------------------------+
  87. | *Setter* | set_comparison_type(value) |
  88. +-----------+----------------------------+
  89. | *Getter* | get_comparison_type() |
  90. +-----------+----------------------------+
  91. The type to be used in the comparison. See :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` for options.