Files
godot-docs/classes/class_visualshadernodecompare.rst
2025-06-07 03:33:02 +00:00

292 lines
11 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/VisualShaderNodeCompare.xml.
.. _class_VisualShaderNodeCompare:
VisualShaderNodeCompare
=======================
**Inherits:** :ref:`VisualShaderNode<class_VisualShaderNode>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
A comparison function for common types within the visual shader graph.
.. rst-class:: classref-introduction-group
Description
-----------
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.
.. rst-class:: classref-reftable-group
Properties
----------
.. table::
:widths: auto
+--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
| :ref:`Condition<enum_VisualShaderNodeCompare_Condition>` | :ref:`condition<class_VisualShaderNodeCompare_property_condition>` | ``0`` |
+--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
| :ref:`Function<enum_VisualShaderNodeCompare_Function>` | :ref:`function<class_VisualShaderNodeCompare_property_function>` | ``0`` |
+--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
| :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` | :ref:`type<class_VisualShaderNodeCompare_property_type>` | ``0`` |
+--------------------------------------------------------------------+--------------------------------------------------------------------+-------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Enumerations
------------
.. _enum_VisualShaderNodeCompare_ComparisonType:
.. rst-class:: classref-enumeration
enum **ComparisonType**: :ref:`🔗<enum_VisualShaderNodeCompare_ComparisonType>`
.. _class_VisualShaderNodeCompare_constant_CTYPE_SCALAR:
.. rst-class:: classref-enumeration-constant
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **CTYPE_SCALAR** = ``0``
A floating-point scalar.
.. _class_VisualShaderNodeCompare_constant_CTYPE_SCALAR_INT:
.. rst-class:: classref-enumeration-constant
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **CTYPE_SCALAR_INT** = ``1``
An integer scalar.
.. _class_VisualShaderNodeCompare_constant_CTYPE_SCALAR_UINT:
.. rst-class:: classref-enumeration-constant
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **CTYPE_SCALAR_UINT** = ``2``
An unsigned integer scalar.
.. _class_VisualShaderNodeCompare_constant_CTYPE_VECTOR_2D:
.. rst-class:: classref-enumeration-constant
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **CTYPE_VECTOR_2D** = ``3``
A 2D vector type.
.. _class_VisualShaderNodeCompare_constant_CTYPE_VECTOR_3D:
.. rst-class:: classref-enumeration-constant
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **CTYPE_VECTOR_3D** = ``4``
A 3D vector type.
.. _class_VisualShaderNodeCompare_constant_CTYPE_VECTOR_4D:
.. rst-class:: classref-enumeration-constant
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **CTYPE_VECTOR_4D** = ``5``
A 4D vector type.
.. _class_VisualShaderNodeCompare_constant_CTYPE_BOOLEAN:
.. rst-class:: classref-enumeration-constant
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **CTYPE_BOOLEAN** = ``6``
A boolean type.
.. _class_VisualShaderNodeCompare_constant_CTYPE_TRANSFORM:
.. rst-class:: classref-enumeration-constant
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **CTYPE_TRANSFORM** = ``7``
A transform (``mat4``) type.
.. _class_VisualShaderNodeCompare_constant_CTYPE_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **CTYPE_MAX** = ``8``
Represents the size of the :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` enum.
.. rst-class:: classref-item-separator
----
.. _enum_VisualShaderNodeCompare_Function:
.. rst-class:: classref-enumeration
enum **Function**: :ref:`🔗<enum_VisualShaderNodeCompare_Function>`
.. _class_VisualShaderNodeCompare_constant_FUNC_EQUAL:
.. rst-class:: classref-enumeration-constant
:ref:`Function<enum_VisualShaderNodeCompare_Function>` **FUNC_EQUAL** = ``0``
Comparison for equality (``a == b``).
.. _class_VisualShaderNodeCompare_constant_FUNC_NOT_EQUAL:
.. rst-class:: classref-enumeration-constant
:ref:`Function<enum_VisualShaderNodeCompare_Function>` **FUNC_NOT_EQUAL** = ``1``
Comparison for inequality (``a != b``).
.. _class_VisualShaderNodeCompare_constant_FUNC_GREATER_THAN:
.. rst-class:: classref-enumeration-constant
:ref:`Function<enum_VisualShaderNodeCompare_Function>` **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>`.
.. _class_VisualShaderNodeCompare_constant_FUNC_GREATER_THAN_EQUAL:
.. rst-class:: classref-enumeration-constant
:ref:`Function<enum_VisualShaderNodeCompare_Function>` **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>`.
.. _class_VisualShaderNodeCompare_constant_FUNC_LESS_THAN:
.. rst-class:: classref-enumeration-constant
:ref:`Function<enum_VisualShaderNodeCompare_Function>` **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>`.
.. _class_VisualShaderNodeCompare_constant_FUNC_LESS_THAN_EQUAL:
.. rst-class:: classref-enumeration-constant
:ref:`Function<enum_VisualShaderNodeCompare_Function>` **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>`.
.. _class_VisualShaderNodeCompare_constant_FUNC_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`Function<enum_VisualShaderNodeCompare_Function>` **FUNC_MAX** = ``6``
Represents the size of the :ref:`Function<enum_VisualShaderNodeCompare_Function>` enum.
.. rst-class:: classref-item-separator
----
.. _enum_VisualShaderNodeCompare_Condition:
.. rst-class:: classref-enumeration
enum **Condition**: :ref:`🔗<enum_VisualShaderNodeCompare_Condition>`
.. _class_VisualShaderNodeCompare_constant_COND_ALL:
.. rst-class:: classref-enumeration-constant
:ref:`Condition<enum_VisualShaderNodeCompare_Condition>` **COND_ALL** = ``0``
The result will be ``true`` if all components in the vector satisfy the comparison condition.
.. _class_VisualShaderNodeCompare_constant_COND_ANY:
.. rst-class:: classref-enumeration-constant
:ref:`Condition<enum_VisualShaderNodeCompare_Condition>` **COND_ANY** = ``1``
The result will be ``true`` if any component in the vector satisfies the comparison condition.
.. _class_VisualShaderNodeCompare_constant_COND_MAX:
.. rst-class:: classref-enumeration-constant
:ref:`Condition<enum_VisualShaderNodeCompare_Condition>` **COND_MAX** = ``2``
Represents the size of the :ref:`Condition<enum_VisualShaderNodeCompare_Condition>` enum.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Property Descriptions
---------------------
.. _class_VisualShaderNodeCompare_property_condition:
.. rst-class:: classref-property
:ref:`Condition<enum_VisualShaderNodeCompare_Condition>` **condition** = ``0`` :ref:`🔗<class_VisualShaderNodeCompare_property_condition>`
.. rst-class:: classref-property-setget
- |void| **set_condition**\ (\ value\: :ref:`Condition<enum_VisualShaderNodeCompare_Condition>`\ )
- :ref:`Condition<enum_VisualShaderNodeCompare_Condition>` **get_condition**\ (\ )
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>`.
.. rst-class:: classref-item-separator
----
.. _class_VisualShaderNodeCompare_property_function:
.. rst-class:: classref-property
:ref:`Function<enum_VisualShaderNodeCompare_Function>` **function** = ``0`` :ref:`🔗<class_VisualShaderNodeCompare_property_function>`
.. rst-class:: classref-property-setget
- |void| **set_function**\ (\ value\: :ref:`Function<enum_VisualShaderNodeCompare_Function>`\ )
- :ref:`Function<enum_VisualShaderNodeCompare_Function>` **get_function**\ (\ )
A comparison function.
.. rst-class:: classref-item-separator
----
.. _class_VisualShaderNodeCompare_property_type:
.. rst-class:: classref-property
:ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **type** = ``0`` :ref:`🔗<class_VisualShaderNodeCompare_property_type>`
.. rst-class:: classref-property-setget
- |void| **set_comparison_type**\ (\ value\: :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>`\ )
- :ref:`ComparisonType<enum_VisualShaderNodeCompare_ComparisonType>` **get_comparison_type**\ (\ )
The type to be used in the comparison.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
.. |void| replace:: :abbr:`void (No return value.)`