//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; }