public static Rendering.AsyncGPUReadbackRequest Request (ComputeBuffer src, Action<AsyncGPUReadbackRequest> callback);
public static Rendering.AsyncGPUReadbackRequest Request (ComputeBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback);
public static Rendering.AsyncGPUReadbackRequest Request (Texture src, int mipIndex, Action<AsyncGPUReadbackRequest> callback);
public static Rendering.AsyncGPUReadbackRequest Request (Texture src, int mipIndex, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback);
public static Rendering.AsyncGPUReadbackRequest Request (Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, Action<AsyncGPUReadbackRequest> callback);
public static Rendering.AsyncGPUReadbackRequest Request (Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback);

参数

src要从中读取数据的资源。
size要从 ComputeBuffer 中检索的数据的大小(以字节为单位)。
offset ComputeBuffer 中的偏移量(以字节为单位)。
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,如果需要的话)。