版本:Unity 6 (6000.0)
语言:English
在 URP 中的渲染通道之间传输纹理
URP 中渲染图系统中的帧数据

URP 中 Blit 的最佳实践

一个 blit“位块传输”的简称。Blit 操作是将内存中一块数据传输到另一个位置的过程。
参见 术语表
操作是将源纹理复制到目标纹理的过程。

此页面概述了在 URP 中执行 Blit 操作的不同方法以及编写自定义渲染通道时应遵循的最佳实践。

旧版 CommandBuffer.Blit API

避免在 URP 项目中使用 CommandBuffer.Blit API。

CommandBuffer.Blit API 是旧版 API。它隐式运行与更改状态、绑定纹理和设置渲染目标相关的额外操作。这些操作在 SRP 项目中幕后发生,对用户来说是不透明的。

该 API 与 URP 的 XR涵盖虚拟现实 (VR)、增强现实 (AR) 和混合现实 (MR) 应用程序的总称。支持这些交互式应用程序的设备可以称为 XR 设备。更多信息
参见 术语表
集成存在兼容性问题。使用 cmd.Blit 可能会隐式启用或禁用 XR 着色器在 GPU 上运行的程序。更多信息
参见 术语表
关键字,从而破坏 XR SPI 渲染。

CommandBuffer.Blit API 与 NativeRenderPassRenderGraph 不兼容。

任何内部依赖于 cmd.Blit 的实用程序或包装器也存在类似问题,RenderingUtils.Blit 就是一个例子。

SRP Blit API

在 URP 项目中使用 Blit API。此 API 不依赖于旧版逻辑,并且与 XR、原生渲染通道和其他 SRP API 兼容。

自定义全屏 Blit 示例

如何在兼容模式下在 URP 中执行全屏 Blit 示例演示了如何创建执行全屏 Blit 的自定义渲染功能。该示例可在 XR 中运行,并与 SRP API 兼容。

在 URP 中的渲染通道之间传输纹理
URP 中渲染图系统中的帧数据