版本: Unity 6 (6000.0)
语言: 英语
在内置渲染管线中设置表面着色器中的光照模型
内置渲染管线中的表面着色器示例

优化表面着色器

表面着色器一种为内置渲染管线编写着色器的高效方式。 更多信息
参见 术语表
非常适合编写与光照交互的 着色器在 GPU 上运行的程序。 更多信息
参见 术语表
。但是,它们的默认选项经过调整以涵盖许多通用情况。针对特定情况调整这些选项,可以使着色器运行得更快或至少更小。

  • 对于镜面反射着色器类型,halfasview 甚至更快。半向量(光照方向和视角向量之间的中间向量)在每个顶点处计算并标准化,并且 光照函数 接收半向量作为参数,而不是视角向量。
  • noforwardadd 使着色器完全支持 正向渲染一种渲染路径,根据影响对象的光源以一到多个通道渲染每个对象。光源本身也根据其设置和强度由正向渲染以不同的方式处理。 更多信息
    参见 术语表
    中的单向光。其余的光源仍然可以作为每个顶点光或球谐函数产生影响。这非常适合使着色器更小,并确保它即使在存在多个光源的情况下也能在一个通道中渲染。
  • noambient 禁用着色器上的环境光和球谐函数光。这可以略微提高性能。

其他资源

在内置渲染管线中设置表面着色器中的光照模型
内置渲染管线中的表面着色器示例