Home |
|
|||||||||||||||||
|
PyGLUTPyGLUT makes GLUT available from the Python interpreter. It exposes everything from GLUT 3.7 including the API version 4 stuff related to games. That includes full-screen modes, joystick input, and non-repeating key-up and key-down reporting.A Python code block using it looks the same as the equivalent C/C++. Where you would pass GLUT a C callback function, you can pass a callable PyObject to PyGLUT. Most simply, that would be a normal Python function, but it could be a wrapped function of another compiled extension or anything else that is callable. def display(): # Call some extension that renders using OpenGL. # ... glutPostRedisplay() def mouse(button, state, x, y): if state == GLUT_UP: ... if state == GLUT_DOWN: ... def motion(x, y): ... def keyboard(key, x, y): ... glutInit(1, ['poop']) glutInitDisplayMode(0) # RGBA win_id = glutCreateWindow('PyGLUT') glutDisplayFunc(display) glutMotionFunc(motion) glutKeyboardFunc(keyboard) glutMouseFunc(mouse) glutMainLoop() In the zip you will find the source code and a compiled Win32 dll Python extension. Also in the zip are a custom build of the Python 1.5.2 interpreter, a custom built Glut32.dll, the Python shell exe and two simple demo scripts. To run the demos simply drag PyGLUT.py or PyGLUTMenu.py onto the Python.exe provided. |