CommandBuffer.SetRenderTarget
Declaration
public void SetRenderTarget(Rendering.RenderTargetIdentifier rt);public void SetRenderTarget(Rendering.RenderTargetIdentifier rt, Rendering.RenderBufferLoadAction loadAction, Rendering.RenderBufferStoreAction storeAction);public void SetRenderTarget(Rendering.RenderTargetIdentifier rt, Rendering.RenderBufferLoadAction colorLoadAction, Rendering.RenderBufferStoreAction colorStoreAction, Rendering.RenderBufferLoadAction depthLoadAction, Rendering.RenderBufferStoreAction depthStoreAction);public void SetRenderTarget(Rendering.RenderTargetIdentifier rt, int mipLevel);public void SetRenderTarget(Rendering.RenderTargetIdentifier rt, int mipLevel, CubemapFace cubemapFace);public void SetRenderTarget(Rendering.RenderTargetIdentifier rt, int mipLevel, CubemapFace cubemapFace, int depthSlice);public void SetRenderTarget(Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth);public void SetRenderTarget(Rendering.RenderTargetIdentifier color, Rendering.RenderBufferLoadAction colorLoadAction, Rendering.RenderBufferStoreAction colorStoreAction, Rendering.RenderTargetIdentifier depth, Rendering.RenderBufferLoadAction depthLoadAction, Rendering.RenderBufferStoreAction depthStoreAction);public void SetRenderTarget(Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth, int mipLevel);public void SetRenderTarget(Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth, int mipLevel, CubemapFace cubemapFace);public void SetRenderTarget(Rendering.RenderTargetIdentifier color, Rendering.RenderTargetIdentifier depth, int mipLevel, CubemapFace cubemapFace, int depthSlice);public void SetRenderTarget(RenderTargetIdentifier[] colors, Rendering.RenderTargetIdentifier depth);public void SetRenderTarget(Rendering.RenderTargetBinding binding);public void SetRenderTarget(Rendering.RenderTargetBinding binding, int mipLevel, CubemapFace cubemapFace, int depthSlice);public void SetRenderTarget(RenderTargetIdentifier[] colors, Rendering.RenderTargetIdentifier depth, int mipLevel, CubemapFace cubemapFace, int depthSlice);Параметры
| Параметр | Описание |
|---|---|
| рт | Цель рендеринга, которая должна быть установлена для буферов цвета и глубины. |
| цвет | Цель отображения для установки как цветовой буфер. |
| цвета | Цели рендеринга для установки в качестве цветовых буферов (MRT). |
| глубина | Цель рендеринга, которая должна быть установлена как буфер глубины. |
| mipLevel | Уровень mip объекта отображения, в который будет выполняться отображение. |
| cubemapFace | Лицо кубического отображения цели рендеринга кубического отображения, в котором будет выполняться рендеринг. |
| depthSlice | Задаваемый фрагмент 3D или массива, который будет отображаться. |
| loadAction | Действие загрузки, используемое для буферов цвета и глубины/шаблона. |
| storeAction | Действие хранения, используемое для цвета и глубины/буферов шаблона. |
| colorLoadAction | Действие загрузки, которое используется для цветового буфера. |
| colorStoreAction | Действие хранилища, которое используется для цветового буфера. |
| depthLoadAction | Действие загрузки, которое используется для буфера глубины/шаблона. |
| depthStoreAction | Действие хранения, которое используется для буфера глубины/шаблона. |
Описание
Добавлена команда "set active render target".
Используемая текстура рендеринга может быть указана несколькими способами: объект RenderTexture, временная текстура рендеринга, созданная с помощью GetTemporaryRT, или один из встроенных временных текстур (BuiltinRenderTextureTypeВсе, что выражается словом, RenderTargetIdentifier структура, у которой есть операторы неявного преобразования, позволяющие меньше печатать.
Вам не нужно явно сохранять активные цели рендеринга во время выполнения командного буфера (текущие цели рендеринга сохраняются и восстанавливаются после этого).
Доступны варианты этого метода, которые принимают дополнительные аргументы, такие как mipLevel (int) и cubemapFace, чтобы разрешить отображение на определенном уровне mipmap RenderTexture, или на определенной поверхности cubemap cubemap RenderTexture. Перегрузки, устанавливающие один RenderTarget и без явных mipLevel, cubemapFace и depthSlice уважают значения mipLevel, cubemapFace и depthSlice, которые были указаны при создании метода. RenderTargetIdentifier. Перегрузки, устанавливающие несколько целей рендеринга, будут устанавливать mipLevel, cubemapFace и depthSlice на 0, Неизвестно и 0, если не указано иное. Если указано, то для всех целей будут использоваться указанные mipLevel, cubemapFace и depthSlice.
Обратите внимание, что в линейном цветовом пространстве важно задать правильное состояние преобразования цвета sRGB<->Linear. В зависимости от того, что отрисовывалось ранее, текущее состояние этой настройки может оказаться не таким, как вы ожидаете. GL.sRGBWrite как вам это нужно до выполнения SetRenderTarget или любого другого ручного рендеринга.
Rendering.RenderTargetIdentifier.Clear в настоящее время не поддерживается. ClearRenderTarget имеет тот же эффект и оптимизирован на графике APIs, которые поддерживают clear действия нагрузки.
Дополнительные ресурсы: GetTemporaryRT, ClearRenderTarget, Blit, RenderTargetIdentifier.