Advertisement
Guest User

Untitled

a guest
Sep 18th, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.69 KB | None | 0 0
  1. // Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt)
  2.  
  3. Shader "XRay Shaders/Standard-XRay-Replaceable"
  4. {
  5. Properties
  6. {
  7. _Color("Color", Color) = (1,1,1,1)
  8. _EdgeColor("XRay Edge Color", Color) = (0,0,0,0)
  9. _DistortionSpeed("Distortion Speed",Range(0,100)) = 1
  10. _DistortionIntensity("Distortion Intensity",Range(0,10)) = 10
  11. _XRayMultiplier("XRay Multiplier",Range(1,100)) = 1
  12. _MainTex("Albedo", 2D) = "white" {}
  13.  
  14. _Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5
  15.  
  16. _Glossiness("Smoothness", Range(0.0, 1.0)) = 0.5
  17. _GlossMapScale("Smoothness Scale", Range(0.0, 1.0)) = 1.0
  18. [Enum(Metallic Alpha,0,Albedo Alpha,1)] _SmoothnessTextureChannel ("Smoothness texture channel", Float) = 0
  19.  
  20. [Gamma] _Metallic("Metallic", Range(0.0, 1.0)) = 0.0
  21. _MetallicGlossMap("Metallic", 2D) = "white" {}
  22.  
  23. [ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0
  24. [ToggleOff] _GlossyReflections("Glossy Reflections", Float) = 1.0
  25.  
  26. _BumpScale("Scale", Float) = 1.0
  27. _BumpMap("Normal Map", 2D) = "bump" {}
  28.  
  29. _Parallax ("Height Scale", Range (0.005, 0.08)) = 0.02
  30. _ParallaxMap ("Height Map", 2D) = "black" {}
  31.  
  32. _OcclusionStrength("Strength", Range(0.0, 1.0)) = 1.0
  33. _OcclusionMap("Occlusion", 2D) = "white" {}
  34.  
  35. _EmissionColor("Color", Color) = (0,0,0)
  36. _EmissionMap("Emission", 2D) = "white" {}
  37.  
  38. _DetailMask("Detail Mask", 2D) = "white" {}
  39.  
  40. _DetailAlbedoMap("Detail Albedo x2", 2D) = "grey" {}
  41. _DetailNormalMapScale("Scale", Float) = 1.0
  42. _DetailNormalMap("Normal Map", 2D) = "bump" {}
  43.  
  44. [Enum(UV0,0,UV1,1)] _UVSec ("UV Set for secondary textures", Float) = 0
  45.  
  46.  
  47. // Blending state
  48. [HideInInspector] _Mode ("__mode", Float) = 0.0
  49. [HideInInspector] _SrcBlend ("__src", Float) = 1.0
  50. [HideInInspector] _DstBlend ("__dst", Float) = 0.0
  51. [HideInInspector] _ZWrite ("__zw", Float) = 1.0
  52. }
  53.  
  54. CGINCLUDE
  55. #define UNITY_SETUP_BRDF_INPUT MetallicSetup
  56. ENDCG
  57.  
  58. SubShader
  59. {
  60. Tags {
  61. "Queue" = "Geometry-1"
  62. "RenderType"="Opaque"
  63. "PerformanceChecks"="False"
  64. "Replaceable" = "XRay" }
  65. LOD 200//300
  66.  
  67.  
  68. // ------------------------------------------------------------------
  69. // Base forward pass (directional light, emission, lightmaps, ...)
  70. Pass
  71. {
  72. Name "FORWARD"
  73. Tags { "LightMode" = "ForwardBase" }
  74.  
  75. Blend [_SrcBlend] [_DstBlend]
  76. ZWrite [_ZWrite]
  77.  
  78. CGPROGRAM
  79. #pragma target 3.0
  80.  
  81. // -------------------------------------
  82.  
  83. #pragma shader_feature _NORMALMAP
  84. #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
  85. #pragma shader_feature _EMISSION
  86. #pragma shader_feature _METALLICGLOSSMAP
  87. #pragma shader_feature ___ _DETAIL_MULX2
  88. #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  89. #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF
  90. #pragma shader_feature _ _GLOSSYREFLECTIONS_OFF
  91. #pragma shader_feature _PARALLAXMAP
  92.  
  93. #pragma multi_compile_fwdbase
  94. #pragma multi_compile_fog
  95. #pragma multi_compile_instancing
  96.  
  97. #pragma vertex vertBase
  98. #pragma fragment fragBase
  99. #include "UnityStandardCoreForward.cginc"
  100.  
  101. ENDCG
  102. }
  103. // ------------------------------------------------------------------
  104. // Additive forward pass (one light per pass)
  105. Pass
  106. {
  107. Name "FORWARD_DELTA"
  108. Tags { "LightMode" = "ForwardAdd" }
  109. Blend [_SrcBlend] One
  110. Fog { Color (0,0,0,0) } // in additive pass fog should be black
  111. ZWrite Off
  112. ZTest LEqual
  113.  
  114. CGPROGRAM
  115. #pragma target 3.0
  116.  
  117. // -------------------------------------
  118.  
  119.  
  120. #pragma shader_feature _NORMALMAP
  121. #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
  122. #pragma shader_feature _METALLICGLOSSMAP
  123. #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  124. #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF
  125. #pragma shader_feature ___ _DETAIL_MULX2
  126. #pragma shader_feature _PARALLAXMAP
  127.  
  128. #pragma multi_compile_fwdadd_fullshadows
  129. #pragma multi_compile_fog
  130.  
  131. #pragma vertex vertAdd
  132. #pragma fragment fragAdd
  133. #include "UnityStandardCoreForward.cginc"
  134.  
  135. ENDCG
  136. }
  137. // ------------------------------------------------------------------
  138. // Shadow rendering pass
  139. Pass {
  140. Name "ShadowCaster"
  141. Tags { "LightMode" = "ShadowCaster" }
  142.  
  143. ZWrite On ZTest LEqual
  144.  
  145. CGPROGRAM
  146. #pragma target 3.0
  147.  
  148. // -------------------------------------
  149.  
  150.  
  151. #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
  152. #pragma shader_feature _METALLICGLOSSMAP
  153. #pragma shader_feature _PARALLAXMAP
  154. #pragma multi_compile_shadowcaster
  155. #pragma multi_compile_instancing
  156.  
  157. #pragma vertex vertShadowCaster
  158. #pragma fragment fragShadowCaster
  159.  
  160. #include "UnityStandardShadow.cginc"
  161.  
  162. ENDCG
  163. }
  164. // ------------------------------------------------------------------
  165. // Deferred pass
  166. Pass
  167. {
  168. Name "DEFERRED"
  169. Tags { "LightMode" = "Deferred" }
  170.  
  171. CGPROGRAM
  172. #pragma target 3.0
  173. #pragma exclude_renderers nomrt
  174.  
  175.  
  176. // -------------------------------------
  177.  
  178. #pragma shader_feature _NORMALMAP
  179. #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
  180. #pragma shader_feature _EMISSION
  181. #pragma shader_feature _METALLICGLOSSMAP
  182. #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  183. #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF
  184. #pragma shader_feature ___ _DETAIL_MULX2
  185. #pragma shader_feature _PARALLAXMAP
  186.  
  187. #pragma multi_compile_prepassfinal
  188. #pragma multi_compile_instancing
  189.  
  190. #pragma vertex vertDeferred
  191. #pragma fragment fragDeferred
  192.  
  193. #include "UnityStandardCore.cginc"
  194.  
  195. ENDCG
  196. }
  197.  
  198. // ------------------------------------------------------------------
  199. // Extracts information for lightmapping, GI (emission, albedo, ...)
  200. // This pass it not used during regular rendering.
  201. Pass
  202. {
  203. Name "META"
  204. Tags { "LightMode"="Meta" }
  205.  
  206. Cull Off
  207.  
  208. CGPROGRAM
  209. #pragma vertex vert_meta
  210. #pragma fragment frag_meta
  211.  
  212. #pragma shader_feature _EMISSION
  213. #pragma shader_feature _METALLICGLOSSMAP
  214. #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  215. #pragma shader_feature ___ _DETAIL_MULX2
  216. #pragma shader_feature EDITOR_VISUALIZATION
  217.  
  218. #include "UnityStandardMeta.cginc"
  219. ENDCG
  220. }
  221. }
  222.  
  223. SubShader
  224. {
  225. Tags{
  226. "Queue" = "Geometry-1"
  227. "RenderType" = "Opaque"
  228. "PerformanceChecks" = "False"
  229. "Replaceable" = "XRay" }
  230. LOD 150
  231.  
  232. // ------------------------------------------------------------------
  233. // Base forward pass (directional light, emission, lightmaps, ...)
  234. Pass
  235. {
  236. Name "FORWARD"
  237. Tags { "LightMode" = "ForwardBase" }
  238.  
  239. Blend [_SrcBlend] [_DstBlend]
  240. ZWrite [_ZWrite]
  241.  
  242. CGPROGRAM
  243. #pragma target 2.0
  244.  
  245. #pragma shader_feature _NORMALMAP
  246. #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
  247. #pragma shader_feature _EMISSION
  248. #pragma shader_feature _METALLICGLOSSMAP
  249. #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  250. #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF
  251. #pragma shader_feature _ _GLOSSYREFLECTIONS_OFF
  252. // SM2.0: NOT SUPPORTED shader_feature ___ _DETAIL_MULX2
  253. // SM2.0: NOT SUPPORTED shader_feature _PARALLAXMAP
  254.  
  255. #pragma skip_variants SHADOWS_SOFT DIRLIGHTMAP_COMBINED
  256.  
  257. #pragma multi_compile_fwdbase
  258. #pragma multi_compile_fog
  259.  
  260. #pragma vertex vertBase
  261. #pragma fragment fragBase
  262. #include "UnityStandardCoreForward.cginc"
  263.  
  264. ENDCG
  265. }
  266. // ------------------------------------------------------------------
  267. // Additive forward pass (one light per pass)
  268. Pass
  269. {
  270. Name "FORWARD_DELTA"
  271. Tags { "LightMode" = "ForwardAdd" }
  272. Blend [_SrcBlend] One
  273. Fog { Color (0,0,0,0) } // in additive pass fog should be black
  274. ZWrite Off
  275. ZTest LEqual
  276.  
  277. CGPROGRAM
  278. #pragma target 2.0
  279.  
  280. #pragma shader_feature _NORMALMAP
  281. #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
  282. #pragma shader_feature _METALLICGLOSSMAP
  283. #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  284. #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF
  285. #pragma shader_feature ___ _DETAIL_MULX2
  286. // SM2.0: NOT SUPPORTED shader_feature _PARALLAXMAP
  287. #pragma skip_variants SHADOWS_SOFT
  288.  
  289. #pragma multi_compile_fwdadd_fullshadows
  290. #pragma multi_compile_fog
  291.  
  292. #pragma vertex vertAdd
  293. #pragma fragment fragAdd
  294. #include "UnityStandardCoreForward.cginc"
  295.  
  296. ENDCG
  297. }
  298. // ------------------------------------------------------------------
  299. // Shadow rendering pass
  300. Pass {
  301. Name "ShadowCaster"
  302. Tags { "LightMode" = "ShadowCaster" }
  303.  
  304. ZWrite On ZTest LEqual
  305.  
  306. CGPROGRAM
  307. #pragma target 2.0
  308.  
  309. #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
  310. #pragma shader_feature _METALLICGLOSSMAP
  311. #pragma skip_variants SHADOWS_SOFT
  312. #pragma multi_compile_shadowcaster
  313.  
  314. #pragma vertex vertShadowCaster
  315. #pragma fragment fragShadowCaster
  316.  
  317. #include "UnityStandardShadow.cginc"
  318.  
  319. ENDCG
  320. }
  321.  
  322. // ------------------------------------------------------------------
  323. // Extracts information for lightmapping, GI (emission, albedo, ...)
  324. // This pass it not used during regular rendering.
  325. Pass
  326. {
  327. Name "META"
  328. Tags { "LightMode"="Meta" }
  329.  
  330. Cull Off
  331.  
  332. CGPROGRAM
  333. #pragma vertex vert_meta
  334. #pragma fragment frag_meta
  335.  
  336. #pragma shader_feature _EMISSION
  337. #pragma shader_feature _METALLICGLOSSMAP
  338. #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
  339. #pragma shader_feature ___ _DETAIL_MULX2
  340. #pragma shader_feature EDITOR_VISUALIZATION
  341.  
  342. #include "UnityStandardMeta.cginc"
  343. ENDCG
  344. }
  345. }
  346.  
  347.  
  348. FallBack "VertexLit"
  349. CustomEditor "StandardShaderGUI"
  350. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement