Unlit.shader 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287
  1. Shader "Universal Render Pipeline/Unlit"
  2. {
  3. Properties
  4. {
  5. [MainTexture] _BaseMap("Texture", 2D) = "white" {}
  6. [MainColor] _BaseColor("Color", Color) = (1, 1, 1, 1)
  7. _Cutoff("AlphaCutout", Range(0.0, 1.0)) = 0.5
  8. // BlendMode
  9. _Surface("__surface", Float) = 0.0
  10. _Blend("__mode", Float) = 0.0
  11. _Cull("__cull", Float) = 2.0
  12. [ToggleUI] _AlphaClip("__clip", Float) = 0.0
  13. [HideInInspector] _BlendOp("__blendop", Float) = 0.0
  14. [HideInInspector] _SrcBlend("__src", Float) = 1.0
  15. [HideInInspector] _DstBlend("__dst", Float) = 0.0
  16. [HideInInspector] _ZWrite("__zw", Float) = 1.0
  17. // Editmode props
  18. _QueueOffset("Queue offset", Float) = 0.0
  19. // ObsoleteProperties
  20. [HideInInspector] _MainTex("BaseMap", 2D) = "white" {}
  21. [HideInInspector] _Color("Base Color", Color) = (0.5, 0.5, 0.5, 1)
  22. [HideInInspector] _SampleGI("SampleGI", float) = 0.0 // needed from bakedlit
  23. }
  24. SubShader
  25. {
  26. Tags {"RenderType" = "Opaque" "IgnoreProjector" = "True" "RenderPipeline" = "UniversalPipeline" "ShaderModel"="4.5"}
  27. LOD 100
  28. Blend [_SrcBlend][_DstBlend]
  29. ZWrite [_ZWrite]
  30. Cull [_Cull]
  31. Pass
  32. {
  33. Name "Unlit"
  34. HLSLPROGRAM
  35. #pragma exclude_renderers gles gles3 glcore
  36. #pragma target 4.5
  37. #pragma shader_feature_local_fragment _SURFACE_TYPE_TRANSPARENT
  38. #pragma shader_feature_local_fragment _ALPHATEST_ON
  39. #pragma shader_feature_local_fragment _ALPHAPREMULTIPLY_ON
  40. // -------------------------------------
  41. // Unity defined keywords
  42. #pragma multi_compile_fog
  43. #pragma multi_compile_instancing
  44. #pragma multi_compile _ DOTS_INSTANCING_ON
  45. #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
  46. #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
  47. #pragma multi_compile _ DEBUG_DISPLAY
  48. #pragma vertex UnlitPassVertex
  49. #pragma fragment UnlitPassFragment
  50. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitInput.hlsl"
  51. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitForwardPass.hlsl"
  52. ENDHLSL
  53. }
  54. Pass
  55. {
  56. Name "DepthOnly"
  57. Tags{"LightMode" = "DepthOnly"}
  58. ZWrite On
  59. ColorMask 0
  60. HLSLPROGRAM
  61. #pragma exclude_renderers gles gles3 glcore
  62. #pragma target 4.5
  63. #pragma vertex DepthOnlyVertex
  64. #pragma fragment DepthOnlyFragment
  65. // -------------------------------------
  66. // Material Keywords
  67. #pragma shader_feature_local_fragment _ALPHATEST_ON
  68. //--------------------------------------
  69. // GPU Instancing
  70. #pragma multi_compile_instancing
  71. #pragma multi_compile _ DOTS_INSTANCING_ON
  72. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitInput.hlsl"
  73. #include "Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlsl"
  74. ENDHLSL
  75. }
  76. Pass
  77. {
  78. Name "DepthNormalsOnly"
  79. Tags{"LightMode" = "DepthNormalsOnly"}
  80. ZWrite On
  81. HLSLPROGRAM
  82. #pragma exclude_renderers gles gles3 glcore
  83. #pragma target 4.5
  84. #pragma vertex DepthNormalsVertex
  85. #pragma fragment DepthNormalsFragment
  86. // -------------------------------------
  87. // Material Keywords
  88. #pragma shader_feature_local_fragment _ALPHATEST_ON
  89. // -------------------------------------
  90. // Unity defined keywords
  91. #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT // forward-only variant
  92. //--------------------------------------
  93. // GPU Instancing
  94. #pragma multi_compile_instancing
  95. #pragma multi_compile _ DOTS_INSTANCING_ON
  96. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitInput.hlsl"
  97. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitDepthNormalsPass.hlsl"
  98. ENDHLSL
  99. }
  100. // This pass it not used during regular rendering, only for lightmap baking.
  101. Pass
  102. {
  103. Name "Meta"
  104. Tags{"LightMode" = "Meta"}
  105. Cull Off
  106. HLSLPROGRAM
  107. #pragma exclude_renderers gles gles3 glcore
  108. #pragma target 4.5
  109. #pragma vertex UniversalVertexMeta
  110. #pragma fragment UniversalFragmentMetaUnlit
  111. #pragma shader_feature EDITOR_VISUALIZATION
  112. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitInput.hlsl"
  113. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitMetaPass.hlsl"
  114. ENDHLSL
  115. }
  116. Pass
  117. {
  118. Name "MotionVectors"
  119. Tags{ "LightMode" = "MotionVectors"}
  120. Tags { "RenderType" = "Opaque" }
  121. ZWrite[_ZWrite]
  122. Cull[_Cull]
  123. HLSLPROGRAM
  124. #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/OculusMotionVectorCore.hlsl"
  125. #pragma vertex vert
  126. #pragma fragment frag
  127. ENDHLSL
  128. }
  129. }
  130. SubShader
  131. {
  132. Tags {"RenderType" = "Opaque" "IgnoreProjector" = "True" "RenderPipeline" = "UniversalPipeline" "ShaderModel"="2.0"}
  133. LOD 100
  134. Blend [_SrcBlend][_DstBlend]
  135. ZWrite [_ZWrite]
  136. Cull [_Cull]
  137. Pass
  138. {
  139. Name "Unlit"
  140. HLSLPROGRAM
  141. #pragma only_renderers gles gles3 glcore d3d11
  142. #pragma target 2.0
  143. #pragma shader_feature_local_fragment _SURFACE_TYPE_TRANSPARENT
  144. #pragma shader_feature_local_fragment _ALPHATEST_ON
  145. #pragma shader_feature_local_fragment _ALPHAPREMULTIPLY_ON
  146. // -------------------------------------
  147. // Unity defined keywords
  148. #pragma multi_compile_fog
  149. #pragma multi_compile_instancing
  150. #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
  151. #pragma multi_compile _ DEBUG_DISPLAY
  152. #pragma vertex UnlitPassVertex
  153. #pragma fragment UnlitPassFragment
  154. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitInput.hlsl"
  155. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitForwardPass.hlsl"
  156. ENDHLSL
  157. }
  158. Pass
  159. {
  160. Name "DepthOnly"
  161. Tags{"LightMode" = "DepthOnly"}
  162. ZWrite On
  163. ColorMask 0
  164. HLSLPROGRAM
  165. #pragma only_renderers gles gles3 glcore d3d11
  166. #pragma target 2.0
  167. #pragma vertex DepthOnlyVertex
  168. #pragma fragment DepthOnlyFragment
  169. // -------------------------------------
  170. // Material Keywords
  171. #pragma shader_feature_local_fragment _ALPHATEST_ON
  172. //--------------------------------------
  173. // GPU Instancing
  174. #pragma multi_compile_instancing
  175. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitInput.hlsl"
  176. #include "Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlsl"
  177. ENDHLSL
  178. }
  179. Pass
  180. {
  181. Name "DepthNormalsOnly"
  182. Tags{"LightMode" = "DepthNormalsOnly"}
  183. ZWrite On
  184. HLSLPROGRAM
  185. #pragma only_renderers gles gles3 glcore
  186. #pragma target 2.0
  187. #pragma vertex DepthNormalsVertex
  188. #pragma fragment DepthNormalsFragment
  189. // -------------------------------------
  190. // Material Keywords
  191. #pragma shader_feature_local_fragment _ALPHATEST_ON
  192. // -------------------------------------
  193. // Unity defined keywords
  194. #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT // forward-only variant
  195. //--------------------------------------
  196. // GPU Instancing
  197. #pragma multi_compile_instancing
  198. #pragma multi_compile _ DOTS_INSTANCING_ON
  199. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitInput.hlsl"
  200. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitDepthNormalsPass.hlsl"
  201. ENDHLSL
  202. }
  203. // This pass it not used during regular rendering, only for lightmap baking.
  204. Pass
  205. {
  206. Name "Meta"
  207. Tags{"LightMode" = "Meta"}
  208. Cull Off
  209. HLSLPROGRAM
  210. #pragma only_renderers gles gles3 glcore d3d11
  211. #pragma target 2.0
  212. #pragma vertex UniversalVertexMeta
  213. #pragma fragment UniversalFragmentMetaUnlit
  214. #pragma shader_feature EDITOR_VISUALIZATION
  215. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitInput.hlsl"
  216. #include "Packages/com.unity.render-pipelines.universal/Shaders/UnlitMetaPass.hlsl"
  217. ENDHLSL
  218. }
  219. }
  220. FallBack "Hidden/Universal Render Pipeline/FallbackError"
  221. CustomEditor "UnityEditor.Rendering.Universal.ShaderGUI.UnlitShader"
  222. }