EnviroShaderStripper.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System.Collections.Generic;
  2. using UnityEditor.Build;
  3. using UnityEditor.Rendering;
  4. using UnityEngine;
  5. using UnityEngine.Rendering;
  6. namespace Enviro
  7. {
  8. public class ShaderStripper : IPreprocessShaders
  9. {
  10. private const string LOG_FILE_PATH = "Library/Shader Compilation Results.txt";
  11. private static readonly ShaderKeyword[] SKIPPED_VARIANTS = new ShaderKeyword[]
  12. {
  13. new ShaderKeyword( "ENVIROHDRP" ),
  14. new ShaderKeyword( "ENVIROURP" ),
  15. };
  16. public int callbackOrder { get { return 0; } }
  17. public void OnProcessShader( Shader shader, ShaderSnippetData snippet, IList<ShaderCompilerData> data )
  18. {
  19. string shaderName = shader.name;
  20. //URP Shader
  21. #if !ENVIRO_URP
  22. if(shaderName == "Hidden/EnviroBlitThrough")
  23. data.Clear();
  24. if(shaderName == "Hidden/VolumetricsURP")
  25. data.Clear();
  26. #endif
  27. //HDRP Shaders
  28. #if !ENVIRO_HDRP
  29. if(shaderName == "Hidden/Enviro/BlitTroughHDRP")
  30. data.Clear();
  31. if(shaderName == "Hidden/EnviroApplyShadowsHDRP")
  32. data.Clear();
  33. if(shaderName == "Hidden/EnviroVolumetricCloudsBlendHDRP")
  34. data.Clear();
  35. if(shaderName == "Hidden/EnviroVolumetricCloudsDepthHDRP")
  36. data.Clear();
  37. if(shaderName == "Hidden/EnviroVolumetricCloudsReprojectHDRP")
  38. data.Clear();
  39. if(shaderName == "Hidden/EnviroHeightFogHDRP")
  40. data.Clear();
  41. if(shaderName == "Enviro/HDRP/Sky")
  42. data.Clear();
  43. #endif
  44. }
  45. }
  46. }