Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

CommandBuffer.SetRenderTarget

Объявление

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.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3