| // 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; |
| } |