版本:Unity 6 (6000.0)
语言英语
  • C#

AsyncGPUReadback.Request

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。尽管我们无法接受所有提交,但我们会阅读我们的用户所建议的每项更改,并适当地进行更新。

关闭

提交失败

由于某种原因,您建议的更改无法提交。请在几分钟内<a>重试</a>。感谢您花时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static Rendering.AsyncGPUReadbackRequest Request(ComputeBuffer src, Action<AsyncGPUReadbackRequest> callback);

声明

public static Rendering.AsyncGPUReadbackRequest Request(GraphicsBuffer src, Action<AsyncGPUReadbackRequest> callback);

声明

public static Rendering.AsyncGPUReadbackRequest Request(ComputeBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback);

声明

public static Rendering.AsyncGPUReadbackRequest Request(GraphicsBuffer 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, Experimental.Rendering.GraphicsFormat 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);

声明

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

参数

src 读取数据的资源。
size ComputeBufferGraphicsBuffer 中检索到的数据的字节大小。
offset ComputeBufferGraphicsBuffer 中的字节偏移量。
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。

RETURNS

AsyncGPUReadbackRequest 返回 AsyncGPUReadbackRequest,你可使用该请求来确定数据何时可用。否则,将返回带错误的请求。

DESCRIPTION

从 GPU 资源异步检索数据。

如果返回的请求带有错误,则调用 AsyncGPUReadbackRequest.hasError 会返回 true。

对于纹理数据,系统会根据源纹理的大小对范围进行检查。如果图形 QualitySettings 设置得足够低,足以生成缩小版的纹理,那么必须请求缩小版。使用 QualitySettings.masterTextureLimit 通过位移右移来调整宽度和高度(如需,还可调整 x 和 y)。

对于纹理数据,使用带有 GraphicsFormatUsage.ReadPixels 标志的 SystemInfo.IsFormatSupported 方法查询格式是否受支持。

如果使用此函数请求有关临时渲染纹理的数据,请勿在请求完成前使用 RenderTexture.ReleaseTemporary 释放纹理。