12345678910111213141516171819202122232425262728293031323334353637383940 |
- // ***
- // invocation ID coming from input to entry point
- // ***
- struct VS_OUT
- {
- float3 cpoint : CPOINT;
- };
- struct HS_CONSTANT_OUT
- {
- float edges[2] : SV_TessFactor;
- };
- struct HS_OUT
- {
- float3 cpoint : CPOINT;
- };
- [domain("isoline")]
- [partitioning("integer")]
- [outputtopology("line")]
- [outputcontrolpoints(4)]
- [patchconstantfunc("PCF")]
- HS_OUT main(InputPatch<VS_OUT, 4> ip, uint m_cpid : SV_OutputControlPointID)
- {
- HS_OUT output;
- output.cpoint = ip[0].cpoint;
- return output;
- }
- HS_CONSTANT_OUT PCF(uint pid : SV_PrimitiveId)
- {
- HS_CONSTANT_OUT output;
-
- output.edges[0] = 2.0f;
- output.edges[1] = 8.0f;
- return output;
- }
|