SDL OpenGL, crash à la fermeture de l'application

mohdaef Messages postés 68 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 14 mars 2012 - 29 sept. 2009 à 17:29
mohdaef Messages postés 68 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 14 mars 2012 - 30 sept. 2009 à 14:42
Bonjour à tous,

Je cherche à apprendre à utiliser la bibliothèque SDL avec OpenGL j'ai fait quelque test et je suis confronté à un problème relativement génant.
Mon application se lance correctement, SDL et OpenGL sont correctement initialisés, les textures sont bien chargées. Le problème surviens lorsque je veux fermer l'application.

- Si je ferme la console correspondant à l'application par exemple avec "CTRL + C" (je complie en débug), tout se passe bien.
- Si je laisse le programme se fermer correctement (je sort de la boucle d'évènement par l'appuie d'une touche) le pc crash.

Selon les machines j'ai droit à un redémarrage direct, sinon il y a un "bel" écran bleu avant le redémarage.

De plus cela ne se produit que quand j'utilise le mode plein écran que j'initialise avec
SDL_SetVideoMode() et le flag SDL_FULLSCREEN.

J'ai fait des test et il se trouve que le problème survient vraiment tout à la fin, à la fermeture de l'application. c'est-à-dire que la sortie de la boucle d'évènement se fait sans aucuns soucis...


Si vous pouvez m'aider ?

Merci d'avance.

2 réponses

mezaya Messages postés 202 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 6 mars 2010
30 sept. 2009 à 01:07
Un control+c correspond a un TerminateProcess() donc ça se passe toujours bien.
sinon lorsque tu as l'écran bleu regarde si c'est pas les drivers graphique qui fait planter la machine. Si c'est le cas une mise à jour des drivers pourrait corrigé le problème. Sinon je suis plutôt directX qu'openGL mais au final il se ressemble beaucoup donc il doit avoir un system de refcount sur le device. regarde que tu détruit bien ton device.
Sous directX il existe un mode debug, qui permet de vérifier que les données en entrées sont correcte. regarde si un tel mode existe en openGL.

Voili,Voilou
0
mohdaef Messages postés 68 Date d'inscription vendredi 23 novembre 2007 Statut Membre Dernière intervention 14 mars 2012
30 sept. 2009 à 14:42
Salut,

Les pilotes sont déjà à jour et puis ça le fait sur toute mes machines. qui n'on pas la même configuration.

En ce qui concerne la destruction du device, je ne la fait pas explicitement car j'initialise OpenGL à partir de SDL et c'est SDL qui est censé s'occuper de la destruction également. Et puis ça ne se produit qu'en mode plain écran.

Est-ce qu'il n'y aurais pas une manipulation supplémentaire par rapport au mode fenêtré à faire avant de quitter l'application ?

Sinon je voulais essayer avec les api Win32 et OpenGL mais je ne sais pas comment passer en plein écran. Si tu sais comment faire ?

Merci d'avance.
0
Rejoignez-nous