rt | 为颜色和深度缓冲区设置的渲染目标。 |
color | 设置为颜色缓冲区的渲染目标。 |
colors | 设置为颜色缓冲区(MRT)的渲染目标。 |
depth | 设置为深度缓冲区的渲染目标。 |
mipLevel | 要渲染到的渲染目标的 mip 级别。 |
cubemapFace | 要渲染到的立方体贴图渲染目标的立方体贴图面。 |
depthSlice | 要设置的 3D 或数组渲染目标的切片。 |
loadAction | 用于颜色和深度/模板缓冲区的加载操作。 |
storeAction | 用于颜色和深度/模板缓冲区的存储操作。 |
colorLoadAction | 用于颜色缓冲区的加载操作。 |
colorStoreAction | 用于颜色缓冲区的存储操作。 |
depthLoadAction | 用于深度/模板缓冲区的加载操作。 |
depthStoreAction | 用于深度/模板缓冲区的存储操作。 |
添加“设置活动渲染目标”命令。
要使用的渲染纹理可以通过多种方式指示:RenderTexture 对象、使用 GetTemporaryRT 创建的临时渲染纹理,或内置临时纹理之一(BuiltinRenderTextureType)。所有这些都由 RenderTargetIdentifier 结构体表示,该结构体具有隐式转换运算符以节省键入。
在命令缓冲区执行期间,您无需显式保留活动渲染目标(当前渲染目标将在之后保存和恢复)。
此方法的变体提供了其他参数,例如 mipLevel(int)和 cubemapFace,以启用渲染到 RenderTexture 的特定 mipmap 级别或立方体贴图 RenderTexture 的特定立方体贴图面。设置单个 RenderTarget 且没有显式 mipLevel、cubemapFace 和 depthSlice 的重载会尊重在创建 RenderTargetIdentifier 时指定的 mipLevel、cubemapFace 和 depthSlice 值。设置多个渲染目标的重载将 mipLevel、cubemapFace 和 depthSlice 设置为 0、Unknown 和 0,除非另有指定。如果指定,它将对所有目标使用指定的 mipLevel、cubemapFace 和 depthSlice。
请注意,在线性颜色空间中,设置正确的 sRGB<->线性颜色转换状态非常重要。根据先前渲染的内容,当前状态可能不是您期望的状态。在执行 SetRenderTarget 或任何其他手动渲染之前,您应该考虑根据需要设置 GL.sRGBWrite。
目前不支持 Rendering.RenderTargetIdentifier.Clear。后续调用 ClearRenderTarget 具有相同的效果,并且在支持 clear
加载操作的图形 API 上进行了优化。
其他资源:GetTemporaryRT、ClearRenderTarget、Blit、RenderTargetIdentifier。