Salut les pythons multimédia 3D,

Je bute sur le problème suivant dans ma quête de OpenGL dans l'implémentation pour python il existe des fonctions a enregistrer, comme callback, par les fonctions de GLUT (GL Utilities) qui permettent d'enregistrer un callback pour:

-) l'affichage:

glutDisplayFunc(display_func)

-) La gestion des entrées clavier:

glutKeyboardFunc(ascii_keyboard_keys_func)
glutSpecialFunc(special_keys)

-) La gestion des entrées souris:

glutMouseFunc(mouse_func)

Et le problème est que si j'enregistre une fonction d'affichage et que je fait défiler une animation ( En tournant dans une boucle while True : ) il m'est impossible d'avoir une interaction avec le clavier ou la souris étant données que la fonction d'affichage tourne en boucle infinis...

Si il existe une autre manière de gérer les entrées comme par exemple dans chaque tours de boucle dans pygame:

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
 
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen=pygame.display.set_mode((800,600))
 
while True :
 
  for event in pygame.event.get() :
    if event.type == QUIT :
      exit()
    if event.type == KEYDOWN :
      pass # Ici ont a la gestion du clavier.
 
  pygame.display.update()
Je sais que PyOpenGL est implémentable comme viewport dans pygame pour ce problème mais si vous connaissez une autre solution que de passer par pygame simplement au cas ou ce n'est pas applicable ou simplement par curiosité, vous seriez très aimable de bien vouloir poster une réponse.

Merci pour vos réponses éclairées illuminant mon ignorance.