hlsl.hull.2.tesc 650 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // ***
  2. // invocation ID coming from synthesized variable
  3. // ***
  4. struct VS_OUT
  5. {
  6. float3 cpoint : CPOINT;
  7. };
  8. struct HS_CONSTANT_OUT
  9. {
  10. float edges[2] : SV_TessFactor;
  11. };
  12. struct HS_OUT
  13. {
  14. float3 cpoint : CPOINT;
  15. };
  16. [domain("isoline")]
  17. [partitioning("integer")]
  18. [outputtopology("line")]
  19. [outputcontrolpoints(4)]
  20. [patchconstantfunc("PCF")]
  21. HS_OUT main(InputPatch<VS_OUT, 4> ip)
  22. {
  23. HS_OUT output;
  24. output.cpoint = ip[0].cpoint;
  25. return output;
  26. }
  27. HS_CONSTANT_OUT PCF(uint pid : SV_PrimitiveId, float4 pos : SV_Position)
  28. {
  29. HS_CONSTANT_OUT output;
  30. output.edges[0] = 2.0f;
  31. output.edges[1] = 8.0f;
  32. return output;
  33. }