hlsl.clipdistance-2.geom 480 B

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