texture entSkin1;
float4x4 matWorldViewProj;
sampler basemap = sampler_state
{
Texture = <entSkin1>;
};
void blur1VS(
uniform float exten,
in float4 inNormal : NORMAL0,
in float4 inPosition : POSITION0,
in float4 inTexcoord : TEXCOORD0,
out float4 outPosition : POSITION0,
out float4 outTexcoord : TEXCOORD0)
{
inPosition.xyz += inNormal/exten;
outTexcoord = inTexcoord;
outPosition = mul(inPosition, matWorldViewProj);
}
void blur1PS (
uniform float alpha,
in float4 inTexcoord : TEXCOORD0,
out float4 outColor : COLOR0)
{
outColor = tex2D(basemap, inTexcoord.xy);
outColor.a=alpha;
}
void mainVS(
in float4 inNormal : NORMAL0,
in float4 inPosition : POSITION0,
in float4 inTexcoord : TEXCOORD0,
out float4 outPosition : POSITION0,
out float4 outTexcoord : TEXCOORD0)
{
outTexcoord = inTexcoord;
outPosition = mul(inPosition, matWorldViewProj);
}
void mainPS(in float4 inTexcoord : TEXCOORD0, out float4 outColor : COLOR0) {
outColor = tex2D(basemap, inTexcoord.xy);
outColor.a=1;
}
technique t1 {
pass p0 {
ZENABLE = TRUE;
zwriteenable=true;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 mainVS();
PixelShader = compile ps_2_0 mainPS();
}
pass p1 {
ZENABLE = TRUE;
zwriteenable=true;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 blur1VS(10);
PixelShader = compile ps_2_0 blur1PS(0.9);
}
pass p2 {
zwriteenable=true;
ZENABLE = TRUE;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 blur1VS(8);
PixelShader = compile ps_2_0 blur1PS(0.9);
}
pass p3 {
zwriteenable=true;
ZENABLE = TRUE;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 blur1VS(7);
PixelShader = compile ps_2_0 blur1PS(0.7);
}
pass p4 {
zwriteenable=true;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 blur1VS(6);
PixelShader = compile ps_2_0 blur1PS(0.7);
}
pass p5 {
zwriteenable=true;
ZENABLE = TRUE;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 blur1VS(5);
PixelShader = compile ps_2_0 blur1PS(0.5);
}
pass p6 {
zwriteenable=true;
ZENABLE = TRUE;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 blur1VS(4);
PixelShader = compile ps_2_0 blur1PS(0.5);
}
pass p7 {
zwriteenable=true;
ZENABLE = TRUE;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 blur1VS(3);
PixelShader = compile ps_2_0 blur1PS(0.3);
}
pass p8 {
zwriteenable=true;
zwriteenable=true;
ZENABLE = TRUE;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 blur1VS(2);
PixelShader = compile ps_2_0 blur1PS(0.3);
}
pass p9 {
zwriteenable=true;
ZENABLE = TRUE;
AlphaBlendEnable = true;
VertexShader = compile vs_1_1 blur1VS(1);
PixelShader = compile ps_2_0 blur1PS(0.1);
}
}