Brak opisu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SpeedTree7Billboard.shader 5.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. Shader "Universal Render Pipeline/Nature/SpeedTree7 Billboard"
  2. {
  3. Properties
  4. {
  5. _Color("Main Color", Color) = (1,1,1,1)
  6. _HueVariation("Hue Variation", Color) = (1.0,0.5,0.0,0.1)
  7. _MainTex("Base (RGB) Trans (A)", 2D) = "white" {}
  8. _BumpMap("Normal Map", 2D) = "bump" {}
  9. _Cutoff("Alpha Cutoff", Range(0,1)) = 0.333
  10. [MaterialEnum(None,0,Fastest,1)] _WindQuality("Wind Quality", Range(0,1)) = 0
  11. }
  12. SubShader
  13. {
  14. Tags
  15. {
  16. "Queue" = "AlphaTest"
  17. "IgnoreProjector" = "True"
  18. "RenderType" = "TransparentCutout"
  19. "DisableBatching" = "LODFading"
  20. "RenderPipeline" = "UniversalPipeline"
  21. "UniversalMaterialType" = "SimpleLit"
  22. }
  23. LOD 400
  24. Pass
  25. {
  26. Name "ForwardLit"
  27. Tags { "LightMode" = "UniversalForward" }
  28. HLSLPROGRAM
  29. #pragma vertex SpeedTree7Vert
  30. #pragma fragment SpeedTree7Frag
  31. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
  32. #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
  33. #pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
  34. #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH
  35. #pragma multi_compile _ _FORWARD_PLUS
  36. #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
  37. #pragma multi_compile __ BILLBOARD_FACE_CAMERA_POS
  38. #pragma multi_compile __ LOD_FADE_CROSSFADE
  39. #pragma multi_compile_fragment _ _LIGHT_COOKIES
  40. #pragma multi_compile_fog
  41. #pragma multi_compile_fragment _ DEBUG_DISPLAY
  42. #pragma shader_feature_local EFFECT_BUMP
  43. #pragma shader_feature_local EFFECT_HUE_VARIATION
  44. #define ENABLE_WIND
  45. #include "SpeedTree7BillboardInput.hlsl"
  46. #include "SpeedTree7BillboardPasses.hlsl"
  47. ENDHLSL
  48. }
  49. Pass
  50. {
  51. Name "ShadowCaster"
  52. Tags{"LightMode" = "ShadowCaster"}
  53. ColorMask 0
  54. HLSLPROGRAM
  55. #pragma vertex SpeedTree7VertDepth
  56. #pragma fragment SpeedTree7FragDepth
  57. #pragma multi_compile __ BILLBOARD_FACE_CAMERA_POS
  58. #pragma multi_compile __ LOD_FADE_CROSSFADE
  59. #define ENABLE_WIND
  60. #define DEPTH_ONLY
  61. #define SHADOW_CASTER
  62. #include "SpeedTree7BillboardInput.hlsl"
  63. #include "SpeedTree7BillboardPasses.hlsl"
  64. ENDHLSL
  65. }
  66. Pass
  67. {
  68. Name "GBuffer"
  69. Tags{"LightMode" = "UniversalGBuffer"}
  70. HLSLPROGRAM
  71. #pragma target 4.5
  72. // Deferred Rendering Path does not support the OpenGL-based graphics API:
  73. // Desktop OpenGL, OpenGL ES 3.0, WebGL 2.0.
  74. #pragma exclude_renderers gles3 glcore
  75. #pragma vertex SpeedTree7Vert
  76. #pragma fragment SpeedTree7Frag
  77. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
  78. //#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
  79. //#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
  80. #pragma multi_compile_fragment _ _SHADOWS_SOFT _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH
  81. #pragma multi_compile __ BILLBOARD_FACE_CAMERA_POS
  82. #pragma multi_compile __ LOD_FADE_CROSSFADE
  83. #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT
  84. #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED
  85. #pragma shader_feature_local EFFECT_BUMP
  86. #pragma shader_feature_local EFFECT_HUE_VARIATION
  87. #define ENABLE_WIND
  88. #define GBUFFER
  89. #include "SpeedTree7BillboardInput.hlsl"
  90. #include "SpeedTree7BillboardPasses.hlsl"
  91. ENDHLSL
  92. }
  93. Pass
  94. {
  95. Name "DepthOnly"
  96. Tags{"LightMode" = "DepthOnly"}
  97. ColorMask R
  98. HLSLPROGRAM
  99. #pragma vertex SpeedTree7VertDepth
  100. #pragma fragment SpeedTree7FragDepth
  101. #pragma multi_compile __ BILLBOARD_FACE_CAMERA_POS
  102. #pragma multi_compile __ LOD_FADE_CROSSFADE
  103. #define ENABLE_WIND
  104. #define DEPTH_ONLY
  105. #include "SpeedTree7BillboardInput.hlsl"
  106. #include "SpeedTree7BillboardPasses.hlsl"
  107. ENDHLSL
  108. }
  109. Pass
  110. {
  111. Name "DepthNormals"
  112. Tags{"LightMode" = "DepthNormals"}
  113. ColorMask R
  114. HLSLPROGRAM
  115. #pragma vertex SpeedTree7VertDepthNormalBillboard
  116. #pragma fragment SpeedTree7FragDepthNormalBillboard
  117. #pragma shader_feature_local EFFECT_BUMP
  118. #pragma multi_compile __ BILLBOARD_FACE_CAMERA_POS
  119. #pragma multi_compile __ LOD_FADE_CROSSFADE
  120. #define ENABLE_WIND
  121. #include "SpeedTree7BillboardInput.hlsl"
  122. #include "SpeedTree7BillboardPasses.hlsl"
  123. ENDHLSL
  124. }
  125. }
  126. FallBack "Hidden/Universal Render Pipeline/FallbackError"
  127. }