AsyncGPUReadback.Request
Declaration
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);Параметры
| Параметр | Описание |
|---|---|
| сердце | Ресурс для чтения данных. |
| размер | Размер в байтах данных, которые должны быть получены из ComputeBuffer или GraphicsBuffer. |
| офсет | Смещение в байтах в ComputeBuffer или GraphicsBuffer. |
| mipIndex | Индекс получаемого mipmap. |
| dstFormat | Целевой TextureFormat данных. Если целевой формат отличается от формата, хранящегося на GPU, преобразование происходит автоматически. |
| x | Начальная координата X в пикселях данных текстуры, которые будут получены. |
| ширина | Ширина в пикселях данных текстуры для получения. |
| y | Начальная координата Y в пикселях данных текстуры, которые будут получены. |
| высота | Высота в пикселях данных текстуры для получения. |
| z | Начальная координата Z в пикселях для ,Texture3D,. Индекс Начального слоя для TextureCube, ,Texture2DArray, и TextureCubeArray. |
| глубина | Глубина в пикселях для ,Texture3D,. Количество слоев для TextureCube, TextureArray и TextureCubeArray. |
| обратный вызов | Необязательный делегат System.Action вызывается после выполнения запроса. Завершенный запрос передается в качестве параметра System.Action. |
Возвращаемое значение
AsyncGPUReadbackRequest Возвращает AsyncGPUReadbackRequest, который можно использовать для определения доступности данных. В противном случае возвращается запрос с ошибкой.
Описание
Получает данные асинхронно из ресурса GPU.
Если запрос возвращается с ошибкой, вызов AsyncGPUReadbackRequest.hasError возвращает true.
Для данных текстуры, размеры проверяются по размеру исходной текстуры. Если графики QualitySettings установлены достаточно низко, чтобы генерировать текстуры уменьшенного размера, тогда должен быть запрошен уменьшенный размер. Используйте QualitySettings.masterTextureLimit для настройки ширины и высоты (и x,y, если необходимо), путем сдвига бит вправо.
Для данных текстуры, используйте метод SystemInfo.IsFormatSupported с флагом GraphicsFormatUsage.ReadPixels для запроса, поддерживается ли формат.
Если вы используете эту функцию для запроса данных о временной текстуре рендеринга, не выпускайте текстуру с помощью RenderTexture.ReleaseTemporary до тех пор, пока запрос не будет завершен.