Sample Texture 2D Node

Description

Samples a Texture 2D and returns a Vector 4 color value for use in the shader. You can override the UV coordinates using the UV input and define a custom Sampler State using the Sampler input.

To use the Sample Texture 2D Node to sample a normal map, set the Type dropdown parameter to Normal.

NOTE: This Node can only be used in the Fragment Shader Stage. To sample a Texture 2D in the Vertex Shader Stage use a Sample Texture 2D LOD Node instead.

Ports

Name Direction Type Binding Description
Texture Input Texture 2D None Texture 2D to sample
UV Input Vector 2 UV Mesh's normal vector
Sampler Input Sampler State Default sampler state Sampler for the texture
RGBA Output Vector 4 None Output value as RGBA
R Output Vector 1 None red (x) component of RGBA output
G Output Vector 1 None green (y) component of RGBA output
B Output Vector 1 None blue (z) component of RGBA output
A Output Vector 1 None alpha (w) component of RGBA output

Controls

Name Type Options Description
Type Dropdown Default, Normal Selects the texture type

Generated Code Example

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

Default

float4 _SampleTexture2D_RGBA = SAMPLE_TEXTURE2D(Texture, Sampler, UV);
float _SampleTexture2D_R = _SampleTexture2D_RGBA.r;
float _SampleTexture2D_G = _SampleTexture2D_RGBA.g;
float _SampleTexture2D_B = _SampleTexture2D_RGBA.b;
float _SampleTexture2D_A = _SampleTexture2D_RGBA.a;

Normal

float4 _SampleTexture2D_RGBA = SAMPLE_TEXTURE2D(Texture, Sampler, UV);
_SampleTexture2D_RGBA.rgb = UnpackNormalRGorAG(_SampleTexture2D_RGBA);
float _SampleTexture2D_R = _SampleTexture2D_RGBA.r;
float _SampleTexture2D_G = _SampleTexture2D_RGBA.g;
float _SampleTexture2D_B = _SampleTexture2D_RGBA.b;
float _SampleTexture2D_A = _SampleTexture2D_RGBA.a;