struct VertexData { float4 position : POSITION; float4 color : COLOR0; float2 uv : TEXCOORD0; }; struct PS_IN { float4 position : SV_POSITION; float4 color : COLOR0; float2 uv : TEXCOORD0; }; [maxvertexcount(4)] void main(line VertexData vin[2], inout TriangleStream outStream) { PS_IN vout; vout.color = vin[1].color; vout.uv = vin[1].uv; vout.position = vin[1].position; outStream.Append(vout); }