输入结构 Input 通常具有着色器所需的所有纹理坐标。纹理坐标必须以“uv”后跟纹理名称的形式命名(如果要使用第二个纹理坐标集,则以“uv2”开头)。
可以放入输入结构的其他值:
float3 viewDir - 包含视图方向,用于计算视差效果、边缘光照等等。COLOR 语义的 float4 - 包含经插值处理的每顶点颜色。float4 screenPos - 包含反射或屏幕空间效果的屏幕空间位置。请注意,这不适合 GrabPass;您需要使用 ComputeGrabScreenPos 函数自行计算自定义 UV。float3 worldPos - 包含世界坐标系位置。float3 worldRefl - _在表面着色器不写入 o.Normal 的情况下_,包含世界反射矢量。有关示例,请参阅反光漫射 (Reflect-Diffuse) 着色器。float3 worldNormal - _在表面着色器不写入 o.Normal 的情况下_,包含世界法线矢量。float3 worldRefl; INTERNAL_DATA - _在表面着色器写入 o.Normal 的情况下_,包含世界反射矢量。要获得基于每像素法线贴图的反射矢量,请使用 WorldReflectionVector (IN, o.Normal)。有关示例,请参阅反光凹凸 (Reflect-Bumped) 着色器。float3 worldNormal; INTERNAL_DATA - _在表面着色器写入 o.Normal 的情况下_,包含世界法线矢量。要获得基于每像素法线贴图的法线矢量,请使用 WorldNormalVector (IN, o.Normal)。