Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Shader created with Shader Forge v1.38
- // Shader Forge (c) Neat Corporation / Joachim Holmer - http://www.acegikmo.com/shaderforge/
- // Note: Manually altering this data may prevent you from opening it in Shader Forge
- /*SF_DATA;ver:1.38;sub:START;pass:START;ps:flbk:,iptp:0,cusa:False,bamd:0,cgin:,lico:1,lgpr:1,limd:1,spmd:1,trmd:0,grmd:0,uamb:True,mssp:True,bkdf:False,hqlp:False,rprd:False,enco:False,rmgx:True,imps:True,rpth:0,vtps:0,hqsc:True,nrmq:1,nrsp:0,vomd:0,spxs:False,tesm:0,olmd:1,culm:0,bsrc:0,bdst:1,dpts:2,wrdp:True,dith:0,atcv:False,rfrpo:True,rfrpn:Refraction,coma:15,ufog:True,aust:True,igpj:False,qofs:0,qpre:1,rntp:1,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,stcl:False,atwp:False,stva:128,stmr:255,stmw:255,stcp:6,stps:0,stfa:0,stfz:0,ofsf:0,ofsu:0,f2p0:False,fnsp:False,fnfb:False,fsmp:False;n:type:ShaderForge.SFN_Final,id:3126,x:32719,y:32712,varname:node_3126,prsc:2|diff-8115-OUT,voffset-9589-OUT;n:type:ShaderForge.SFN_NormalVector,id:3835,x:31899,y:33431,prsc:2,pt:False;n:type:ShaderForge.SFN_Multiply,id:3509,x:32106,y:33112,varname:node_3509,prsc:2|A-1120-OUT,B-3835-OUT;n:type:ShaderForge.SFN_ValueProperty,id:2269,x:32189,y:32953,ptovrint:False,ptlb:DisplacementMagnitude,ptin:_DisplacementMagnitude,varname:node_2269,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,v1:0.05;n:type:ShaderForge.SFN_Multiply,id:9589,x:32466,y:32983,varname:node_9589,prsc:2|A-3509-OUT,B-2269-OUT;n:type:ShaderForge.SFN_Vector1,id:4835,x:30586,y:33158,varname:node_4835,prsc:2,v1:0.9;n:type:ShaderForge.SFN_Vector1,id:2131,x:30586,y:33097,varname:node_2131,prsc:2,v1:0.7;n:type:ShaderForge.SFN_Tex2d,id:1532,x:30697,y:32435,ptovrint:False,ptlb:Albedo,ptin:_Albedo,varname:node_1532,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,tex:28c7aad1372ff114b90d330f8a2dd938,ntxv:0,isnm:False|UVIN-4969-UVOUT;n:type:ShaderForge.SFN_UVTile,id:4969,x:30426,y:32365,varname:node_4969,prsc:2|UVIN-9931-UVOUT,WDT-1447-OUT,HGT-4017-OUT,TILE-8921-OUT;n:type:ShaderForge.SFN_TexCoord,id:9931,x:30203,y:32274,varname:node_9931,prsc:2,uv:0,uaff:False;n:type:ShaderForge.SFN_Vector1,id:1447,x:30203,y:32472,varname:node_1447,prsc:2,v1:0.25;n:type:ShaderForge.SFN_Vector1,id:4017,x:30203,y:32541,varname:node_4017,prsc:2,v1:0.25;n:type:ShaderForge.SFN_Vector1,id:8921,x:30203,y:32618,varname:node_8921,prsc:2,v1:0;n:type:ShaderForge.SFN_RemapRangeAdvanced,id:1579,x:31138,y:32760,varname:node_1579,prsc:2|IN-1532-RGB,IMIN-5311-OUT,IMAX-8500-OUT,OMIN-2131-OUT,OMAX-4835-OUT;n:type:ShaderForge.SFN_Vector1,id:5311,x:30586,y:32982,varname:node_5311,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:8500,x:30586,y:33041,varname:node_8500,prsc:2,v1:1;n:type:ShaderForge.SFN_Tex2d,id:653,x:30630,y:33315,ptovrint:False,ptlb:Voronoi,ptin:_Voronoi,varname:node_653,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,tex:dccc66c1c88bd3b4f9a2a293b3600ba2,ntxv:0,isnm:False|UVIN-4489-UVOUT;n:type:ShaderForge.SFN_RemapRangeAdvanced,id:7142,x:31376,y:33379,varname:node_7142,prsc:2|IN-653-RGB,IMIN-5311-OUT,IMAX-8500-OUT,OMIN-4998-OUT,OMAX-8569-OUT;n:type:ShaderForge.SFN_UVTile,id:4489,x:30418,y:33355,varname:node_4489,prsc:2|UVIN-7549-UVOUT,WDT-5331-OUT,HGT-8316-OUT,TILE-4061-OUT;n:type:ShaderForge.SFN_TexCoord,id:7549,x:30195,y:33264,varname:node_7549,prsc:2,uv:0,uaff:False;n:type:ShaderForge.SFN_Vector1,id:5331,x:30195,y:33463,varname:node_5331,prsc:2,v1:1;n:type:ShaderForge.SFN_Vector1,id:8316,x:30195,y:33532,varname:node_8316,prsc:2,v1:1;n:type:ShaderForge.SFN_Vector1,id:4061,x:30195,y:33608,varname:node_4061,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:4998,x:30768,y:33531,varname:node_4998,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:8569,x:30768,y:33601,varname:node_8569,prsc:2,v1:0.9;n:type:ShaderForge.SFN_RemapRangeAdvanced,id:1687,x:31341,y:33142,varname:node_1687,prsc:2|IN-1532-RGB,IMIN-5311-OUT,IMAX-8500-OUT,OMIN-2282-OUT,OMAX-7560-OUT;n:type:ShaderForge.SFN_Vector1,id:2282,x:30843,y:33151,varname:node_2282,prsc:2,v1:0.4;n:type:ShaderForge.SFN_Vector1,id:7560,x:30843,y:33208,varname:node_7560,prsc:2,v1:1;n:type:ShaderForge.SFN_Blend,id:856,x:31587,y:33124,varname:node_856,prsc:2,blmd:0,clmp:True|SRC-1687-OUT,DST-7142-OUT;n:type:ShaderForge.SFN_Step,id:5041,x:31159,y:32911,varname:node_5041,prsc:2|A-7246-RGB,B-5254-OUT;n:type:ShaderForge.SFN_Vector1,id:5254,x:30980,y:32960,varname:node_5254,prsc:2,v1:0.7;n:type:ShaderForge.SFN_OneMinus,id:7310,x:31320,y:32911,varname:node_7310,prsc:2|IN-5041-OUT;n:type:ShaderForge.SFN_Add,id:8115,x:31769,y:32800,varname:node_8115,prsc:2|A-1579-OUT,B-9107-OUT;n:type:ShaderForge.SFN_Tex2d,id:7246,x:30687,y:32787,ptovrint:False,ptlb:Albedo_copy,ptin:_Albedo_copy,varname:_Albedo_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,tex:e958c6041cfe445e987c73751e8d4082,ntxv:0,isnm:False|UVIN-2369-UVOUT;n:type:ShaderForge.SFN_UVTile,id:2369,x:30431,y:32804,varname:node_2369,prsc:2|UVIN-7747-UVOUT,WDT-3321-OUT,HGT-7013-OUT,TILE-6709-OUT;n:type:ShaderForge.SFN_TexCoord,id:7747,x:30208,y:32713,varname:node_7747,prsc:2,uv:0,uaff:False;n:type:ShaderForge.SFN_Vector1,id:3321,x:30208,y:32911,varname:node_3321,prsc:2,v1:1;n:type:ShaderForge.SFN_Vector1,id:7013,x:30208,y:32980,varname:node_7013,prsc:2,v1:1;n:type:ShaderForge.SFN_Vector1,id:6709,x:30208,y:33057,varname:node_6709,prsc:2,v1:0;n:type:ShaderForge.SFN_Clamp,id:9107,x:31599,y:32863,varname:node_9107,prsc:2|IN-7310-OUT,MIN-2850-OUT,MAX-5082-OUT;n:type:ShaderForge.SFN_Vector1,id:2850,x:31434,y:32993,varname:node_2850,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:5082,x:31434,y:33054,varname:node_5082,prsc:2,v1:0.5;n:type:ShaderForge.SFN_Vector1,id:8000,x:30584,y:34210,varname:node_8000,prsc:2,v1:1;n:type:ShaderForge.SFN_Vector1,id:2134,x:30584,y:34149,varname:node_2134,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:6622,x:30584,y:34034,varname:node_6622,prsc:2,v1:0;n:type:ShaderForge.SFN_Vector1,id:6884,x:30584,y:34093,varname:node_6884,prsc:2,v1:1;n:type:ShaderForge.SFN_Tex2d,id:8476,x:30685,y:33839,ptovrint:False,ptlb:Albedo_copy_copy,ptin:_Albedo_copy_copy,varname:_Albedo_copy_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,tex:e958c6041cfe445e987c73751e8d4082,ntxv:0,isnm:False|UVIN-9147-UVOUT;n:type:ShaderForge.SFN_UVTile,id:9147,x:30429,y:33856,varname:node_9147,prsc:2|UVIN-3099-UVOUT,WDT-1927-OUT,HGT-2832-OUT,TILE-3542-OUT;n:type:ShaderForge.SFN_TexCoord,id:3099,x:30206,y:33765,varname:node_3099,prsc:2,uv:0,uaff:False;n:type:ShaderForge.SFN_Vector1,id:1927,x:30206,y:33958,varname:node_1927,prsc:2,v1:0.25;n:type:ShaderForge.SFN_Vector1,id:2832,x:30206,y:34032,varname:node_2832,prsc:2,v1:0.25;n:type:ShaderForge.SFN_Vector1,id:3542,x:30206,y:34109,varname:node_3542,prsc:2,v1:0;n:type:ShaderForge.SFN_RemapRangeAdvanced,id:3122,x:31016,y:34012,varname:node_3122,prsc:2|IN-8476-RGB,IMIN-6622-OUT,IMAX-6884-OUT,OMIN-2134-OUT,OMAX-8000-OUT;n:type:ShaderForge.SFN_Add,id:1120,x:31793,y:33276,varname:node_1120,prsc:2|A-856-OUT,B-4954-OUT;n:type:ShaderForge.SFN_Vector1,id:4814,x:30964,y:33725,varname:node_4814,prsc:2,v1:4;n:type:ShaderForge.SFN_Posterize,id:7903,x:31236,y:33738,varname:node_7903,prsc:2|IN-3122-OUT,STPS-4814-OUT;n:type:ShaderForge.SFN_OneMinus,id:4954,x:31471,y:33612,varname:node_4954,prsc:2|IN-7903-OUT;proporder:2269-1532-653-7246-8476;pass:END;sub:END;*/
- Shader "Winter/SnowSurface" {
- Properties {
- _DisplacementMagnitude ("DisplacementMagnitude", Float ) = 0.05
- _Albedo ("Albedo", 2D) = "white" {}
- _Voronoi ("Voronoi", 2D) = "white" {}
- _Albedo_copy ("Albedo_copy", 2D) = "white" {}
- _Albedo_copy_copy ("Albedo_copy_copy", 2D) = "white" {}
- }
- SubShader {
- Tags {
- "RenderType"="Opaque"
- }
- LOD 200
- Pass {
- Name "FORWARD"
- Tags {
- "LightMode"="ForwardBase"
- }
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #define UNITY_PASS_FORWARDBASE
- #include "UnityCG.cginc"
- #include "AutoLight.cginc"
- #pragma multi_compile_fwdbase_fullshadows
- #pragma multi_compile_fog
- #pragma only_renderers d3d9 d3d11 glcore gles
- #pragma target 3.0
- uniform float4 _LightColor0;
- uniform float _DisplacementMagnitude;
- uniform sampler2D _Albedo; uniform float4 _Albedo_ST;
- uniform sampler2D _Voronoi; uniform float4 _Voronoi_ST;
- uniform sampler2D _Albedo_copy; uniform float4 _Albedo_copy_ST;
- uniform sampler2D _Albedo_copy_copy; uniform float4 _Albedo_copy_copy_ST;
- struct VertexInput {
- float4 vertex : POSITION;
- float3 normal : NORMAL;
- float2 texcoord0 : TEXCOORD0;
- };
- struct VertexOutput {
- float4 pos : SV_POSITION;
- float2 uv0 : TEXCOORD0;
- float4 posWorld : TEXCOORD1;
- float3 normalDir : TEXCOORD2;
- LIGHTING_COORDS(3,4)
- UNITY_FOG_COORDS(5)
- };
- VertexOutput vert (VertexInput v) {
- VertexOutput o = (VertexOutput)0;
- o.uv0 = v.texcoord0;
- o.normalDir = UnityObjectToWorldNormal(v.normal);
- float node_1447 = 0.25;
- float node_8921 = 0.0;
- float2 node_4969_tc_rcp = float2(1.0,1.0)/float2( node_1447, 0.25 );
- float node_4969_ty = floor(node_8921 * node_4969_tc_rcp.x);
- float node_4969_tx = node_8921 - node_1447 * node_4969_ty;
- float2 node_4969 = (o.uv0 + float2(node_4969_tx, node_4969_ty)) * node_4969_tc_rcp;
- float4 _Albedo_var = tex2Dlod(_Albedo,float4(TRANSFORM_TEX(node_4969, _Albedo),0.0,0));
- float node_5311 = 0.0;
- float node_8500 = 1.0;
- float node_2282 = 0.4;
- float node_5331 = 1.0;
- float node_4061 = 0.0;
- float2 node_4489_tc_rcp = float2(1.0,1.0)/float2( node_5331, 1.0 );
- float node_4489_ty = floor(node_4061 * node_4489_tc_rcp.x);
- float node_4489_tx = node_4061 - node_5331 * node_4489_ty;
- float2 node_4489 = (o.uv0 + float2(node_4489_tx, node_4489_ty)) * node_4489_tc_rcp;
- float4 _Voronoi_var = tex2Dlod(_Voronoi,float4(TRANSFORM_TEX(node_4489, _Voronoi),0.0,0));
- float node_4998 = 0.0;
- float node_1927 = 0.25;
- float node_3542 = 0.0;
- float2 node_9147_tc_rcp = float2(1.0,1.0)/float2( node_1927, 0.25 );
- float node_9147_ty = floor(node_3542 * node_9147_tc_rcp.x);
- float node_9147_tx = node_3542 - node_1927 * node_9147_ty;
- float2 node_9147 = (o.uv0 + float2(node_9147_tx, node_9147_ty)) * node_9147_tc_rcp;
- float4 _Albedo_copy_copy_var = tex2Dlod(_Albedo_copy_copy,float4(TRANSFORM_TEX(node_9147, _Albedo_copy_copy),0.0,0));
- float node_6622 = 0.0;
- float node_2134 = 0.0;
- float node_4814 = 4.0;
- v.vertex.xyz += (((saturate(min((node_2282 + ( (_Albedo_var.rgb - node_5311) * (1.0 - node_2282) ) / (node_8500 - node_5311)),(node_4998 + ( (_Voronoi_var.rgb - node_5311) * (0.9 - node_4998) ) / (node_8500 - node_5311))))+(1.0 - floor((node_2134 + ( (_Albedo_copy_copy_var.rgb - node_6622) * (1.0 - node_2134) ) / (1.0 - node_6622)) * node_4814) / (node_4814 - 1)))*v.normal)*_DisplacementMagnitude);
- o.posWorld = mul(unity_ObjectToWorld, v.vertex);
- float3 lightColor = _LightColor0.rgb;
- o.pos = UnityObjectToClipPos( v.vertex );
- UNITY_TRANSFER_FOG(o,o.pos);
- TRANSFER_VERTEX_TO_FRAGMENT(o)
- return o;
- }
- float4 frag(VertexOutput i) : COLOR {
- i.normalDir = normalize(i.normalDir);
- float3 normalDirection = i.normalDir;
- float3 lightDirection = normalize(_WorldSpaceLightPos0.xyz);
- float3 lightColor = _LightColor0.rgb;
- ////// Lighting:
- float attenuation = LIGHT_ATTENUATION(i);
- float3 attenColor = attenuation * _LightColor0.xyz;
- /////// Diffuse:
- float NdotL = max(0.0,dot( normalDirection, lightDirection ));
- float3 directDiffuse = max( 0.0, NdotL) * attenColor;
- float3 indirectDiffuse = float3(0,0,0);
- indirectDiffuse += UNITY_LIGHTMODEL_AMBIENT.rgb; // Ambient Light
- float node_1447 = 0.25;
- float node_8921 = 0.0;
- float2 node_4969_tc_rcp = float2(1.0,1.0)/float2( node_1447, 0.25 );
- float node_4969_ty = floor(node_8921 * node_4969_tc_rcp.x);
- float node_4969_tx = node_8921 - node_1447 * node_4969_ty;
- float2 node_4969 = (i.uv0 + float2(node_4969_tx, node_4969_ty)) * node_4969_tc_rcp;
- float4 _Albedo_var = tex2D(_Albedo,TRANSFORM_TEX(node_4969, _Albedo));
- float node_5311 = 0.0;
- float node_8500 = 1.0;
- float node_2131 = 0.7;
- float node_3321 = 1.0;
- float node_6709 = 0.0;
- float2 node_2369_tc_rcp = float2(1.0,1.0)/float2( node_3321, 1.0 );
- float node_2369_ty = floor(node_6709 * node_2369_tc_rcp.x);
- float node_2369_tx = node_6709 - node_3321 * node_2369_ty;
- float2 node_2369 = (i.uv0 + float2(node_2369_tx, node_2369_ty)) * node_2369_tc_rcp;
- float4 _Albedo_copy_var = tex2D(_Albedo_copy,TRANSFORM_TEX(node_2369, _Albedo_copy));
- float3 diffuseColor = ((node_2131 + ( (_Albedo_var.rgb - node_5311) * (0.9 - node_2131) ) / (node_8500 - node_5311))+clamp((1.0 - step(_Albedo_copy_var.rgb,0.7)),0.0,0.5));
- float3 diffuse = (directDiffuse + indirectDiffuse) * diffuseColor;
- /// Final Color:
- float3 finalColor = diffuse;
- fixed4 finalRGBA = fixed4(finalColor,1);
- UNITY_APPLY_FOG(i.fogCoord, finalRGBA);
- return finalRGBA;
- }
- ENDCG
- }
- Pass {
- Name "FORWARD_DELTA"
- Tags {
- "LightMode"="ForwardAdd"
- }
- Blend One One
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #define UNITY_PASS_FORWARDADD
- #include "UnityCG.cginc"
- #include "AutoLight.cginc"
- #pragma multi_compile_fwdadd_fullshadows
- #pragma multi_compile_fog
- #pragma only_renderers d3d9 d3d11 glcore gles
- #pragma target 3.0
- uniform float4 _LightColor0;
- uniform float _DisplacementMagnitude;
- uniform sampler2D _Albedo; uniform float4 _Albedo_ST;
- uniform sampler2D _Voronoi; uniform float4 _Voronoi_ST;
- uniform sampler2D _Albedo_copy; uniform float4 _Albedo_copy_ST;
- uniform sampler2D _Albedo_copy_copy; uniform float4 _Albedo_copy_copy_ST;
- struct VertexInput {
- float4 vertex : POSITION;
- float3 normal : NORMAL;
- float2 texcoord0 : TEXCOORD0;
- };
- struct VertexOutput {
- float4 pos : SV_POSITION;
- float2 uv0 : TEXCOORD0;
- float4 posWorld : TEXCOORD1;
- float3 normalDir : TEXCOORD2;
- LIGHTING_COORDS(3,4)
- UNITY_FOG_COORDS(5)
- };
- VertexOutput vert (VertexInput v) {
- VertexOutput o = (VertexOutput)0;
- o.uv0 = v.texcoord0;
- o.normalDir = UnityObjectToWorldNormal(v.normal);
- float node_1447 = 0.25;
- float node_8921 = 0.0;
- float2 node_4969_tc_rcp = float2(1.0,1.0)/float2( node_1447, 0.25 );
- float node_4969_ty = floor(node_8921 * node_4969_tc_rcp.x);
- float node_4969_tx = node_8921 - node_1447 * node_4969_ty;
- float2 node_4969 = (o.uv0 + float2(node_4969_tx, node_4969_ty)) * node_4969_tc_rcp;
- float4 _Albedo_var = tex2Dlod(_Albedo,float4(TRANSFORM_TEX(node_4969, _Albedo),0.0,0));
- float node_5311 = 0.0;
- float node_8500 = 1.0;
- float node_2282 = 0.4;
- float node_5331 = 1.0;
- float node_4061 = 0.0;
- float2 node_4489_tc_rcp = float2(1.0,1.0)/float2( node_5331, 1.0 );
- float node_4489_ty = floor(node_4061 * node_4489_tc_rcp.x);
- float node_4489_tx = node_4061 - node_5331 * node_4489_ty;
- float2 node_4489 = (o.uv0 + float2(node_4489_tx, node_4489_ty)) * node_4489_tc_rcp;
- float4 _Voronoi_var = tex2Dlod(_Voronoi,float4(TRANSFORM_TEX(node_4489, _Voronoi),0.0,0));
- float node_4998 = 0.0;
- float node_1927 = 0.25;
- float node_3542 = 0.0;
- float2 node_9147_tc_rcp = float2(1.0,1.0)/float2( node_1927, 0.25 );
- float node_9147_ty = floor(node_3542 * node_9147_tc_rcp.x);
- float node_9147_tx = node_3542 - node_1927 * node_9147_ty;
- float2 node_9147 = (o.uv0 + float2(node_9147_tx, node_9147_ty)) * node_9147_tc_rcp;
- float4 _Albedo_copy_copy_var = tex2Dlod(_Albedo_copy_copy,float4(TRANSFORM_TEX(node_9147, _Albedo_copy_copy),0.0,0));
- float node_6622 = 0.0;
- float node_2134 = 0.0;
- float node_4814 = 4.0;
- v.vertex.xyz += (((saturate(min((node_2282 + ( (_Albedo_var.rgb - node_5311) * (1.0 - node_2282) ) / (node_8500 - node_5311)),(node_4998 + ( (_Voronoi_var.rgb - node_5311) * (0.9 - node_4998) ) / (node_8500 - node_5311))))+(1.0 - floor((node_2134 + ( (_Albedo_copy_copy_var.rgb - node_6622) * (1.0 - node_2134) ) / (1.0 - node_6622)) * node_4814) / (node_4814 - 1)))*v.normal)*_DisplacementMagnitude);
- o.posWorld = mul(unity_ObjectToWorld, v.vertex);
- float3 lightColor = _LightColor0.rgb;
- o.pos = UnityObjectToClipPos( v.vertex );
- UNITY_TRANSFER_FOG(o,o.pos);
- TRANSFER_VERTEX_TO_FRAGMENT(o)
- return o;
- }
- float4 frag(VertexOutput i) : COLOR {
- i.normalDir = normalize(i.normalDir);
- float3 normalDirection = i.normalDir;
- float3 lightDirection = normalize(lerp(_WorldSpaceLightPos0.xyz, _WorldSpaceLightPos0.xyz - i.posWorld.xyz,_WorldSpaceLightPos0.w));
- float3 lightColor = _LightColor0.rgb;
- ////// Lighting:
- float attenuation = LIGHT_ATTENUATION(i);
- float3 attenColor = attenuation * _LightColor0.xyz;
- /////// Diffuse:
- float NdotL = max(0.0,dot( normalDirection, lightDirection ));
- float3 directDiffuse = max( 0.0, NdotL) * attenColor;
- float node_1447 = 0.25;
- float node_8921 = 0.0;
- float2 node_4969_tc_rcp = float2(1.0,1.0)/float2( node_1447, 0.25 );
- float node_4969_ty = floor(node_8921 * node_4969_tc_rcp.x);
- float node_4969_tx = node_8921 - node_1447 * node_4969_ty;
- float2 node_4969 = (i.uv0 + float2(node_4969_tx, node_4969_ty)) * node_4969_tc_rcp;
- float4 _Albedo_var = tex2D(_Albedo,TRANSFORM_TEX(node_4969, _Albedo));
- float node_5311 = 0.0;
- float node_8500 = 1.0;
- float node_2131 = 0.7;
- float node_3321 = 1.0;
- float node_6709 = 0.0;
- float2 node_2369_tc_rcp = float2(1.0,1.0)/float2( node_3321, 1.0 );
- float node_2369_ty = floor(node_6709 * node_2369_tc_rcp.x);
- float node_2369_tx = node_6709 - node_3321 * node_2369_ty;
- float2 node_2369 = (i.uv0 + float2(node_2369_tx, node_2369_ty)) * node_2369_tc_rcp;
- float4 _Albedo_copy_var = tex2D(_Albedo_copy,TRANSFORM_TEX(node_2369, _Albedo_copy));
- float3 diffuseColor = ((node_2131 + ( (_Albedo_var.rgb - node_5311) * (0.9 - node_2131) ) / (node_8500 - node_5311))+clamp((1.0 - step(_Albedo_copy_var.rgb,0.7)),0.0,0.5));
- float3 diffuse = directDiffuse * diffuseColor;
- /// Final Color:
- float3 finalColor = diffuse;
- fixed4 finalRGBA = fixed4(finalColor * 1,0);
- UNITY_APPLY_FOG(i.fogCoord, finalRGBA);
- return finalRGBA;
- }
- ENDCG
- }
- Pass {
- Name "ShadowCaster"
- Tags {
- "LightMode"="ShadowCaster"
- }
- Offset 1, 1
- Cull Back
- 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 multi_compile_fog
- #pragma only_renderers d3d9 d3d11 glcore gles
- #pragma target 3.0
- uniform float _DisplacementMagnitude;
- uniform sampler2D _Albedo; uniform float4 _Albedo_ST;
- uniform sampler2D _Voronoi; uniform float4 _Voronoi_ST;
- uniform sampler2D _Albedo_copy_copy; uniform float4 _Albedo_copy_copy_ST;
- struct VertexInput {
- float4 vertex : POSITION;
- float3 normal : NORMAL;
- float2 texcoord0 : TEXCOORD0;
- };
- struct VertexOutput {
- V2F_SHADOW_CASTER;
- float2 uv0 : TEXCOORD1;
- float3 normalDir : TEXCOORD2;
- };
- VertexOutput vert (VertexInput v) {
- VertexOutput o = (VertexOutput)0;
- o.uv0 = v.texcoord0;
- o.normalDir = UnityObjectToWorldNormal(v.normal);
- float node_1447 = 0.25;
- float node_8921 = 0.0;
- float2 node_4969_tc_rcp = float2(1.0,1.0)/float2( node_1447, 0.25 );
- float node_4969_ty = floor(node_8921 * node_4969_tc_rcp.x);
- float node_4969_tx = node_8921 - node_1447 * node_4969_ty;
- float2 node_4969 = (o.uv0 + float2(node_4969_tx, node_4969_ty)) * node_4969_tc_rcp;
- float4 _Albedo_var = tex2Dlod(_Albedo,float4(TRANSFORM_TEX(node_4969, _Albedo),0.0,0));
- float node_5311 = 0.0;
- float node_8500 = 1.0;
- float node_2282 = 0.4;
- float node_5331 = 1.0;
- float node_4061 = 0.0;
- float2 node_4489_tc_rcp = float2(1.0,1.0)/float2( node_5331, 1.0 );
- float node_4489_ty = floor(node_4061 * node_4489_tc_rcp.x);
- float node_4489_tx = node_4061 - node_5331 * node_4489_ty;
- float2 node_4489 = (o.uv0 + float2(node_4489_tx, node_4489_ty)) * node_4489_tc_rcp;
- float4 _Voronoi_var = tex2Dlod(_Voronoi,float4(TRANSFORM_TEX(node_4489, _Voronoi),0.0,0));
- float node_4998 = 0.0;
- float node_1927 = 0.25;
- float node_3542 = 0.0;
- float2 node_9147_tc_rcp = float2(1.0,1.0)/float2( node_1927, 0.25 );
- float node_9147_ty = floor(node_3542 * node_9147_tc_rcp.x);
- float node_9147_tx = node_3542 - node_1927 * node_9147_ty;
- float2 node_9147 = (o.uv0 + float2(node_9147_tx, node_9147_ty)) * node_9147_tc_rcp;
- float4 _Albedo_copy_copy_var = tex2Dlod(_Albedo_copy_copy,float4(TRANSFORM_TEX(node_9147, _Albedo_copy_copy),0.0,0));
- float node_6622 = 0.0;
- float node_2134 = 0.0;
- float node_4814 = 4.0;
- v.vertex.xyz += (((saturate(min((node_2282 + ( (_Albedo_var.rgb - node_5311) * (1.0 - node_2282) ) / (node_8500 - node_5311)),(node_4998 + ( (_Voronoi_var.rgb - node_5311) * (0.9 - node_4998) ) / (node_8500 - node_5311))))+(1.0 - floor((node_2134 + ( (_Albedo_copy_copy_var.rgb - node_6622) * (1.0 - node_2134) ) / (1.0 - node_6622)) * node_4814) / (node_4814 - 1)))*v.normal)*_DisplacementMagnitude);
- o.pos = UnityObjectToClipPos( v.vertex );
- TRANSFER_SHADOW_CASTER(o)
- return o;
- }
- float4 frag(VertexOutput i) : COLOR {
- i.normalDir = normalize(i.normalDir);
- float3 normalDirection = i.normalDir;
- SHADOW_CASTER_FRAGMENT(i)
- }
- ENDCG
- }
- }
- FallBack "Diffuse"
- CustomEditor "ShaderForgeMaterialInspector"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement