BRG 是渲染以下内容的完美工具:
下表显示了哪些 渲染管线一系列操作,它们接收场景的内容,并将其显示在屏幕上。Unity 允许您从预构建的渲染管线中选择,或编写自己的渲染管线。 更多信息
参见 词汇表 支持 BRG。
功能名称 | 通用渲染管线 (URP) | 高清渲染管线 (HDRP) | 自定义 SRP | 内置渲染管线 |
---|---|---|---|---|
BatchRendererGroup | 是 (1) | 是 (1) | 是 (1) | 否 |
备注:
Unity 在以下平台上支持 BRG:
为了渲染到屏幕,BatchRendererGroup (BRG) 生成 绘制命令,这是一个 BRG 特定的概念,包含 Unity 高效创建优化、实例化 绘制调用所需的一切。
为了确定何时渲染绘制命令中的实例,BRG 使用 过滤器设置。过滤器设置控制何时渲染实例本身,但也控制何时渲染每个实例的某些方面,例如其阴影和运动向量。
由于相同的过滤器设置通常可以应用于大量绘制命令,因此 BRG 使用 绘制范围 将过滤器设置应用于一系列绘制命令。绘制范围将一系列连续的绘制命令与应用于它们的过滤器设置实例组合在一起。如果过滤器设置确定 Unity 不应该渲染绘制命令,则绘制范围特别有用,因为这使得 Unity 能够高效地跳过渲染范围内的每个绘制命令。
对哪个实例在哪个绘制调用中没有限制。有可能使用不同的网格和材质多次渲染同一个实例,即具有相同实例索引和 batchID 的对象。一个有用的示例是在使用相同的实例索引来共享诸如变换矩阵之类的属性以在绘制之间共享,但使用不同的材质绘制不同的子网格。
有关如何使用 BRG 创建渲染器的信息,请参阅 使用 BatchRendererGroup 创建渲染器。
在大多数情况下,Unity 将绘制命令渲染为可兼容的 DrawRenderers 调用在可编写脚本渲染管线中的每个平台级、实例化绘制调用。但是,当图形 API 对绘制调用的尺寸限制低于绘制命令的 visibleCount
时,这是不可能的。在这种情况下,Unity 将绘制命令拆分为多个实例化绘制调用。