Knihovna PyOpenGL (1)

11. 3. 2005
Doba čtení: 3 minuty

Sdílet

Vítejte u nového seriálu na Root.cz, který se bude zabývat knihovnou PyOpenGL. Jak samotný název napovídá, spojuje knihovna Python a OpenGL, z čehož nám vzniká docela silný nástroj. V dnešním dílu začneme pouze zlehounka - budeme instalovat ;).

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:

  1. PyOpenGL – základní knihovna
  2. 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:

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/sou­rce –tcl-source=/path/to/sou­rce.
  • 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:

bitcoin_skoleni

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.