Yea, missed it, so you have incorrect assignments:
vsin VS(vsin input)
this means that instead of using “struct vs2ps” you are using “vsin”
this should be changed to:
**vs2ps** VS(vsin input)
{
vs2ps output = (vs2ps)0;
...
}
then you have the same in GS
void GS( triangle **vsin** input[3](3), inout TriangleStream<gs2ps> gsout )
should be
void GS( triangle **vs2ps** input[3](3), inout TriangleStream<gs2ps> gsout )
then in the from line remove line 72
float4 c = input[0](0).col**;**
//Since we assign once, triangle will have a single color
**//**output.col = c;
P.S doesn’t do bold for some reason so look __ symbols marks mistakes.