public void SetRenderTarget (Rendering.RenderTargetIdentifier rt);
public void SetRenderTarget (Rendering.RenderTargetIdentifier rt, Rendering.RenderBufferLoadAction colorLoadAction, Rendering.RenderBufferStoreAction colorStoreAction, Rendering.RenderBufferLoadAction depthLoadAction, Rendering.RenderBufferStoreAction depthStoreAction);
public void SetRenderTarget (Rendering.RenderTargetIdentifier rt, int mipLevel);
public void SetRenderTarget (Rendering.RenderTargetIdentifier rt, int mipLevel, CubemapFace cubemapFace);
public void SetRenderTarget (Rendering.RenderTargetIdentifier rt, int mipLevel, CubemapFace cubemapFace, int depthSlice);
public void SetRenderTarget (Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth);
public void SetRenderTarget (Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth, int mipLevel);
public void SetRenderTarget (Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth, int mipLevel, CubemapFace cubemapFace);
public void SetRenderTarget (Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth, int mipLevel, CubemapFace cubemapFace, int depthSlice);
public void SetRenderTarget (RenderTargetIdentifier[] colors, Rendering.RenderTargetIdentifier depth);
public void SetRenderTarget (Rendering.RenderTargetBinding binding);

参数

rt为颜色和深度缓冲区设置的渲染目标。
color设置为颜色缓冲区的渲染目标。
colors设置为颜色缓冲区的渲染目标 (MRT)。
depth设置为深度缓冲区的渲染目标。
mipLevel渲染目标的要达到的 Mip 级别。
cubemapFace立方体贴图渲染目标要渲染到的立方体贴图面。
depthSlice要设置的 3D 或数组渲染目标的切片。
loadAction用于颜色和深度/模板缓冲区的加载操作。
storeAction用于颜色和深度/模板缓冲区的存储操作。
colorLoadAction用于颜色缓冲区的加载操作。
colorStoreAction用于颜色缓冲区的存储操作。
depthLoadAction用于深度/模板缓冲区的加载操作。
depthStoreAction用于深度/模板缓冲区的存储操作。

描述

添加“设置活动的渲染目标”命令。

可通过若干种方式指示要使用的渲染纹理:RenderTexture 对象、用 GetTemporaryRT 创建的临时渲染纹理或内置的临时纹理之一 (BuiltinRenderTextureType)。上述所有形式的渲染纹理都用 RenderTargetIdentifier 结构来表示,该结构使用隐式转换运算符,实现键入时保存。

在命令缓冲区执行期间,不必显式保留活动的渲染目标(当前的渲染目标将被保存并在之后恢复)。

Variations of this method are available which take extra arguments such as mipLevel (int) and cubemapFace to enable rendering into a specific mipmap level of a RenderTexture, or specific cubemap face of a cubemap RenderTexture. Overloads setting a single RenderTarget and without explicit mipLevel, cubemapFace and depthSlice respect the mipLevel, cubemapFace and depthSlice values that were specified when creating the RenderTargetIdentifier. Overloads setting multiple render targets will set mipLevel, cubemapFace, and depthSlice to 0, Unknown, and 0 unless otherwise specified.

请注意,在线性颜色空间中,设置正确的 sRGB<-> 线性颜色转换 状态非常重要。受之前渲染的内容的影响,当前状态可能不是您预期的状态。 您应考虑在执行 SetRenderTarget 或任何其他手动渲染之前,将 GL.sRGBWrite 设置为 需要的值。

Rendering.RenderTargetIdentifier.Clear 目前不受支持。对 ClearRenderTarget 的后续调用具有相同的效果,并在支持/清除/加载操作的图形 API 上进行了优化。

另请参阅:GetTemporaryRTClearRenderTargetBlitRenderTargetIdentifier

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961