Объявление
public void GetTemporaryRTArray(int nameID, int width, int height, int slices, int depthBuffer, FilterMode filter, RenderTextureFormat format, RenderTextureReadWrite readWrite, int antiAliasing, bool enableRandomWrite);Параметры
nameID | Имя свойства шейдера для этой текстуры. |
width | Ширина в пикселях или -1 для «ширины камеры в пикселях». |
height | Высота в пикселях или -1 для "высоты камеры в пикселях". |
slices | Количество срезов в массиве текстур. |
depthBuffer | Биты буфера глубины (0, 16 или 24). |
filter | Режим фильтрации текстур (по умолчанию — Point). |
format | Формат текстуры рендера (по умолчанию ARGB32). |
readWrite | Режим преобразования цветового пространства. |
antiAliasing | Сглаживание (по умолчанию сглаживание отсутствует). |
enableRandomWrite | Должен ли быть включен произвольный доступ к текстуре (по умолчанию false). |
Описание
Добавьте команду "get a temporary render texture array".
Это создает временный массив текстуры рендеринга с заданными параметрами и устанавливает его как глобальное свойство шейдера с nameID. Используйте Shader.PropertyToID для создания целочисленного имени.
Освободите временный массив текстуры рендеринга с помощью ReleaseTemporaryRT, передав тот же nameID. Любые временные текстуры, которые не были освобождены явным образом, будут удалены после завершения рендеринга камерой или после завершения Graphics.ExecuteCommandBuffer.
После получения временного массива текстур рендеринга вы можете сделать его активным (SetRenderTarget) или перенести его в/из него (Blit). Вам не нужно явно сохранять активные цели рендеринга во время выполнения командного буфера (текущие цели рендеринга сохраняются и впоследствии восстанавливаются).
Смотрите так же: ReleaseTemporaryRT, SetRenderTarget, Blit.