rendered paste body//toon Shading shaders
matrix worldViewMat;
matrix worldViewProjMat;
vector lightDirection;
struct VS_INPUT
{
vector position : POSITION;
vector normal : NORMAL;
};
struct VS_OUTPUT
{
vector position : POSITION;
vector texcoord : TEXCOORD;
};
VS_OUTPUT Main( VS_INPUT input )
{
VS_OUTPUT output = (VS_OUTPUT)0;
output.position = mul( input.position, worldViewProjMat );
lightDirection = mul( lightDirection, worldViewMat );
input.normal = mul( input.normal, worldViewMat );
lightDirection.w = 0.0f;
input.normal = 0.0f;
float u = dot( lightDirection, input.normal );
if( u < 0.0f )
u = 0.0f;
output.texcoord.x = u;
output.texcoord.y = 0.5f;
return output;
}