1struct S { 2 float4 pos : SV_Position; 3 float2 clip[2] : 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 float2 clip[3][2] : SV_ClipDistance) // externally: an array 3 of array 4 of float. 11{ 12 S s; 13 14 s.pos = pos[0]; 15 s.clip[0] = clip[0][0]; 16 s.clip[1] = clip[0][1]; 17 18 OutputStream.Append(s); 19} 20