GrabPass 是一种特殊的 Pass 命令,它将帧缓冲区的内容抓取到一张纹理中。这张纹理可在后续的 Pass 中用于实现高级的基于图像的特效。
此命令会显著增加 CPU 和 GPU 的每帧处理时间。一般来说,除了快速原型开发外,应尽量避免使用该命令,并尝试通过其他方式实现所需效果。如果确实要使用此命令,应尽可能减少屏幕抓取操作的次数;可以减少该命令的使用频率,或者在适用的情况下,使用将屏幕抓取到指定名称纹理的语法形式。
渲染管线兼容性
功能名称 | 内置渲染管线 | 通用渲染管线 (URP) | 高清渲染管线 (HDRP) | 自定义 SRP |
---|---|---|---|---|
GrabPass | 是 | 否 | 否 | 否 |
用法
在 SubShader 块中使用此命令。
GrabPass 仅作用于帧缓冲区,无法使用此命令抓取其他渲染目标、深度缓冲区等的内容。
请注意,两种不同的语法形式具有不同的功能和性能影响。使用指定名称的纹理可以显著减少屏幕抓取操作的次数,从而降低这个资源密集型命令的影响。
语法形式 | 功能 |
---|---|
Grab |