PyOpenGL je knihovna umožňující programovat s OpenGL pod Pythonem. Propojení OpenGL a Pythonu je realizováno pomocí nástroje SWIG. Myslím, že není nutné se nějakým způsobem rozepisovat o OpenGL samotné, protože na Root.cz vyšla velice kvalitní série na toto téma (Grafická knihovna OpenGL).
Knihovna podporuje OpenGL verze 1.1, GLU, GLUT verze 3.7, GLE 3, WGL 4 a Togl (OpenGL widget pro Tk). PyOpenGL je použitelná s ostatními GUI knihovnami jako Tkinter, wxPython, FxPy, PyGame a Qt.
Celý projekt je rozdělen na dvě podčásti:
- PyOpenGL – základní knihovna
- OpenGL Context – vyučovací a testovací knihovna (vybudovaná na základní knihovně)
Instalace
Instalaci je možné provádět, jak je zvykem, z binárních balíčků, nebo ze zdrojových kódů. Při obou typech instalace však musíte dodržet určité závislosti, aby knihovna správně fungovala. Následující položky vyžaduje samotná knihovna PyOpenGL:
- Python – pro PyOpenGL je požadována verze vyšší než 2.2.x (přičemž doporučována je verze 2.3 a vyšší). Pro knihovnu OpenGL Context je požadována verze 2.2.3 a vyšší.
- Tcl/Tk – ve verzi vhodné pro váš Python
- OpenGL 1.1 a GLU
- GLUT – verze 3.7 a vyšší
- Python Imaging Library (PIL) – tuto knihovnu požaduje OpenGL Context, ale je lepší ji mít, i když OpenGL Context nehodláte používat
- Numeric Python (Numpy) – pro PyOpenGL v. 2.0.1.08 použijte verzi 23. Pro jiné verze však nemusí fungovat, při překladu může „kiksnout“. Například při překladu PyOpenGL 2.0.0.x se používá Numpy verze 19 až 21, ale s verzí 22 nebude fungovat. A verze nižší než 21 nebudou fungovat s PyOpenGL 2.0.1.07. Je tedy nutné nainstalovat patřičnou verzi, kterou se dozvíte v souboru README.
Knihovna OpenGL Context vyžaduje některé extra závislosti:
- PyDispatcher
- SimpleParse 2.0
- mxTextTools 2.1 (nebo 2.0.x)
- TTFQuery
- FontTools – slouží k práci s True Type fonty uloženými v systému souborů. Pro použití „vytlačovaných“ fontů slouží modul toolsfont a pro antialiasingové bitmapové fonty pygamefont.
- wxPythonnebo PyGame
- win32all – pouze pro M$ Windows
Pro samotnou instalaci musíte ještě splňovat následující podmínky:
- Pokud chcete přeložit knihovnu s Togl, musíte mít nainstalováno i Tcl/Tk. Používáte-li binární distribuce, nainstalujte balíček s hlavičkovými soubory jazyka. Pokud se hlavičkové soubory nenacházejí ve standardním hlavičkovém adresáři, můžete k nim zadat cestu i explicitně: setup.py build_togl –tk-source=/path/to/source –tcl-source=/path/to/source.
- Při překladu z CVS musíte mít nainstalován SWIG 1.3.13.
Stažení zdrojových kódů můžete provést z příslušné stránky na SourceForge.net nebo z CVS. Pro stažení z CVS použijte následující příkazy:
cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pyopengl login <enter> #pro zadání defaultního hesla cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pyopengl co PyOpenGL2
Pro stažení OpenGL Context zadáme „OpenGLContext“ a „vrml“. V případě stahování přez SourceForge rozbalíme archiv. V aktuálním adresáři se vytvoří adresář s názvem PyOpenGL-Y.Y.Y (v případě stahování přes CVS se nám data uloží přímo do adresáře pojmenovaného PyOpenGL2) – v něm můžeme spustit překlad a instalaci:
python setup.py build --force install
V případě reinstalace (z téhož zdroje) použijeme příkaz:
python setup.py build_ext --force install
Další argumenty si můžete nechat vypsat příkazy setup.py build –help a setup.py install –help. Stejný proces lze použít i na OpenGL Context.
Tak to je pro dnešek vše. Není toho moc, ale co víc k instalaci říci. V příštím dílu se budeme zabývat rozdíly mezi OpenGL v C a v Pythonu.