Sono uno sviluppatore del gioco open-source, Bitfighter. Come per il seguente post SO, abbiamo usato l'eccellente libreria 'Triangolo' per la generazione di mesh-zone per l'uso con il nostro in-game AI (robot):Triangolazione di poligono (con fori) complessa, veloce e complessa C/C++ con licenza permissiva
Polygon Triangulation with Holes
Tuttavia, ci siamo imbattuti in un piccolo intoppo quando vogliamo impacchettare il nostro gioco per Debian, l'uso della libreria "Triangolo" renderà il nostro gioco considerato "non libero".
Siamo stati estremamente soddisfatti delle prestazioni della libreria "Triangolo" e non vogliamo davvero rinunciarci; tuttavia, non ci piace gestire anche i problemi di licenza. Pertanto, abbiamo intrapreso una ricerca per trovare un sostituto adatto e concesso in licenza che possa eguagliare "Triangolo" nella sua robustezza e velocità.
Stiamo cercando una libreria C o C++ per dividere aree grandi e complesse in triangoli, in grado di gestire qualsiasi tipo di poligoni irregolari posizionati insieme in qualsiasi modo, così come i fori. La robustezza è il nostro bisogno primario, con una velocità quasi altrettanto importante.
Ho trovato poly2tri, ma soffre di un bug in cui non è possibile gestire poligoni con bordi coincidenti.
Abbiamo trovato diverse librerie, ma tutte sembrano soffrire di una cosa o di un'altra: o troppo lente, o non gestire buchi, o soffrire di qualche bug. Attualmente stiamo testando polypartition e abbiamo grandi speranze.
Quali sono le migliori alternative alla grande libreria "Triangolo", ma hanno una licenza permissiva?
Puoi approfondire su cosa hai esattamente bisogno da una biblioteca come Triangle per favore? Forse puoi scrivere da solo alcuni algoritmi e pubblicare il tuo codice come se ne avessi bisogno. –
Che cos'è esattamente la licenza Triangle? Hai provato a mandare un'e-mail a Jonathan Shewchuk per chiedergli se l'avrebbe relitto per te? –
@MareInfinitus Abbiamo livelli con muri al loro interno. L'intera area giocabile di un livello deve essere triangolata per la navigazione a zone mesh in modo che i robot possano spostarsi. – raptor