width | 宽度(以像素为单位)。 |
height | 高度(以像素为单位)。 |
depthBuffer | 深度缓冲区位(0、16 或 24)。注意,仅 24 位深度具有模板缓冲区。 |
format | 渲染纹理格式。 |
readWrite | 颜色空间转换模式。 |
msaaSamples | 要存储在纹理中的抗锯齿样本数。有效值为 1、2、4 和 8。如果传递任何其他值,则抛出异常。 |
memorylessMode | 渲染纹理无内存模式。 |
desc | 创建临时 RenderTexture 时,可将此 RenderTextureDesc 用于设置。 |
分配临时渲染纹理。
有时,您可能需要快速创建一个 RenderTexture 来进行一些临时的计算,该函数已针对这种情况做了优化。
使用完 RenderTexture 后,请立即使用 ReleaseTemporary 释放它,
以便下次需要时可以再次调用来重用它。
在内部,Unity 保留一个临时渲染纹理池,
因此调用 GetTemporary 通常只是直接返回一个已创建的渲染纹理(如果大小和格式匹配)。
如果若干帧都不使用这些临时渲染纹理,才将它们实际销毁。
如果您需要进行一系列后期处理“blit”,
则对于每个 blit,获取和释放一个临时渲染纹理要比
事先获取一到两个渲染纹理并进行重用的性能更好。
这对于移动(基于区块的)和多 GPU 系统来说最为有益:GetTemporary 将在内部执行 DiscardContents 调用,
有助于避免对先前的渲染纹理内容进行代价高昂的恢复操作。
您不能依赖从 GetTemporary 函数获得的 RenderTexture 的任何特定内容。
这些可能是垃圾内容,也可能被清除为某种颜色,具体视平台而定。
另请参阅:ReleaseTemporary。