RenderTexture.GetTemporary
Declaration
public static RenderTexture GetTemporary(RenderTextureDescriptor desc);public static RenderTexture GetTemporary(int width, int height, int depthBuffer = 0, RenderTextureFormat format = RenderTextureFormat.Default, RenderTextureReadWrite readWrite = RenderTextureReadWrite.Default, int antiAliasing = 1, RenderTextureMemoryless memorylessMode = RenderTextureMemoryless.None, VRTextureUsage vrUsage = VRTextureUsage.None, bool useDynamicScale = false);Параметры
| Параметр | Описание |
|---|---|
| ширина | Ширина в пикселях. |
| высота | Высота в пикселях. |
| depthBuffer | Глубина буфера битов (0, 16 или 24). Обратите внимание, что только 24-битная глубина имеет буфер шаблона. |
| формат | Формат отображаемой текстуры. |
| readWrite | Режим преобразования цветового пространства. |
| antiAliasing | Число образцов сглаживания для хранения в текстуре. Допустимые значения 1, 2, 4 и 8. Выводит исключение, если передано любое другое значение. |
| memorylessMode | Режим отображения текстуры без памяти. |
| vrUsage | Как Unity использует RenderTexture в качестве текстуры глаза VR. По умолчанию это VRTextureUsage.None. |
| useDynamicScale | Определяет, Unity масштабирует отображаемую текстуру с помощью динамическое разрешениеПо умолчанию false. |
| снижение | Используйте этот RenderTextureDesc для настройки при создании временного RenderTexture. |
Описание
Выделить временную текстуру рендеринга.
Эта функция оптимизирована для тех случаев, когда вам нужно быстро RenderTexture чтобы сделать некоторые временные расчеты. Отпустите его, используя ReleaseTemporary как только вы закончите с ним, так что другой вызов может начать повторно использовать его, если это необходимо.
Внутренние Unity хранит пул временных текстур рендеринга, поэтому вызов GetTemporary чаще всего возвращает уже созданную текстуру (если размер и формат соответствуют). Эти временные текстуры рендеринга фактически уничтожаются, когда они не используются в течение нескольких кадров.
Если вы выполняете серию постпроцессорных "блитов", то для повышения производительности лучше всего получать и выпускать временную текстуру рендеринга для каждого блита, вместо того, чтобы получать одну или две текстуры рендеринга заранее и повторно использовать их. Это особенно полезно для мобильных (на основе плиток) и многопользовательских игр.GPU системы: GetTemporary будет внутренней сделать DiscardContents вызов, который помогает избежать дорогостоящих операций по восстановлению предыдущего содержимого текстуры рендеринга.
Вы не можете полагаться на какое-либо конкретное содержание RenderTexture вы получаете от GetTemporary функция. Это может быть мусор, или это может быть очищено до какого-то цвета, в зависимости от платформы.
Дополнительные ресурсы: ReleaseTemporary.