Sample Texture2DArray
Menu Path : Operator > Sampling > Sample Texture2DArray
The Sample Texture2DArray Operator samples a Texture2DArray for a specified slice, UV and mip level. This Operator uses the same Filter Mode and Wrap Mode as the input texture’s import settings.
This translates to a Sample() call on the texture in High-Level Shading Language (HLSL). For information on the differences between loading and sampling, see Loading and sampling.
Loading and sampling
In the Visual Effect Graph, there are multiple Operators that can read texel values from a texture. In the underlying (HLSL), some of them use Load() and others use Sample().
The differences between the Operators that use Load() and Operators that use Sample() is as follows:
- Load() does not apply any filtering to the final texel value whereas Sample() uses the same Filter Mode as the target Texture's import settings.
- Load() does not apply any wrapping and instead returns 0 for coordinates that specify a texel outside the texture. Sample() uses the same Wrap Mode as the target Texture's import settings.
- Load() uses texel coordinates (in the range of 0 to the texture's width/height minus 1) whereas Sample() uses UV coordinates (in the range of 0-1).
Operator properties
Input | Type | Description |
---|---|---|
Texture | Texture2DArray | The texture array this Operator samples from. |
UV | Vector2 | The UV this Operator samples the texture at. |
Slice | uint | The texture slice this Operator samples from. |
Mip Level | float | The Mip level this Operator uses for the sampling |
Output | Type | Description |
---|---|---|
s | Vector4 | The sampled value from the texture array |
Limitations
This Operator only runs on the GPU, therefore it does not work when plugged into Spawner Context ports.