float4x4 matWVP : register(c0);

struct VS_IN 
{
	float4 ObjPos 	: POSITION;
	float4 Color	: COLOR;
	float2 Tex		: TEXCOORD0;
};

struct VS_OUT 
{
	float4 ProjPos	: POSITION;
	float4 Color	: COLOR;
	float2 Tex		: TEXCOORD0;
	float3 PosL 	: TEXCOORD1;
	float3 PosW		: TEXCOORD2;
};

VS_OUT main( VS_IN In )
{
	VS_OUT Out;
	Out.ProjPos = mul( matWVP, In.ObjPos );
	Out.Color = In.Color;
	Out.Tex = In.Tex;
	Out.PosL = In.ObjPos;
	Out.PosW = Out.ProjPos;
	return Out;
}