Možnosti OpenGL v Javě

Existuje více možností spojení Javy a OpenGL. Některá řešení jsou skutečně pouze na propojení Javy s OpenGL. Jiná jsou komplexní balíky, které umožňují práci se zvukem, herním hardwarem a usnadňují práci s texturami, modely a podobně.

V první části kapitoly ve stručnosti představím čtyři vybrané vazby Javy na OpenGL, kde Java 3D je komplexní balík různých pomocných tříd a ostatní tři jsou “jen” více či méně obsáhlá propojení.

S rozšiřujícími knihovnami pro OpenGL se seznámíme ve druhé části kapitoly. Knihovny slouží k tomu, aby programátor nemusel vyvíjet a testovat algoritmy, které jsou často používané; jako je například načítání modelů, textur, řešení kolizí mezi objekty a podobně.

Andrew Davison se ve svých několika knihách zmiňuje i o existujících vazbách na konkrétní herní systémy. Zaujal mě projekt Jake2, jehož autoři přepsali celý herní engine Quake 2 do Javy. Na grafiku používá JOGL nebo LWJGL, na 3D zvuk JOAL. Webové stránky projektu prezentují srovnání původního kódu v C s novým kódem v Javě. Zajímavé je, že výkon v počtu FPS je přibližně stejný. Podobných vazeb na herní systémy je mnohem více, namátkou Auriga3D vychází z Quake 3, ale uvádím je pouze pro doplnění, dále se o nich již nebudu zmiňovat.