// 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:0,lgpr:1,limd:2,spmd:1,trmd:0,grmd:0,uamb:True,mssp:True,bkdf:False,hqlp:False,rprd:False,enco:True,rmgx:True,imps:False,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:4013,x:33209,y:32655,varname:node_4013,prsc:2|diff-7812-OUT,emission-3945-OUT,lwrap-6856-RGB;n:type:ShaderForge.SFN_NormalVector,id:1183,x:32036,y:32814,prsc:2,pt:True;n:type:ShaderForge.SFN_Dot,id:6226,x:32238,y:32748,varname:node_6226,prsc:2,dt:0|A-9055-OUT,B-1183-OUT;n:type:ShaderForge.SFN_ViewVector,id:9055,x:32036,y:32688,varname:node_9055,prsc:2;n:type:ShaderForge.SFN_OneMinus,id:3702,x:32404,y:32748,varname:node_3702,prsc:2|IN-6226-OUT;n:type:ShaderForge.SFN_Multiply,id:3571,x:32652,y:32670,varname:node_3571,prsc:2|A-6476-RGB,B-3702-OUT;n:type:ShaderForge.SFN_Color,id:6476,x:32036,y:32527,ptovrint:False,ptlb:Rim Ccolor,ptin:_RimCcolor,varname:node_6476,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0.8382353,c2:0.8028696,c3:0.5177335,c4:1;n:type:ShaderForge.SFN_Add,id:3945,x:32915,y:32772,varname:node_3945,prsc:2|A-3571-OUT,B-433-RGB;n:type:ShaderForge.SFN_Color,id:433,x:32036,y:33006,ptovrint:False,ptlb:Fill Color,ptin:_FillColor,varname:node_433,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0.04779412,c2:0.3823529,c3:0.1746957,c4:1;n:type:ShaderForge.SFN_Color,id:6856,x:32036,y:33187,ptovrint:False,ptlb:Light Wrapping,ptin:_LightWrapping,varname:node_6856,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0.08088237,c2:0.08088237,c3:0.08088237,c4:1;n:type:ShaderForge.SFN_Tex2d,id:6610,x:31853,y:32368,ptovrint:False,ptlb:ColorMap,ptin:_ColorMap,varname:node_1725,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,tex:da3507359d47f654c892d282db2028a2,ntxv:0,isnm:False;n:type:ShaderForge.SFN_Color,id:8714,x:31674,y:31931,ptovrint:False,ptlb:ColorForGreen,ptin:_ColorForGreen,varname:node_8403,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0,c2:1,c3:0,c4:1;n:type:ShaderForge.SFN_Multiply,id:6088,x:32141,y:31876,varname:node_6088,prsc:2|A-8862-RGB,B-6610-R;n:type:ShaderForge.SFN_Color,id:8862,x:31674,y:31769,ptovrint:False,ptlb:ColorForRed,ptin:_ColorForRed,varname:node_4521,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:1,c2:0,c3:0,c4:1;n:type:ShaderForge.SFN_Multiply,id:7411,x:32141,y:32008,varname:node_7411,prsc:2|A-8714-RGB,B-6610-G;n:type:ShaderForge.SFN_Add,id:7812,x:32437,y:32076,varname:node_7812,prsc:2|A-6088-OUT,B-7411-OUT,C-7630-OUT,D-6813-OUT;n:type:ShaderForge.SFN_Color,id:3518,x:31674,y:32098,ptovrint:False,ptlb:ColorForBlue,ptin:_ColorForBlue,varname:_ColorForGreen_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0,c2:0,c3:1,c4:1;n:type:ShaderForge.SFN_Multiply,id:7630,x:32141,y:32149,varname:node_7630,prsc:2|A-3518-RGB,B-6610-B;n:type:ShaderForge.SFN_Color,id:3481,x:31674,y:32267,ptovrint:False,ptlb:ColorForAlpha,ptin:_ColorForAlpha,varname:_ColorForBlue_copy,prsc:2,glob:False,taghide:False,taghdr:False,tagprd:False,tagnsco:False,tagnrm:False,c1:0.4852941,c2:0.4852941,c3:0.4852941,c4:1;n:type:ShaderForge.SFN_Multiply,id:6813,x:32141,y:32284,varname:node_6813,prsc:2|A-3481-RGB,B-6610-A;proporder:6476-433-6856-6610-8862-8714-3518-3481;pass:END;sub:END;*/
Shader "Shader Forge/Rim 4Color Mask" {
Properties {
_RimCcolor ("Rim Ccolor", Color) = (0.8382353,0.8028696,0.5177335,1)
_FillColor ("Fill Color", Color) = (0.04779412,0.3823529,0.1746957,1)
_LightWrapping ("Light Wrapping", Color) = (0.08088237,0.08088237,0.08088237,1)
_ColorMap ("ColorMap", 2D) = "white" {}
_ColorForRed ("ColorForRed", Color) = (1,0,0,1)
_ColorForGreen ("ColorForGreen", Color) = (0,1,0,1)
_ColorForBlue ("ColorForBlue", Color) = (0,0,1,1)
_ColorForAlpha ("ColorForAlpha", Color) = (0.4852941,0.4852941,0.4852941,1)
}
SubShader {
Tags {
"RenderType"="Opaque"
}
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 float4 _RimCcolor;
uniform float4 _FillColor;
uniform float4 _LightWrapping;
uniform sampler2D _ColorMap; uniform float4 _ColorMap_ST;
uniform float4 _ColorForGreen;
uniform float4 _ColorForRed;
uniform float4 _ColorForBlue;
uniform float4 _ColorForAlpha;
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);
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 viewDirection = normalize(_WorldSpaceCameraPos.xyz - i.posWorld.xyz);
float3 normalDirection = i.normalDir;
float3 lightDirection = normalize(_WorldSpaceLightPos0.xyz);
float3 lightColor = _LightColor0.rgb;
////// 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 w = _LightWrapping.rgb*0.5; // Light wrapping
float3 NdotLWrap = NdotL * ( 1.0 - w );
float3 forwardLight = max(float3(0.0,0.0,0.0), NdotLWrap + w );
NdotL = max(0.0,dot( normalDirection, lightDirection ));
float3 directDiffuse = forwardLight*(0.5-max(w.r,max(w.g,w.b))*0.5) * attenColor;
float3 indirectDiffuse = float3(0,0,0);
indirectDiffuse += UNITY_LIGHTMODEL_AMBIENT.rgb; // Ambient Light
float4 _ColorMap_var = tex2D(_ColorMap,TRANSFORM_TEX(i.uv0, _ColorMap));
float3 diffuseColor = ((_ColorForRed.rgb*_ColorMap_var.r)+(_ColorForGreen.rgb*_ColorMap_var.g)+(_ColorForBlue.rgb*_ColorMap_var.b)+(_ColorForAlpha.rgb*_ColorMap_var.a));
float3 diffuse = (directDiffuse + indirectDiffuse) * diffuseColor;
////// Emissive:
float3 emissive = ((_RimCcolor.rgb*(1.0 - dot(viewDirection,normalDirection)))+_FillColor.rgb);
/// Final Color:
float3 finalColor = diffuse + emissive;
fixed4 finalRGBA = fixed4(finalColor,1);
UNITY_APPLY_FOG(i.fogCoord, finalRGBA);
return finalRGBA;
}
ENDCG
}
}
FallBack "Diffuse"
CustomEditor "ShaderForgeMaterialInspector"
}