Version: 2022.1

RTClearFlags

enumeration

切换到手册

描述

Flags that determine which render targets Unity clears when you use CommandBuffer.ClearRenderTarget.

You can combine flags by using the bitwise OR operator.

using UnityEngine;
using UnityEngine.Rendering;

// Attach this script to a Camera and select a Clear Mode. // When you enter Play mode, a command buffer clears the screen with different clear parameters. [RequireComponent(typeof(Camera))] public class MyClearScript : MonoBehaviour { public enum ClearMode { All, ColorStencil }

public ClearMode m_ClearMode;

void Start() { var camera = GetComponent<Camera>(); var buffer = new CommandBuffer();

switch (m_ClearMode) { case ClearMode.All: // Clear color, depth and stencil render targets. Stencil is cleared with value 0xF0. buffer.ClearRenderTarget(RTClearFlags.All, Color.red, 1.0f, 0xF0); break; case ClearMode.ColorStencil: // Clear only color and stencil render targets. Stencil is cleared with value 0xF0. buffer.ClearRenderTarget((RTClearFlags)((int)RTClearFlags.Color | (int)RTClearFlags.Stencil), Color.green, 1.0f, 0xF0); break; }

camera.AddCommandBuffer(CameraEvent.AfterSkybox, buffer); } }

变量

NoneDo not clear any render target.
ColorClear all color render targets.
DepthClear the depth buffer.
StencilClear the stencil buffer.
AllClear all color render targets, the depth buffer, and the stencil buffer. This is equivalent to combining RTClearFlags.Color, RTClearFlags.Depth and RTClearFlags.Stencil.
DepthStencilClear both the depth and the stencil buffer. This is equivalent to combining RTClearFlags.Depth and RTClearFlags.Stencil.
ColorDepthClear both the color and the depth buffer. This is equivalent to combining RTClearFlags.Color and RTClearFlags.Depth.
ColorStencilClear both the color and the stencil buffer. This is equivalent to combining RTClearFlags.Color and RTClearFlags.Stencil.