Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Shader created with Shader Forge Beta 0.34
- // Shader Forge (c) Joachim Holmer - http://www.acegikmo.com/shaderforge/
- // Note: Manually altering this data may prevent you from opening it in Shader Forge
- /*SF_DATA;ver:0.34;sub:START;pass:START;ps:flbk:,lico:1,lgpr:1,nrmq:1,limd:1,uamb:True,mssp:True,lmpd:False,lprd:False,enco:True,frtr:True,vitr:True,dbil:False,rmgx:True,rpth:0,hqsc:True,hqlp:False,blpr:1,bsrc:3,bdst:7,culm:0,dpts:2,wrdp:True,ufog:True,aust:True,igpj:False,qofs:0,qpre:2,rntp:3,fgom:False,fgoc:False,fgod:False,fgor:False,fgmd:0,fgcr:0.5,fgcg:0.5,fgcb:0.5,fgca:1,fgde:0.01,fgrn:0,fgrf:300,ofsf:0,ofsu:0,f2p0:False;n:type:ShaderForge.SFN_Final,id:1,x:29779,y:33523|diff-1219-RGB,spec-2628-OUT,normal-2448-OUT,emission-2355-OUT,transm-2895-OUT,clip-2499-OUT;n:type:ShaderForge.SFN_Tex2d,id:1219,x:31156,y:32533,ptlb:Diffuse,ptin:_Diffuse,tex:1e2f861f111ab7347a6bbd8d2d792117,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Tex2d,id:1300,x:34046,y:32346,ptlb:Crack Normals,ptin:_CrackNormals,tex:139b45b767211a94291d96f416ba2859,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Power,id:2334,x:33468,y:32648|VAL-1300-B,EXP-2335-OUT;n:type:ShaderForge.SFN_Vector1,id:2335,x:33701,y:32707,v1:100;n:type:ShaderForge.SFN_OneMinus,id:2336,x:33229,y:32664|IN-2334-OUT;n:type:ShaderForge.SFN_Multiply,id:2337,x:32956,y:32821|A-2336-OUT,B-2342-OUT;n:type:ShaderForge.SFN_Tex2d,id:2338,x:34312,y:32917,ptlb:glow texture,ptin:_glowtexture,tex:62d73e7af651e4348b3568b7b00c8f78,ntxv:2,isnm:False;n:type:ShaderForge.SFN_Power,id:2339,x:33423,y:32854|VAL-3262-OUT,EXP-2341-OUT;n:type:ShaderForge.SFN_Vector1,id:2341,x:33634,y:33064,v1:6;n:type:ShaderForge.SFN_ComponentMask,id:2342,x:33206,y:32870,cc1:2,cc2:-1,cc3:-1,cc4:-1|IN-2339-OUT;n:type:ShaderForge.SFN_Multiply,id:2343,x:32724,y:32960|A-2337-OUT,B-2344-OUT;n:type:ShaderForge.SFN_Vector1,id:2344,x:33013,y:33081,v1:3;n:type:ShaderForge.SFN_Color,id:2346,x:32750,y:33185,ptlb:glow color,ptin:_glowcolor,glob:False,c1:0.9852941,c2:0.3099779,c3:0.1956099,c4:1;n:type:ShaderForge.SFN_Multiply,id:2347,x:32480,y:33052|A-2343-OUT,B-2346-RGB;n:type:ShaderForge.SFN_Clamp01,id:2355,x:30837,y:33429|IN-2395-OUT;n:type:ShaderForge.SFN_Slider,id:2394,x:32421,y:32667,ptlb:Effect Strength,ptin:_EffectStrength,min:0,cur:1,max:1;n:type:ShaderForge.SFN_Multiply,id:2395,x:31964,y:33177|A-2347-OUT,B-2394-OUT;n:type:ShaderForge.SFN_Multiply,id:2408,x:31747,y:32473|A-1300-RGB,B-2394-OUT;n:type:ShaderForge.SFN_Blend,id:2448,x:31552,y:32768,blmd:10,clmp:True|SRC-2453-OUT,DST-2653-OUT;n:type:ShaderForge.SFN_ComponentMask,id:2453,x:31579,y:32492,cc1:0,cc2:1,cc3:-1,cc4:-1|IN-2408-OUT;n:type:ShaderForge.SFN_ComponentMask,id:2471,x:31555,y:33362,cc1:0,cc2:-1,cc3:-1,cc4:-1|IN-2395-OUT;n:type:ShaderForge.SFN_Clamp01,id:2499,x:30905,y:33569|IN-2764-OUT;n:type:ShaderForge.SFN_Time,id:2517,x:33134,y:33746;n:type:ShaderForge.SFN_Tex2d,id:2520,x:31347,y:33845,ptlb:crack glow,ptin:_crackglow,tex:bd6d4f915979edd4b9b881c29995025f,ntxv:2,isnm:False|UVIN-2914-OUT;n:type:ShaderForge.SFN_TexCoord,id:2596,x:31820,y:33836,uv:0;n:type:ShaderForge.SFN_Power,id:2597,x:31146,y:33835|VAL-2520-RGB,EXP-2599-OUT;n:type:ShaderForge.SFN_Vector1,id:2599,x:31292,y:34082,v1:2;n:type:ShaderForge.SFN_Desaturate,id:2616,x:31443,y:33034|COL-2448-OUT;n:type:ShaderForge.SFN_Power,id:2619,x:31223,y:33107|VAL-2616-OUT,EXP-2620-OUT;n:type:ShaderForge.SFN_Vector1,id:2620,x:31570,y:33159,v1:5;n:type:ShaderForge.SFN_RemapRange,id:2628,x:31008,y:33131,frmn:0,frmx:1,tomn:0,tomx:0.7|IN-2619-OUT;n:type:ShaderForge.SFN_Vector3,id:2653,x:31879,y:32711,v1:0.5,v2:0.5,v3:1;n:type:ShaderForge.SFN_Add,id:2745,x:31318,y:33538|A-2471-OUT,B-2996-OUT;n:type:ShaderForge.SFN_Multiply,id:2764,x:31125,y:33640|A-2745-OUT,B-2996-OUT;n:type:ShaderForge.SFN_RemapRange,id:2774,x:30955,y:34599,frmn:0,frmx:1,tomn:-1,tomx:1|IN-2915-UVOUT;n:type:ShaderForge.SFN_Multiply,id:2775,x:30790,y:34599|A-2774-OUT,B-2774-OUT;n:type:ShaderForge.SFN_ComponentMask,id:2776,x:30652,y:34599,cc1:0,cc2:1,cc3:-1,cc4:-1|IN-2775-OUT;n:type:ShaderForge.SFN_Add,id:2777,x:30467,y:34599|A-2776-R,B-2776-G;n:type:ShaderForge.SFN_Multiply,id:2778,x:30943,y:33894|A-2597-OUT,B-2777-OUT;n:type:ShaderForge.SFN_Vector3,id:2870,x:30906,y:34043,v1:0.9779412,v2:0.4917477,v3:0.05033519;n:type:ShaderForge.SFN_Multiply,id:2871,x:30687,y:33914|A-2778-OUT,B-2870-OUT;n:type:ShaderForge.SFN_Clamp01,id:2895,x:30082,y:33681|IN-3251-OUT;n:type:ShaderForge.SFN_Vector1,id:2910,x:32355,y:34199,v1:0.2;n:type:ShaderForge.SFN_Vector1,id:2911,x:32355,y:34122,v1:0.5;n:type:ShaderForge.SFN_Append,id:2912,x:32124,y:34155|A-2911-OUT,B-2910-OUT;n:type:ShaderForge.SFN_Multiply,id:2913,x:31788,y:34050|A-2912-OUT,B-2517-TSL;n:type:ShaderForge.SFN_Add,id:2914,x:31560,y:33894|A-2596-UVOUT,B-2913-OUT;n:type:ShaderForge.SFN_TexCoord,id:2915,x:31176,y:34599,uv:0;n:type:ShaderForge.SFN_Sin,id:2951,x:31967,y:33647|IN-2517-T;n:type:ShaderForge.SFN_RemapRange,id:2952,x:31799,y:33647,frmn:-1,frmx:1,tomn:0,tomx:1|IN-2951-OUT;n:type:ShaderForge.SFN_SwitchProperty,id:2996,x:31560,y:33698,ptlb:slider controls alpha?,ptin:_slidercontrolsalpha,on:False|A-2952-OUT,B-2394-OUT;n:type:ShaderForge.SFN_Relay,id:3200,x:31839,y:34551|IN-2517-TTR;n:type:ShaderForge.SFN_Sin,id:3201,x:31276,y:34241|IN-3200-OUT;n:type:ShaderForge.SFN_RemapRange,id:3202,x:30668,y:34105,frmn:-1,frmx:1,tomn:0,tomx:1|IN-3201-OUT;n:type:ShaderForge.SFN_Multiply,id:3203,x:30454,y:33843|A-2871-OUT,B-3202-OUT;n:type:ShaderForge.SFN_Tex2d,id:3225,x:34247,y:32721,ptlb:glow texture2,ptin:_glowtexture2,tex:a7a0fe7a1c016ff4ebfa3fdea495a14a,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Lerp,id:3226,x:33911,y:32851|A-3225-RGB,B-2338-RGB,T-3228-OUT;n:type:ShaderForge.SFN_Relay,id:3227,x:34326,y:33308|IN-2517-T;n:type:ShaderForge.SFN_Sin,id:3228,x:34057,y:33204|IN-3227-OUT;n:type:ShaderForge.SFN_Vector3,id:3249,x:30739,y:33718,v1:1,v2:0.6944218,v3:0.03676468;n:type:ShaderForge.SFN_Multiply,id:3250,x:30519,y:33680|A-2628-OUT,B-3249-OUT;n:type:ShaderForge.SFN_Add,id:3251,x:30249,y:33681|A-3203-OUT,B-3250-OUT;n:type:ShaderForge.SFN_Tex2d,id:3259,x:34110,y:33047,ptlb:glow texture3,ptin:_glowtexture3,tex:646b2d0729b618c40a2aa61e2e649b0f,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Lerp,id:3262,x:33701,y:32851,cmnt:switch between 3 glow textures|A-3226-OUT,B-3259-RGB,T-3263-OUT;n:type:ShaderForge.SFN_Cos,id:3263,x:33983,y:33390|IN-3227-OUT;proporder:1219-1300-2338-3225-3259-2346-2394-2520-2996;pass:END;sub:END;*/
- Shader "Custom/shader_crumble" {
- Properties {
- _Diffuse ("Diffuse", 2D) = "white" {}
- _CrackNormals ("Crack Normals", 2D) = "white" {}
- _glowtexture ("glow texture", 2D) = "black" {}
- _glowtexture2 ("glow texture2", 2D) = "white" {}
- _glowtexture3 ("glow texture3", 2D) = "white" {}
- _glowcolor ("glow color", Color) = (0.9852941,0.3099779,0.1956099,1)
- _EffectStrength ("Effect Strength", Range(0, 1)) = 1
- _crackglow ("crack glow", 2D) = "black" {}
- [MaterialToggle] _slidercontrolsalpha ("slider controls alpha?", Float ) = 0.5
- [HideInInspector]_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
- }
- SubShader {
- Tags {
- "Queue"="AlphaTest"
- "RenderType"="TransparentCutout"
- }
- LOD 200
- Pass {
- Name "ForwardBase"
- Tags {
- "LightMode"="ForwardBase"
- }
- Blend SrcAlpha OneMinusSrcAlpha
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #define UNITY_PASS_FORWARDBASE
- #include "UnityCG.cginc"
- #include "AutoLight.cginc"
- #pragma multi_compile_fwdbase_fullshadows
- #pragma exclude_renderers xbox360 ps3 flash d3d11_9x
- #pragma target 3.0
- uniform float4 _LightColor0;
- uniform float4 _TimeEditor;
- uniform sampler2D _Diffuse; uniform float4 _Diffuse_ST;
- uniform sampler2D _CrackNormals; uniform float4 _CrackNormals_ST;
- uniform sampler2D _glowtexture; uniform float4 _glowtexture_ST;
- uniform float4 _glowcolor;
- uniform float _EffectStrength;
- uniform sampler2D _crackglow; uniform float4 _crackglow_ST;
- uniform fixed _slidercontrolsalpha;
- uniform sampler2D _glowtexture2; uniform float4 _glowtexture2_ST;
- uniform sampler2D _glowtexture3; uniform float4 _glowtexture3_ST;
- struct VertexInput {
- float4 vertex : POSITION;
- float3 normal : NORMAL;
- float4 tangent : TANGENT;
- float2 texcoord0 : TEXCOORD0;
- };
- struct VertexOutput {
- float4 pos : SV_POSITION;
- float2 uv0 : TEXCOORD0;
- float4 posWorld : TEXCOORD1;
- float3 normalDir : TEXCOORD2;
- float3 tangentDir : TEXCOORD3;
- float3 binormalDir : TEXCOORD4;
- LIGHTING_COORDS(5,6)
- };
- VertexOutput vert (VertexInput v) {
- VertexOutput o;
- o.uv0 = v.texcoord0;
- o.normalDir = mul(float4(v.normal,0), _World2Object).xyz;
- o.tangentDir = normalize( mul( _Object2World, float4( v.tangent.xyz, 0.0 ) ).xyz );
- o.binormalDir = normalize(cross(o.normalDir, o.tangentDir) * v.tangent.w);
- o.posWorld = mul(_Object2World, v.vertex);
- o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
- TRANSFER_VERTEX_TO_FRAGMENT(o)
- return o;
- }
- fixed4 frag(VertexOutput i) : COLOR {
- i.normalDir = normalize(i.normalDir);
- float3x3 tangentTransform = float3x3( i.tangentDir, i.binormalDir, i.normalDir);
- float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
- /////// Normals:
- float2 node_3470 = i.uv0;
- float4 node_1300 = tex2D(_CrackNormals,TRANSFORM_TEX(node_3470.rg, _CrackNormals));
- float3 node_2448 = saturate(( float3(0.5,0.5,1) > 0.5 ? (1.0-(1.0-2.0*(float3(0.5,0.5,1)-0.5))*(1.0-float3((node_1300.rgb*_EffectStrength).rg,0.0))) : (2.0*float3(0.5,0.5,1)*float3((node_1300.rgb*_EffectStrength).rg,0.0)) ));
- float3 normalLocal = node_2448;
- float3 normalDirection = normalize(mul( normalLocal, tangentTransform )); // Perturbed normals
- float4 node_2517 = _Time + _TimeEditor;
- float node_3227 = node_2517.g;
- float3 node_2395 = (((((1.0 - pow(node_1300.b,100.0))*pow(lerp(lerp(tex2D(_glowtexture2,TRANSFORM_TEX(node_3470.rg, _glowtexture2)).rgb,tex2D(_glowtexture,TRANSFORM_TEX(node_3470.rg, _glowtexture)).rgb,sin(node_3227)),tex2D(_glowtexture3,TRANSFORM_TEX(node_3470.rg, _glowtexture3)).rgb,cos(node_3227)),6.0).b)*3.0)*_glowcolor.rgb)*_EffectStrength);
- float node_2996 = lerp( (sin(node_2517.g)*0.5+0.5), _EffectStrength, _slidercontrolsalpha );
- clip(saturate(((node_2395.r+node_2996)*node_2996)) - 0.5);
- float3 lightDirection = normalize(_WorldSpaceLightPos0.xyz);
- float3 halfDirection = normalize(viewDirection+lightDirection);
- ////// Lighting:
- float attenuation = LIGHT_ATTENUATION(i);
- float3 attenColor = attenuation * _LightColor0.xyz;
- float Pi = 3.141592654;
- float InvPi = 0.31830988618;
- /////// Diffuse:
- float NdotL = dot( normalDirection, lightDirection );
- float3 forwardLight = max(0.0, NdotL );
- float2 node_2914 = (i.uv0.rg+(float2(0.5,0.2)*node_2517.r));
- float2 node_2774 = (i.uv0.rg*2.0+-1.0);
- float2 node_2776 = (node_2774*node_2774).rg;
- float node_2628 = (pow(dot(node_2448,float3(0.3,0.59,0.11)),5.0)*0.7+0.0);
- float3 backLight = max(0.0, -NdotL ) * saturate(((((pow(tex2D(_crackglow,TRANSFORM_TEX(node_2914, _crackglow)).rgb,2.0)*(node_2776.r+node_2776.g))*float3(0.9779412,0.4917477,0.05033519))*(sin(node_2517.a)*0.5+0.5))+(node_2628*float3(1,0.6944218,0.03676468))));
- float3 diffuse = (forwardLight+backLight)*InvPi * attenColor + UNITY_LIGHTMODEL_AMBIENT.rgb;
- ////// Emissive:
- float3 emissive = saturate(node_2395);
- ///////// Gloss:
- float gloss = 0.5;
- float specPow = exp2( gloss * 10.0+1.0);
- ////// Specular:
- NdotL = max(0.0, NdotL);
- float3 specularColor = float3(node_2628,node_2628,node_2628);
- float specularMonochrome = dot(specularColor,float3(0.3,0.59,0.11));
- float normTerm = (specPow + 8.0 ) / (8.0 * Pi);
- float3 specular = (floor(attenuation) * _LightColor0.xyz) * pow(max(0,dot(halfDirection,normalDirection)),specPow) * specularColor*normTerm;
- float3 finalColor = 0;
- float3 diffuseLight = diffuse;
- diffuseLight *= 1-specularMonochrome;
- finalColor += diffuseLight * tex2D(_Diffuse,TRANSFORM_TEX(node_3470.rg, _Diffuse)).rgb;
- finalColor += specular;
- finalColor += emissive;
- /// Final Color:
- return fixed4(finalColor,1);
- }
- ENDCG
- }
- Pass {
- Name "ForwardAdd"
- Tags {
- "LightMode"="ForwardAdd"
- }
- Blend One One
- Fog { Color (0,0,0,0) }
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #define UNITY_PASS_FORWARDADD
- #include "UnityCG.cginc"
- #include "AutoLight.cginc"
- #pragma multi_compile_fwdadd_fullshadows
- #pragma exclude_renderers xbox360 ps3 flash d3d11_9x
- #pragma target 3.0
- uniform float4 _LightColor0;
- uniform float4 _TimeEditor;
- uniform sampler2D _Diffuse; uniform float4 _Diffuse_ST;
- uniform sampler2D _CrackNormals; uniform float4 _CrackNormals_ST;
- uniform sampler2D _glowtexture; uniform float4 _glowtexture_ST;
- uniform float4 _glowcolor;
- uniform float _EffectStrength;
- uniform sampler2D _crackglow; uniform float4 _crackglow_ST;
- uniform fixed _slidercontrolsalpha;
- uniform sampler2D _glowtexture2; uniform float4 _glowtexture2_ST;
- uniform sampler2D _glowtexture3; uniform float4 _glowtexture3_ST;
- struct VertexInput {
- float4 vertex : POSITION;
- float3 normal : NORMAL;
- float4 tangent : TANGENT;
- float2 texcoord0 : TEXCOORD0;
- };
- struct VertexOutput {
- float4 pos : SV_POSITION;
- float2 uv0 : TEXCOORD0;
- float4 posWorld : TEXCOORD1;
- float3 normalDir : TEXCOORD2;
- float3 tangentDir : TEXCOORD3;
- float3 binormalDir : TEXCOORD4;
- LIGHTING_COORDS(5,6)
- };
- VertexOutput vert (VertexInput v) {
- VertexOutput o;
- o.uv0 = v.texcoord0;
- o.normalDir = mul(float4(v.normal,0), _World2Object).xyz;
- o.tangentDir = normalize( mul( _Object2World, float4( v.tangent.xyz, 0.0 ) ).xyz );
- o.binormalDir = normalize(cross(o.normalDir, o.tangentDir) * v.tangent.w);
- o.posWorld = mul(_Object2World, v.vertex);
- o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
- TRANSFER_VERTEX_TO_FRAGMENT(o)
- return o;
- }
- fixed4 frag(VertexOutput i) : COLOR {
- i.normalDir = normalize(i.normalDir);
- float3x3 tangentTransform = float3x3( i.tangentDir, i.binormalDir, i.normalDir);
- float3 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
- /////// Normals:
- float2 node_3471 = i.uv0;
- float4 node_1300 = tex2D(_CrackNormals,TRANSFORM_TEX(node_3471.rg, _CrackNormals));
- float3 node_2448 = saturate(( float3(0.5,0.5,1) > 0.5 ? (1.0-(1.0-2.0*(float3(0.5,0.5,1)-0.5))*(1.0-float3((node_1300.rgb*_EffectStrength).rg,0.0))) : (2.0*float3(0.5,0.5,1)*float3((node_1300.rgb*_EffectStrength).rg,0.0)) ));
- float3 normalLocal = node_2448;
- float3 normalDirection = normalize(mul( normalLocal, tangentTransform )); // Perturbed normals
- float4 node_2517 = _Time + _TimeEditor;
- float node_3227 = node_2517.g;
- float3 node_2395 = (((((1.0 - pow(node_1300.b,100.0))*pow(lerp(lerp(tex2D(_glowtexture2,TRANSFORM_TEX(node_3471.rg, _glowtexture2)).rgb,tex2D(_glowtexture,TRANSFORM_TEX(node_3471.rg, _glowtexture)).rgb,sin(node_3227)),tex2D(_glowtexture3,TRANSFORM_TEX(node_3471.rg, _glowtexture3)).rgb,cos(node_3227)),6.0).b)*3.0)*_glowcolor.rgb)*_EffectStrength);
- float node_2996 = lerp( (sin(node_2517.g)*0.5+0.5), _EffectStrength, _slidercontrolsalpha );
- clip(saturate(((node_2395.r+node_2996)*node_2996)) - 0.5);
- float3 lightDirection = normalize(lerp(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz - i.posWorld.xyz,_WorldSpaceLightPos0.w));
- float3 halfDirection = normalize(viewDirection+lightDirection);
- ////// Lighting:
- float attenuation = LIGHT_ATTENUATION(i);
- float3 attenColor = attenuation * _LightColor0.xyz;
- float Pi = 3.141592654;
- float InvPi = 0.31830988618;
- /////// Diffuse:
- float NdotL = dot( normalDirection, lightDirection );
- float3 forwardLight = max(0.0, NdotL );
- float2 node_2914 = (i.uv0.rg+(float2(0.5,0.2)*node_2517.r));
- float2 node_2774 = (i.uv0.rg*2.0+-1.0);
- float2 node_2776 = (node_2774*node_2774).rg;
- float node_2628 = (pow(dot(node_2448,float3(0.3,0.59,0.11)),5.0)*0.7+0.0);
- float3 backLight = max(0.0, -NdotL ) * saturate(((((pow(tex2D(_crackglow,TRANSFORM_TEX(node_2914, _crackglow)).rgb,2.0)*(node_2776.r+node_2776.g))*float3(0.9779412,0.4917477,0.05033519))*(sin(node_2517.a)*0.5+0.5))+(node_2628*float3(1,0.6944218,0.03676468))));
- float3 diffuse = (forwardLight+backLight)*InvPi * attenColor;
- ///////// Gloss:
- float gloss = 0.5;
- float specPow = exp2( gloss * 10.0+1.0);
- ////// Specular:
- NdotL = max(0.0, NdotL);
- float3 specularColor = float3(node_2628,node_2628,node_2628);
- float specularMonochrome = dot(specularColor,float3(0.3,0.59,0.11));
- float normTerm = (specPow + 8.0 ) / (8.0 * Pi);
- float3 specular = attenColor * pow(max(0,dot(halfDirection,normalDirection)),specPow) * specularColor*normTerm;
- float3 finalColor = 0;
- float3 diffuseLight = diffuse;
- diffuseLight *= 1-specularMonochrome;
- finalColor += diffuseLight * tex2D(_Diffuse,TRANSFORM_TEX(node_3471.rg, _Diffuse)).rgb;
- finalColor += specular;
- /// Final Color:
- return fixed4(finalColor * 1,0);
- }
- ENDCG
- }
- Pass {
- Name "ShadowCollector"
- Tags {
- "LightMode"="ShadowCollector"
- }
- Fog {Mode Off}
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #define UNITY_PASS_SHADOWCOLLECTOR
- #define SHADOW_COLLECTOR_PASS
- #include "UnityCG.cginc"
- #include "Lighting.cginc"
- #pragma fragmentoption ARB_precision_hint_fastest
- #pragma multi_compile_shadowcollector
- #pragma exclude_renderers xbox360 ps3 flash d3d11_9x
- #pragma target 3.0
- uniform float4 _TimeEditor;
- uniform sampler2D _CrackNormals; uniform float4 _CrackNormals_ST;
- uniform sampler2D _glowtexture; uniform float4 _glowtexture_ST;
- uniform float4 _glowcolor;
- uniform float _EffectStrength;
- uniform fixed _slidercontrolsalpha;
- uniform sampler2D _glowtexture2; uniform float4 _glowtexture2_ST;
- uniform sampler2D _glowtexture3; uniform float4 _glowtexture3_ST;
- struct VertexInput {
- float4 vertex : POSITION;
- float2 texcoord0 : TEXCOORD0;
- };
- struct VertexOutput {
- V2F_SHADOW_COLLECTOR;
- float2 uv0 : TEXCOORD5;
- };
- VertexOutput vert (VertexInput v) {
- VertexOutput o;
- o.uv0 = v.texcoord0;
- o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
- TRANSFER_SHADOW_COLLECTOR(o)
- return o;
- }
- fixed4 frag(VertexOutput i) : COLOR {
- float2 node_3472 = i.uv0;
- float4 node_1300 = tex2D(_CrackNormals,TRANSFORM_TEX(node_3472.rg, _CrackNormals));
- float4 node_2517 = _Time + _TimeEditor;
- float node_3227 = node_2517.g;
- float3 node_2395 = (((((1.0 - pow(node_1300.b,100.0))*pow(lerp(lerp(tex2D(_glowtexture2,TRANSFORM_TEX(node_3472.rg, _glowtexture2)).rgb,tex2D(_glowtexture,TRANSFORM_TEX(node_3472.rg, _glowtexture)).rgb,sin(node_3227)),tex2D(_glowtexture3,TRANSFORM_TEX(node_3472.rg, _glowtexture3)).rgb,cos(node_3227)),6.0).b)*3.0)*_glowcolor.rgb)*_EffectStrength);
- float node_2996 = lerp( (sin(node_2517.g)*0.5+0.5), _EffectStrength, _slidercontrolsalpha );
- clip(saturate(((node_2395.r+node_2996)*node_2996)) - 0.5);
- SHADOW_COLLECTOR_FRAGMENT(i)
- }
- ENDCG
- }
- Pass {
- Name "ShadowCaster"
- Tags {
- "LightMode"="ShadowCaster"
- }
- Cull Off
- Offset 1, 1
- Fog {Mode Off}
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #define UNITY_PASS_SHADOWCASTER
- #include "UnityCG.cginc"
- #include "Lighting.cginc"
- #pragma fragmentoption ARB_precision_hint_fastest
- #pragma multi_compile_shadowcaster
- #pragma exclude_renderers xbox360 ps3 flash d3d11_9x
- #pragma target 3.0
- uniform float4 _TimeEditor;
- uniform sampler2D _CrackNormals; uniform float4 _CrackNormals_ST;
- uniform sampler2D _glowtexture; uniform float4 _glowtexture_ST;
- uniform float4 _glowcolor;
- uniform float _EffectStrength;
- uniform fixed _slidercontrolsalpha;
- uniform sampler2D _glowtexture2; uniform float4 _glowtexture2_ST;
- uniform sampler2D _glowtexture3; uniform float4 _glowtexture3_ST;
- struct VertexInput {
- float4 vertex : POSITION;
- float2 texcoord0 : TEXCOORD0;
- };
- struct VertexOutput {
- V2F_SHADOW_CASTER;
- float2 uv0 : TEXCOORD1;
- };
- VertexOutput vert (VertexInput v) {
- VertexOutput o;
- o.uv0 = v.texcoord0;
- o.pos = mul(UNITY_MATRIX_MVP, v.vertex);
- TRANSFER_SHADOW_CASTER(o)
- return o;
- }
- fixed4 frag(VertexOutput i) : COLOR {
- float2 node_3473 = i.uv0;
- float4 node_1300 = tex2D(_CrackNormals,TRANSFORM_TEX(node_3473.rg, _CrackNormals));
- float4 node_2517 = _Time + _TimeEditor;
- float node_3227 = node_2517.g;
- float3 node_2395 = (((((1.0 - pow(node_1300.b,100.0))*pow(lerp(lerp(tex2D(_glowtexture2,TRANSFORM_TEX(node_3473.rg, _glowtexture2)).rgb,tex2D(_glowtexture,TRANSFORM_TEX(node_3473.rg, _glowtexture)).rgb,sin(node_3227)),tex2D(_glowtexture3,TRANSFORM_TEX(node_3473.rg, _glowtexture3)).rgb,cos(node_3227)),6.0).b)*3.0)*_glowcolor.rgb)*_EffectStrength);
- float node_2996 = lerp( (sin(node_2517.g)*0.5+0.5), _EffectStrength, _slidercontrolsalpha );
- clip(saturate(((node_2395.r+node_2996)*node_2996)) - 0.5);
- SHADOW_CASTER_FRAGMENT(i)
- }
- ENDCG
- }
- }
- FallBack "Diffuse"
- CustomEditor "ShaderForgeMaterialInspector"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement