32 lines
652 B
GLSL
32 lines
652 B
GLSL
// 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;
|
|
}
|