Вот модуль:
import pygame
from pygame.locals import *
import OpenGL
OpenGL.ERROR_LOGGING = False
from OpenGL.GL import *
def init(width = 640, height = 480):
pygame.display.init()
global _window
_window = pygame.display.set_mode((640, 480), pygame.OPENGL|pygame.DOUBLEBUF)
glMatrixMode(GL_PROJECTION)
glLoadIdentity()
ratio = float(width)/height
if width<=height:
glOrtho(.0, 400.0, .0, 400.0/ratio, 1.0, -1.0)
else:
glOrtho(.0, 400.0*ratio, .0, 400.0, 1.0, -1.0)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
glClearColor(.6, .6, .6, 1.0)
glClear(GL_COLOR_BUFFER_BIT)
def test( polygon=((.0, .0),
(400.0, .0),
(.0, 400.0))):
glBegin(GL_POLYGON)
for i in polygon:
glVertex2f(*i)
glEnd()
pygame.display.flip()
def test1( polygon=((400.0, 400.0),
(400.0, .0),
(.0, .0))):
glBegin(GL_POLYGON)
for i in polygon:
glVertex2f(*i)
glEnd()
pygame.display.flip()
if __name__ == '__main__':
gltest.init()
gltest.test()
gltest.test1()
raw_input()
В этом случае отображается только gltest.test(), и больше pygame.display.flip() не работает, где я ошибся?
Спасибо!