Historique des modifications - Message

Message #7676

Sujet: récupérer le contenu d'un fichier .obj


Type Date Auteur Contenu
Création du message 11-01-2010 18:36:09 shiratori
Bon eh bien j'ai fini par trouver tout seul.
Il suffisait de faire ainsi:

Code c++ :


//  Récupération des sommets constituant les faces et de leurs coordonnées
void recupFaces(int nbFaces, irr::u16* faces, int nbSparf, irr::video::S3DVertex* normVerts)
{
    for (int j=0; j<nbFaces; j+=nbSparf)
    {
        int sommet1 = faces[j]; //  Sommet 1 de la face
        int sommet2 = faces[j+1];   //  Sommet 2 de la face
        int sommet3 = faces[j+2];   //  Sommet 3 de la face
        if(nbSparf == 4){   //  Si il y a 4 sommets par face
            int sommet4 = faces[j+3];   //  Sommet 4 de la face
            printf("La face %d sur %d et composee des sommets: %d , %d , %d, %d\
",(j/4)+1,nbFaces/4,sommet1,sommet2,sommet3,sommet4);
            positionUnSommet(sommet1, normVerts);   //  Coordonnées du sommet 1
            positionUnSommet(sommet2, normVerts);   //  Coordonnées du sommet 2
            positionUnSommet(sommet3, normVerts);   //  Coordonnées du sommet 3
            positionUnSommet(sommet4, normVerts);   //  Coordonnées du sommet 4
        }else{
            printf("La face %d sur %d et composee des sommets: %d , %d , %d\
",(j/3)+1,nbFaces/3,sommet1,sommet2,sommet3);
            positionUnSommet(sommet1, normVerts);   //  Coordonnées du sommet 1
            positionUnSommet(sommet2, normVerts);   //  Coordonnées du sommet 2
            positionUnSommet(sommet3, normVerts);   //  Coordonnées du sommet 3
        }
    }
}

Avec, pour récupérer les coordonnées d'un sommet:

Code c++ :


//  Récupération des coordonnées d'un sommet
void positionUnSommet(int numSommet, irr::video::S3DVertex* normVerts)
{
        //  Récupération des coordonnées d'un sommet
        float PosX = -(float)normVerts[numSommet].Pos.X;            // Récupération de la coordonnée x
        float PosY = (float)normVerts[numSommet].Pos.Y;            // Récupération de la coordonnée y
        float PosZ = (float)normVerts[numSommet].Pos.Z;            // Récupération de la coordonnée z
        printf("position du sommet %d: x:%f, y:%f, z:%f \
",numSommet,PosX,PosY,PosZ);
}

Et pour récupérer le tableau des faces et celui des sommets:

Code c++ :


irr::video::S3DVertex* normVerts = (irr::video::S3DVertex*)(IMeshBuf->getVertices());
irr::u16* faces  = IMeshBuf->getIndices();

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
155 invités en ligne
membre en ligne: -
RSS Feed