Auteur Sujet: Générateur de meshs  (Lu 3215 fois)

0 Membres et 1 Invité sur ce sujet

Par curiosité : Quelqu'un a déjà fait un générateur de meshs intéressant ?


J'aimerais bien améliorer/refaire celui qu'on a, mais je ne suis pas certain de la direction à prendre.
(oui, j'ai lu les articles de ryg sur le sujet et j'ai testé Qoob)

Qoob est pas mal.... Dommage que ça ne fonctionne que sous VS  :(

D'ailleurs squoi le principe de generation de mesh ??

Je comprends à peu près pour les vertex (on calcule des courbes, on incrémente de tant de pas sur la courbe pour prendre la coordonnée selon la résolution de mesh qu'on veut... ), mais pour les faces ?? comment on détermine le sens de traçage ou les UV ??

Pour avoir essaye deja... c'est super complique. Je voulais juste extruder une shape que j'avais definie, ben c'etait simple mais uniquement si la shape n'avait pas de trou ET etait convexe... bref j'ai trouve ca vachement complique et j'ai lache l'affaire...

Quelques explications, comme demandé.
Pour moi, il y a deux types de fonctions :

1. Celles qui créent un mesh à partir de rien. Par exemple une fonction carré, une fonction cube, une fonction qui génère une figure de révolution à partir d'une courbe, une fonction qui importe un mesh compressé...

2. Celles qui modifient un mesh existant (ou uniquement quelques faces d'un mesh) : translation, rotation, scale, extrusion, split, smooth (Catmull Clark), etc.

Faire une figure de révolution à partir d'une spline :

(image faite pendant le développement de Felix's Workshop)

Les slides d'IQ sont intéressants aussi :
http://iquilezles.org/www/material/breakpoint2007/bp2007.pdf (pages 27-32)


Ce que je me demande déjà, c'est quel format est le plus intéressant pour stocker les meshs (il y a plein de représentations possibles).

Oui alors autant les surfaces de révolution c'est assez simple à réaliser, autant les extrusions c'est une autre paire de manches. Pour la manière de stocker les meshes, j'avais vu un slide qui disait que ça ne servait à rien d'être trop malin, crinkler l'est plus que nous, mais que par contre c'est intéressant de stocker tous les X à la suite, puis tous les Y, puis tous les Z. Et de quantizer, mais ça tu le fais déjà visiblement ;)

En fait, je voulais parler de la représentation en mémoire (structures de données) et non pour le stockage sur disque.

Jusqu'à maintenant, on utilise un bête tableau de vertex (multiple de 4, vu qu'on utilise seulement des quads).
On pourrait aussi faire un tableau de vertex, plus un tableau d'indices pour les faces ("telle face utilise les vertex n° 2, 5, 10, 11").
Farbrausch utilise des half-edge.

Ah ok, je pensais que tu cherchais comment les organiser pour une meilleure compression.
Perso, je ne vois rien d'autre que les performances comme argument pour le tableau d'indices...
Sinon, c'est quoi des half-edge ? (dis-je tout en cliquant sur le lien...)