在内置 渲染管线一系列操作,将场景内容显示在屏幕上。 Unity 允许您从预构建的渲染管线中选择,或编写自己的渲染管线。 更多信息
参见 词汇表 中,当使用表面 着色器在 GPU 上运行的程序。 更多信息
参见 词汇表 时,照明应用方式和着色器使用的 通道 取决于使用的 渲染路径渲染管线用来渲染图形的技术。 选择不同的渲染路径会影响照明和着色计算方式。 某些渲染路径比其他渲染路径更适合不同的平台和硬件。 更多信息
参见 词汇表。着色器中的每个通道通过 通道标签 传达其照明类型。
功能名称 | 通用渲染管线 (URP) | 高清渲染管线 (HDRP) | 自定义 SRP | 内置渲染管线 |
---|---|---|---|---|
表面着色器 | 否 有关在 URP 中创建着色器对象的简化方法,请参见 着色器图。 |
否 有关在 HDRP 中创建着色器对象的简化方法,请参见 着色器图。 |
否 | 是 |
ForwardBase
和 ForwardAdd
通道。Deferred
通道。Vertex
、VertexLMRGBM
和 VertexLM
通道。ShadowCaster
通道。
ForwardBase
通道一次渲染环境光、光照贴图一种预渲染纹理,包含场景中静态对象的光源效果。 光照贴图叠加在场景几何图形上,以创建照明效果。 更多信息
参见 词汇表、主方向光和不重要的(顶点/SH)灯光。 ForwardAdd
通道用于任何加性逐像素灯光;对受此类灯光照明的每个对象执行一次调用。 有关详细信息,请参见 正向渲染。
如果使用正向渲染,但着色器没有适合正向的通道(即不存在 ForwardBase
或 ForwardAdd
通道类型),则该对象将与顶点照明路径中的渲染方式相同,请参见下文。
Deferred
通道渲染照明所需的所有信息(在内置着色器中:漫射颜色、镜面反射颜色、平滑度、世界空间法线、自发光)。 它还将光照贴图、反射探针和环境光添加到自发光通道。 有关详细信息,请参见 延迟着色。
由于顶点照明最常用于不支持可编程着色器的平台,因此 Unity 无法在内部创建多个着色器变体来处理光照贴图与非光照贴图的情况。 因此,为了处理光照贴图和非光照贴图对象,必须显式地编写多个通道。
Vertex
通道用于非光照贴图对象。 所有灯光都使用固定函数 OpenGL/Direct3D 照明模型 (Blinn-Phong) 一次渲染。VertexLMRGBM
通道用于光照贴图对象,当光照贴图使用 RGBM 编码(PC 和主机)时。 不应用实时照明;通道应将纹理与光照贴图结合起来。VertexLM
通道用于光照贴图对象,当光照贴图使用双 LDR 编码(移动平台)时。 不应用实时照明;通道应将纹理与光照贴图结合起来。