2010-07-12 12 views
10

Mi chiedevo se ci fosse una libreria o un altro modo per produrre poligoni multi contour in OpenGL. Ho fatto il profiling del codice e il GLUTESSELATOR sta uccidendo il mio ciclo. GrazieAlternativa a GLUTSelator?


Bounty
+50 per una libreria con una licenza compatibile con la GPL, e idealmente 3D (secondo miglior sarebbe 2.5D come GLUtesselator stessa.)

+0

La geometria è statica? – genpfault

+0

Sì, non cambia mai – jmasterx

+0

@finnw: intendi il 3D come nei poligoni in posizione generale in R^3 ma con vertici complanari o nuvola di punti 3D full-on random-ish? – genpfault

risposta

3

C'è sempre GPC.

EDIT: Alcuni altri:

Flipcode mystery triangulator. Più lento di GPC nei miei test estremamente limitati, probabilmente sbagliati.

poly2tri è concesso in licenza BSD.

+1

Il "triangolo triangolare" di Flipcode non supporta buchi o, presumibilmente, poligoni (complessi) autointersecanti. C'è un articolo qui che descrive alcune correzioni ad esso (ma dubito che funzionerà o perché questo è un problema ** difficile **). http://www.nicolaslelong.fr/2008_03_01_archive.html –

0

Non conosco la parte del contorno, ma penso che se si desidera che la scheda grafica faccia il duro lavoro di disegnare i poligoni, si potrebbe desiderare di guardare a Stencil Buffer.

+1

No, la CPU deve conoscere la geometria risultante (sotto forma di triangoli). – finnw

0

Per di qualunque pena, la Licenza B SGI libero 2.0 è ora GPL-compatibile, essendo essenzialmente identico alla licenza X11, secondo il progetto GNU:

http://www.gnu.org/licenses/license-list.html#SGIFreeB

http://www.gnu.org/licenses/license-list.html#X11License

La SGI libero licenza B 2.0 è la licenza sotto la quale il tessellator GLU GLU in 9.0.0 è stato rilasciato:

ftp://ftp.freedesktop.org/pub/mesa/glu/

Quindi vai avanti e usa il tessellator GLU nel tuo progetto GPL!