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

AsyncGPUReadback.RequestIntoNativeArray

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们会阅读用户建议的每项更改,并在必要时进行更新。

关闭

提交失败

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

关闭

取消

声明

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

声明

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

声明

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

声明

public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeArray(ref NativeArray<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 RequestIntoNativeArray(ref NativeArray<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 指向要写入数据的 NativeArray 的引用。在请求完成之前,无法释放 NativeArray 或底层内存。
src 要从中读取数据的Texture资源。
mipIndex 要提取的mipmap的索引。
dstFormat 数据的目标TextureFormat。如果此格式不同于存储在 GPU 上的格式,会自动进行转换。
x 要提取的纹理数据的起始x坐标(以像素为单位)。
width 要提取的纹理数据的宽度(以像素为单位)。
y 要提取的纹理数据的起始y坐标(以像素为单位)。
height 要提取的纹理数据的高度(以像素为单位)。
z 要提取的Texture3D的起始z坐标(以像素为单位)。对于TextureCube、Texture2DArray和TextureCubeArray,这是起始图层的索引。
depth 要提取的Texture3D的深度(以像素为单位)。对于TextureCube、Texture2DArray和TextureCubeArray,这是要检索的图层数。
callback 当Unity完成请求后调用可选的委托System.Action。当Unity调用委托时,它将已完成的请求作为参数传递给System.Action。

返回

AsyncGPUReadbackRequest返回一个AsyncGPUReadbackRequest,您可以用它来确定数据可用时。否则,返回带有错误的请求。

说明

从GPU纹理资源异步检索数据。

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

对于纹理数据,将针对源纹理的大小检查范围。如果图形QualitySettings设置得足够低以生成减小尺寸的纹理,则必须请求该减小尺寸。使用QualitySettings.masterTextureLimit来通过右位移位来调整宽度和高度(如果需要的话,调整x和y)。

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


声明

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

声明

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

声明

public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeArray(ref NativeArray<T> output, GraphicsBuffer src, Action<AsyncGPUReadbackRequest> callback);

声明

public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeArray(ref NativeArray<T> output, GraphicsBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback);

参数

output 指向要写入数据的 NativeArray 的引用。在请求完成之前,无法释放 NativeArray 或底层内存。
src 要从中读取数据的 GraphicsBuffer
大小 GraphicsBuffer 检索的数据大小(以字节为单位)。
偏移量 GraphicsBuffer 中的偏移量(以字节为单位)。
callback 当Unity完成请求后调用可选的委托System.Action。当Unity调用委托时,它将已完成的请求作为参数传递给System.Action。

返回

AsyncGPUReadbackRequest返回一个AsyncGPUReadbackRequest,您可以用它来确定数据可用时。否则,返回带有错误的请求。

说明

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

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

对于纹理数据,将针对源纹理的大小检查范围。如果图形QualitySettings设置得足够低以生成减小尺寸的纹理,则必须请求该减小尺寸。使用QualitySettings.masterTextureLimit来通过右位移位来调整宽度和高度(如果需要的话,调整x和y)。

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