Using geometry shader to tessellate and render Bezier/B-Spline/Nurbs curves and surfaces has three
benifits:
1. The volume of transferring data to GPU is much less than using triangles. Also it is independent to the
LOD (Level of Detail). Therefore without suffering from limited bandwidth, high quality curves and
surfaces can be displayed.
2. Tessellation and rendering can be processed in parallel way.
3. LOD can be achieved easily and doesn’t cause any overload to CPU. Also adaptive tessellation can be
also achieved along with LOD.
The limitation of geometry shader:
1. The number of emit primitives are limited.
-> We can overcome this by subdividing input curves or surfaces.
2. The size of geometry shader and loop iteration are limited.
-> Sensitive coding and tuning are necessary.
http://www.seas.upenn.edu/~cis665/projects/CIS%20665%20GPU%20Project%20Final%20Report%20-%20Dongsoo%20Han.pdf
And then another one
http://www.tronte.com/content/SST_tromsoe_jmh_trh.pdf
Looking into them is only recomended if you have enough of a techie brain to not get beat over the head with the jargon and formulae.
Tease.







