Skip to content

格式

c++
#pragma renderqueue [VALUE]

描述

为执行了该命令的 着色器(shader)指定 渲染队列(Render Queue),即渲染的顺序。

在内置的 渲染管线(Render Pipeline),渲染物体的顺序基于:

  • 物体位于哪个渲染队列。SandMod 将物体分类至称为渲染队列的组。 系统会渲染一个渲染队列的内容,然后再渲染另一个渲染队列的内容,以此类推。

  • 对相应渲染队列中的物体进行排序,渲染队列值越小,越优先渲染。

如果 着色器(Shader)代码中不执行此命令,则默认将对应物体归类于 几何体(Geometry)渲染队列,实际渲染队列以 材质(Material)的 渲染队列(Render Queue)属性值为准。

字段

该命令的字段值只允许为 0 至 5000 之间的整数值。

字段名是否必须字段值描述
[VALUE]1000背景(Background)渲染队列,这个渲染队列最先渲染,一般用于渲染背景。
2000几何体(Geometry)渲染队列,这个渲染队列是大多数物体的默认队列,用于渲染不透明物体。
2450Alpha 测试(Alpha Test)渲染队列,此队列的物体在不透明物体渲染完之后再渲染,有助于提升性能。适用于对物体或像素的透明度进行测试。
2500不透明(Opaque)渲染队列,最后用于渲染不透明物体的渲染队列。
3000透明(Transparent)渲染队列,会在所有 几何体(Geometry)渲染队列和 Alpha 测试(Alpha Test)渲染队列的物体渲染完后,再按照从后往前的顺序进行渲染,用于渲染任何使用了 透明度混合(Alpha Blended)的物体。例如玻璃或粒子效果。
4000覆盖(Overlay)渲染队列,用于实现一些叠加效果,适合最后渲染的物体,如镜头的光晕。

代码示例

c++
#pragma renderqueue 2999