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 :

[MD5] Calcul des coordonnées


Sujet :

OpenGL

  1. #1
    Membre éclairé Avatar de seeme
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    430
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 430
    Points : 791
    Points
    791
    Par défaut [MD5] Calcul des coordonnées
    Bonsoir,

    Je cherche à charger et afficher un modèle MD5 dans mon application Java/Android (OpenGL ES).

    Pour ce faire, j'utilise une classe VertexArray:


    Constructeur de la class VertexArray
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    public VertexArray(Vert[] vertices, short[] index){
    		//Building float array
    		float[] vert = new float[vertices.length * 3];
    		for(int i = 0; i < vertices.length; i++){
    			vert[3*i] = vertices[i].position.x;
    			vert[3*i + 1] = vertices[i].position.y;
    			vert[3*i + 2] = vertices[i].position.z;
    		}
     
    		ByteBuffer vbb = ByteBuffer.allocateDirect(vert.length * 3 * 4);
    		vbb.order(ByteOrder.nativeOrder());
    		vertex = vbb.asFloatBuffer();
    		vertex.put(vert);
    		vertex.position(0);
     
    		//Building index
    		ByteBuffer ibb = ByteBuffer.allocateDirect(index.length * 2);
    		ibb.order(ByteOrder.nativeOrder());
    		indexes = ibb.asShortBuffer();
    		indexes.put(index);
    		indexes.position(0);
     
    		size = (short) (index.length);
    	}
    J'affiche mes array avec cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void drawVertexArray(GL10 gl, int mode, VertexArray va){
    		gl.glVertexPointer(3, GL10.GL_FLOAT, 0, va.getVertex());
    		gl.glDrawElements(mode, va.getSize(), GL10.GL_UNSIGNED_SHORT, va.getIndexes());
    	}
    Jusque là rien d'extraordinaire.. Seulement, j'obtiens quelque chose de bizarre (voir en pièce jointe).

    Mon modèle est tout plat...

    Je pense que le problème vient du calcul des positions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    private void computeVert(Mesh m){
     
    		for(int j = 0; j < m.getVertices().length; j++){
    			Vect3f finalVect = new Vect3f();
    			for(int k = 0; k < m.getVertices()[j].countWeight; k++){
     
    				Weight w = m.getWeights()[m.getVertices()[j].startWeight + k];
    				Joint joint = squeleton[w.joint];
     
    				Vect3f wv;
    				wv = Tools.rotatePoint(joint.orientation, w.position);
     
     
    		        finalVect.x += (joint.position.x + wv.x) * w.bias;
    		        finalVect.y += (joint.position.y + wv.y) * w.bias;
    		        finalVect.z += (joint.position.z + wv.z) * w.bias;
    			}
    			m.getVertices()[j].position = finalVect;
    		}	
    	}
    Si quelqu'un avait une idée..

    Merci d'avance.

  2. #2
    Membre éclairé Avatar de seeme
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    430
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 430
    Points : 791
    Points
    791
    Par défaut
    Problème résolu, il s'agissait d'une erreur dans la fonction qui applique un quaternion à un vecteur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [HTML 4.0] Calcul des coordonnées pour image réactive
    Par Marc31 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 12/08/2011, 16h04
  2. calcul des coordonnées de points d'une courbe
    Par stick25 dans le forum MATLAB
    Réponses: 6
    Dernier message: 15/03/2010, 16h59
  3. Calcul des coordonnées d'un point dans un plan à 2 dimensions
    Par Séléné dans le forum Mathématiques
    Réponses: 4
    Dernier message: 16/02/2010, 10h15
  4. Réponses: 6
    Dernier message: 16/04/2008, 19h42

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