Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Utilisation de OpenGL  (Lu 2078 fois)

0 Membres et 2 Invités sur ce sujet

Pierleur

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Utilisation de OpenGL
« le: Avril 05, 2016, 08:08:06 pm »
Bonjour, je cherche a utilisé une fenêtre SFML avec OpenGL. Après quelque test je n'arrive pas à activer le test de pronfondeur. Voici mon code :
#include <SFML/Window.hpp>
#include <GL/gl.h>
#include <GL/glu.h>
#include <cstdlib>

using namespace std;
using namespace sf;

int main()
{
    Window window(VideoMode(640,480),"Yolo");

    glMatrixMode( GL_PROJECTION );
    glLoadIdentity();
    gluPerspective(70,(double)640/480,1,10);
    glEnable(GL_DEPTH_TEST);

    while (true)
    {
        glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

    glMatrixMode( GL_MODELVIEW );
    glLoadIdentity( );

    gluLookAt(3,4,2,0,0,0,0,0,1);

    glBegin(GL_QUADS);

    glColor3ub(255,0,0); //face rouge
    glVertex3d(1,1,1);
    glVertex3d(1,1,-1);
    glVertex3d(-1,1,-1);
    glVertex3d(-1,1,1);

    glColor3ub(0,0,255); //face bleue
    glVertex3d(-1,-1,1);
    glVertex3d(-1,-1,-1);
    glVertex3d(1,-1,-1);
    glVertex3d(1,-1,1);

    glEnd();

    glFlush();
        window.display();
    }

    return 0;
}
 

Si je demande de l'aide ici, c'est que cela marche dans une fenêtre SDL:
#include <SDL/SDL.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <cstdlib>

int main(int argc, char *argv[])
{
    SDL_Event event;

    SDL_Init(SDL_INIT_VIDEO);
    atexit(SDL_Quit);
    SDL_WM_SetCaption("SDL GL Application", NULL);
    SDL_SetVideoMode(640, 480, 32, SDL_OPENGL);

    glMatrixMode( GL_PROJECTION );
    glLoadIdentity();
    gluPerspective(70,(double)640/480,1,10);
    glEnable(GL_DEPTH_TEST);

    while (true)
    {
        glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

    glMatrixMode( GL_MODELVIEW );
    glLoadIdentity( );

    gluLookAt(3,4,2,0,0,0,0,0,1);

    glBegin(GL_QUADS);

    glColor3ub(255,0,0); //face rouge
    glVertex3d(1,1,1);
    glVertex3d(1,1,-1);
    glVertex3d(-1,1,-1);
    glVertex3d(-1,1,1);

    glColor3ub(0,0,255); //face bleue
    glVertex3d(-1,-1,1);
    glVertex3d(-1,-1,-1);
    glVertex3d(1,-1,-1);
    glVertex3d(1,-1,1);

    glEnd();

    glFlush();
    SDL_GL_SwapBuffers();
    }

    return 0;
}

Comment puis-je règler se problème ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Utilisation de OpenGL
« Réponse #1 le: Avril 05, 2016, 08:23:25 pm »
Créer un contexte avec depth buffer serait un bon départ.

http://www.sfml-dev.org/tutorials/2.3/window-opengl-fr.php#crceer-une-fencotre-opengl
Laurent Gomila - SFML developer

Pierleur

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re : Utilisation de OpenGL
« Réponse #2 le: Avril 05, 2016, 10:16:27 pm »
Sa marche tout de suite mieux. Merci pour cette réponse aussi rapide que efficace et j'en profite pour vous remerciez aussi pour nous procurez une superbe bibliothèque complète et de qualité.

 

anything