diff options
Diffstat (limited to 'Assets/ThirdParty/MaterializeFX/Shaders/Standart/MFX_Uber_Standard.shader')
-rw-r--r-- | Assets/ThirdParty/MaterializeFX/Shaders/Standart/MFX_Uber_Standard.shader | 396 |
1 files changed, 396 insertions, 0 deletions
diff --git a/Assets/ThirdParty/MaterializeFX/Shaders/Standart/MFX_Uber_Standard.shader b/Assets/ThirdParty/MaterializeFX/Shaders/Standart/MFX_Uber_Standard.shader new file mode 100644 index 00000000..d0e35318 --- /dev/null +++ b/Assets/ThirdParty/MaterializeFX/Shaders/Standart/MFX_Uber_Standard.shader @@ -0,0 +1,396 @@ +// Unity built-in shader source. Copyright (c) 2016 Unity Technologies. MIT license (see license.txt) + +Shader "QFX/MFX/Uber/Standart" +{ + Properties + { + _Color("Color", Color) = (1,1,1,1) + _MainTex("Albedo", 2D) = "white" {} + + _Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5 + + _Glossiness("Smoothness", Range(0.0, 1.0)) = 0.5 + _GlossMapScale("Smoothness Scale", Range(0.0, 1.0)) = 1.0 + [Enum(Metallic Alpha,0,Albedo Alpha,1)] _SmoothnessTextureChannel ("Smoothness texture channel", Float) = 0 + + [Gamma] _Metallic("Metallic", Range(0.0, 1.0)) = 0.0 + _MetallicGlossMap("Metallic", 2D) = "white" {} + + [ToggleOff] _SpecularHighlights("Specular Highlights", Float) = 1.0 + [ToggleOff] _GlossyReflections("Glossy Reflections", Float) = 1.0 + + _BumpScale("Scale", Float) = 1.0 + _BumpMap("Normal Map", 2D) = "bump" {} + + _Parallax ("Height Scale", Range (0.005, 0.08)) = 0.02 + _ParallaxMap ("Height Map", 2D) = "black" {} + + _OcclusionStrength("Strength", Range(0.0, 1.0)) = 1.0 + _OcclusionMap("Occlusion", 2D) = "white" {} + + _EmissionColor("Color", Color) = (0,0,0) + _EmissionMap("Emission", 2D) = "white" {} + + _DetailMask("Detail Mask", 2D) = "white" {} + + _DetailAlbedoMap("Detail Albedo x2", 2D) = "grey" {} + _DetailNormalMapScale("Scale", Float) = 1.0 + _DetailNormalMap("Normal Map", 2D) = "bump" {} + + [Enum(UV0,0,UV1,1)] _UVSec ("UV Set for secondary textures", Float) = 0 + + // Blending state + [HideInInspector] _Mode ("__mode", Float) = 0.0 + [HideInInspector] _SrcBlend ("__src", Float) = 1.0 + [HideInInspector] _DstBlend ("__dst", Float) = 0.0 + [HideInInspector] _ZWrite ("__zw", Float) = 1.0 + + //MFX + [HDR]_Color2("Color 2", Color) = (1,1,1,1) + _MainTex2("Albedo 2", 2D) = "white" {} + + _BumpMap2("Normal Map 2", 2D) = "bump" {} + + [HDR]_EmissionColor2("Color 2", Color) = (0,0,0) + _EmissionMap2("Emission 2", 2D) = "white" {} + _EmissionSize2("Emission 2 Size", Range(0.0, 1)) = 0 + + [HDR] _EdgeColor("Edge Color", Color) = (1,1,1,1) + _EdgeSize("Edge Size", Range(0.0, 1)) = 0.0 + _EdgeStrength("Edge Strength", Range( 0 , 1)) = 0.1 + + _EdgeRampMap1("Edge RampMap", 2D) = "white"{} + _EdgeRampMap1_Scroll("Edge RampMap Scroll", Vector) = (0,0,0,0) + + _DissolveMap1("Dissolve Map", 2D) = "white"{} + _DissolveMap1_Scroll("Dissolve Map Scroll", Vector) = (0,0,0,0) + + _DissolveSize("Dissolve Size", Range(0.0, 3.0)) = 1 + [HDR]_DissolveEdgeColor("Dissolve Edge Color", Color) = (0,0,0,0) + _DissolveEdgeSize("Dissolve Edge Size", Range( 0 , 1)) = 0.1 + + [KeywordEnum(None, Axis Local, Axis Global, Global)] _MaskType("Mask Type", Float) = 0 + [Enum(X,0,Y,1,Z,2)] _CutoffAxis("Axis", int) = 0 + _MaskOffset("Mask Offset", Float) = 0.5 + //if MaskType is Global + _MaskWorldPosition("Mask World Position", Vector) = (0,0,0,0) + } + + CGINCLUDE + #define UNITY_SETUP_BRDF_INPUT MetallicSetup + ENDCG + + SubShader + { + Tags { "RenderType"="TransparentCutout" "Queue" = "Geometry+0" "IsEmissive" = "true" "PerformanceChecks"="False" "DisableBatching"="True"} + LOD 300 + + // ------------------------------------------------------------------ + // Base forward pass (directional light, emission, lightmaps, ...) + Pass + { + Name "FORWARD" + Tags { "LightMode" = "ForwardBase" } + + Blend [_SrcBlend] [_DstBlend] + ZWrite [_ZWrite] + + CGPROGRAM + #pragma target 3.0 + + // ------------------------------------- + + //MFX + #pragma shader_feature _MASKTYPE_NONE _MASKTYPE_AXIS_LOCAL _MASKTYPE_AXIS_GLOBAL _MASKTYPE_GLOBAL + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma shader_feature _EMISSION + #pragma shader_feature _METALLICGLOSSMAP + #pragma shader_feature ___ _DETAIL_MULX2 + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature _ _GLOSSYREFLECTIONS_OFF + #pragma shader_feature _PARALLAXMAP + + #pragma multi_compile_fwdbase + #pragma multi_compile_fog + #pragma multi_compile_instancing + // Uncomment the following line to enable dithering LOD crossfade. Note: there are more in the file to uncomment for other passes. + //#pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma vertex vertBase + #pragma fragment fragBase + #include "UnityStandardCoreForward.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Additive forward pass (one light per pass) + Pass + { + Name "FORWARD_DELTA" + Tags { "LightMode" = "ForwardAdd" } + Blend [_SrcBlend] One + Fog { Color (0,0,0,0) } // in additive pass fog should be black + ZWrite Off + ZTest LEqual + + CGPROGRAM + #pragma target 3.0 + + // ------------------------------------- + + //MFX + #pragma shader_feature _MASKTYPE_NONE _MASKTYPE_AXIS_LOCAL _MASKTYPE_AXIS_GLOBAL _MASKTYPE_GLOBAL + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma shader_feature _METALLICGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature ___ _DETAIL_MULX2 + #pragma shader_feature _PARALLAXMAP + + #pragma multi_compile_fwdadd_fullshadows + #pragma multi_compile_fog + // Uncomment the following line to enable dithering LOD crossfade. Note: there are more in the file to uncomment for other passes. + //#pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma vertex vertAdd + #pragma fragment fragAdd + #include "UnityStandardCoreForward.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Shadow rendering pass + Pass { + Name "ShadowCaster" + Tags { "LightMode" = "ShadowCaster" } + + ZWrite On ZTest LEqual + + CGPROGRAM + #pragma target 3.0 + + // ------------------------------------- + + //MFX + #pragma shader_feature _MASKTYPE_NONE _MASKTYPE_AXIS_LOCAL _MASKTYPE_AXIS_GLOBAL _MASKTYPE_GLOBAL + //#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #define _ALPHATEST_ON + + #pragma shader_feature _METALLICGLOSSMAP + #pragma shader_feature _PARALLAXMAP + #pragma multi_compile_shadowcaster + #pragma multi_compile_instancing + // Uncomment the following line to enable dithering LOD crossfade. Note: there are more in the file to uncomment for other passes. + //#pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + + #include "UnityStandardShadow.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Deferred pass + Pass + { + Name "DEFERRED" + Tags { "LightMode" = "Deferred" } + + CGPROGRAM + #pragma target 3.0 + #pragma exclude_renderers nomrt + + + // ------------------------------------- + + //MFX + #pragma shader_feature _MASKTYPE_NONE _MASKTYPE_AXIS_LOCAL _MASKTYPE_AXIS_GLOBAL _MASKTYPE_GLOBAL + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #pragma shader_feature _EMISSION + #pragma shader_feature _METALLICGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature ___ _DETAIL_MULX2 + #pragma shader_feature _PARALLAXMAP + + #pragma multi_compile_prepassfinal + #pragma multi_compile_instancing + // Uncomment the following line to enable dithering LOD crossfade. Note: there are more in the file to uncomment for other passes. + //#pragma multi_compile _ LOD_FADE_CROSSFADE + + #pragma vertex vertDeferred + #pragma fragment fragDeferred + + #include "UnityStandardCore.cginc" + + ENDCG + } + + // ------------------------------------------------------------------ + // Extracts information for lightmapping, GI (emission, albedo, ...) + // This pass it not used during regular rendering. + Pass + { + Name "META" + Tags { "LightMode"="Meta" } + + Cull Off + + CGPROGRAM + #pragma vertex vert_meta + #pragma fragment frag_meta + + #pragma shader_feature _EMISSION + #pragma shader_feature _METALLICGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature ___ _DETAIL_MULX2 + #pragma shader_feature EDITOR_VISUALIZATION + + #include "UnityStandardMeta.cginc" + ENDCG + } + } + + SubShader + { + Tags { "RenderType"="Opaque" "PerformanceChecks"="False" } + LOD 150 + + // ------------------------------------------------------------------ + // Base forward pass (directional light, emission, lightmaps, ...) + Pass + { + Name "FORWARD" + Tags { "LightMode" = "ForwardBase" } + + Blend [_SrcBlend] [_DstBlend] + ZWrite [_ZWrite] + + CGPROGRAM + #pragma target 3.0 + + //MFX + #pragma shader_feature _MASKTYPE_NONE _MASKTYPE_AXIS_LOCAL _MASKTYPE_AXIS_GLOBAL _MASKTYPE_GLOBAL + //#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #define _ALPHATEST_ON + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _EMISSION + #pragma shader_feature _METALLICGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature _ _GLOSSYREFLECTIONS_OFF + // SM2.0: NOT SUPPORTED shader_feature ___ _DETAIL_MULX2 + // SM2.0: NOT SUPPORTED shader_feature _PARALLAXMAP + + #pragma skip_variants SHADOWS_SOFT DIRLIGHTMAP_COMBINED + + #pragma multi_compile_fwdbase + #pragma multi_compile_fog + + #pragma vertex vertBase + #pragma fragment fragBase + #include "UnityStandardCoreForward.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Additive forward pass (one light per pass) + Pass + { + Name "FORWARD_DELTA" + Tags { "LightMode" = "ForwardAdd" } + Blend [_SrcBlend] One + Fog { Color (0,0,0,0) } // in additive pass fog should be black + ZWrite Off + ZTest LEqual + + CGPROGRAM + #pragma target 3.0 + + //MFX + #pragma shader_feature _MASKTYPE_NONE _MASKTYPE_AXIS_LOCAL _MASKTYPE_AXIS_GLOBAL _MASKTYPE_GLOBAL + //#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #define _ALPHATEST_ON + + #pragma shader_feature _NORMALMAP + #pragma shader_feature _METALLICGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature _ _SPECULARHIGHLIGHTS_OFF + #pragma shader_feature ___ _DETAIL_MULX2 + // SM2.0: NOT SUPPORTED shader_feature _PARALLAXMAP + #pragma skip_variants SHADOWS_SOFT + + #pragma multi_compile_fwdadd_fullshadows + #pragma multi_compile_fog + + #pragma vertex vertAdd + #pragma fragment fragAdd + #include "UnityStandardCoreForward.cginc" + + ENDCG + } + // ------------------------------------------------------------------ + // Shadow rendering pass + Pass { + Name "ShadowCaster" + Tags { "LightMode" = "ShadowCaster" } + + ZWrite On ZTest LEqual + + CGPROGRAM + #pragma target 3.0 + + //MFX + #pragma shader_feature _MASKTYPE_NONE _MASKTYPE_AXIS_LOCAL _MASKTYPE_AXIS_GLOBAL _MASKTYPE_GLOBAL + //#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON + #define _ALPHATEST_ON + + #pragma shader_feature _METALLICGLOSSMAP + #pragma skip_variants SHADOWS_SOFT + #pragma multi_compile_shadowcaster + + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + + #include "UnityStandardShadow.cginc" + + ENDCG + } + + // ------------------------------------------------------------------ + // Extracts information for lightmapping, GI (emission, albedo, ...) + // This pass it not used during regular rendering. + Pass + { + Name "META" + Tags { "LightMode"="Meta" } + + Cull Off + + CGPROGRAM + #pragma vertex vert_meta + #pragma fragment frag_meta + + #pragma shader_feature _EMISSION + #pragma shader_feature _METALLICGLOSSMAP + #pragma shader_feature _ _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + #pragma shader_feature ___ _DETAIL_MULX2 + #pragma shader_feature EDITOR_VISUALIZATION + + #include "UnityStandardMeta.cginc" + ENDCG + } + } + + FallBack "VertexLit" + //CustomEditor "StandardShaderGUI" +} |