hlsl.clipdistance-4.geom 616 B

12345678910111213141516171819202122
  1. struct S {
  2. float4 pos : SV_Position;
  3. float2 clip0 : SV_ClipDistance0; // clip0 and clip1 form an array of float[4] externally.
  4. float2 clip1 : SV_ClipDistance1;
  5. };
  6. [maxvertexcount(3)]
  7. void main(triangle in float4 pos[3] : SV_Position,
  8. triangle in uint VertexID[3] : VertexID,
  9. inout LineStream<S> OutputStream,
  10. triangle in float2 clip0[3] : SV_ClipDistance0, // test input arrayed semantic vars
  11. triangle in float2 clip1[3] : SV_ClipDistance1)
  12. {
  13. S s;
  14. s.pos = pos[0];
  15. s.clip0 = clip0[0];
  16. s.clip1 = clip1[0];
  17. OutputStream.Append(s);
  18. }