uniform float4x4	matWorld;
uniform float4x4	matWorldViewProj;
uniform float4x4	matTexViewProj;

struct VS_INPUT 
{
	float3 position						: POSITION;
	float4 uv							: TEXCOORD0;
};

struct VS_OUTPUT 
{
	float4 position						: POSITION;
	float4 uv							: TEXCOORD0;
	float4 shadowUV						: TEXCOORD1;
	
};

VS_OUTPUT main_vs( VS_INPUT input )
{
	VS_OUTPUT output;
	float4 inPosHomogeneous = float4( input.position, 1.0f );

	output.position =  mul(matWorldViewProj, inPosHomogeneous );
	output.uv = input.uv;
	output.shadowUV = mul( matTexViewProj, mul(matWorld, inPosHomogeneous) );
	
	return output;
}
