Объявление
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);
Параметры
rt | Целевой объект рендеринга для установки как для буферов цвета, так и для буферов глубины. |
color | Цель рендеринга для установки в качестве цветового буфера. |
colors | Цели рендеринга для установки в качестве цветовых буферов (MRT). |
depth | Цель рендеринга для установки в качестве буфера глубины. |
mipLevel | MIP-уровень цели рендеринга для рендеринга. |
cubemapFace | Грань кубической карты цели рендеринга кубической карты для рендеринга. |
depthSlice | Срез 3D-цели или массива рендеринга, который необходимо установить. |
loadAction | Действие загрузки, которое используется для буферов цвета и глубины/трафарета. |
storeAction | Действие Store, которое используется для буферов цвета и глубины/трафарета. |
colorLoadAction | Действие загрузки, которое используется для цветового буфера. |
colorStoreAction | Действие Store, которое используется для цветового буфера. |
depthLoadAction | Действие загрузки, которое используется для буфера глубины/трафарета. |
depthStoreAction | Действие сохранения, которое используется для буфера глубины/трафарета. |
Описание
Добавляет команду "set active render target".
Текстура рендеринга для использования может быть указана несколькими способами: объект RenderTexture, временная текстура рендеринга, созданная с помощью GetTemporaryRT, или одна из встроенных временных текстур. (BuiltinRenderTextureType). Все это выражается структурой RenderTargetIdentifier, в которой есть операторы неявного преобразования для экономии времени ввода.
Вам не нужно явно сохранять активные цели рендеринга во время выполнения командного буфера (текущие цели рендеринга сохраняются и впоследствии восстанавливаются).
Доступны варианты этого метода, которые принимают дополнительные аргументы, такие как mipLevel (int) и cubemapFace, чтобы включить рендеринг в определенный уровень MIP-карты RenderTexture или определенную грань кубической карты RenderTexture. Перегрузки, устанавливающие один RenderTarget и без явного указания mipLevel, cubemapFace и depthSlice, учитывают значения mipLevel, cubemapFace и depthSlice, указанные при создании RenderTargetIdentifier. Перегрузки, устанавливающие несколько целей рендеринга, будут устанавливать для mipLevel, cubemapFace и depthSlice значения 0, Unknown и 0, если не указано иное. Если указано, будут использоваться указанные mipLevel, cubemapFace и depthSlice для всех целей.
Обратите внимание, что в линейном цветовом пространстве важно правильно установить состояние преобразования цвета sRGB<->Linear. В зависимости от того, что было обработано ранее, текущее состояние может отличаться от ожидаемого. Вы должны установить GL.sRGBWrite по мере необходимости, прежде чем выполнять SetRenderTarget или любой другой ручной рендеринг.
Rendering.RenderTargetIdentifier.Clear в настоящее время не поддерживается. Последующий вызов ClearRenderTarget имеет тот же эффект и оптимизирован для графических API, которые поддерживают действия загрузки clear
.
Смотрите так же: GetTemporaryRT, ClearRenderTarget, Blit, RenderTargetIdentifier.