AsyncGPUReadback.RequestIntoNativeSlice
Declaration
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);Параметры
| Параметр | Описание |
|---|---|
| Выпуск | Ссылка на NativeSlice для записи данных. Базовая память не может быть Утилизована до тех пор, пока запрос не будет завершен. |
| сердце | Ресурс Texture для чтения данных. |
| mipIndex | Индекс получаемого mipmap. |
| dstFormat | Целевой TextureFormat данных. Преобразование происходит автоматически, если этот формат отличается от формата, хранящегося на GPU. |
| x | Начальная координата x в пикселях данных текстуры, которые будут получены. |
| ширина | Ширина в пикселях данных текстуры для получения. |
| y | Начальная координата по оси y в пикселях данных текстуры для получения. |
| высота | Высота в пикселях данных текстуры для получения. |
| z | Начальная z-координата, в пикселях, Texture3D для получения. Для TextureCube, Texture2DArrayи TextureCubeArray это индекс начального слоя. |
| глубина | Глубина в пикселях Texture3D для получения. Для TextureCube, Texture2DArrayи TextureCubeArray это число слоев для получения. |
| обратный вызов | Необязательный делегат System.Action для вызова после завершения запроса Unity. Когда Unity вызывает делегата, он передает завершенный запрос в качестве параметра System.Action. |
Возвращаемое значение
AsyncGPUReadbackRequest Возвращает AsyncGPUReadbackRequest, который можно использовать для определения доступности данных. В противном случае возвращает запрос с ошибкой.
Описание
Получает данные асинхронно из ресурса текстуры GPU.
Если возвращаемым значением является запрос с ошибкой, вызов AsyncGPUReadbackRequest.hasError возвращает true.
Для данных текстуры, размеры проверяются по размеру исходной текстуры. Если графики QualitySettings установлены достаточно низко, чтобы генерировать текстуры уменьшенного размера, тогда должен быть запрошен уменьшенный размер. Используйте QualitySettings.masterTextureLimit для настройки ширины и высоты (и x,y, если необходимо), путем битового сдвига вправо.
Для данных текстуры, используйте метод SystemInfo.IsFormatSupported с флагом GraphicsFormatUsage.ReadPixels для запроса, поддерживается ли формат.
При запросе в несколько слоев в одном кадре, убедитесь, что каждый слой поступает из разного выделения памяти. Использование нескольких слоев из одного выделения в одном кадре не поддерживается.
Declaration
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 Rendering.AsyncGPUReadbackRequest RequestIntoNativeSlice(ref NativeSlice<T> output, GraphicsBuffer src, Action<AsyncGPUReadbackRequest> callback);public static Rendering.AsyncGPUReadbackRequest RequestIntoNativeSlice(ref NativeSlice<T> output, GraphicsBuffer src, int size, int offset, Action<AsyncGPUReadbackRequest> callback);Параметры
| Параметр | Описание |
|---|---|
| Выпуск | Ссылка на NativeSlice для записи данных. Базовая память не может быть Утилизована до тех пор, пока запрос не будет завершен. |
| сердце | GraphicsBuffer для чтения данных. |
| размер | Размер в байтах данных, которые должны быть получены из GraphicsBuffer. |
| офсет | Смещение в байтах в GraphicsBuffer. |
| обратный вызов | Необязательный делегат System.Action для вызова после завершения запроса Unity. Когда Unity вызывает делегата, он передает завершенный запрос в качестве параметра System.Action. |
Возвращаемое значение
AsyncGPUReadbackRequest Возвращает AsyncGPUReadbackRequest, который можно использовать для определения доступности данных. В противном случае возвращает запрос с ошибкой.
Описание
Получает данные асинхронно из ресурса GPU Graphics Buffer.
Если возвращаемым значением является запрос с ошибкой, вызов AsyncGPUReadbackRequest.hasError возвращает true.
Для данных текстуры, extents проверяются по размеру исходной текстуры. Если графики QualitySettings установлены достаточно низко, чтобы генерировать текстуры уменьшенного размера, тогда должен быть запрошен уменьшенный размер. Используйте QualitySettings.masterTextureLimit для настройки ширины и высоты (и x,y, если требуется), путем битового сдвига вправо.
Для данных текстуры, используйте метод SystemInfo.IsFormatSupported с флагом GraphicsFormatUsage.ReadPixels для запроса, поддерживается ли формат.