// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. using UnityEngine; namespace Microsoft.MixedReality.Toolkit.Utilities { /// /// Mixed Reality standard shader utility class with commonly used constants, types and convenience methods. /// public static class StandardShaderUtility { /// /// The string name of the Mixed Reality Toolkit/Standard shader which can be used to identify a shader or for shader lookups. /// public static readonly string MrtkStandardShaderName = "Mixed Reality Toolkit/Standard"; /// /// Returns an instance of the Mixed Reality Toolkit/Standard shader. /// public static Shader MrtkStandardShader { get { if (mrtkStandardShader == null) { mrtkStandardShader = Shader.Find(MrtkStandardShaderName); } return mrtkStandardShader; } private set { mrtkStandardShader = value; } } private static Shader mrtkStandardShader = null; /// /// Checks if a material is using the Mixed Reality Toolkit/Standard shader. /// /// The material to check. /// True if the material is using the Mixed Reality Toolkit/Standard shader public static bool IsUsingMrtkStandardShader(Material material) { return IsMrtkStandardShader((material != null) ? material.shader : null); } /// /// Checks if a shader is the Mixed Reality Toolkit/Standard shader. /// /// The shader to check. /// True if the shader is the Mixed Reality Toolkit/Standard shader. public static bool IsMrtkStandardShader(Shader shader) { return shader == MrtkStandardShader; } } }