333 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			333 lines
		
	
	
		
			8.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Shader "Standard Double Sided"
 | |
| {
 | |
| 	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
 | |
| 	}
 | |
| 
 | |
| 	CGINCLUDE
 | |
| 		#define UNITY_SETUP_BRDF_INPUT MetallicSetup
 | |
| 	ENDCG
 | |
| 
 | |
| 	SubShader
 | |
| 	{
 | |
| 		Tags { "RenderType"="Opaque" "PerformanceChecks"="False" }
 | |
| 		LOD 300
 | |
| 		Cull off
 | |
| 
 | |
| 		// ------------------------------------------------------------------
 | |
| 		//  Base forward pass (directional light, emission, lightmaps, ...)
 | |
| 		Pass
 | |
| 		{
 | |
| 			Name "FORWARD" 
 | |
| 			Tags { "LightMode" = "ForwardBase" }
 | |
| 
 | |
| 			Blend [_SrcBlend] [_DstBlend]
 | |
| 			ZWrite [_ZWrite]
 | |
| 
 | |
| 			CGPROGRAM
 | |
| 			#pragma target 3.0
 | |
| 
 | |
| 			// -------------------------------------
 | |
| 
 | |
| 			#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 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
 | |
| 
 | |
| 			// -------------------------------------
 | |
| 
 | |
| 
 | |
| 			#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
 | |
| 
 | |
| 
 | |
| 			#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
 | |
| 
 | |
| 			// -------------------------------------
 | |
| 
 | |
| 
 | |
| 			#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
 | |
| 			#pragma multi_compile_shadowcaster
 | |
| 
 | |
| 			#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
 | |
| 
 | |
| 
 | |
| 			// -------------------------------------
 | |
| 
 | |
| 			#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 ___ UNITY_HDR_ON
 | |
| 			#pragma multi_compile LIGHTMAP_OFF LIGHTMAP_ON
 | |
| 			#pragma multi_compile ___ DIRLIGHTMAP_COMBINED DIRLIGHTMAP_SEPARATE
 | |
| 			#pragma multi_compile DYNAMICLIGHTMAP_OFF DYNAMICLIGHTMAP_ON
 | |
| 
 | |
| 			#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
 | |
| 
 | |
| 			#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 2.0
 | |
| 			
 | |
| 			#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 _ _GLOSSYREFLECTIONS_OFF
 | |
| 			// SM2.0: NOT SUPPORTED shader_feature ___ _DETAIL_MULX2
 | |
| 			// SM2.0: NOT SUPPORTED shader_feature _PARALLAXMAP
 | |
| 
 | |
| 			#pragma skip_variants SHADOWS_SOFT DIRLIGHTMAP_COMBINED DIRLIGHTMAP_SEPARATE
 | |
| 
 | |
| 			#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 2.0
 | |
| 
 | |
| 			#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
 | |
| 			// 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 2.0
 | |
| 
 | |
| 			#pragma shader_feature _ _ALPHATEST_ON _ALPHABLEND_ON _ALPHAPREMULTIPLY_ON
 | |
| 			#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
 | |
| 
 | |
| 			#include "UnityStandardMeta.cginc"
 | |
| 			ENDCG
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 
 | |
| 	FallBack "VertexLit"
 | |
| 	CustomEditor "StandardShaderGUI"
 | |
| }
 |