// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)' Shader "Santa/Diffuse" { Properties { _Color ("Tint", COLOR) = (1,1,1,1) _Light ("Light", Range (0.01,3)) = 1 _Contrast ("Contrast", Range (-5.0,5.0)) = 0.5 _MainTex ("Base (RGB)", 2D) = "white" {} _Lightmap ("Lightmap x2 (RGB)", 2D) = "white" {} } SubShader { Tags { "Queue" = "Transparent" } Pass { //Blend SrcAlpha OneMinusSrcAlpha //Fog { Mode Off } CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma multi_compile_fog #include "UnityCG.cginc" uniform float4 _Color; uniform float _Light; uniform float _Contrast; uniform sampler2D _MainTex; uniform sampler2D _Lightmap; // vertex input: position, color struct appdata { float4 vertex : POSITION; fixed4 color : COLOR; float4 uv0 : TEXCOORD0; float4 uv1 : TEXCOORD1; }; struct v2f { float4 pos : SV_POSITION; fixed4 color : COLOR; float4 uv0 : TEXCOORD0; float4 uv1 : TEXCOORD1; UNITY_FOG_COORDS(n) }; v2f vert (appdata v) { v2f o; o.pos = UnityObjectToClipPos( v.vertex ); o.color = v.color; o.uv0 = v.uv0; o.uv1 = v.uv1; UNITY_TRANSFER_FOG(o, o.pos); return o; } fixed4 frag (v2f i) : SV_Target { fixed4 c = tex2D(_MainTex, i.uv0) * tex2D(_Lightmap, i.uv1) * _Light * i.color * _Color; _Contrast += 1; c = c - _Contrast * (c - 1.0f) * c *(c - 0.5f); UNITY_APPLY_FOG(i.fogCoord, c); return c; } ENDCG } } }