src | 读取数据的资源。 |
size | 从 ComputeBuffer 或 GraphicsBuffer 中检索到的数据的字节大小。 |
offset | 在 ComputeBuffer 或 GraphicsBuffer 中的字节偏移量。 |
mipIndex | 要提取的 MipMap 的索引。 |
dstFormat | 数据的目标 TextureFormat。如果目标格式不同于存储在 GPU 上的格式,则转换将自动进行。 |
x | 要提取的纹理数据的起始 X 坐标(以像素为单位)。 |
width | 要提取的纹理数据的宽度(以像素为单位)。 |
y | 要提取的纹理数据的起始 Y 坐标(以像素为单位)。 |
height | 要提取的纹理数据的长度(以像素为单位)。 |
z | 正在提取的 Texture3D 的开始 Z 坐标(以像素为单位)。正在提取的 TextureCube、Texture2DArray 和 TextureCubeArray 的开始层索引。 |
depth | 正在提取的 Texture3D 的深度(以像素为单位)。TextureCube、TextureArray 和 TextureCubeArray 的层数。 |
callback | 请求完成后调用一次可选的委托 System.Action。已完成的请求作为参数传递给 System.Action。 |
AsyncGPUReadbackRequest 返回 AsyncGPUReadbackRequest,你可使用该请求来确定数据何时可用。否则,将返回带错误的请求。
从 GPU 资源异步检索数据。
如果返回的请求带有错误,则调用 AsyncGPUReadbackRequest.hasError 会返回 true。
对于纹理数据,系统会根据源纹理的大小对范围进行检查。如果图形 QualitySettings 设置得足够低,足以生成缩小版的纹理,那么必须请求缩小版。使用 QualitySettings.masterTextureLimit 通过位移右移来调整宽度和高度(如需,还可调整 x 和 y)。
对于纹理数据,使用带有 GraphicsFormatUsage.ReadPixels 标志的 SystemInfo.IsFormatSupported 方法查询格式是否受支持。
如果使用此函数请求有关临时渲染纹理的数据,请勿在请求完成前使用 RenderTexture.ReleaseTemporary 释放纹理。