Version: 2021.3
public void GetTemporaryRT (int nameID, int width, int height, int depthBuffer, FilterMode filter, RenderTextureFormat format, RenderTextureReadWrite readWrite, int antiAliasing, bool enableRandomWrite);
public void GetTemporaryRT (int nameID, RenderTextureDescriptor desc, FilterMode filter);

参数

nameID 此纹理的着色器属性名称。
width 像素宽度,或为 -1,表示“摄像机像素宽度”。
height 像素高度,或为 -1,表示“摄像机像素高度”。
depthBuffer 深度缓冲区位(0、16 或 24)。
filter 纹理过滤模式(默认为 Point)。
format 渲染纹理的格式(默认为 ARGB32)。
readWrite 颜色空间转换模式。
antiAliasing 抗锯齿(默认为无抗锯齿)。
enableRandomWrite 是否启用对纹理的随机写入访问(默认为 false)。
desc 创建临时 RenderTexture 时,可将此 RenderTextureDescriptor 用于设置。
memorylessMode 渲染纹理无内存模式。

描述

添加“获取临时渲染纹理”命令。

可使用给定参数创建临时渲染纹理,并使用 nameID 将其设置为全局着色器属性。使用 Shader.PropertyToID 创建整数名称。

使用 ReleaseTemporaryRT 并传递相同的 nameID 可释放临时渲染纹理。未显式释放的所有临时纹理都将在摄像机完成渲染后或在 Graphics.ExecuteCommandBuffer 完成后被删除。

在获取临时渲染纹理后,可将其设置为活动 (SetRenderTarget),或对其执行 blit 操作 (Blit)。在命令缓冲区执行期间,不必显式保留活动的渲染目标(当前的渲染目标将被保存并在之后恢复)。

另请参阅:ReleaseTemporaryRTSetRenderTargetBlit