// Numeric values can be stored in constant buffers.
cbuffer cbPerObject
{
	float4x4 gWVP;
};

struct VS_IN
{
	float3 posL		: POSITION;
	float4 col		: COLOR;
};

struct VS_OUT
{
	float4 col		: COLOR;
	float4 posH		: SV_POSITION;
};

VS_OUT VS(VS_IN VSInput)
{
	VS_OUT VSOutput;
	
	// Transform to homogeneous clip space.
	VSOutput.posH = mul(float4(VSInput.posL, 1.0f), gWVP);
	VSOutput.col = VSInput.col;
	
	return VSOutput;
}

float4 PS( VS_OUT PSInput ) : SV_TARGET
{	
	return PSInput.col; //PSInput.col; //
}

technique10 RenderTech
{
	pass P0
	{
		SetVertexShader( CompileShader( vs_4_0, VS() ) );
		SetGeometryShader( NULL );
		SetPixelShader ( CompileShader( ps_4_0, PS() ) );
	}
}