版本:Unity 6 (6000.0)
语言:English
内置渲染管线 Surface Shader 可选指令参考
内置渲染管线中的着色器方法

内置渲染管线 Surface Shader 输入结构参考

输入结构 Input 通常包含 着色器在 GPU 上运行的程序。 更多信息
参见 术语表
所需的任何纹理坐标。纹理坐标必须命名为“uv”后跟纹理名称(或以“uv2”开头以使用第二个纹理坐标集)。

可以放入 Input 结构的其他值

  • float3 viewDir - 包含视方向,用于计算视差效果、边缘光等。
  • 具有 COLOR 语义的 float4 - 包含插值的每个顶点颜色。
  • float4 screenPos - 包含屏幕空间位置,用于反射或屏幕空间效果。请注意,这适用于 GrabPass;您需要使用 ComputeGrabScreenPos 函数自己计算自定义 UV。
  • float3 worldPos - 包含世界空间位置。
  • float3 worldRefl - 包含世界反射向量如果 surface shader编写内置渲染管线着色器的一种简化方式。 更多信息
    参见 术语表
    未写入 o.Normal
    。例如,请参阅 Reflect-Diffuse 着色器。
  • float3 worldNormal - 包含世界法线向量如果 surface shader 未写入 o.Normal
  • float3 worldRefl; INTERNAL_DATA - 包含世界反射向量如果 surface shader 写入 o.Normal。要根据每个像素的 法线贴图一种凹凸贴图纹理类型,允许您向模型添加表面细节,例如凹凸、凹槽和划痕,这些细节会捕捉光线,就像它们由真实的几何体表示一样。
    参见 术语表
    获取反射向量,请使用 WorldReflectionVector (IN, o.Normal)。例如,请参阅 Reflect-Bumped 着色器。
  • float3 worldNormal; INTERNAL_DATA - 包含世界法线向量如果 surface shader 写入 o.Normal。要根据每个像素的法线贴图获取法线向量,请使用 WorldNormalVector (IN, o.Normal)
内置渲染管线 Surface Shader 可选指令参考
内置渲染管线中的着色器方法