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 :

Rafraichissement de l'image avec pygame + opengl


Sujet :

OpenGL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 45
    Points
    45
    Par défaut Rafraichissement de l'image avec pygame + opengl
    Bonjour,
    Je n'arrive pas à rafraîchir correctement mon image entre chaque affichage. L'ancienne image reste et la nouvelle se superpose. Je me suis pourtant inspiré de ce tutorial.

    Voici le code:

    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
    #!/usr/bin/env python
     
    import pygame
     
    from OpenGL.GL import *
    from OpenGL.GLU import *
    from pygame.locals import *
     
    def initializeDisplay(w, h):
    	pygame.display.set_mode((w,h), pygame.OPENGL|pygame.DOUBLEBUF)
     
    	glClearColor(0.0, 0.0, 0.0, 1.0)
    	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
     
    	glMatrixMode(GL_PROJECTION);
    	glLoadIdentity();
    	gluOrtho2D(0, w, 0, h);
    	glMatrixMode(GL_MODELVIEW);
     
    	glEnable(GL_TEXTURE_2D)
    	glEnable(GL_BLEND)
    	glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)
     
    def handleEvents():
    	eventlist = pygame.event.get()
    	for event in eventlist:
    		if event.type == QUIT or event.type == KEYDOWN and event.key == K_ESCAPE:
    			return True
     
    def main():
     
    	pygame.init()
    	initializeDisplay(800, 600)
    	done = False
    	fff = 10
    	while not done:
    		glPushMatrix()
    		glLoadIdentity()
    		fff += 1
    		glColor4f(1.0,1.0,1.0,1.0)
    		glBegin(GL_TRIANGLES)
    		glVertex2i(10 + fff, 400)
    		glVertex2i(400 + fff, 400)
    		glVertex2i(400 + fff, 200)
    		glEnd()
    		pygame.display.flip()
    		done = handleEvents()
       		glPushMatrix()
    main()
    J'ai essayé de mettre un glLoadIdentity au début du while, de l'entourer de glPush/PopMatrix, mais les images se superposent toujours.
    Il doit me manquer un truc tout bête mais quoi?

    Merci

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 112
    Points : 45
    Points
    45
    Par défaut
    Réponse : glClear(...).

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

Discussions similaires

  1. [Graphics View] Créer un image bitmap avec Qt/OpenGL
    Par Amyshaki dans le forum Débuter
    Réponses: 9
    Dernier message: 03/08/2011, 13h43
  2. Redressement d'Image avec OpenGL Shader Language (GLSL)
    Par luxigo dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 18/10/2009, 13h24
  3. Affichage d'image avec OpenGL
    Par nonolerobot77 dans le forum OpenGL
    Réponses: 3
    Dernier message: 14/02/2008, 15h58
  4. Probleme de chargement d'une image avec opengl
    Par JilyJ dans le forum OpenGL
    Réponses: 11
    Dernier message: 30/05/2007, 14h11
  5. Afficher une image avec opengl
    Par kmaniche dans le forum OpenGL
    Réponses: 4
    Dernier message: 07/02/2006, 09h04

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