float4x4 Proj;
float4x4 View;
float4x4 World;


struct VS_INPUT
{
   float3 Position		: POSITION;
   float4 Color			: COLOR0;
};


struct VS_OUTPUT
{
    float4 Position		: POSITION;
    float4 Color		: COLOR0;
};


VS_OUTPUT vs_main( in VS_INPUT In )
{
    VS_OUTPUT Out;

    float4 worldPosition = mul(float4(In.Position.xyz, 1), World);
    float4 viewPosition = mul(worldPosition, View);
    Out.Position = mul(viewPosition, Proj);
    
    Out.Color = In.Color;

    return Out;
}


struct PS_OUTPUT
{
    float4 Color   : COLOR0;
};


PS_OUTPUT ps_main( in VS_OUTPUT In )
{
    PS_OUTPUT Out;

    Out.Color = In.Color;

    return Out;
}
