// 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;
}
}
}