如果目标平台/图形 API 支持,则将渲染纹理缩放以支持动态分辨率。
当调用 ResizeBuffers
时,ScalableBufferManager
类处理您标记为 DynamicallyScalable
的任何渲染纹理的缩放。所有标记为 DynamicallyScalable
的渲染纹理都按宽度和高度缩放因子进行缩放。缩放通过缩放因子控制,而不是通过特定的宽度和高度值控制,因为即使渲染纹理的大小不同,也需要按一个共同的因子进行缩放。
当前实现仅支持 0.05 到 1.0 范围内以 0.05 为步长的离散缩放因子,以确保跨所有平台的一致性。Unity 自动选择最接近的支持的缩放因子。您可以使用 ScalableBufferManager.widthScaleFactor 和 ScalableBufferManager.heightScaleFactor 访问所选的缩放因子。
缩放尺寸按如下方式计算
width = ceil(renderTexture.width * ScalableBufferManager.widthScaleFactor) height = ceil(renderTexture.height * ScalableBufferManager.heightScaleFactor)
您标记为 DynamicallyScalableExplicit
的渲染纹理不是通过调用 ResizeBuffers
而是通过调用 RenderTexture.ApplyDynamicScale
来缩放的。缩放遵循与 ResizeBuffers
完全相同的过程。
heightScaleFactor | 控制动态分辨率的高度缩放因子。 |
widthScaleFactor | 控制动态分辨率的宽度缩放因子。 |
ResizeBuffers | 调整所有标记为 DynamicallyScalable 的缓冲区大小的功能。 |