Version: 2022.3
언어: 한국어

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.
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961