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
|
# -*- coding: utf-8 -*-
from OpenGL.GL import *
from OpenGL.GLU import *
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen=pygame.display.set_mode((800,600),HWSURFACE|OPENGL|DOUBLEBUF) #écran pygame
glViewport(0,0,800,600) #taille de l'écran
glMatrixMode(GL_PROJECTION) #GL_PROJECTION projection de coordonnées 3D en 2D
glLoadIdentity()
gluPerspective(60.0,800.0/600.0,0.1,600) #definition des paramètres de perspective
glMatrixMode(GL_MODELVIEW) #Mode de la matrice
glLoadIdentity()
glEnable(GL_DEPTH_TEST) #initialise le buffer de l'axe z
glClearColor(1.0,1.0,1.0,0.0) #couleur du background
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT) #correspond a pygame.Surface.fill()
liste=glGenLists(1) #génération d'un index pour la liste
glNewList(liste,GL_COMPILE) #début de la liste
glBegin(GL_QUADS) #définition de l'objet a dessiner
glColor(1.0,0,0,0) #couleur de l'objet: un QUAD
glVertex(100,100,0.1) #coordonnée du point en haut à gauche du QUAD
glVertex(700,100,0.1) #coordonnée du point en haut à droite du QUAD
glVertex(700,700,0.1) #coordonnée du point en bas à droite du QUAD
glVertex(100,700,0.1) #coordonnée du point en bas à gauche du QUAD
glEnd #Fin de la définition de l'objet
glEndList() #fin de la liste
while True :
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT) #correspond a pygame.Surface.fill()
glBegin(GL_QUADS) #définition de l'objet a dessiner
glColor(1.0,0,0,0) #couleur de l'objet un QUAD
glVertex(100,100,0.1) #coordonnée du point en haut a gauche du QUAD
glVertex(700,100,0.1) #coordonnée du point en haut a droite du QUAD
glVertex(700,700,0.1) #coordonnée du point en bas a droite du QUAD
glVertex(100,700,0.1) #coordonnée du point en bas a gauche du QUAD
glEnd #Fin de la définition de l'objet
#glCallList(liste) #Avec un appel a la liste ca ne marche pas non plus
for event in pygame.event.get() :
if event.type == QUIT :
exit()
pygame.display.flip() |