Problème d'écran bleu lors de l'éxécution de mon programme

Signaler
Messages postés
1
Date d'inscription
dimanche 7 novembre 2010
Statut
Membre
Dernière intervention
7 novembre 2010
-
Messages postés
14881
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
27 novembre 2020
-
Bon, alors, en fait j'ai un petit problème:
Voyez-vous je me suis récemment lancé dans la programmation pour openGL sous Windows.
Alors je code sous NotePad++ et je compile directement en console avec un MakeFile grâce au compilateur g++.
Mais voila, lorsque j'exécute mes programmes fait sous openGL, j'ai un jolie écran bleu qui apparait, pourtant mon code me semble bon:

#include 
#include <SDL/SDL.h>
#include <GL/gl.h>
#include <GL/glu.h>

using namespace std;

int main(int argc, char *argv[])
{
if( SDL_Init(SDL_INIT_VIDEO) < 0)
{
cerr << "Echec SDL_Init : " << SDL_GetError() << endl;
return (EXIT_FAILURE);
}
atexit(SDL_Quit);
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
SDL_Surface *ecran = SDL_SetVideoMode(800, 600, 32, SDL_OPENGL);
if(ecran==NULL)
{
cerr << "Echec lors de la création de fenêtre:" << SDL_GetError() << endl;
return (EXIT_FAILURE);
}
int valeurBuffer;
if(SDL_GL_GetAttribute(SDL_GL_DOUBLEBUFFER, &valeurBuffer)<0)
{
cerr << "Echec de recuperation du parametre SDL_GL_DOUBLEBUFFER : " << SDL_GetError() << endl;
return (EXIT_FAILURE);
}
if(valeurBuffer!=1)
{
cerr << "Erreur : SDL_GL_DOUBLEBUFFER inactif" << endl;
return (EXIT_FAILURE);
}
bool continuer = true;
SDL_Event event;
while(continuer)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = false;
exit(EXIT_SUCCESS);
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_ESCAPE:
continuer = false;
exit(EXIT_SUCCESS);
break;
default:
break;
}
break;
}
glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_TRIANGLES);
glColor3ub(255, 0, 0); glVertex2d(-0.75, -0.75);
glColor3ub(0, 255, 0); glVertex2d(0, 0.75);
glColor3ub(0, 0, 255); glVertex2d(0.75, -0.75);
glEnd();

glFlush();
SDL_GL_SwapBuffers();
}
return EXIT_SUCCESS;
}


Et c'est la même chose sur les autres ordis, je ne peu pas envoyer mes programmes, car lorsqu'ils s'exécutent cela fait des écrans bleu sur tous les ordis...
Pourriez-vous me dire comment faire pour que ça marche SVP?
Merci d'avance.

2 réponses

Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
Bonjour,
je te conseillerai de mettre des messagesbox pour simuler des points d'arrêt à chaque ligne au début pour identifier la ligne en cause. A moins que tu puisses lancer ton programme en mode debug en mettant un point d'arrêt au début.



louis
Messages postés
14881
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
27 novembre 2020
93
Hello,

Alors je code sous NotePad++ et je compile directement en console avec un MakeFile grâce au compilateur g++.

Moi, je te conseille de télécharger Visual Studio, en version express. Tu auras alors un débugger pour t'aider.

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...