//Based on unity builtin shader
|
|
Shader "MK/Glow/Selective/Legacy/Self-Illumin/Diffuse" {
|
Properties {
|
_Color ("Main Color", Color) = (1,1,1,1)
|
_MainTex ("Base (RGB)", 2D) = "white" {}
|
_Illum ("Illumin (A)", 2D) = "white" {}
|
_Emission ("Emission (Lightmapper)", Float) = 1.0
|
|
_MKGlowColor ("Glow Color", Color) = (1,1,1,1)
|
_MKGlowPower ("Glow Power", Range(0.0,2.5)) = 1.0
|
_MKGlowTex ("Glow Texture", 2D) = "white" {}
|
_MKGlowTexColor ("Glow Texture Color", Color) = (1,1,1,1)
|
_MKGlowTexStrength ("Glow Texture Strength ", Range(0.0,10.0)) = 1.0
|
}
|
SubShader {
|
Tags { "RenderType"="MKGlowLegacy" }
|
LOD 200
|
|
CGPROGRAM
|
#pragma surface surf Lambert
|
|
sampler2D _MainTex;
|
fixed4 _Color;
|
sampler2D _Illum;
|
fixed _Emission;
|
|
sampler2D _MKGlowTex;
|
half _MKGlowTexStrength;
|
fixed4 _MKGlowTexColor;
|
|
struct Input {
|
float2 uv_MainTex;
|
float2 uv_Illum;
|
float2 uv_MKGlowTex;
|
};
|
|
void surf (Input IN, inout SurfaceOutput o) {
|
fixed4 tex = tex2D(_MainTex, IN.uv_MainTex) * _Color;
|
fixed4 c = tex * _Color;
|
o.Albedo = c.rgb;
|
o.Emission = c.rgb * tex2D(_Illum, IN.uv_Illum).a;
|
#if defined (UNITY_PASS_META)
|
o.Emission *= _Emission.rrr;
|
#endif
|
fixed3 d = tex2D(_MKGlowTex, IN.uv_MKGlowTex) * _MKGlowTexColor;
|
o.Emission += (d.rgb * _MKGlowTexStrength);
|
o.Alpha = c.a;
|
}
|
ENDCG
|
}
|
FallBack "Legacy Shaders/Self-Illumin/VertexLit"
|
CustomEditor "LegacyIlluminShaderGUI"
|
}
|