The input structure Input
generally has any texture coordinates needed by the shaderA program that runs on the GPU. More info
See in Glossary. Texture coordinates must be named “uv
” followed by texture name (or start it with “uv2
” to use second texture coordinate set).
Additional values that can be put into Input structure:
float3 viewDir
- contains view direction, for computing Parallax effects, rim lighting etc.float4
with COLOR
semantic - contains interpolated per-vertex color.float4 screenPos
- contains screen space position for reflection or screenspace effects. Note that this is not suitable for GrabPass; you need to compute custom UV yourself using ComputeGrabScreenPos
function.float3 worldPos
- contains world space position.float3 worldRefl
- contains world reflection vector if surface shaderA streamlined way of writing shaders for the Built-in Render Pipeline. More infofloat3 worldNormal
- contains world normal vector if surface shader does not write to o.Normal.float3 worldRefl; INTERNAL_DATA
- contains world reflection vector if surface shader writes to o.Normal. To get the reflection vector based on per-pixel normal mapA type of Bump Map texture that allows you to add surface detail such as bumps, grooves, and scratches to a model which catch the light as if they are represented by real geometry.WorldReflectionVector (IN, o.Normal)
. See Reflect-Bumped shader for example.float3 worldNormal; INTERNAL_DATA
- contains world normal vector if surface shader writes to o.Normal. To get the normal vector based on per-pixel normal map, use WorldNormalVector (IN, o.Normal)
.