Graphics.SetRenderTarget
Declaration
public static void SetRenderTarget(RenderTexture rt, int mipLevel = 0, CubemapFace face = CubemapFace.Unknown, int depthSlice = 0);public static void SetRenderTarget(Rendering.GraphicsTexture rt, int mipLevel = 0, CubemapFace face = CubemapFace.Unknown, int depthSlice = 0);public static void SetRenderTarget(RenderBuffer[] colorBuffers, RenderBuffer depthBuffer);public static void SetRenderTarget(RenderBuffer colorBuffer, RenderBuffer depthBuffer, int mipLevel = 0, CubemapFace face = CubemapFace.Unknown, int depthSlice = 0);public static void SetRenderTarget(RenderTargetSetup setup);Параметры
| Параметр | Описание |
|---|---|
| рт | RenderTexture или GraphicsTexture для установки в качестве активного объекта отображения. |
| mipLevel | Уровень Mipmap для отображения (используйте 0, если mipmap не установлен). |
| лицо | Лицо кубического отображения для отображения (используйте Неизвестно, если это не кубическое отображение). |
| depthSlice | Глубина слоя для рендеринга (используйте 0, если это не 3D или 2DArray). |
| colorBuffer | Цветовой буфер для отображения. |
| depthBuffer | Буфер глубины для отображения. |
| colorBuffers | Цветовые буферы для рендеринга (для нескольких целевых эффектов рендеринга). |
| установка | Полная информация о настройке целевого объекта отображения. |
Описание
Задает текущее назначение отображения.
Эта функция устанавливает, RenderTexture, GraphicsTexture, или а RenderBuffer Используйте его при реализации пользовательских алгоритмов рендеринга, когда вам нужно вручную рендеринговать что-то в целевую текстуру рендеринга.
Варианты с mipLevel аргументы face и face позволяют отображать текстуру на определенном уровне mipmap или на определенной поверхности cubemap RenderTexture/GraphicsTexture. Варианты с depthSlice разрешить рендеринг в определенный фрагмент 3D или 2D-массив рендеринга текстуры.
Вызов функции с colorBuffers массив позволяет использовать методы, которые используют множественные цели рендеринга (MRT), где шейдер фрагмента может выводить более одного конечного цвета.
Вызов SetRenderTarget только с RenderTexture или GraphicsTexture аргумент является тем же, что и установка RenderTexture.active и GraphicsTexture.active свойство. Чтобы установить GraphicsTexture в качестве цели отображения, он должен иметь GraphicsTextureDescFlags.RenderTarget включено в GraphicsTexture.descriptor.flags.
Учтите, что в линейном цветовом пространстве важно иметь правильное состояние преобразования цвета sRGB<->линейное. В зависимости от того, что отрисовывалось ранее, текущее состояние может оказаться не тем, которого вы ждёте. Стоит рассмотреть возможность задать GL.sRGBWrite по мере того как вам нужно оно перед делать SetRenderTarget или любое другое ручное отображение.
Дополнительные ресурсы: RenderTexture, GraphicsTexture, Graphics.activeColorBuffer, Graphics.activeDepthBuffer, SystemInfo.supportedRenderTargetCount.