EditorMaterialQuality.cs 936 B

12345678910111213141516171819202122232425262728
  1. using UnityEngine.Rendering;
  2. using Utilities;
  3. namespace UnityEditor.Rendering.Utilities
  4. {
  5. /// <summary>
  6. /// Editor MaterialQuality utility class.
  7. /// </summary>
  8. public static class EditorMaterialQualityUtilities
  9. {
  10. /// <summary>
  11. /// Get the material quality levels enabled in a keyword set.
  12. /// </summary>
  13. /// <param name="keywordSet">Input keywords.</param>
  14. /// <returns>All available MaterialQuality levels in the keyword set.</returns>
  15. public static MaterialQuality GetMaterialQuality(this ShaderKeywordSet keywordSet)
  16. {
  17. var result = (MaterialQuality)0;
  18. for (var i = 0; i < MaterialQualityUtilities.Keywords.Length; ++i)
  19. {
  20. if (keywordSet.IsEnabled(MaterialQualityUtilities.Keywords[i]))
  21. result |= (MaterialQuality) (1 << i);
  22. }
  23. return result;
  24. }
  25. }
  26. }