Hlavní navigace

Knihovna PyOpenGL (1)

Jakub Matys 11. 3. 2005

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:

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.

Našli jste v článku chybu?

16. 6. 2006 13:49

Metík (neregistrovaný)
nutne potrebuju OpenGl 1.4 nebo novejsi nevite nekdo kde to muzu stahnout zdarma? Me4tFly@seznam.cz ICQ: 303 655 THX

16. 5. 2005 22:49

uživatel si přál zůstat v anonymitě
ja se pripojuji k podekovani, velmi se mi hodi informace ohledne SWIG :).
Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: I církev dnes vyrábí potraviny

I církev dnes vyrábí potraviny

Root.cz: Telegram spustil anonymní blog Telegraph

Telegram spustil anonymní blog Telegraph

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

120na80.cz: Jak oddálit Alzheimera?

Jak oddálit Alzheimera?

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Podnikatel.cz: Babiše přesvědčila 89letá podnikatelka?!

Babiše přesvědčila 89letá podnikatelka?!

120na80.cz: Vitaminová abeceda

Vitaminová abeceda

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“