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 :

Aucun affichage second frame


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 212
    Par défaut Aucun affichage second frame
    Bonjour,

    Nous avons un problèùe en OpenGLES sous Android. En effet, nous avons l'affichage d'une scène simple (un pavé pour le sol et un cube) qui s'effectue à la première frame et non à la seconde et suivante. Le code est base sur API OpenSource qui fonctionne parfaitement, notre intégration étant juste un lien avec la classe d'affichage sans modification interne. L'erreur est repertorié 1282, elle peut être un peu tout et n'importe quoi ... Nous avons regarder beaucoup de forum, tester pas mal de choses et nous doutons sur le buffer éventuellement. Un beug autre que OpenGL n'a pas encore été exclus pour le moment également.

    Voici le bout de code en question, l'erreur étant soulevé au GlError

    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
    27
    28
    29
     
    public void drawCube() {
            GLES20.glUseProgram(cubeProgram);
     
    		GLES20.binbuffer(GLES20.ARRAY_BUFFER, cubeProgram.getPosition());
     
            GLES20.glUniform3fv(cubeLightPosParam, 1, lightPosInEyeSpace, 0);
     
            // Set the Model in the shader, used to calculate lighting
            GLES20.glUniformMatrix4fv(cubeModelParam, 1, false, modelCube, 0);
     
            // Set the ModelView in the shader, used to calculate lighting
            GLES20.glUniformMatrix4fv(cubeModelViewParam, 1, false, modelView, 0);
     
            // Set the position of the cube
            GLES20.glVertexAttribPointer(cubePositionParam, COORDS_PER_VERTEX, GLES20.GL_FLOAT,
                    false, 0, cubeVertices);
     
            // Set the ModelViewProjection matrix in the shader.
            GLES20.glUniformMatrix4fv(cubeModelViewProjectionParam, 1, false, modelViewProjection, 0);
     
            // Set the normal positions of the cube, again for shading
            GLES20.glVertexAttribPointer(cubeNormalParam, 3, GLES20.GL_FLOAT, false, 0, cubeNormals);
            GLES20.glVertexAttribPointer(cubeColorParam, 4, GLES20.GL_FLOAT, false, 0,
                    isLookingAtObject() ? cubeFoundColors : cubeColors);
     
            GLES20.glDrawArrays(GLES20.GL_TRIANGLES, 0, 36);
            checkGLError("Drawing cube");
        }
    Merci pour votre attention !

  2. #2
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    Salut!

    Tu fais un seul appel à glCheckError, dans un code où tu as un problème?
    Pourquoi pas après chaque appel de fonction OpenGL, ça te permettrait de déterminer quelle fonction pose problème, plutôt que de tatonner à l'aveugle.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 212
    Par défaut
    Merci pour ta réponse, nous l'avons fait, on a dépilé le code et l'erreur est bien soulevé à cet endroid là, soit après le glDrawArrays et rien avant. Il en est de même lors du glDrawArrays pour le sol (si le cube est mis en commentaire).

  4. #4
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    Ton 1282 correspond à 0x502 => GL_INVALID_OPERATION

    As-tu regardé les causes d'une erreur GL_INVALID_OPERATION sur un appel à glDrawArrays?

    Si tu y as accès, regarde les extensions de débogage OpenGL: http://jeux.developpez.com/telecharg...via-extensions, au pire tu as le même niveau d'informations que glGetError, au mieux tu as une erreur détaillée.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  5. #5
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 212
    Par défaut
    Oui j'ai regardé de ce côté là, il y a deux cas principaux soulevant cette erreur pour cette méthode mais tout semble bon. Je vais regarder ton second point, ça peut être intéressant ! Merci

  6. #6
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 212
    Par défaut
    Finalement nous avons recodé pour ne pas perdre plus de temps. Je mets donc le sujet en résolu même si il l'est indirectement

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

Discussions similaires

  1. [VB6]affichage de frame (probleme dur a expliquer)
    Par riesseg dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 24/04/2006, 23h23
  2. [MySQL] Requete SQL correcte Mais aucun affichage
    Par jenga dans le forum PHP & Base de données
    Réponses: 21
    Dernier message: 10/04/2006, 13h55
  3. ASP - connexion à la base OK : aucun affichage des tables
    Par priest69 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 23/02/2006, 09h35
  4. Problème d'affichage: fenêtres (frames) vides!
    Par NdmaX dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 12/07/2005, 21h23
  5. [frame] Aretter l'affichage en Frames
    Par glanumf dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/05/2005, 14h21

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