
cbuffer VSSceneVars : register(b0)
{
    float4x4 ViewProj;
    float4 CameraPos;
    float4 LightColour;
}

struct VS_INPUT
{
    float4 Position  : POSITION;
    float4 Colour    : COLOR0;
};

struct VS_OUTPUT
{
    float4 Position  : SV_POSITION;
    float4 Colour    : COLOR0;
};


VS_OUTPUT main(VS_INPUT input)
{
    VS_OUTPUT output;

	float3 pos = input.Position.xyz;
	float4 col = input.Colour;

	float3 opos = pos - CameraPos.xyz;
	float4 cpos = mul(float4(opos, 1), ViewProj);
	output.Position = cpos;
	output.Colour.rgb = col.rgb * LightColour.a; //apply intensity
	output.Colour.a = col.a;

	return output;
}

