Question

Je recherche un format de fichier simple à utiliser pour les modèles filaires. Je suis conscient de VRML, u3D, etc., mais ceux-ci semblent lourds pour mes besoins. Mes critères sont:

  • Doit avoir une spécification claire. Ou ouvert ou très bien établi / documenté.
  • Je n'ai besoin que de modèles simples: sommets et arêtes. Je ne veux pas manipuler des visages ou des objets. Si le format en supporte plus, c'est bien tant que je peux les ignorer.
  • Les outils destinés aux utilisateurs finaux ne sont pas indispensables, mais seraient très utiles. Sinon, il doit être lisible par l'homme (et modifiable pour les modèles simples).
  • Il serait bien (mais pas nécessaire) de pouvoir annoter ou au moins étiqueter les nœuds.
  • Peu importe la langue que j'utilise, mais les options probables sont Java / C ++ & amp; OpenGL

Ou suis-je mieux en train d'écrire des listes de sommets / arêtes dans un fichier texte et d'en finir?

Était-ce utile?

La solution

Je ne connais aucun format qui cible activement les vues filaires. (Edge / vertex uniquement) Vous aurez presque toujours affaire à des visages au minimum. La chance réside dans le fait qu’à moins que vous n’ayez un besoin très spécifique de rien, un rendu filaire de liste périphérique peut être effectué avec à peu près toutes les API d’une liste de faces.

En ce qui concerne le format, OBJ est bon et simple, si un peu démodé. C'est aussi probablement le format le plus facile pour trouver de la documentation. Les fichiers X de Microsoft sont parfaits pour un rendu rapide et sale, mais j'ai toujours été un peu partial pour les formats Quake. Cependant, ils ont tendance à être très orientés sur le jeu et, en tant que tels, contiennent de nombreuses informations que vous ne voulez probablement pas.

Si aucune de ces solutions ne correspond à vos besoins, consultez COLLADA . Cela ne fonctionnera probablement pas pour vous tout seul, mais vous pouvez écrire un exportateur rapide dans votre propre format qui ne contient que des informations de bord / sommet, et à ce stade, vous avez essentiellement le support de tous les packages de modélisation de la planète:)

Autres conseils

Wavefront OBJ est un format de fichier texte très simple pour stocker des modèles 3D. Il est pris en charge par toutes les applications de modélisation 3D (Maya, 3dsmax, Lightwave, par exemple), ce qui vous permet d'exporter et d'importer facilement vos modèles.

Vous pouvez en lire plus et les spécifications ici:

http://www.fileformat.info/format/wavefrontobj/

Je vous déconseille de créer votre propre format de fichier. Le Wavefront OBJ est aussi simple que possible et bien spécifié.

Voici un exemple d'avion 2x2. v correspond aux coordonnées de sommet, f à la description des faces (quels sommets sont connectés):

v -0.500000 -0.000000 0.500000
v 0.000000 -0.000000 0.500000
v 0.500000 -0.000000 0.500000
v -0.500000 0.000000 0.000000
v 0.000000 0.000000 0.000000
v 0.500000 0.000000 0.000000
v -0.500000 0.000000 -0.500000
v 0.000000 0.000000 -0.500000
v 0.500000 0.000000 -0.500000
v -0.500000 -0.000000 0.500000
v 0.000000 -0.000000 0.500000
v 0.500000 -0.000000 0.500000
v -0.500000 0.000000 0.000000
v 0.000000 0.000000 0.000000
v 0.500000 0.000000 0.000000
v -0.500000 0.000000 -0.500000
v 0.000000 0.000000 -0.500000
v 0.500000 0.000000 -0.500000
f 1/1 2/2 5/5 4/4
f 2/2 3/3 6/6 5/5
f 4/4 5/5 8/8 7/7
f 5/5 6/6 9/9 8/8
f 10/10 11/11 14/14 13/13
f 11/11 12/12 15/15 14/14
f 13/13 14/14 17/17 16/16
f 14/14 15/15 18/18 17/17

Peut-être serait-il plus facile de créer ces listes dans un fichier texte. C'est la première chose qui m'est venue à l'esprit!

Le format de triangle RAW de POV-Ray est ce que je considérer comme le plus simple. Vous ne pouvez vraiment pas obtenir plus simple à mon avis. J'ai implémenté une charge pour cela en quelques minutes - c'est un format vraiment très simple .

OBJ est le plus répandu et le plus simple, mais il se décompose si vous avez besoin de plus que la position du sommet, la normale et une seule coordonnée de texture. Ce n'est pas extensible du tout. Il est également basé sur le texte, donc il a des problèmes avec les grandes mailles.

GTO est en train de devenir un nouveau format d’échange. C'est simple, rapide et extensible, et il existe un code open source éprouvé en production pour le lire et l'écrire:

Format du fichier Gto

Cela a été utilisé en production dans plusieurs studios d’effets virtuels et de jeux, et pourtant, écrire un chargeur en tant que fichier OBJ demande à peu près le même travail (et l’un des exemples est un convertisseur OBJ en GTO).

Découvrez-le et contribuez à enrayer la propagation du virus du ballonnement Collada.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top