1struct S { 2 float4 pos : SV_Position; 3 float2 clip : SV_ClipDistance0; 4}; 5 6[maxvertexcount(3)] 7void main(triangle in float4 pos[3] : SV_Position, 8 triangle in uint VertexID[3] : VertexID, 9 inout LineStream<S> OutputStream, 10 triangle in float4 clip[3] : SV_ClipDistance) // externally: an array 3 of array 4 (not vec4!) of float. 11{ 12 S s; 13 14 s.pos = pos[0]; 15 s.clip = clip[0].xy; 16 17 OutputStream.Append(s); 18} 19 20