Я бы использовал pyglet. Все это opengl с самого начала, оно не основано на уродливой библиотеке SDL и имеет лучшие интерфейсы, чем то, что я видел в других мультимедийных библиотеках python.
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()
Я написал это с нуля, чтобы показать вам ссылку. Вы можете начать с этого.
В библиотеке есть несколько полезных вещей, таких как списки вершин, текстуры, планирование, шрифты Unicode, немного компонентов пользовательского интерфейса, диспетчеризация событий, аудио. Сама библиотека внутри грязная, и мне она не очень понравилась. Но тогда это мое мнение из каждой широко распространенной библиотеки, которую я изучил.
Я сам недоволен пространством имен opengl. Было бы лучше с пространством имен не-C впереди. Это оставит вас в некоторой гибкости:
from pyglet.gl import Begin, Vertex2f, TRIANGLES, End
...
Begin(TRIANGLES)
Vertex2f(0,0)
Vertex2f(200,0)
Vertex2f(200,200)
End()