Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


ShaderStageToFlags(ShaderStage)

Converts a ShaderStage value into a ShaderStageFlags value.
Read time 1 minuteLast updated 13 days ago

Definition

public static ShaderStageFlags ShaderStageToFlags(ShaderStage stage)

Parameters

The stage to convert into flags.

Returns

Type

Description

ShaderStageFlagsThe value from ShaderStageFlags enum that corresponds to the given stage.

Remarks

Use this method to convert the given shader stage to use with an API that can work with multiple shader stages simultaneously.

Examples

using UnityEngine;using UnityEngine.Shaders;/* Attach this script to a GameObject and enter Play mode. "Shader stages: Basic, Tessellation" will be printed in the console.*/public class ShaderTypes : MonoBehaviour{ void Start() { ShaderStageFlags stages = (ShaderStageFlags.Graphics & (~ShaderStageFlags.Geometry)); // Iterate over all possible shader stages and check if the only stages enabled are Vertex, Fragment, Hull, and Domain // Log a message if a stage is enabled or disabled incorrectly. for (ShaderStage stage = ShaderStage.FirstStage; stage < ShaderStage.Count; ++stage) { bool shouldBeEnabled = stage < ShaderStage.GraphicsStageCount && stage != ShaderStage.Geometry; if (Utility.IsShaderStageEnabled(stages, stage) != shouldBeEnabled) Debug.Log("Unexpected stage " + stage + (shouldBeEnabled ? " not enabled" : " enabled")); } Debug.Log("Shader stages: " + stages); }}