26 lines
1.1 KiB
Markdown
26 lines
1.1 KiB
Markdown
|
# Branch Node
|
||
|
|
||
|
## Description
|
||
|
|
||
|
Provides a dynamic branch to the shader. If input **Predicate** is true, this node returns input **True**, otherwise it returns input **False**. The **Branch Node** evaluates the **Predicate** per vertex or per pixel depending on shader stage. Both sides of the branch are evaluated in the shader, and the branch not used is discarded.
|
||
|
|
||
|
## Ports
|
||
|
|
||
|
| Name | Direction | Type | Binding | Description |
|
||
|
|:----------|:----------|:---------------|:--------|:------------|
|
||
|
| Predicate | Input | Boolean | None | Determines which input to return. |
|
||
|
| True | Input | Dynamic Vector | None | Returned if **Predicate** is true. |
|
||
|
| False | Input | Dynamic Vector | None | Returned if **Predicate** is false. |
|
||
|
| Out | Output | Dynamic Vector | None | Output value |
|
||
|
|
||
|
## Generated Code Example
|
||
|
|
||
|
The following example code represents one possible outcome of this node.
|
||
|
|
||
|
```
|
||
|
void Unity_Branch_float4(float Predicate, float4 True, float4 False, out float4 Out)
|
||
|
{
|
||
|
Out = Predicate ? True : False;
|
||
|
}
|
||
|
```
|