float4x4 matWorldViewProj;
float4x4 matWorld;
float4 vecSunDir;
float4 vecSunColor;
float4 vecSkill41;
texture entSkin1;
sampler ColorMapSampler = sampler_state
{
Texture = <entSkin1>;
MipFilter = Linear;
AddressU = Wrap;
Addressv = Wrap;
};
void DiffuseVS(
in float4 InPos: POSITION,
in float3 InNormal: NORMAL,
in float2 InTex: TEXCOORD0,
out float4 OutPos: POSITION,
out float2 OutTex: TEXCOORD0,
out float3 OutNormal: TEXCOORD1)
{
OutPos = mul(InPos, matWorldViewProj);
OutNormal = normalize(mul(InNormal, matWorld));
OutTex = InTex;
}
float4 DiffusePS(
in float2 InTex: TEXCOORD0,
in float3 InNormal: TEXCOORD1): COLOR
{
float2 Coord;
Coord.x = InTex.x * vecSkill41.x;
Coord.y = InTex.y * vecSkill41.y;
float4 finalCoord = tex2D ( ColorMapSampler, Coord );
float4 Diffuse = saturate(dot(-vecSunDir, normalize(InNormal)));
Diffuse *= vecSunColor;
float4 Color = tex2D(ColorMapSampler, InTex);
return (0.5 + Diffuse) * Color * finalCoord;
}
technique DiffuseTechnique
{
pass P0
{
VertexShader = compile vs_2_0 DiffuseVS();
PixelShader = compile ps_2_0 DiffusePS();
}
}