返回

URP-RenderObject

RenderObject是什么

前面讲到过在URP渲染管线下,可以对自定义管线的渲染配置文件添加一些RendererFeatures来实现对渲染管线的修改(见之前的博客URP屏幕后处理)。扩展RendererFeatures是需要我们写代码来实现的,那有没有更简单不需要写代码就能实现管线自定义呢?有,那就是RenderObject

从上图可以看到,RenderObjects可以针对不同的物体在不同的阶段进行渲染。

Event 什么阶段进行渲染
Queue 渲染对象是否是透明物体
LayerMask 渲染对象所在层级
Light Mode Tags 调用Shader的光照模型标签
Material 指定的材质
Depth 通过深度指定渲染对象
Stencil 通过模板指定渲染对象
Camera 通过相机指定渲染对象

在Built-in管线下,想要修改物体的渲染时机只有通过修改材质的RenderQueue等级,或者添加新的Pass通道(会打断合批),不仅修改权限较小,而且还有性能浪费。现在在URP下,我们通过增加RenderObjects就可以轻易的实现管线的自定义渲染顺序。

Licensed under CC BY-NC-SA 4.0
0