32 lines
652 B
Plaintext
32 lines
652 B
Plaintext
|
// Test vec2 tessellation coordinate: the IO form should be a vec3, copied to a vec2
|
||
|
// at the entry point boundary.
|
||
|
|
||
|
struct ds_in_t
|
||
|
{
|
||
|
float4 pos : POSITION;
|
||
|
float3 norm : TEXCOORD0;
|
||
|
};
|
||
|
|
||
|
struct pcf_in_t
|
||
|
{
|
||
|
float flTessFactor [3] : SV_TessFactor;
|
||
|
float flInsideTessFactor : SV_InsideTessFactor;
|
||
|
};
|
||
|
|
||
|
struct gs_in_t
|
||
|
{
|
||
|
float4 pos : POSITION;
|
||
|
float3 norm : TEXCOORD0;
|
||
|
};
|
||
|
|
||
|
[domain ( "isoline" )]
|
||
|
gs_in_t main (const OutputPatch <ds_in_t, 2> i, float2 tesscoord : SV_DomainLocation, pcf_in_t pcf_data )
|
||
|
{
|
||
|
gs_in_t o;
|
||
|
|
||
|
o.pos = i[0].pos + tesscoord.x;
|
||
|
o.norm = i[0].norm + tesscoord.y;
|
||
|
|
||
|
return o;
|
||
|
}
|