Ich würde Pyglet verwenden. Es ist alles OpenGL von Anfang an, baut nicht auf hässlichen SDL-Bibliothek und hat bessere Schnittstellen als was ich in anderen Python-Multimedia-Bibliotheken gesehen habe.
import pyglet
from pyglet.gl import *
class Application(object):
def __init__(self):
self.window = window = pyglet.window.Window()
window.push_handlers(self)
def on_draw(self):
self.window.clear()
glBegin(GL_TRIANGLES)
glVertex2f(0,0)
glVertex2f(200,0)
glVertex2f(200,200)
glEnd()
if __name__=='__main__':
app = Application()
pyglet.app.run()
Ich schrieb dies von Grund auf, um Ihnen eine Referenz zu zeigen. Du kannst damit ziemlich anfangen.
Es gibt ein paar nützliche Dinge in der Bibliothek wie Vertex-Listen, Texturen, Scheduling, Unicode-Fonts, ein wenig UI-Komponenten, Event-Dispatching, Audio. Die Bibliothek selbst ist chaotisch und ich mag es nicht so sehr. Aber das ist meine Meinung aus jeder Bibliothek, die weit verbreitet ist und in die ich mich vertieft habe.
Ich selbst bin unzufrieden mit dem OpenGL Namespacing. Es wäre besser mit Nicht-C-Namespace in der Front. Das würde dich in etwas Flexibilität lassen:
from pyglet.gl import Begin, Vertex2f, TRIANGLES, End
...
Begin(TRIANGLES)
Vertex2f(0,0)
Vertex2f(200,0)
Vertex2f(200,200)
End()
+1 Pygame ist sehr ausgereift, und baute auf der Spitze von clibraries, so ist es relativ schnell für das, was es ist. – Alex