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:
Code C/C++ :
#include <iostream>
#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.