Singularity/Library/PackageCache/com.unity.shadergraph@12.1.11/Documentation~/Comparison-Node.md
2024-05-06 11:45:45 -07:00

78 lines
1.5 KiB
Markdown

# Comparison Node
## Description
Compares the two input values **A** and **B** based on the condition selected on the dropdown. This is often used as an input to the [Branch Node](Branch-Node.md).
## Ports
| Name | Direction | Type | Binding | Description |
|:------------ |:-------------|:-----|:---|:---|
| A | Input | Float | None | First input value |
| B | Input | Float | None | Second input value |
| Out | Output | Boolean | None | Output value |
## Controls
| Name | Type | Options | Description |
|:------------ |:-------------|:-----|:---|
| | Dropdown | Equal, NotEqual, Less, LessOrEqual, Greater, GreaterOrEqual | Condition for comparison |
## Generated Code Example
The following example code represents one possible outcome of this node per comparison type.
**Equal**
```
void Unity_Comparison_Equal_float(float A, float B, out float Out)
{
Out = A == B ? 1 : 0;
}
```
**NotEqual**
```
void Unity_Comparison_NotEqual_float(float A, float B, out float Out)
{
Out = A != B ? 1 : 0;
}
```
**Less**
```
void Unity_Comparison_Less_float(float A, float B, out float Out)
{
Out = A < B ? 1 : 0;
}
```
**LessOrEqual**
```
void Unity_Comparison_LessOrEqual_float(float A, float B, out float Out)
{
Out = A <= B ? 1 : 0;
}
```
**Greater**
```
void Unity_Comparison_Greater_float(float A, float B, out float Out)
{
Out = A > B ? 1 : 0;
}
```
**GreaterOrEqual**
```
void Unity_Comparison_GreaterOrEqual_float(float A, float B, out float Out)
{
Out = A >= B ? 1 : 0;
}
```