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 :

[Affichage]utilisation de Qt et SDL combinée ?


Sujet :

OpenGL

Vue hybride

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

    Informations forums :
    Inscription : Février 2009
    Messages : 41
    Par défaut [Affichage]utilisation de Qt et SDL combinée ?
    Bonjour, alors voilà, après le développement de mon loader .obj, j'aimerai créer une petite interface de gestion de projets, avec des boutons, des options, etc... Tout cela bien sûr dans un esprit très rapide et fluide, ainsi que multi-plate-forme.

    Apparemment la création d'un GUI favorise l'utilisation de Qt pour afficher l'interface, mais j'aimerai utiliser pour la gestion de l'affichage OpenGL et des entrées claviers et souris...
    Est-il possible d'utiliser les deux à la fois sans trop consommer de mémoire ?

    Merci d'avance pour vos réponses !

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Tu as un cours qui répond exactement à ta problématique :

    http://irmatden.developpez.com/tutoriels/sdl/

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Âge : 31
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 46
    Par défaut
    Bonjour.
    Pourquoi intégrer la SDL ? OpenGL est directement utilisable dans Qt à l'aide de QGlWidget

    Au niveau raccourcis claviers Qt les gère très bien.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 41
    Par défaut
    Désolé de réveiller un peu le sujet, j'ai suivi le tutorial du lien que tu as donné TanEk, tout marche, enfin presque pas puisqu'il y a une fenêtre SDL qui se met en plus, alors que je voudrais qu'elle soit la fenêtre demandée.
    D'après le tuto, il faut faire la manip avec la fenêtre SDL après la première déclaration de la fenêtre Qt, mais j'ai beau l'avoir fait ça ne change rien....

    de plus je ne comprend pas comment et quand utiliser ces deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    setAttribute(Qt::WA_PaintOnScreen);
    setAttribute(Qt::WA_NoSystemBackground);
    Pour l'instant j'ai fais une fonction comme celle-ci :
    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
     
    void E3D_Window3DView::BeginSDLMode()
    {
    	char windowid[64];
    		//sprintf(windowid, "SDL_WINDOWID=0x%lx", reinterpret_cast<qlonglong>(winId()));
    		sprintf(windowid, "SDL_WINDOWID=0x%lx", winId());
    	SDL_putenv(windowid);
    	// Initialisation du système vidéo de SDL
    	SDL_Init(SDL_INIT_VIDEO);
     
    	screen = SDL_SetVideoMode(width(), height(), 32, SDL_SWSURFACE);
     
    	setAttribute(Qt::WA_PaintOnScreen);
    	setAttribute(Qt::WA_NoSystemBackground);
     
    }
    que j'appelle après celle-ci :

    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
     
    void E3D_Window3DView::initializeGL()
    {
    	nbObj = 0;
     
     
    	//glClearColor(0.631f, 0.631f, 0.631f, 0.0f);	//Applique une couleur Grise
    	glEnable(GL_TEXTURE_2D);
    	glEnable(GL_DEPTH_TEST);
    	glEnable(GL_MULTISAMPLE);
    	glEnable(GL_POLYGON_SMOOTH);
     
    	glMatrixMode( GL_PROJECTION );
        glLoadIdentity();
        gluPerspective(70,(double)800/600,1,500);
    	gluLookAt(0,3,5,1,1,1,0,1,0);
    	glMatrixMode( GL_MODELVIEW );
    	glLoadIdentity();
     
     
     
    	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
    	 /* Ces 2 lignes amÈliorent le rendu mais ne sont pas nÈcessaires */
        glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);	                
    	glHint(GL_POINT_SMOOTH_HINT,GL_NICEST);	 
    	glHint(GL_POLYGON_SMOOTH_HINT, GL_NICEST);
     
     
     
    	connect(&qTimerRedraw, SIGNAL(timeout()), this, SLOT(timerRedraw()));
    	qTimerRedraw.start(10);
     
     
     
    }
    ce qui me donne une fenêtre en plus spécialement faite pour la SDL, de la bonne taille, mais qui ne réagit pas aux dessins des polygones, et surtout qui n'est pas dans le contexte Qt....
    j'ai besoin de votre aide ! N'hésitez pas à poster si vous avez des idées !! Merci d'avance

Discussions similaires

  1. affichage 2D et 3D openGl/SDL
    Par toto62 dans le forum Développement 2D, 3D et Jeux
    Réponses: 6
    Dernier message: 15/11/2009, 12h29
  2. affichage depuis une classe en utilisant sdl
    Par raph1982 dans le forum Développement 2D, 3D et Jeux
    Réponses: 4
    Dernier message: 09/04/2009, 19h05
  3. Problème à l'affichage quand j'utilise SDL
    Par vincechaff10 dans le forum SDL
    Réponses: 8
    Dernier message: 25/07/2006, 11h34
  4. Problème d'affichage d'un sprite avec SDL
    Par youp_db dans le forum SDL
    Réponses: 1
    Dernier message: 11/02/2006, 18h08

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