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

AsyncGPUReadback.RequestIntoNativeSlice

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们不能接收所有提交的内容,但我们会阅读用户提出的每条建议更改,并在适用时进行更新。

关闭

提交失败

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

关闭

取消

声明

public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeSlice(ref NativeSlice<T> output, Texture src, int mipIndex, Action<AsyncGPUReadbackRequest> callback);

声明

public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeSlice(ref NativeSlice<T> output, Texture src, int mipIndex, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback);

声明

public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeSlice(ref NativeSlice<T> output, Texture src, int mipIndex, Experimental.Rendering.GraphicsFormat dstFormat, Action<AsyncGPUReadbackRequest> callback);

声明

public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeSlice(ref NativeSlice<T> output, 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 RequestIntoNativeSlice(ref NativeSlice<T> output, Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, Experimental.Rendering.GraphicsFormat dstFormat, Action<AsyncGPUReadbackRequest> callback);

参数

output 要将数据写入的 NativeSlice 的引用。在请求完成之前,不能清除底层内存。
src 用于读取数据的 Texture 资源。
mipIndex 要获取的渐远纹理贴图的索引。
dstFormat 数据的目标 TextureFormat。如果此格式与存储在 GPU 上的格式不同,则会自动转换。
x 要获取的 Texture 数据的起始 x 坐标(以像素为单位)。
width 要获取的 Texture 数据的宽度(以像素为单位)。
y 要获取的 Texture 数据的起始 y 坐标(以像素为单位)。
height 要获取的 Texture 数据的高度(以像素为单位)。
z 要获取的 Texture3D 的起始 z 坐标(以像素为单位)。对于 TextureCube、Texture2DArray 和 TextureCubeArray,这是起始层的索引。
depth 要获取的 Texture3D 的深度(以像素为单位)。对于 TextureCube、Texture2DArray 以及 TextureCubeArray,这是要获取的层数。
callback 一个可选委托,在 Unity 完成请求后调用此委托。当 Unity 调用此委托时,它将已完成的请求作为参数传递给 System.Action。

返回值

AsyncGPUReadbackRequest 返回 AsyncGPUReadbackRequest,可用于确定何时数据可用。否则,返回带有错误的请求。

描述

异步从 GPU Texture 资源检索数据。

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

对于纹理数据,范围会根据源纹理的大小进行检查。如果将显卡 QualitySettings 设置得足够低,以便生成减小的纹理,则必须请求减小的纹理。使用 QualitySettings.masterTextureLimit 调整宽度和高度(如果需要,还应调整 x 和 y),方法是右位移。

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

在同一帧中请求多个切片时,确保每个切片都来自不同的内存分配。不支持在单帧内从同一分配中使用多个切片。


声明

public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeSlice(ref NativeSlice<T> output, ComputeBuffer src, Action<AsyncGPUReadbackRequest> callback);

声明

public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeSlice(ref NativeSlice<T> output, ComputeBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback);

声明

public static 渲染.AsyncGPUReadbackRequest RequestIntoNativeSlice(引用 NativeSlice<T> output, 图形缓冲区 src, Action<AsyncGPUReadbackRequest> 回调);

声明

public static 渲染.AsyncGPUReadbackRequest RequestIntoNativeSlice(引用 NativeSlice<T> output, 图形缓冲区 src, int 大小, int 偏移, Action<AsyncGPUReadbackRequest> 回调);

参数

output 要将数据写入的 NativeSlice 的引用。在请求完成之前,不能清除底层内存。
src 要从其读取数据的 图形缓冲区
大小 图形缓冲区检索数据的字节数。
偏移 图形缓冲区

中的字节偏移。
callback 一个可选委托,在 Unity 完成请求后调用此委托。当 Unity 调用此委托时,它将已完成的请求作为参数传递给 System.Action。

返回值

AsyncGPUReadbackRequest 返回 AsyncGPUReadbackRequest,可用于确定何时数据可用。否则,返回带有错误的请求。

描述

从 GPU 图形缓冲资源中异步检索数据。

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

对于纹理数据,范围会根据源纹理的大小进行检查。如果将显卡 QualitySettings 设置得足够低,以便生成减小的纹理,则必须请求减小的纹理。使用 QualitySettings.masterTextureLimit 调整宽度和高度(如果需要,还应调整 x 和 y),方法是右位移。

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