You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
663 B
40 lines
663 B
4 months ago
|
// ***
|
||
|
// 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;
|
||
|
}
|