All pastes #536909 Raw Edit

Someone

public text v1 · immutable
·published 2007-06-04 15:24 UTC
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;
}