Author Topic: Générateur de meshs  (Read 3953 times)

0 Members and 1 Guest are viewing this topic.

Offline LLB

  • Base
    • Pouet.net
    • Coup de coeur
    • View Profile
    • site perso
  • Ancienneté: 2000
  • Groupe: Ctrl-Alt-Test
  • Rôle: code
  • Ville: Munich
Générateur de meshs
« on: 23 April 2014 à 17:30:29 »
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)

Offline ok3anos

Re : Générateur de meshs
« Reply #1 on: 23 April 2014 à 20:17:59 »
Qoob est pas mal.... Dommage que ça ne fonctionne que sous VS  :(

Offline RaHoW

  • Base
    • Pouet.net
    • View Profile
    • Apex - official site
  • Ancienneté: 1993
  • Groupe: Apex
  • Rôle: Gfx, code, orga
Re : Générateur de meshs
« Reply #2 on: 25 April 2014 à 00:39:40 »
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 ??
« Last Edit: 26 April 2014 à 21:51:28 by RaHoW »
=RaHoW/Apex=

Offline flure

  • Base
    • Pouet.net
    • View Profile
  • Ancienneté: 1998
  • Groupe: PoPsY TeAm
  • Rôle: Codeur Linux
  • Ville: Lyon
Re : Générateur de meshs
« Reply #3 on: 25 April 2014 à 20:04:24 »
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...

Offline LLB

  • Base
    • Pouet.net
    • Coup de coeur
    • View Profile
    • site perso
  • Ancienneté: 2000
  • Groupe: Ctrl-Alt-Test
  • Rôle: code
  • Ville: Munich
Re : Générateur de meshs
« Reply #4 on: 27 April 2014 à 23:39:13 »
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).

Offline flure

  • Base
    • Pouet.net
    • View Profile
  • Ancienneté: 1998
  • Groupe: PoPsY TeAm
  • Rôle: Codeur Linux
  • Ville: Lyon
Re : Générateur de meshs
« Reply #5 on: 28 April 2014 à 10:12:37 »
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 ;)

Offline LLB

  • Base
    • Pouet.net
    • Coup de coeur
    • View Profile
    • site perso
  • Ancienneté: 2000
  • Groupe: Ctrl-Alt-Test
  • Rôle: code
  • Ville: Munich
Re : Générateur de meshs
« Reply #6 on: 30 April 2014 à 13:46:57 »
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.

Offline flure

  • Base
    • Pouet.net
    • View Profile
  • Ancienneté: 1998
  • Groupe: PoPsY TeAm
  • Rôle: Codeur Linux
  • Ville: Lyon
Re : Générateur de meshs
« Reply #7 on: 30 April 2014 à 17:24:25 »
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...)