struct appdata
{
    float4 position : POSITION;
    float3 normal : NORMAL;
    float3 color : DIFFUSE;
    float3 TestColor : SPECULAR;
};

struct vfconn
{
    float4 HPOS : POSITION;
    float4 COL0 : COLOR0;
};

vfconn main(appdata IN,
            uniform float4 Kd,
            uniform float4x4 ModelViewProj)
{
    vfconn OUT;

    OUT.HPOS = mul(ModelViewProj, IN.position);

    OUT.COL0.xyz = Kd.xyz * IN.TestColor.xyz;
    OUT.COL0.w = 1.0;

    return OUT;
} // main