Skip to content

Commit

Permalink
Commit custom shadergraph 6.7.1 with ProceduralTexture2D implementation
Browse files Browse the repository at this point in the history
  • Loading branch information
thomasdeliot committed May 28, 2019
1 parent 8870ce8 commit 663cc87
Show file tree
Hide file tree
Showing 1,470 changed files with 57,676 additions and 0 deletions.
23 changes: 23 additions & 0 deletions Documentation~/Absolute-Node.md
@@ -0,0 +1,23 @@
# Absolute Node

## Description

Returns the absolute value of the input **In**. Components of the input Dynamic Vector that are positive will remain positive and components that are negative will be inverted and become positive.

## Ports

| Name | Direction | Type | Description |
|:------------ |:-------------|:-----|:---|
| In | Input | Dynamic Vector | Input value |
| Out | Output | Dynamic Vector | Output value |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
void Unity_Absolute_float4(float4 In, out float4 Out)
{
Out = abs(In);
}
```
24 changes: 24 additions & 0 deletions Documentation~/Add-Node.md
@@ -0,0 +1,24 @@
# Add Node

## Description

Returns the sum of the two input values **A** and **B**.

## Ports

| Name | Direction | Type | Description |
|:------------ |:-------------|:-----|:---|
| A | Input | Dynamic Vector | First input value |
| B | Input | Dynamic Vector | Second input value |
| Out | Output | Dynamic Vector | Output value |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
void Unity_Add_float4(float4 A, float4 B, out float4 Out)
{
Out = A + B;
}
```
23 changes: 23 additions & 0 deletions Documentation~/All-Node.md
@@ -0,0 +1,23 @@
# All Node

## Description

Returns true if all components of the input **In** are non-zero. This is useful for [Branching](Branch-Node.md).

## Ports

| Name | Direction | Type | Binding | Description |
|:------------ |:-------------|:-----|:---|:---|
| In | Input | Dynamic Vector | None | Input value |
| Out | Output | Boolean | None | Output value |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
void Unity_All_float4(float4 In, out float Out)
{
Out = all(In);
}
```
32 changes: 32 additions & 0 deletions Documentation~/Ambient-Node.md
@@ -0,0 +1,32 @@
# Ambient Node

## Description

Provides access to the Scene's **Ambient** color values. When Environment Lighting Source is set to **Gradient** [Port](Port.md) **Color/Sky** returns the value **Sky Color**. When Environment Lighting Source is set to **Color** [Port](Port.md) **Color/Sky** returns the value **Ambient Color**. [Ports](Port.md) **Equator** and **Ground** always return the values **Equator Color** and **Ground Color** regardless of the current Environment Lighting Source.

Note: Values of this [Node](Node.md) are only updated when entering Play mode or saving the current Scene/Project.

Note: The behavior of this [Node](Node.md) is undefined globally. Shader Graph does not define the function of the node. Instead, each Render Pipeline defines what HLSL code to execute for this [Node](Node.md).

Different Render Pipelines may produce different results. If you're building a shader in one Render Pipeline that you want to use in both, try checking it in both pipelines before production. A [Node](Node.md) might be defined in one Render Pipeline and undefined in the other. If this [Node](Node.md) is undefined, it returns 0 (black).

#### Unity Pipelines Supported
- Lightweight Render Pipeline

## Ports

| Name | Direction | Type | Binding | Description |
|:------------ |:-------------|:-----|:---|:---|
| Color/Sky | Output | Vector 3 | None | Color (Color) or Sky (Gradient) color value |
| Equator | Output | Vector 3 | None | Equator (Gradient) color value |
| Ground | Output | Vector 3 | None | Ground (Gradient) color value |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
float3 _Ambient_ColorSky = SHADERGRAPH_AMBIENT_SKY;
float3 _Ambient_Equator = SHADERGRAPH_AMBIENT_EQUATOR;
float3 _Ambient_Ground = SHADERGRAPH_AMBIENT_GROUND;
```
22 changes: 22 additions & 0 deletions Documentation~/And-Node.md
@@ -0,0 +1,22 @@
# And Node

## Description

Returns true if both the inputs **A** and **B** are true. This is useful for [Branching](Branch-Node.md).

## Ports

| Name | Direction | Type | Binding | Description |
|:------------ |:-------------|:-----|:---|:---|
| A | Input | Boolean | None | First input value |
| B | Input | Boolean | None | Second input value |
| Out | Output | Boolean | None | Output value |

## Generated Code Example

```
void Unity_And(float A, float B, out float Out)
{
Out = A && B;
}
```
23 changes: 23 additions & 0 deletions Documentation~/Any-Node.md
@@ -0,0 +1,23 @@
# Any Node

## Description

Returns true if any of the components of the input **In** are non-zero. This is useful for [Branching](Branch-Node.md).

## Ports

| Name | Direction | Type | Binding | Description |
|:------------ |:-------------|:-----|:---|:---|
| In | Input | Dynamic Vector | None | Input value |
| Out | Output | Boolean | None | Output value |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
void Unity_Any_float4(float4 In, out float Out)
{
Out = any(In);
}
```
23 changes: 23 additions & 0 deletions Documentation~/Arccosine-Node.md
@@ -0,0 +1,23 @@
# Arccosine Node

## Description

Returns the arccosine of each component of the input **In** as a vector of the same dimension and equal length. Each component should be within the range of -1 to 1.

## Ports

| Name | Direction | Type | Description |
|:------------ |:-------------|:-----|:---|
| In | Input | Dynamic Vector | Input value |
| Out | Output | Dynamic Vector | Output value |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
void Unity_Arccosine_float4(float4 In, out float4 Out)
{
Out = acos(In);
}
```
23 changes: 23 additions & 0 deletions Documentation~/Arcsine-Node.md
@@ -0,0 +1,23 @@
# Arcsine Node

## Description

Returns the arcsine of each component of the input **In** as a vector of the same dimension and equal length. Each component should be within the range of -Pi/2 to Pi/2.

## Ports

| Name | Direction | Type | Description |
|:------------ |:-------------|:-----|:---|
| In | Input | Dynamic Vector | Input value |
| Out | Output | Dynamic Vector | Output value |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
void Unity_Arcsine_float4(float4 In, out float4 Out)
{
Out = asin(In);
}
```
23 changes: 23 additions & 0 deletions Documentation~/Arctangent-Node.md
@@ -0,0 +1,23 @@
# Arctangent Node

## Description

Returns the arctangent of the value of input **In**. Each component should be within the range of -Pi/2 to Pi/2.

## Ports

| Name | Direction | Type | Description |
|:------------ |:-------------|:-----|:---|
| In | Input | Dynamic Vector | Input value |
| Out | Output | Dynamic Vector | Output value |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
void Unity_Arctangent_float4(float4 In, out float4 Out)
{
Out = atan(In);
}
```
24 changes: 24 additions & 0 deletions Documentation~/Arctangent2-Node.md
@@ -0,0 +1,24 @@
# Arctangent2 Node

## Description

Returns the arctangent of the values of both input **A** and input **B**. The signs (whether they are positive or negative values) of the input values are used to determine whether the output components, or channels, are positive or negative within a range of -Pi to Pi.

## Ports

| Name | Direction | Type | Description |
|:------------ |:-------------|:-----|:---|
| A | Input | Dynamic Vector | First input value |
| B | Input | Dynamic Vector | Second input value |
| Out | Output | Dynamic Vector | Output value |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
void Unity_Arctangent2_float4(float4 A, float4 B, out float4 Out)
{
Out = atan2(A, B);
}
```
69 changes: 69 additions & 0 deletions Documentation~/Artistic-Nodes.md
@@ -0,0 +1,69 @@
# Artistic Nodes

## Adjustment


|[Channel Mixer](Channel-Mixer-Node.md)| [Contrast](Contrast-Node.md) |
|:---------:|:---------:|
|![Image](images/ChannelMixerNodeThumb.png)|![](images/ContrastNodeThumb.png)|
|Controls the amount each of the channels of input In contribute to each of the output channels.|Adjusts the contrast of input In by the amount of input Contrast.|
|[**Hue**](Hue-Node.md)|[**Invert Colors**](Invert-Colors-Node.md)|
|![Image](images/HueNodeThumb.png)|![Image](images/InvertColorsNodeThumb.png)|
|Offsets the hue of input In by the amount of input Offset.|Inverts the colors of input In on a per channel basis.|
|[**Replace Color**](Replace-Color-Node.md)|[**Saturation**](Saturation-Node.md)|
|![Image](images/ReplaceColorNodeThumb.png)|![Image](images/SaturationNodeThumb.png)|
|Replaces values in input In equal to input From to the value of input To.|Adjusts the saturation of input In by the amount of input Saturation.|
|[**White Balance**](White-Balance-Node.md)||
|![Image](images/WhiteBalanceNodeThumb.png)||
|Adjusts the temperature and tint of input In by the amount of inputs Temperature and Tint respectively.||



## Blend

|[Blend](Blend-Node.md)|
|:---------:|
|![Image](images/BlendNodeThumb.png)|
|Blends the value of input Blend onto input Base using the blending mode defined by parameter Mode.|



## Filter

|[Dither](Dither-Node.md)|
|:---------:|
|![Image](images/DitherNodeThumb.png)|
|Dither is an intentional form of noise used to randomize quantization error. It is used to prevent large-scale patterns such as color banding in images..|



## Mask


|[Channel Mask](Channel-Mask-Node.md)| [Color Mask](Color-Mask-Node.md) |
|:---------:|:---------:|
|![Image](images/ChannelMaskNodeThumb.png)|![](images/ColorMaskNodeThumb.png)|
|Masks values of input In on channels selected in dropdown Channels.|Creates a mask from values in input In equal to input Mask Color.|



## Normal


|[Normal Blend](Normal-Blend-Node.md)| [Normal From Height](Normal-From-Height-Node.md) |
|:---------:|:---------:|
|![Image](images/NormalBlendNodeThumb.png)|![](images/NormalFromHeightNodeThumb.png)|
|Blends two normal maps defined by inputs A and B together.|Creates a normal map from a height map defined by input Texture.|
|[**Normal Strength**](Normal-Strength-Node.md)|[**Normal Unpack**](Normal-Unpack-Node.md)|
|![Image](images/NormalStrengthNodeThumb.png)|![Image](images/NormalUnpackNodeThumb.png)|
|Adjusts the strength of the normal map defined by input In by the amount of input Strength.|Unpacks a normal map defined by input In.|



## Utility


| [Colorspace Conversion](Colorspace-Conversion-Node.md) |
| :----------------------------------------------------------: |
| ![Image](images/ColorspaceConversionNodeThumb.png) |
| Returns the result of converting the value of input In from one colorspace space to another. |
40 changes: 40 additions & 0 deletions Documentation~/Baked-GI-Node.md
@@ -0,0 +1,40 @@
# Baked GI Node

## Description

Provides access to the **Baked GI** values at the vertex or fragment's position. Requires **Position** and **Normal** input for light probe sampling, and lightmap coordinates **Static UV** and **Dynamic UV** for all potential lightmap sampling cases.

Note: The behavior of this [Node](Node.md) is undefined globally. Shader Graph does not define the function of the node. Instead, each Render Pipeline defines what HLSL code to execute for this [Node](Node.md).

Different Render Pipelines may produce different results. If you're building a shader in one Render Pipeline that you want to use in both, try checking it in both pipelines before production. A [Node](Node.md) might be defined in one Render Pipeline and undefined in the other. If this [Node](Node.md) is undefined, it returns 0 (black).

#### Unity Pipelines Supported
- HD Render Pipeline
- Lightweight Render Pipeline

## Ports

| Name | Direction | Type | Binding | Description |
|:------------ |:-------------|:-----|:---|:---|
| Position | Input | Vector 3 | Position (world space) | Mesh vertex/fragment's **Position** |
| Normal | Input | Vector 3 | Normal (world space) | Mesh vertex/fragment's **Normal** |
| Static UV | Input | Vector 2 | UV1 | Lightmap coordinates for the static lightmap |
| Dynamic UV | Input | Vector 2 | UV2 | Lightmap coordinates for the dynamic lightmap |
| Out | Output | Vector 3 | None | Output color value |

## Controls

| Name | Type | Options | Description |
|:------------ |:-------------|:-----|:---|
| Apply Lightmap Scaling | Toggle | True, False | If enabled lightmaps are automatically scaled and offset. |

## Generated Code Example

The following example code represents one possible outcome of this node.

```
void Unity_BakedGI_float(float3 Position, float3 Normal, float2 StaticUV, float2 DynamicUV, out float Out)
{
Out = SHADERGRAPH_BAKED_GI(Position, Normal, StaticUV, DynamicUV, false);
}
```
17 changes: 17 additions & 0 deletions Documentation~/Bitangent-Vector-Node.md
@@ -0,0 +1,17 @@
# Bitangent Node

## Description

Provides access to the mesh vertex or fragment's **Bitangent Vector**, depending on the effective [Shader Stage](Shader-Stage.md) of the graph section the [Node](Node.md) is part of. The coordinate space of the output value can be selected with the **Space** dropdown parameter.

## Ports

| Name | Direction | Type | Binding | Description |
|:------------ |:-------------|:-----|:---|:---|
| Out | Output | Vector 3 | None | **Bitangent Vector** for the Mesh Vertex/Fragment. |

## Controls

| Name | Type | Options | Description |
|:------------ |:-------------|:-----|:---|
| Space | Dropdown | Object, View, World, Tangent | Selects coordinate space of **Bitangent Vector** to output. |

0 comments on commit 663cc87

Please sign in to comment.