// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
|
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
|
|
// Upgrade NOTE: replaced 'defined SHADOWS_OFF' with 'defined (SHADOWS_OFF)'
|
|
Shader "Scene/01 - Opaque, Shadows, NO LIGHTMAP"
|
{
|
Properties
|
{
|
_MainTex ("Texture", 2D) = "white" { }
|
}
|
|
Subshader
|
{
|
|
Tags { "Queue" = "Geometry" "RenderType" = "Opaque" "IgnoreProjector" = "True" "LightMode" = "ForwardBase" }
|
|
Pass
|
{
|
Cull Back
|
Fog
|
{
|
Mode Off
|
}
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
#pragma vertex vert
|
#pragma fragment frag
|
|
#pragma multi_compile_fwdbase
|
|
#pragma fragmentoption ARB_precision_hint_fastest
|
#pragma exclude_renderers flash
|
|
#include "UnityCG.cginc"
|
#include "SnxxzCG.cginc"
|
|
#if !defined(SHADOWS_OFF)
|
#include "AutoLight.cginc"
|
#endif
|
|
struct VertInput
|
{
|
half4 vertex: POSITION;
|
half2 texcoord0: TEXCOORD0;
|
};
|
|
struct Varys
|
{
|
half4 pos: SV_POSITION;
|
half2 uv1: TEXCOORD0;
|
#if !defined(SHADOWS_OFF)
|
SHADOW_COORDS(3)
|
#endif
|
};
|
|
uniform sampler2D _MainTex;
|
uniform float4 _MainTex_ST;
|
|
Varys vert(VertInput v)
|
{
|
Varys o;
|
half3 worldVertex = mul(unity_ObjectToWorld, v.vertex).xyz;
|
|
// pos and uv tex coord
|
o.pos = UnityObjectToClipPos(v.vertex);
|
o.uv1 = TRANSFORM_TEX(v.texcoord0, _MainTex);
|
|
#if !defined(SHADOWS_OFF)
|
TRANSFER_SHADOW(o);
|
#endif
|
|
return o;
|
}
|
|
fixed4 frag(Varys i): SV_Target
|
{
|
|
fixed3 outcolor = tex2D(_MainTex, i.uv1);
|
|
#if !defined(SHADOWS_OFF)
|
fixed3 lightmap = _Gbl_Amb + _Gbl_Lgt * SHADOW_ATTENUATION(i);
|
outcolor *= lightmap;
|
#endif
|
|
return fixed4(outcolor, 1);
|
}
|
|
ENDCG
|
|
}
|
}
|
FallBack "Diffuse"
|
}
|