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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
from __future__ import print_function
import unittest, pygame, pygame.display, time, os
import logging
logging.basicConfig(level=logging.INFO)
HERE = os.path.dirname( __file__ )
import pickle
try:
import cPickle
except ImportError as err:
cPickle = pickle
try:
from numpy import *
except ImportError as err:
array = None
pygame.display.init()
import OpenGL
if os.environ.get( 'TEST_NO_ACCELERATE' ):
OpenGL.USE_ACCELERATE = False
#OpenGL.FULL_LOGGING = True
OpenGL.CONTEXT_CHECKING = True
OpenGL.FORWARD_COMPATIBLE_ONLY = False
OpenGL.UNSIGNED_BYTE_IMAGES_AS_STRING = True
#from OpenGL._bytes import bytes, _NULL_8_BYTE, unicode, as_8_bit
from OpenGL.GL import *
try:
glGetError()
except error.NoContext as err:
# good, should have got this error
pass
else:
print( 'WARNING: Failed to catch invalid context' )
#raise RuntimeError( """Did not catch invalid context!""" )
#from OpenGL import error
from OpenGL.GLU import *
#from OpenGL.arrays import arraydatatype
import OpenGL
from OpenGL.extensions import alternate
#import ctypes
from OpenGL.GL.framebufferobjects import *
from OpenGL.GL.EXT.multi_draw_arrays import *
from OpenGL.GL.ARB.imaging import *
glMultiDrawElements = alternate(
glMultiDrawElementsEXT, glMultiDrawElements,
)
class BaseTest( unittest.TestCase ):
width = height = 300
def setUp( self ):
"""Set up the operation"""
self.screen = pygame.display.set_mode(
(self.width,self.height),
pygame.OPENGL | pygame.DOUBLEBUF,
)
pygame.display.set_caption('Testing system')
pygame.key.set_repeat(500,30)
glMatrixMode (GL_PROJECTION)
glLoadIdentity()
gluPerspective(40.0, 300/300., 1.0, 20.0)
glMatrixMode(GL_MODELVIEW)
glLoadIdentity()
gluLookAt(
-2,0,3, # eyepoint
0,0,0, # center-of-view
0,1,0, # up-vector
)
glClearColor( 0,0,.25, 0 )
glClear( GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT )
def tearDown( self ):
glFlush()
pygame.display.flip()
# this is just so that you can see the effect
# before we run the next test...
time.sleep( .05 )
|