IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

[OpenGL avec Delphi] Besoin explication pour fichier .wrl


Sujet :

OpenGL

  1. #1
    Tal
    Tal est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 12
    Points : 8
    Points
    8
    Par défaut [OpenGL avec Delphi] Besoin explication pour fichier .wrl
    Donc, mon fichier .wrl a cette gueule là :

    Citation Envoyé par test.wrl
    #VRML V1.0 ascii

    # Blender V2.0

    # 'Switch' is used as a hack, to ensure it is not part of the drawing

    Separator {
    Switch {
    DEF Material
    Material {
    diffuseColor 0.756191 0.756191 0.756191
    specularColor 1.000000 1.000000 1.000000
    shininess 0.500000
    transparency 0.000000
    }
    DEF Cube
    Separator {
    Coordinate3 {
    point [
    1.000000 1.000000 -1.000000,
    1.000000 -1.000000 -1.000000,
    -1.000000 -1.000000 -1.000000,
    -1.000000 1.000000 -1.000000,
    1.000000 0.999999 1.000000,
    0.999999 -1.000001 1.000000,
    -1.000000 -1.000000 1.000000,
    -1.000000 1.000000 1.000000,
    ]
    }
    USE Material

    IndexedFaceSet {
    coordIndex [
    0, 1, 2, 3, -1,
    4, 7, 6, 5, -1,
    0, 4, 5, 1, -1,
    1, 5, 6, 2, -1,
    2, 6, 7, 3, -1,
    4, 0, 3, 7, -1,
    ]
    }
    }
    DEF Suzanne
    Separator {
    Coordinate3 {
    point [
    0.437500 0.164063 0.765625,
    -0.437500 0.164063 0.765625,
    0.500000 0.093750 0.687500,
    ...
    -0.789063 -0.125000 -0.328125,
    0.859375 0.382813 -0.382813,
    -0.859375 0.382813 -0.382813,
    ]
    }
    IndexedFaceSet {
    coordIndex [
    46, 0, 2, 44, -1,
    3, 1, 47, 45, -1,
    44, 2, 4, 42, -1,
    ...
    504, 506, 314, 322, -1,
    319, 321, 503, 389, -1,
    504, 322, 320, 390, -1,
    ]

    }
    }

    # Hidden Objects, in invisible layers

    }

    # Visible Objects

    Separator {
    MatrixTransform {
    matrix
    0.605122 -0.490303 0.627240 0.000000
    0.795839 0.351135 -0.493300 0.000000
    0.021620 0.797689 0.602682 0.000000
    0.050543 0.156232 -9.943083 1.000000
    }
    PerspectiveCamera {
    focalDistance 3.500000
    }
    Separator {
    MatrixTransform {
    matrix
    0.958524 0.108285 0.263639 0.000000
    -0.077596 0.989221 -0.124183 0.000000
    -0.274245 0.098575 0.956594 0.000000
    -0.097656 0.265605 -0.151322 1.000000
    }
    USE Suzanne
    }
    Separator {
    MatrixTransform {
    matrix
    1.000000 0.000000 0.000000 0.000000
    0.000000 1.000000 0.000000 0.000000
    0.000000 0.000000 1.000000 0.000000
    11.775903 3.073767 -1.287364 1.000000
    }
    USE Cube
    }
    }
    }
    J'ai à peu près compris à quoi correspond chaque truc, sauf le truc en gras !

    Si quelqu'un pouvait éclairer ma lanterne ?

    Merci ;-)

  2. #2
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    je suppose que se sont les index des vertex pour les faces...

    en gros tu a un tableau de vertex qui est donné au debut du fichier, et bien chaque face contient plusieurs vertex... donc chaque indice (dans l'exemple il y en a 4 + un -1 qui doit etre le marqueur de fin) represente l'index dans le tableau de vertex des vertex de ta face... attention d'ailleurs, il se peut que comme pour le .obj, il faille enlever 1 à chaque index pour avoir le vertex réel (le tableau commence a 0 en C/C++ )

    bon un autre exemple au cas ou tu n'aurait pas compris : un cube peut se representer avec seulement 8 points (4 en haut et 4 en bas) mais il a neanmoins 6 face ayant toutes 4 vertex. il y a donc des vertex qui sont partagé entre plusieurs faces. donc ce qu'on fait c'est de definir un tableau de 8 vertex et un tableau d'index pour chaque face ce qui donnera a peut pres ce resultat
    vertex{{-10,-10,-10},{10,-10,-10},{10,10,-10} [...] }
    face1{1,2,3,4} <= les index dans le tableau de vertex...
    face2{4,6,8,9}

    bon la j'ai mis n'importe quoi commes valeurs mais le principe est la

  3. #3
    Tal
    Tal est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par bafman
    je suppose que se sont les index des vertex pour les faces...

    en gros tu a un tableau de vertex qui est donné au debut du fichier, et bien chaque face contient plusieurs vertex... donc chaque indice (dans l'exemple il y en a 4 + un -1 qui doit etre le marqueur de fin) represente l'index dans le tableau de vertex des vertex de ta face... attention d'ailleurs, il se peut que comme pour le .obj, il faille enlever 1 à chaque index pour avoir le vertex réel (le tableau commence a 0 en C/C++ )

    bon un autre exemple au cas ou tu n'aurait pas compris : un cube peut se representer avec seulement 8 points (4 en haut et 4 en bas) mais il a neanmoins 6 face ayant toutes 4 vertex. il y a donc des vertex qui sont partagé entre plusieurs faces. donc ce qu'on fait c'est de definir un tableau de 8 vertex et un tableau d'index pour chaque face ce qui donnera a peut pres ce resultat
    vertex{{-10,-10,-10},{10,-10,-10},{10,10,-10} [...] }
    face1{1,2,3,4} <= les index dans le tableau de vertex...
    face2{4,6,8,9}

    bon la j'ai mis n'importe quoi commes valeurs mais le principe est la
    Ah ouais OK !!! ;-)

    Et sinon, pourquoi il n'y a pas d'info sur les couleurs ? :

  4. #4
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    car tu a des infos sur les materials...

  5. #5
    Tal
    Tal est déconnecté
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 12
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par bafman
    car tu a des infos sur les materials...
    Ah OK !!

    Et comment on les utilise ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/05/2005, 13h23
  2. Réponses: 3
    Dernier message: 28/04/2005, 18h07
  3. Réponses: 5
    Dernier message: 24/04/2005, 04h09
  4. Réponses: 5
    Dernier message: 18/03/2005, 20h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo