説明なし
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

ComplexLit.shader 22KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528
  1. // Complex Lit is superset of Lit, but provides
  2. // advanced material properties and is always forward rendered.
  3. // It also has higher hardware and shader model requirements.
  4. Shader "Universal Render Pipeline/Complex Lit"
  5. {
  6. Properties
  7. {
  8. // Specular vs Metallic workflow
  9. _WorkflowMode("WorkflowMode", Float) = 1.0
  10. [MainTexture] _BaseMap("Albedo", 2D) = "white" {}
  11. [MainColor] _BaseColor("Color", Color) = (1,1,1,1)
  12. _Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5
  13. _Smoothness("Smoothness", Range(0.0, 1.0)) = 0.5
  14. _SmoothnessTextureChannel("Smoothness texture channel", Float) = 0
  15. _Metallic("Metallic", Range(0.0, 1.0)) = 0.0
  16. _MetallicGlossMap("Metallic", 2D) = "white" {}
  17. _SpecColor("Specular", Color) = (0.2, 0.2, 0.2)
  18. _SpecGlossMap("Specular", 2D) = "white" {}
  19. [ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0
  20. [ToggleOff] _EnvironmentReflections("Environment Reflections", Float) = 1.0
  21. _BumpScale("Scale", Float) = 1.0
  22. _BumpMap("Normal Map", 2D) = "bump" {}
  23. _Parallax("Scale", Range(0.005, 0.08)) = 0.005
  24. _ParallaxMap("Height Map", 2D) = "black" {}
  25. _OcclusionStrength("Strength", Range(0.0, 1.0)) = 1.0
  26. _OcclusionMap("Occlusion", 2D) = "white" {}
  27. [HDR] _EmissionColor("Color", Color) = (0,0,0)
  28. _EmissionMap("Emission", 2D) = "white" {}
  29. _DetailMask("Detail Mask", 2D) = "white" {}
  30. _DetailAlbedoMapScale("Scale", Range(0.0, 2.0)) = 1.0
  31. _DetailAlbedoMap("Detail Albedo x2", 2D) = "linearGrey" {}
  32. _DetailNormalMapScale("Scale", Range(0.0, 2.0)) = 1.0
  33. [Normal] _DetailNormalMap("Normal Map", 2D) = "bump" {}
  34. [ToggleUI] _ClearCoat("Clear Coat", Float) = 0.0
  35. _ClearCoatMap("Clear Coat Map", 2D) = "white" {}
  36. _ClearCoatMask("Clear Coat Mask", Range(0.0, 1.0)) = 0.0
  37. _ClearCoatSmoothness("Clear Coat Smoothness", Range(0.0, 1.0)) = 1.0
  38. // Blending state
  39. _Surface("__surface", Float) = 0.0
  40. _Blend("__mode", Float) = 0.0
  41. _Cull("__cull", Float) = 2.0
  42. [ToggleUI] _AlphaClip("__clip", Float) = 0.0
  43. [HideInInspector] _BlendOp("__blendop", Float) = 0.0
  44. [HideInInspector] _SrcBlend("__src", Float) = 1.0
  45. [HideInInspector] _DstBlend("__dst", Float) = 0.0
  46. [HideInInspector] _SrcBlendAlpha("__srcA", Float) = 1.0
  47. [HideInInspector] _DstBlendAlpha("__dstA", Float) = 0.0
  48. [HideInInspector] _ZWrite("__zw", Float) = 1.0
  49. [HideInInspector] _BlendModePreserveSpecular("_BlendModePreserveSpecular", Float) = 1.0
  50. [HideInInspector] _AlphaToMask("__alphaToMask", Float) = 0.0
  51. [HideInInspector] _AddPrecomputedVelocity("_AddPrecomputedVelocity", Float) = 0.0
  52. [ToggleUI] _ReceiveShadows("Receive Shadows", Float) = 1.0
  53. // Editmode props
  54. _QueueOffset("Queue offset", Float) = 0.0
  55. [HideInInspector][NoScaleOffset]unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {}
  56. [HideInInspector][NoScaleOffset]unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {}
  57. [HideInInspector][NoScaleOffset]unity_ShadowMasks("unity_ShadowMasks", 2DArray) = "" {}
  58. }
  59. SubShader
  60. {
  61. // Universal Pipeline tag is required. If Universal render pipeline is not set in the graphics settings
  62. // this Subshader will fail. One can add a subshader below or fallback to Standard built-in to make this
  63. // material work with both Universal Render Pipeline and Builtin Unity Pipeline
  64. Tags
  65. {
  66. "RenderType" = "Opaque"
  67. "RenderPipeline" = "UniversalPipeline"
  68. "UniversalMaterialType" = "ComplexLit"
  69. "IgnoreProjector" = "True"
  70. }
  71. LOD 300
  72. // ------------------------------------------------------------------
  73. // Forward only pass.
  74. // Acts also as an opaque forward fallback for deferred rendering.
  75. Pass
  76. {
  77. // Lightmode matches the ShaderPassName set in UniversalRenderPipeline.cs. SRPDefaultUnlit and passes with
  78. // no LightMode tag are also rendered by Universal Render Pipeline
  79. Name "ForwardLit"
  80. Tags
  81. {
  82. "LightMode" = "UniversalForwardOnly"
  83. }
  84. // -------------------------------------
  85. // Render State Commands
  86. Blend[_SrcBlend][_DstBlend], [_SrcBlendAlpha][_DstBlendAlpha]
  87. ZWrite[_ZWrite]
  88. Cull[_Cull]
  89. AlphaToMask[_AlphaToMask]
  90. HLSLPROGRAM
  91. #pragma target 2.0
  92. // -------------------------------------
  93. // Shader Stages
  94. #pragma vertex LitPassVertex
  95. #pragma fragment LitPassFragment
  96. // -------------------------------------
  97. // Material Keywords
  98. #pragma shader_feature_local _NORMALMAP
  99. #pragma shader_feature_local _PARALLAXMAP
  100. #pragma shader_feature_local _RECEIVE_SHADOWS_OFF
  101. #pragma shader_feature_local _ _DETAIL_MULX2 _DETAIL_SCALED
  102. #pragma shader_feature_local_fragment _SURFACE_TYPE_TRANSPARENT
  103. #pragma shader_feature_local_fragment _ALPHATEST_ON
  104. #pragma shader_feature_local_fragment _ _ALPHAPREMULTIPLY_ON _ALPHAMODULATE_ON
  105. #pragma shader_feature_local_fragment _EMISSION
  106. #pragma shader_feature_local_fragment _METALLICSPECGLOSSMAP
  107. #pragma shader_feature_local_fragment _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  108. #pragma shader_feature_local_fragment _OCCLUSIONMAP
  109. #pragma shader_feature_local_fragment _ _CLEARCOAT _CLEARCOATMAP
  110. #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF
  111. #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF
  112. #pragma shader_feature_local_fragment _SPECULAR_SETUP
  113. // -------------------------------------
  114. // Universal Pipeline keywords
  115. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
  116. #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
  117. #pragma multi_compile _ EVALUATE_SH_MIXED EVALUATE_SH_VERTEX
  118. #pragma multi_compile _ _LIGHT_LAYERS
  119. #pragma multi_compile _ _FORWARD_PLUS
  120. #pragma multi_compile_fragment _ _ADDITIONAL_LIGHT_SHADOWS
  121. #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
  122. #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
  123. #pragma multi_compile_fragment _ _SHADOWS_SOFT
  124. #pragma multi_compile_fragment _ _SHADOWS_SOFT_LOW _SHADOWS_SOFT_MEDIUM _SHADOWS_SOFT_HIGH
  125. #pragma multi_compile_fragment _ _SCREEN_SPACE_OCCLUSION
  126. #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
  127. #pragma multi_compile_fragment _ _LIGHT_COOKIES
  128. #include_with_pragmas "Packages/com.unity.render-pipelines.core/ShaderLibrary/FoveatedRenderingKeywords.hlsl"
  129. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
  130. // -------------------------------------
  131. // Unity defined keywords
  132. #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING
  133. #pragma multi_compile _ SHADOWS_SHADOWMASK
  134. #pragma multi_compile _ DIRLIGHTMAP_COMBINED
  135. #pragma multi_compile _ LIGHTMAP_ON
  136. #pragma multi_compile _ DYNAMICLIGHTMAP_ON
  137. #pragma multi_compile _ USE_LEGACY_LIGHTMAPS
  138. #pragma multi_compile _ LOD_FADE_CROSSFADE
  139. #pragma multi_compile_fog
  140. #pragma multi_compile_fragment _ DEBUG_DISPLAY
  141. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl"
  142. //--------------------------------------
  143. // GPU Instancing
  144. #pragma multi_compile_instancing
  145. #pragma instancing_options renderinglayer
  146. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
  147. // -------------------------------------
  148. // Includes
  149. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
  150. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitForwardPass.hlsl"
  151. ENDHLSL
  152. }
  153. Pass
  154. {
  155. Name "ShadowCaster"
  156. Tags
  157. {
  158. "LightMode" = "ShadowCaster"
  159. }
  160. // -------------------------------------
  161. // Render State Commands
  162. ZWrite On
  163. ZTest LEqual
  164. ColorMask 0
  165. Cull[_Cull]
  166. HLSLPROGRAM
  167. #pragma target 2.0
  168. // -------------------------------------
  169. // Shader Stages
  170. #pragma vertex ShadowPassVertex
  171. #pragma fragment ShadowPassFragment
  172. // -------------------------------------
  173. // Material Keywords
  174. #pragma shader_feature_local _ALPHATEST_ON
  175. #pragma shader_feature_local_fragment _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  176. //--------------------------------------
  177. // GPU Instancing
  178. #pragma multi_compile_instancing
  179. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
  180. // -------------------------------------
  181. // Unity defined keywords
  182. #pragma multi_compile _ LOD_FADE_CROSSFADE
  183. // This is used during shadow map generation to differentiate between directional and punctual light shadows, as they use different formulas to apply Normal Bias
  184. #pragma multi_compile_vertex _ _CASTING_PUNCTUAL_LIGHT_SHADOW
  185. // -------------------------------------
  186. // Includes
  187. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
  188. #include "Packages/com.unity.render-pipelines.universal/Shaders/ShadowCasterPass.hlsl"
  189. ENDHLSL
  190. }
  191. Pass
  192. {
  193. // Lightmode matches the ShaderPassName set in UniversalRenderPipeline.cs. SRPDefaultUnlit and passes with
  194. // no LightMode tag are also rendered by Universal Render Pipeline
  195. //
  196. // Fill GBuffer data to prevent "holes", just in case someone wants to reuse GBuffer data.
  197. // Deferred lighting is stenciled out for ComplexLit and rendered as forward.
  198. Name "GBuffer"
  199. Tags
  200. {
  201. "LightMode" = "UniversalGBuffer"
  202. }
  203. // -------------------------------------
  204. // Render State Commands
  205. ZWrite[_ZWrite]
  206. ZTest LEqual
  207. Cull[_Cull]
  208. HLSLPROGRAM
  209. #pragma target 4.5
  210. // Deferred Rendering Path does not support the OpenGL-based graphics API:
  211. // Desktop OpenGL, OpenGL ES 3.0, WebGL 2.0.
  212. #pragma exclude_renderers gles3 glcore
  213. // -------------------------------------
  214. // Shader Stages
  215. #pragma vertex LitGBufferPassVertex
  216. #pragma fragment LitGBufferPassFragment
  217. // -------------------------------------
  218. // Material Keywords
  219. #pragma shader_feature_local _NORMALMAP
  220. #pragma shader_feature_local_fragment _ALPHATEST_ON
  221. //#pragma shader_feature_local_fragment _ALPHAPREMULTIPLY_ON
  222. #pragma shader_feature_local_fragment _EMISSION
  223. #pragma shader_feature_local_fragment _METALLICSPECGLOSSMAP
  224. #pragma shader_feature_local_fragment _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  225. #pragma shader_feature_local_fragment _OCCLUSIONMAP
  226. #pragma shader_feature_local _PARALLAXMAP
  227. #pragma shader_feature_local _ _DETAIL_MULX2 _DETAIL_SCALED
  228. #pragma shader_feature_local_fragment _SPECULARHIGHLIGHTS_OFF
  229. #pragma shader_feature_local_fragment _ENVIRONMENTREFLECTIONS_OFF
  230. #pragma shader_feature_local_fragment _SPECULAR_SETUP
  231. #pragma shader_feature_local _RECEIVE_SHADOWS_OFF
  232. // -------------------------------------
  233. // Universal Pipeline keywords
  234. #pragma multi_compile _ _MAIN_LIGHT_SHADOWS _MAIN_LIGHT_SHADOWS_CASCADE _MAIN_LIGHT_SHADOWS_SCREEN
  235. //#pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS
  236. //#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
  237. #pragma multi_compile_fragment _ _REFLECTION_PROBE_BLENDING
  238. #pragma multi_compile_fragment _ _REFLECTION_PROBE_BOX_PROJECTION
  239. #pragma multi_compile_fragment _ _SHADOWS_SOFT
  240. #pragma multi_compile_fragment _ _DBUFFER_MRT1 _DBUFFER_MRT2 _DBUFFER_MRT3
  241. #pragma multi_compile_fragment _ _RENDER_PASS_ENABLED
  242. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
  243. // -------------------------------------
  244. // Unity defined keywords
  245. #pragma multi_compile _ LIGHTMAP_SHADOW_MIXING
  246. #pragma multi_compile _ SHADOWS_SHADOWMASK
  247. #pragma multi_compile _ DIRLIGHTMAP_COMBINED
  248. #pragma multi_compile _ LIGHTMAP_ON
  249. #pragma multi_compile _ DYNAMICLIGHTMAP_ON
  250. #pragma multi_compile _ USE_LEGACY_LIGHTMAPS
  251. #pragma multi_compile _ LOD_FADE_CROSSFADE
  252. #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT
  253. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ProbeVolumeVariants.hlsl"
  254. //--------------------------------------
  255. // GPU Instancing
  256. #pragma multi_compile_instancing
  257. #pragma instancing_options renderinglayer
  258. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
  259. // -------------------------------------
  260. // Includes
  261. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
  262. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitGBufferPass.hlsl"
  263. ENDHLSL
  264. }
  265. Pass
  266. {
  267. Name "DepthOnly"
  268. Tags
  269. {
  270. "LightMode" = "DepthOnly"
  271. }
  272. // -------------------------------------
  273. // Render State Commands
  274. ZWrite On
  275. ColorMask R
  276. Cull[_Cull]
  277. HLSLPROGRAM
  278. #pragma target 2.0
  279. // -------------------------------------
  280. // Shader Stages
  281. #pragma vertex DepthOnlyVertex
  282. #pragma fragment DepthOnlyFragment
  283. // -------------------------------------
  284. // Material Keywords
  285. #pragma shader_feature_local _ALPHATEST_ON
  286. #pragma shader_feature_local_fragment _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  287. // -------------------------------------
  288. // Unity defined keywords
  289. #pragma multi_compile _ LOD_FADE_CROSSFADE
  290. //--------------------------------------
  291. // GPU Instancing
  292. #pragma multi_compile_instancing
  293. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
  294. // -------------------------------------
  295. // Includes
  296. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
  297. #include "Packages/com.unity.render-pipelines.universal/Shaders/DepthOnlyPass.hlsl"
  298. ENDHLSL
  299. }
  300. // This pass is used when drawing to a _CameraNormalsTexture texture with the forward renderer or the depthNormal prepass with the deferred renderer.
  301. Pass
  302. {
  303. Name "DepthNormalsOnly"
  304. Tags
  305. {
  306. "LightMode" = "DepthNormalsOnly"
  307. }
  308. // -------------------------------------
  309. // Render State Commands
  310. ZWrite On
  311. Cull[_Cull]
  312. HLSLPROGRAM
  313. #pragma target 2.0
  314. // -------------------------------------
  315. // Shader Stages
  316. #pragma vertex DepthNormalsVertex
  317. #pragma fragment DepthNormalsFragment
  318. // -------------------------------------
  319. // Material Keywords
  320. #pragma shader_feature_local _NORMALMAP
  321. #pragma shader_feature_local _PARALLAXMAP
  322. #pragma shader_feature_local _ _DETAIL_MULX2 _DETAIL_SCALED
  323. #pragma shader_feature_local _ALPHATEST_ON
  324. #pragma shader_feature_local_fragment _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  325. // -------------------------------------
  326. // Universal Pipeline keywords
  327. #pragma multi_compile_fragment _ _GBUFFER_NORMALS_OCT // forward-only variant
  328. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/RenderingLayers.hlsl"
  329. // -------------------------------------
  330. // Unity defined keywords
  331. #pragma multi_compile _ LOD_FADE_CROSSFADE
  332. //--------------------------------------
  333. // GPU Instancing
  334. #pragma multi_compile_instancing
  335. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/DOTS.hlsl"
  336. // -------------------------------------
  337. // Includes
  338. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
  339. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitDepthNormalsPass.hlsl"
  340. ENDHLSL
  341. }
  342. // This pass it not used during regular rendering, only for lightmap baking.
  343. Pass
  344. {
  345. Name "Meta"
  346. Tags
  347. {
  348. "LightMode" = "Meta"
  349. }
  350. // -------------------------------------
  351. // Render State Commands
  352. Cull Off
  353. HLSLPROGRAM
  354. #pragma target 2.0
  355. // -------------------------------------
  356. // Shader Stages
  357. #pragma vertex UniversalVertexMeta
  358. #pragma fragment UniversalFragmentMetaLit
  359. // -------------------------------------
  360. // Material Keywords
  361. #pragma shader_feature_local_fragment _SPECULAR_SETUP
  362. #pragma shader_feature_local_fragment _EMISSION
  363. #pragma shader_feature_local_fragment _METALLICSPECGLOSSMAP
  364. #pragma shader_feature_local_fragment _ALPHATEST_ON
  365. #pragma shader_feature_local_fragment _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  366. #pragma shader_feature_local _ _DETAIL_MULX2 _DETAIL_SCALED
  367. #pragma shader_feature_local_fragment _SPECGLOSSMAP
  368. #pragma shader_feature EDITOR_VISUALIZATION
  369. // -------------------------------------
  370. // Includes
  371. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
  372. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitMetaPass.hlsl"
  373. ENDHLSL
  374. }
  375. Pass
  376. {
  377. Name "Universal2D"
  378. Tags
  379. {
  380. "LightMode" = "Universal2D"
  381. }
  382. // -------------------------------------
  383. // Render State Commands
  384. Blend[_SrcBlend][_DstBlend]
  385. ZWrite[_ZWrite]
  386. Cull[_Cull]
  387. HLSLPROGRAM
  388. #pragma target 2.0
  389. // -------------------------------------
  390. // Shader Stages
  391. #pragma vertex vert
  392. #pragma fragment frag
  393. // -------------------------------------
  394. // Material Keywords
  395. #pragma shader_feature_local_fragment _ALPHATEST_ON
  396. #pragma shader_feature_local_fragment _ALPHAPREMULTIPLY_ON
  397. // -------------------------------------
  398. // Includes
  399. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
  400. #include "Packages/com.unity.render-pipelines.universal/Shaders/Utils/Universal2D.hlsl"
  401. ENDHLSL
  402. }
  403. Pass
  404. {
  405. Name "MotionVectors"
  406. Tags { "LightMode" = "MotionVectors" }
  407. ColorMask RG
  408. HLSLPROGRAM
  409. #pragma shader_feature_local _ALPHATEST_ON
  410. #pragma multi_compile _ LOD_FADE_CROSSFADE
  411. #pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY
  412. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
  413. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ObjectMotionVectors.hlsl"
  414. ENDHLSL
  415. }
  416. Pass
  417. {
  418. Name "XRMotionVectors"
  419. Tags { "LightMode" = "XRMotionVectors" }
  420. ColorMask RGB
  421. // Stencil write for obj motion pixels
  422. Stencil
  423. {
  424. WriteMask 1
  425. Ref 1
  426. Comp Always
  427. Pass Replace
  428. }
  429. HLSLPROGRAM
  430. #pragma shader_feature_local _ALPHATEST_ON
  431. #pragma multi_compile _ LOD_FADE_CROSSFADE
  432. #pragma shader_feature_local_vertex _ADD_PRECOMPUTED_VELOCITY
  433. #define APLICATION_SPACE_WARP_MOTION 1
  434. #include "Packages/com.unity.render-pipelines.universal/Shaders/LitInput.hlsl"
  435. #include_with_pragmas "Packages/com.unity.render-pipelines.universal/ShaderLibrary/ObjectMotionVectors.hlsl"
  436. ENDHLSL
  437. }
  438. }
  439. //////////////////////////////////////////////////////
  440. FallBack "Hidden/Universal Render Pipeline/Lit"
  441. FallBack "Hidden/Universal Render Pipeline/FallbackError"
  442. CustomEditor "UnityEditor.Rendering.Universal.ShaderGUI.LitShader"
  443. }