ShaderStageToFlags(ShaderStage)
Converts a ShaderStage value into a ShaderStageFlags value.
Read time 1 minuteLast updated 13 days ago
Definition
- Type: Method
- Namespace: UnityEngine.Shaders
- Assembly: UnityEngine.CoreModule
public static ShaderStageFlags ShaderStageToFlags(ShaderStage stage)
Parameters
The stage to convert into flags.
Returns
Type | Description |
|---|---|
| ShaderStageFlags | The 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); }}