ShaderLab 语法:Pass

通道 (Pass) 块使对象的几何结构被渲染一次。

语法

Pass { [Name and Tags] [RenderSetup] [TextureSetup] }
基本通道命令包含了渲染设置命令的可选列表,后面可跟随一系列纹理以供使用。

名称和标记

通道 (Pass) 可以定义其名称和任意数量的标记 - 名称/值字符串告知渲染引擎“通道”(Pass) 的目的。

渲染设置

通道可设置图形硬件的各种状态,例如,是否应打开 alpha 混合,是否使用雾化等。其命令如下:

Material { Material Block }
定义在顶点光照管线中使用的材质。有关详细信息,请参阅材质页面
Lighting On | Off
开启或关闭顶点光照。有关详细信息,请参阅材质页面
Cull Back | Front | Off
设置多边形剔除模式。
ZTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always)
设置深度测试模式。
ZWrite On | Off
设置深度编写模式。
Fog { Fog Block }
设置雾化参数。
AlphaTest (Less | Greater | LEqual | GEqual | Equal | NotEqual | Always) CutoffValue
开启 alpha 测试。
Blend SourceBlendMode DestBlendMode
设置 alpha 混合模式。
Color Color value
如果顶点光照是关闭的,则设置使用的颜色。
ColorMask RGB | A | 0 | any combination of R, G, B, A
设置颜色编写遮蔽图。编写 ColorMask 0 可关闭所有颜色通道的渲染。
Offset OffsetFactor , OffsetUnits
设置深度偏移。请注意,从 Unity 3.0 版本起,该命令只接受常量(即:非着色器参数)。
SeparateSpecular On | Off
打开或关闭顶点光照单独的高光颜色。有关详细信息,请参阅材质页面
ColorMaterial AmbientAndDiffuse | Emission
计算顶点光照时使用逐顶点颜色。有关详细信息,请参阅材质页面

纹理设置

渲染状态设置后,您可以应用 SetTexture 命令指定要应用的多种纹理及其组合模式:

SetTexture texture property { [Combine options] }

纹理设置可配置固定功能多层材质管线,并且如果使用自定义片段着色器,则纹理设置将被忽视。

详细信息

逐像素光照

逐像素光照管线通过在多通道中渲染对象作用。Unity 渲染对象一次以获得环境光照和所有顶点光照。然后渲染每个影响独立附加通道内的对象的像素光照。有关详细信息,请参阅渲染器管线

逐顶点光照

逐顶点光照是对每个顶点都进行了计算的标准的 Direct3D/OpenGL 光照模式。Lighting on 可打开光照。光照受 Material 块、ColorMaterialSeparateSpecular 令影响。有关详细信息,请参阅材质页面

另请参阅

有几个特别通道支持重复使用常用功能或实施各种高端特效:

小节

Page last updated: 2013-06-28