RequestIntoNativeArray
Retrieves data asynchronously from a GPU Graphics Buffer resource.
Read time 13 minutesLast updated 6 days ago
Definition
- Type: Method
- Namespace: UnityEngine.Rendering
- Assembly: UnityEngine.CoreModule
RequestIntoNativeArray<T>(NativeArray<T>, ComputeBuffer, Action<AsyncGPUReadbackRequest>)
Retrieves data asynchronously from a GPU Graphics Buffer resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, ComputeBuffer src, Action<AsyncGPUReadbackRequest> callback = null) where T : struct
Parameters
Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.
The GraphicsBuffer to read the data from.
An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.
Returns
Type | Description |
|---|---|
| AsyncGPUReadbackRequest | Returns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error. |
Remarks
If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.
RequestIntoNativeArray<T>(NativeArray<T>, ComputeBuffer, int, int, Action<AsyncGPUReadbackRequest>)
Retrieves data asynchronously from a GPU Graphics Buffer resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, ComputeBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback = null) where T : struct
Parameters
Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.
The GraphicsBuffer to read the data from.
The size, in bytes, of the data to retrieve from the GraphicsBuffer.
Offset in bytes in the GraphicsBuffer.
An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.
Returns
Type | Description |
|---|---|
| AsyncGPUReadbackRequest | Returns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error. |
Remarks
If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.
RequestIntoNativeArray<T>(NativeArray<T>, GraphicsBuffer, Action<AsyncGPUReadbackRequest>)
Retrieves data asynchronously from a GPU Graphics Buffer resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, GraphicsBuffer src, Action<AsyncGPUReadbackRequest> callback = null) where T : struct
Parameters
Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.
The GraphicsBuffer to read the data from.
An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.
Returns
Type | Description |
|---|---|
| AsyncGPUReadbackRequest | Returns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error. |
Remarks
If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.
RequestIntoNativeArray<T>(NativeArray<T>, GraphicsBuffer, int, int, Action<AsyncGPUReadbackRequest>)
Retrieves data asynchronously from a GPU Graphics Buffer resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, GraphicsBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback = null) where T : struct
Parameters
Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.
The GraphicsBuffer to read the data from.
The size, in bytes, of the data to retrieve from the GraphicsBuffer.
Offset in bytes in the GraphicsBuffer.
An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.
Returns
Type | Description |
|---|---|
| AsyncGPUReadbackRequest | Returns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error. |
Remarks
If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.
RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, Action<AsyncGPUReadbackRequest>)
Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, Texture src, int mipIndex = 0, Action<AsyncGPUReadbackRequest> callback = null) where T : struct
Parameters
Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.
The index of the mipmap to fetch.
An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.
Returns
Type | Description |
|---|---|
| AsyncGPUReadbackRequest | Returns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error. |
Remarks
If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.
RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, TextureFormat, Action<AsyncGPUReadbackRequest>)
Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, Texture src, int mipIndex, TextureFormat dstFormat, Action<AsyncGPUReadbackRequest> callback = null) where T : struct
Parameters
Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.
The index of the mipmap to fetch.
The target TextureFormat of the data. Conversion happens automatically if this format is different from the format stored on the GPU.
An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.
Returns
Type | Description |
|---|---|
| AsyncGPUReadbackRequest | Returns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error. |
Remarks
If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.
RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, GraphicsFormat, Action<AsyncGPUReadbackRequest>)
Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, Texture src, int mipIndex, GraphicsFormat dstFormat, Action<AsyncGPUReadbackRequest> callback = null) where T : struct
Parameters
Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.
The index of the mipmap to fetch.
The target TextureFormat of the data. Conversion happens automatically if this format is different from the format stored on the GPU.
An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.
Returns
Type | Description |
|---|---|
| AsyncGPUReadbackRequest | Returns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error. |
Remarks
If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.
RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, int, int, int, int, int, int, TextureFormat, Action<AsyncGPUReadbackRequest>)
Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(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 = null) where T : struct
Parameters
Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.
The index of the mipmap to fetch.
The starting x-coordinate, in pixels, of the Texture data to fetch.
The width, in pixels, of the Texture data to fetch.
The starting y-coordinate, in pixels, of the Texture data to fetch.
The height, in pixels, of the Texture data to fetch.
The starting z-coordinate, in pixels, of the Texture3D to fetch. For TextureCube, Texture2DArray, and TextureCubeArray, this is the index of the start layer.
The depth, in pixels of the Texture3D to fetch. For TextureCube, Texture2DArray, and TextureCubeArray, this is the number of layers to retrieve.
The target TextureFormat of the data. Conversion happens automatically if this format is different from the format stored on the GPU.
An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.
Returns
Type | Description |
|---|---|
| AsyncGPUReadbackRequest | Returns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error. |
Remarks
If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.
RequestIntoNativeArray<T>(NativeArray<T>, Texture, int, int, int, int, int, int, int, GraphicsFormat, Action<AsyncGPUReadbackRequest>)
Retrieves data asynchronously from a GPU Texture resource.
public static AsyncGPUReadbackRequest RequestIntoNativeArray<T>(ref NativeArray<T> output, Texture src, int mipIndex, int x, int width, int y, int height, int z, int depth, GraphicsFormat dstFormat, Action<AsyncGPUReadbackRequest> callback = null) where T : struct
Parameters
Reference to the NativeArray to write the data into. The NativeArray or underlying memory cannot be Disposed until the request is complete.
The index of the mipmap to fetch.
The starting x-coordinate, in pixels, of the Texture data to fetch.
The width, in pixels, of the Texture data to fetch.
The starting y-coordinate, in pixels, of the Texture data to fetch.
The height, in pixels, of the Texture data to fetch.
The starting z-coordinate, in pixels, of the Texture3D to fetch. For TextureCube, Texture2DArray, and TextureCubeArray, this is the index of the start layer.
The depth, in pixels of the Texture3D to fetch. For TextureCube, Texture2DArray, and TextureCubeArray, this is the number of layers to retrieve.
The target TextureFormat of the data. Conversion happens automatically if this format is different from the format stored on the GPU.
An optional delegate Action to call after Unity completes the request. When Unity calls the delegate, it passes the completed request as a parameter to the Action.
Returns
Type | Description |
|---|---|
| AsyncGPUReadbackRequest | Returns an AsyncGPUReadbackRequest that you can use to determine when the data is available. Otherwise, returns a request with an error. |
Remarks
If the return value is a request with an error, calling AsyncGPUReadbackRequest.hasError returns true.
For texture data, the extents are checked against the size of the source texture. If graphics QualitySettings are set low enough to generate reduced size textures, then the reduced size must be requested. Use QualitySettings.masterTextureLimit to adjust the width and height (and x,y if required), by bit shifting right.
For texture data, use the SystemInfo.IsFormatSupported method with the GraphicsFormatUsage.ReadPixels flag to query if the format is supported.