Extruder une feuille sous opengl

Signaler
Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009
-
Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009
-
Salut,

Je voudrais extruder une feuille sous opengl. A priori, c'est facile via la commande gldepth d'opengl mais le souci vient du fait que ma feuille (un plan, un objet 2D pour être précis) est de forme concave. D'après le "red book" (Opengl programming guide), chapitre 2, il n'est pas possible de faire ça. Vous pouvez le trouver ici pour info: http://www.glprogramming.com/red/

Après une petite recherche sur le forum, je pense qu'il y a moyen de faire ça à condition de trianguler mon plan (via Delaunay) pour le transformer en mesh. Cela fait beaucoup de calculs et de temps à investir dans un test dont je ne suis pas certain du résultat. Croyez-vous que cela puisse fonctionner? N'y a-t'il pas une autre méthode plus rapide à développer ou (surtout) moins gourmande en ressources (n log n comme même...) ?

Merci d'avance pour vos suggestions.


 

4 réponses

Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009

A priori, je crois que c'est la seule solution vu que mes données (droites, arcs) viennent d'un fichier dxf. L'ordre n'est pas forcément bon (sens trigonométrique ou non). Sinon il y a aussi les fonctions tessellators de la librairie glu (voir chapitre 11 dans le red book).

 
Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009

Petit up pour confirmer que l'ordre des données dans un fichier dxf (autocad) correspond à l'ordre dans lequel l'utilisateur les a entrées. La méthode Delaunay est la seule valable...


 
Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009

Il y a encore moyen de trier les données d'un dxf, en simplifier pas mal de fonctions par des lignes (comme les arcs, splines,...). Vu que l'on connaît le début et la fin (coordonnées) de chaque ligne, il ne reste plus qu'à les mettre dans l'ordre tel que (Xi,Yi) (Xi+1,Yi+1) sont les points d'une droite, (Xi+1,Yi+1) (Xi+2,Yi+2) est la droite suivante. Quand un point d'une ligne équivaut à  (Xi,Yi), la boucle est finie. Et ainsi de suite pour les autres boucles...


 
Messages postés
43
Date d'inscription
mardi 25 février 2003
Statut
Membre
Dernière intervention
10 septembre 2009

Je crois que je vais implémenter les deux méthodes pour le fun

Un avis à donner?