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 :

Yes::Engine, plantage sur appel openGL


Sujet :

OpenGL

  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 537
    Points : 2 502
    Points
    2 502
    Par défaut Yes::Engine, plantage sur appel openGL
    Bon, par curiosité, je me suis lancé dans le comprehension de yes::engine, article rudement bien fichu, soit dit au passage.

    Je reconstruis donc le moteur, etape par etape pour assimiler. Mais rien ne semble vouloir marcher. J'essaye d'afficher un modele md2, les poices graphique ne sont pas encore implementées, les shader et la console non plus. Juste VB, IB et Textures.

    En effet, des que je passe par la fonction creatVB, le programme plante.

    Apres plusieur test, les données qui sont envoyées a cette fonction semblent corretes, le modele md2 est chargé correctement, et le tout est acheminé correctement dans cette fonction.

    Mes connaissance en C++ sont bonnes mais celle en OpenGL nettement moins, et je n'ai donc aucune idee sur la direction dans laquelle chercher. Un petit coup de pouce ne serait aps de refus, je sais qu'il est difficile de donner une reponse exacte, mais des piste sur quel peuvent etre les sources de plantage a ce niveau.

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Peut-être que ta carte graphique ne supporte pas les VBOs.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 537
    Points : 2 502
    Points
    2 502
    Par défaut
    Comment puis-je avoir cette information ?

    PS: je n'ai pas encore comoilé moi-meme, mais la version compilée que tu fournis tourne nickel en DirectX.

    PS²: bravo pour la rapidité, tu est vraiment une force positive de la 3d dans ce bas monde.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tu peux télécharger OpenGL extension viewer :
    http://jeux.developpez.com/outils/#a_opengl

    Et regarder si l'extension ARB_vertex_buffer_object est supportée pour ta carte graphique.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 537
    Points : 2 502
    Points
    2 502
    Par défaut
    Effectivement, tu as raison, ma carte ne supporte pas les VBO.

    Il va donc falloir que j'ajoute une un test dans le renderer, et que je gere la conversion des VBO en autre chose.

    A ce propos, j'ai commencé de mon coté, en essayant d'implementer des EXT_vertex_array. Mes connaissance en openGL sont bien minces et le resultat ne se fait pas atendre : je galere. Donc si quelqu'un a des pistes . . .

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    C'est pas si difficile, en fait tu peux garder les mêmes appels OpenGL, simplement au lieu de stocker ta géometrie dans des VBO tu les stockes directement dans un tableau en mémoire centrale (dans un std::vector par exemple). Et au lieu de passer NULL aux glVertexPointer & cie, tu passes l'adresse du premier élément de ton tableau.

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 537
    Points : 2 502
    Points
    2 502
    Par défaut
    oui, j'avais pensé a un truc du genre, mais pour la desallocation memoire, j'avais des problemes.

    Le gros probleme ici en fait, c'est mon niveau en openGL, je vais donc potasser ca dans mon coin, et sortir une soluce si j'en trouve une .

    PS: c'est un peu dommage que yes::engine ne marche pas sur une carte ou quake4 tourne (geforce 4 pour etre exact). je vais donc essayer d'y ajouter ma contribution.

  8. #8
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Te tracasse pas pour ça, Yes::Engine est un vieux projet qui n'a jamais abouti, il n'est pas fait pour fonctionner en conditions réelles (c'est surtout un support de tutoriel). D'ailleurs entre temps j'avais recommencé un nouveau moteur 3D qui ne comportait pas tous ces manques.

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 537
    Points : 2 502
    Points
    2 502
    Par défaut
    Oui, l'ayant un peu demontibulé, je me suis apercu de certains manques, mais c'est un support assez genial pour apprendre !

    Mon but n'est pas de revolutionner la 3d, mais bien de comprendre ce qui se cache derriere cette 3d. Et puis de nouveaux utilisateurs pourraient les memes problemes, comme ca, ils auront une option poru les resoudre.

    Tout le monde y gagne : moi j'apprend la 3d, d'autres auront moins de travail.

    Ca peut peut etre te parraitre un vieux projet, car tu as parfaitement integré le concept de moteur 3d et ecris celui-ci. Pour moi, c'est totalement nouveau, et je me retrouve avec du code, et tout un tuto qui explique comment il a ete pondu.

    J'ai en plus 2/3 exercice supplementaire pour verifier que j'ai bien capté le cour ^^.

    EDIT: cela dit au passage, il semblerait que ma eforce n'aime aps aussi les polices grapique avec directX, alors que le rendu 100% software est correct (bien que tres lent). Comment puis-je savoir quelle element pose probleme ?

  10. #10
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    EDIT: cela dit au passage, il semblerait que ma eforce n'aime aps aussi les polices grapique avec directX, alors que le rendu 100% software est correct (bien que tres lent). Comment puis-je savoir quelle element pose probleme ?
    Alors là aucune idée. Qu'est-ce que tu appelles "rendu 100% software" ?

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 537
    Points : 2 502
    Points
    2 502
    Par défaut
    reference rasterizer, l'outil ideal si vous trouvez que votre pc est trop puissant. L'outil ideal pour voir si c'est vous ou votre carte graphique qui a des problemes aussi.

  12. #12
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Ok

    Et le debug de DirectX ne te dit rien ?

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 537
    Points : 2 502
    Points
    2 502
    Par défaut
    En fait, j'ai pas trouvé comment le faire marcher . Mais je suppose que le probleme viens de ma carte graphique qui ne supporte pas un truc. J'ai testé les different point : la texture generée avec tous les caracteres est bien correcte, les polygones aussi, et ils sont bien associé a la teture. Merci std::cout

    Par contre au visuel, j'ai absolument n'importe quoi. On dirait que la cg comprend pas ce que je lui envoie.

  14. #14
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    En fait, j'ai pas trouvé comment le faire marcher
    Tu as lu la FAQ à ce sujet ?

    Par contre au visuel, j'ai absolument n'importe quoi
    C'est-à-dire ? Tu as peut-être une capture d'écran à nous montrer ?

  15. #15
    Membre émérite
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : juillet 2006
    Messages : 1 537
    Points : 2 502
    Points
    2 502
    Par défaut
    Ne t'en fait par pour le debugguer, je vais bien trouver comment le faire marcher. Google saura normalement me dire.

    Pour le rendu, j'ai fait un screenshot ici :

    http://deadal.nix.free.fr/image/bug_police.jpg

    Idem, si tu voit pas d'ou ca peut venir, te decarcasse pas, quand j'aurait mis le debug de directX en route, j'en saurais surrement plus. Comme tu peux voir, le bonhomme est affiché correctement, il tourne impec et tout, mais le texte lui est quelque peu crypté ^^.

    PS: Le texte en censé etre en bas a gauche, la ou il y a des formes bizares.

    EDIT²: ca y est, j'ai fait marcher le mode debug, mais ca ne m'avance aps du tout. Juste des warn comme quoi je fais des choses qui sont redondantes, ce qui ne m'avance a rien pour mon probleme.

  16. #16
    Membre habitué Avatar de razmott
    Profil pro
    Inscrit en
    octobre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : octobre 2006
    Messages : 133
    Points : 142
    Points
    142
    Par défaut
    Salut !

    J'ai eu le même bug. Cela venait d'un problème dans la mise à jour des VB. Il a suffit de mettre les drivers nvidia à jour.

    Bon coding !

    @+
    Mieux vaut prévoir que patcher.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/09/2014, 17h55
  2. [Yes::Engine] Lock sur un buffer
    Par NiamorH dans le forum Développement 2D, 3D et Jeux
    Réponses: 5
    Dernier message: 14/09/2007, 14h13
  3. [MFC] Plantage sur LoadFrame
    Par thieum74 dans le forum MFC
    Réponses: 11
    Dernier message: 06/09/2007, 14h15
  4. Réponses: 11
    Dernier message: 21/09/2005, 04h56
  5. [LG]plantage sur une commande basique !
    Par Jeff on the web dans le forum Langage
    Réponses: 5
    Dernier message: 13/01/2004, 20h07

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