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 :

[Qt Opengl] Probleme d'affichage


Sujet :

OpenGL

Vue hybride

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 62
    Par défaut [Qt Opengl] Probleme d'affichage
    Bonjour,
    je me suis mis Ã* l'opengl recemment pour le fenetrage et la gestion des evenements j'utilise Qt.
    Lors de l'affichage l'image est tronqué voir image :
    http://img87.imageshack.us/img87/6571/openglbr3.png

    voila les principales fonctions:

    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
     
    void GlWidget::initializeGL()
    {
    	glEnable (GL_DEPTH_TEST);
    	glEnable(GL_COLOR_MATERIAL);
    }
     
    void GlWidget::paintGL()
    {
    	glLoadIdentity();
    	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    	glLoadIdentity();
     
       	glRotatef(rotx, 1,0,0);
    	glRotatef(roty, 0,1,0);
       	glTranslatef(x,y,z);
     
    	// je dessine les axes
    	glBegin(GL_LINES);	
    		glColor3f(1,0,0);	
    		glVertex3f(0,0,0);
    		glVertex3f(0.5,0,0);
     
    			glColor3f(0,1,0);	
    			glVertex3f(0,0,0);
    			glVertex3f(0,0.5,0);
     
    		glColor3f(0,0,1);	
    		glVertex3f(0,0,0);
    		glVertex3f(0,0,0.5);
    	glEnd();
     
    	// je dessine la grille
    	glColor3f(0.5,0.5,0.5);
      	glBegin(GL_LINES);
    	for(int i=-taillegrille; i <= taillegrille ;i++) {
     
    		glVertex3f((float)i, 0,-(float)taillegrille);
    		glVertex3f((float)i, 0, (float)taillegrille);
    		glVertex3f(-(float)taillegrille, 0,(float)i);
    		glVertex3f( (float)taillegrille, 0,(float)i);
    	}
    	glEnd();
    }
     
    void GlWidget::resizeGL(int w, int h)
    {	
    	if(w<h)
    	{
        	glViewport(0,(h-w)/2,w,w);
        	}
      	else{
        	glViewport((w-h)/2,0,h,h);
       }
    }
    Pour la fonction de gestion des evenements, je modifie les differentes variables x y z rotx ... et j'execute la fonction updateGl().

    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
     
    //creation du widget 
    glWidget = new GlWidget();
    glWidget->setFocusPolicy(Qt::WheelFocus);
    glWidget->setMouseTracking(true);
     
    //Main:
    int main(int argc, char *argv[])
    {
    	QApplication app(argc, argv);
    	Window window;
    	window.resize(800, 600);
    	window.show();
    	return app.exec();
    }
    Je vois pas d'ou ca vient ...
    Merci de m'aider
    ps: je travaille sous linux avec QDevelop

  2. #2
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut
    C'est pas mieux ainsi?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(w<h) glViewport(0,(h-w),w,w);
    else glViewport((w-h),0,h,h);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 62
    Par défaut
    non ca marche tjrs pas
    j'ai essayé d'ajouter dans la fonction resize
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(-15.0,15.0,-15.0,15.0,0.1,1000.0);
    glMatrixMode(GL_MODELVIEW);
    mais ca marche pas
    en fait quand j'augmente Y la grille s'affiche en haut mais tjrs pas complete
    de l'aide

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 62
    Par défaut
    je trouve tjrs pas ou est le probleme.
    Apperement tous ce qui est superieur à zero (l'axe z) ne s'affichent pas.
    sur l'image z = -21 tte la grille s'affiche.
    http://img505.imageshack.us/img505/2258/openuu3.png

  5. #5
    Membre émérite
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Par défaut
    Faut utiliser gluPerspective() pour la 3D et non glOrtho() qui est favorable pour la 2D lui.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problem d'affichage avec OpenGl
    Par moulzo dans le forum OpenGL
    Réponses: 12
    Dernier message: 24/01/2010, 15h46
  2. Probleme d'affichage image OpenGL
    Par nonolerobot77 dans le forum GLUT
    Réponses: 2
    Dernier message: 22/02/2008, 11h54
  3. Réponses: 1
    Dernier message: 13/11/2006, 18h37
  4. Probleme d'affichage OPENGL/SDL
    Par black.out dans le forum OpenGL
    Réponses: 4
    Dernier message: 07/07/2006, 12h39
  5. IE [Applet] Plug-in problème d'affichage
    Par Tonton Luc dans le forum JBuilder
    Réponses: 4
    Dernier message: 19/06/2003, 08h28

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