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 :

Pbl avec java et floatBuffer


Sujet :

OpenGL

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Par défaut Pbl avec java et floatBuffer
    Bonjour,

    Voilà, je veux utiliser la commande myGL.glVertexPointer( 2, GL.GL_FLOAT , 0, floatBuffer ) et je prépare mon petit tableau. Le p'tit souci c'est que je ne parviens pas à transformer un tableau de float en FloatBuffer, voilà mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        private float[] vertices = { 1f, -1f, 1f, 1f, -1f, 1f, -1f, -1f };
        FloatBuffer floatBuffer = FloatBuffer.allocate( vertices.length );
    avec ca j'obtiens : javax.media.opengl.GLException: Argument "ptr" was not a direct buffer

    Je me dis ok, tu as alloué de la place pour le floatbuffer,maintenant fautle remplir... alors je code ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        private float[] vertices = { 1f, -1f, 1f, 1f, -1f, 1f, -1f, -1f };
        FloatBuffer floatBuffer = FloatBuffer.allocate( vertices.length );
        floatBuffer = floatBuffer.put( vertices );
    Et là le bougre me hurle dessus : <identifier> expected

    si je tape ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
         private float[] vertices = { 1f, -1f, 1f, 1f, -1f, 1f, -1f, -1f };
        FloatBuffer floatBuffer = FloatBuffer.allocate( vertices.length );
        FloatBuffer floatBuffer = floatBuffer.put( vertices );
    il me dit que floatBuffer is already definined...

    Un p'tit coup de main svp

    Laurent

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 88
    Par défaut
    Bon en fait j'ai trouvé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        private float[] vertices = { 1f, -1f, 1f, 1f, -1f, 1f, -1f, -1f };
        ByteBuffer bb;
        FloatBuffer floatBuffer;
    ...
        // On charge le FloatBuffer
        bb              = ByteBuffer.allocateDirect( (vertices.length + 1)*SIZE_FLOAT );
        floatBuffer     = bb.asFloatBuffer().put( vertices );
        // Ne pas oublier de revenir au debut du buffer
        floatBuffer.rewind();
    Bon, je peux afficher le contenu du buffer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            while(floatBuffer.hasRemaining()) {
                float i = floatBuffer.get();
                if(i == 0) break; // Else we'll get the entire buffer
                System.out.println(i);
            }
    Par contre, lorsque je veux afficher ma figure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            myGL.glEnableClientState( GL.GL_VERTEX_ARRAY );
            myGL.glVertexPointer( 2, GL.GL_FLOAT , 0 , floatBuffer );
     
            myGL.glBegin( GL.GL_QUADS );
                myGL.glArrayElement(0);
                myGL.glArrayElement(1);
                myGL.glArrayElement(2);
                myGL.glArrayElement(3);
            myGL.glEnd();
    Bah j'ai rien

Discussions similaires

  1. meilleure base de données avec java
    Par mial dans le forum JDBC
    Réponses: 11
    Dernier message: 10/11/2010, 11h49
  2. [LDAP] recherche dans differents container LDAP avec Java
    Par touinth dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 01/07/2004, 16h06
  3. [CR][Java] imprimer un état CR avec java
    Par wassimb dans le forum SDK
    Réponses: 2
    Dernier message: 24/05/2004, 16h40
  4. Réponses: 3
    Dernier message: 27/01/2004, 16h15
  5. [JNDI] Equivalent avec Java Web Start ?
    Par cameleon2002 dans le forum Java EE
    Réponses: 8
    Dernier message: 18/09/2003, 18h55

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