Version: Unity 6.0 (6000.0)
语言 : 中文
内置渲染管线的表面着色器可选指令参考
内置渲染管线中的着色器方法

内置渲染管线的表面着色器输入结构参考

输入结构 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)
内置渲染管线的表面着色器可选指令参考
内置渲染管线中的着色器方法