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 :

Compilation avec gcc


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut Compilation avec gcc
    Salut, en fait j'auais un petit prob, voyez-vous je viens de ma lancer dans la compilation OpenGL, et j'essaye de faire quelques petites programmes en 3D, des trucs pas très complexes.
    Sachant que je compile avec gcc sous Windows, en faisant un MakeFile.
    Mais le truc c'est que quand je lance mes programmes sous console, tout vas bien, mais si j'allume directement le fichier.exe et bien j'ai un écran bleu de la mort qui apparait, et je ne peu pas envoyer mes mini-programme pour que d'autres puissent les regarder, car ils ont tous ce prob...
    Est-ce que vous savez comment régler ça?
    Merci d'avance.

  2. #2
    Membre extrêmement actif

    Profil pro
    Inscrit en
    Février 2006
    Messages
    2 408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 2 408
    Par défaut
    regarde du coté d'un ide ou de toutes autres solutions permettant de faire une exécution pas à pas, pour voir si il n'y aurait un pas un appel qui fait tout planter.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut
    Bah en fait je n'ai pas d'IDE, je code sous notePad++ et je compile avec un MakeFile, alors je vois pas où ça peut bugger de ce côté là...
    Sinon, pour le reste le code n'a rien de sorcier:

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    #include <iostream>
    #include <SDL/SDL.h>
    #include <GL/gl.h>
    #include <GL/glu.h>
     
    using namespace std;
     
    int main(int argc, char *argv[])
    {
    	SDL_Init(SDL_INIT_VIDEO);
    	SDL_Surface *ecran = NULL;
    	ecran = SDL_SetVideoMode(800, 600, 32, SDL_OPENGL);
    	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();
     
    	bool continuer = true;
    	SDL_Event event;
    	while(continuer)
    	{
    		SDL_WaitEvent(&event);
    		switch(event.type)
    		{
    			case SDL_QUIT:
    				continuer=false;
    		}
    	}
    	SDL_Quit();
    	return EXIT_SUCCESS;
    }
    Franchement il n'a aucune raison de faire un écran bleu...

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 157
    Billets dans le blog
    152
    Par défaut
    Bonjour,

    Si cela est votre programme ... il me semble faux.
    D'abord; habituellement, je passe un SDL_SWSURFACE comme indicateurs à SDL_SetVideoMode.
    Après il faut vérifié si la surface retournée est non nulle.

    Je vous conseille de suivre ce tuto: http://tbayart.developpez.com/articl...fenetrage/sdl/
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 13
    Par défaut
    En fait cette fois ci j'ai suivis ce tuto, et maintenant, j'ai deux problème:
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    #include <iostream>
    #include <SDL/SDL.h>
    #include <GL/gl.h>
    #include <GL/glu.h>
     
    using namespace std;
     
    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)<1)
    	{
    		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;
    		}
    		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;
    }
    Apparemment ce teste me répond que ça marche pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	if(SDL_GL_GetAttribute(SDL_GL_DOUBLEBUFFER, &valeurBuffer)<1)
    	{
    		cerr << "Echec de recuperation du parametre SDL_GL_DOUBLEBUFFER : " << SDL_GetError() << endl;
    		return (EXIT_FAILURE);
    	}
    L'écran s'affiche, puis s'éteint aussitôt et j'ai le fichier stderr d'erreur qui m'affiche:
    Echec de recuperation du parametre SDL_GL_DOUBLEBUFFER :
    Mais je j'ai aucune autre indication pour ce qui est de l'erreur.

    Sinon, en fait à aucun moment il me parle de SDL_SWSURFACE, je crois que ça ne se place que quand on fait de la SDL pure, mais je suis pas sûr du tout...

    Sinon, si je saute ce test, et bien j'ai toujours l'écran bleu...

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 157
    Billets dans le blog
    152
    Par défaut
    J'ai fait un test chez moi ... le GL_DOUBLEBUFFER est bien à 1.
    Donc j'imagine que le test est faux ...

    D'après cette doc ... oui le test ext complètement:
    http://www.libsdl.org/docs/html/sdlglgetattribute.html

    Sinon, une fois le test corrigé, le programme fonctionne
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/04/2006, 19h02
  2. [débutant]compiler avec gcc sous linux
    Par Ickou dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/03/2006, 17h27
  3. compilation avec gcc: erreur inhabituelle
    Par artatum dans le forum C
    Réponses: 4
    Dernier message: 12/10/2005, 17h13
  4. Problème de compilation avec gcc
    Par Niktou dans le forum Linux
    Réponses: 9
    Dernier message: 27/09/2005, 15h18
  5. compilation avec gcc : erreurs bizard !!!
    Par CodeurNé dans le forum C
    Réponses: 2
    Dernier message: 23/09/2005, 18h09

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