RenderStateBlock
структура в UnityEngine.Rendering
Выполнено в:UnityEngine.CoreModule
Описание
Набор значений, которые Unity использует для переопределения состояния рендеринга GPU.
Вызывая ScriptableRenderContext.DrawRenderers, вы можете с помощью этого переопределить состояние рендеринга для части геометрии или для всей.
Примечание: Вы должны установить mask чтобы сообщить Unity, какие части состояния рендеринга нужно переопределить. Например, чтобы применить значения из blendState, mask должен включать RenderStateMask.Blend.
using UnityEngine; using UnityEngine.Rendering;
public class OverrideRenderStateExample { ScriptableRenderContext scriptableRenderContext;
// Placeholder data DrawingSettings exampleDrawingSettings; CullingResults exampleCullingResults = new CullingResults(); FilteringSettings exampleFilteringSettings = new FilteringSettings();
public void OverrideRenderState() { // Tell Unity how to override the render state when it draws the geometry. var stateBlock = new RenderStateBlock(RenderStateMask.Depth); stateBlock.depthState = new DepthState(true, CompareFunction.LessEqual);
// Schedule the drawing operation. scriptableRenderContext.DrawRenderers(exampleCullingResults, ref exampleDrawingSettings, ref exampleFilteringSettings, ref stateBlock);
// Perform all scheduled tasks, in the order that they were scheduled. scriptableRenderContext.Submit(); } }
Дополнительные ресурсы: ScriptableRenderContext.DrawRenderers, ,RenderStateMask,.
Свойства
| Свойство | Описание |
|---|---|
| blendState | Задаёт новое состояние смешивания. |
| depthState | Задаёт новое состояние глубины. |
| mask | Указывает, какие части состояния рендеринга GPU следует переопределить. |
| rasterState | Задаёт новое состояние растеризации. |
| stencilReference | Значение для сравнения и (или) значение для записи в буфер трафарета на основе состояния трафарета. |
| stencilState | Задаёт новое состояние трафарета. |
Конструкторы
| Конструктор | Описание |
|---|---|
| RenderStateBlock | Создаёт новый блок состояния рендеринга с указанной маской. |