80 lines
No EOL
1.8 KiB
Text
80 lines
No EOL
1.8 KiB
Text
// Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
|
|
// Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
|
|
|
|
/*
|
|
|
|
Used to create normal map buffer.
|
|
|
|
*/
|
|
|
|
Shader "Light2D/Internal/Normal Map Drawer" {
|
|
Properties {
|
|
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
|
|
_NormalTex ("Normalmap", 2D) = "bump" {}
|
|
}
|
|
|
|
SubShader {
|
|
Tags {
|
|
"Queue"="Transparent"
|
|
"IgnoreProjector"="True"
|
|
"RenderType"="Transparent"
|
|
"LightObstacle"="True"
|
|
}
|
|
|
|
LOD 100
|
|
Blend SrcAlpha OneMinusSrcAlpha
|
|
Cull Off
|
|
ZWrite Off
|
|
Lighting Off
|
|
|
|
Pass {
|
|
CGPROGRAM
|
|
#pragma vertex vert
|
|
#pragma fragment frag
|
|
|
|
#include "UnityCG.cginc"
|
|
|
|
struct appdata_t {
|
|
float4 vertex : POSITION;
|
|
float2 texcoord : TEXCOORD0;
|
|
float2 tangent : TANGENT;
|
|
};
|
|
|
|
struct v2f {
|
|
float4 vertex : SV_POSITION;
|
|
half2 mainTexcoord : TEXCOORD0;
|
|
half2 normalTexcoord : TEXCOORD1;
|
|
half3 utangent : TEXCOORD2;
|
|
half3 vtangent : TEXCOORD3;
|
|
};
|
|
|
|
sampler2D _MainTex;
|
|
float4 _MainTex_ST;
|
|
sampler2D _NormalTex;
|
|
float4 _NormalTex_ST;
|
|
|
|
v2f vert (appdata_t v)
|
|
{
|
|
v2f o;
|
|
o.vertex = UnityObjectToClipPos(v.vertex);
|
|
o.mainTexcoord = TRANSFORM_TEX(v.texcoord, _MainTex);
|
|
o.normalTexcoord = TRANSFORM_TEX(v.texcoord, _NormalTex);
|
|
o.utangent = normalize(mul((float3x3)unity_ObjectToWorld, half3(v.tangent.x, v.tangent.y, 0)));
|
|
o.vtangent = normalize(mul((float3x3)unity_ObjectToWorld, half3(v.tangent.y, -v.tangent.x, 0)));
|
|
return o;
|
|
}
|
|
|
|
fixed4 frag (v2f i) : COLOR
|
|
{
|
|
fixed4 col = tex2D(_MainTex, i.mainTexcoord);
|
|
fixed2 bumpMap = normalize(UnpackNormal(tex2D(_NormalTex, i.normalTexcoord)));
|
|
bumpMap = -bumpMap;
|
|
fixed2 bump = bumpMap.x*i.utangent + bumpMap.y*i.vtangent;
|
|
fixed2 bumpOut = bump*0.5 + 0.5;
|
|
return fixed4(bumpOut, 0, col.a);
|
|
}
|
|
ENDCG
|
|
}
|
|
}
|
|
|
|
} |