CyberGL

Luboš Němec

Dlouho slibovaný 3D grafický systém je konečně na světě. Co to vlastně je a k čemu slouží, to si můžete přečíst v tomto článku. Všechny uvedené informace se týkají první verze

CyberGL v39.7 z 22.3.97.
První reakcí na zmínku o CyberGL (Cyber Graphics Library) jsou téměř u všech amigistů slova: „hmm, to mi nebude k ničemu, je to zase jen něco na grafickou kartu“. Hned na začátek bych rád tedy upozornil, že CyberGL NEMÁ V ZÁSADĚ NIC SPOLEČNÉHO s grafickými kartami a NENÍ na nich zatím nijak závislý. Jedná se v podstatě u knihovnu s 2D a 3D funkcemi a API (Application Programming Interface) převzatým z OpenGL API. CyberGL by mělo umožnit relativně jednoduchý převod programů podporujících OpenGL (Oper Graphics Library) z různých počítačových platforem (PC/Unix atd.) na naší milovanou (tedy alespoň doufám) Amigu. CyberGL můžete získat na WWW stránce www.vgr.com/cybergl/ nebo na www.phase5.de, u obou stránek je přístup pružný i pomocí FTP. Autoři CyberGL se dlouho rozhodovali, na jakém základě budou vlastně tento 2D/3D systém vyvíjet. Obdobné grafické subsystémy používané na Macu (Apple - QuickDraw 3D), PC ve Windows (Microsoft - Direct3D), 3D-Studiu Maxx (AutoDesk - Heidi) nebo dokonce normované, ale málo rozšířené standardy PHIGS/PHIGS+ (Programmers Hierarchical Interactive Graphics) byly zavrhnuty jako nevyhovující a se špatnou přenositelností na jiné systémy. Nakonec bylo rozhodnuto portovat na Amigu nejrozšířenější a asi také nejznámější standard OpenGL, vyvinutý společností Silicon Graphics. OpenGL je dostupný pro mnoho počítačových platforem i systémů, jako jsou Windows 95/NT, OS/2 či UNIX a existuje pro ně již slušné množství dostupných aplikací. Dalším vývojem OpenGL se dnes zabývá mnoho společností (DEC, IBM, Intel, Microsoft, SGI), které se čtyřikráte do roka setkávají v konferenci ARB (Architecture Review Board), kde probíhají jednáni u debaty o dalším vývoji a budoucnosti OpenGL. Prakticky absolutní kompatibilita programů využívajících knihoven funkcí OpenGL i standardu OpenGL samotného je zaručena pomocí tzv. Conformance Tests, kterými musí projít každá implementace OpenGL, ale licenční poplatky za tyto služby jsou velmi drahé (25.000 až 100.000,- USD + 5,- USD za každou prodanou kopii knihovny). Naštěstí je však systém natolik otevřený světu, že je dovoleno portovat jej na libovolnou platformu bez placení licenčních poplatků, ale také bez uvedené 100% kompatibility a absolvování porovnávacích testů. Protože je Amiga natolik (a také bohužel) nezávislá, OpenGL byl přenesen pod názvem CyberGL. 100% kompatibilita není sice zaručena, ale vzhledem k dostupné a velmi podrobné dokumentaci systému OpenGL bude snad vše v pořádku a tento grafický subsystém se stane amigovským standardem. CyberGL funguje na každé Amize s procesorem 68020 a lepším, vyžadován je pochopitelně i koprocesor. V první verzi archivu jsou ale knihovny pouze pro procesory 68030, 68040 a 68060, verze pro 68020 zatím chybí. Knihovny verze 39.7 mají délku cca 130 KB a jak už jsem uvedl, obsahují výhradně 2D a 3D algoritmy pro výpočty a zobrazení 2D/3D funkcí a objektů. CyberGL je téměř nezávislý na použitém grafickém zobrazovacím systému a pracuje s emulačními systémy CyberGraphX v2 a v3, EGS, Graffity, PicassoEmu, Picasso96, RetinaEmu, ProDev (Merlin) a samozřejmě také s OCS, ECS a AGA grafickými čipy ve 256 nebo méně barvách. Vyšší počet barev podporuje CyberGL zatím jen s CyberGraphX v3, ostatní emulační systémy budou na zobrazeni používat dithering. Přímá podpora 3D grafických čipů jako je např. ViRGE v CyberVision64/3D je plánována do budoucna, stejně jako PowerPC nativní verze CyberGL. V archivu CyberGL dostanete i množství dem (zatím 12), které zatím fungují na jen Workbenchi a vyžadují obrazovku v rozlišení minimálně 640x400 v 16 barvách. Na obrázcích si můžete prohlédnout některé z těch zajímavějších demoprográmků pro CyberGL. U některých dem můžete měnit velikost okénka, objekty lze rotovat či pohybovat pomoci myši nebo kurzorových kláves, klávesy „+“ a „-“ mění přitom velikost objektu. Všimněte si např. prohlížeče objektů pro LightWave, který umožňuje mapovat na objekty různé povrchy dokonce včetně simulace odlesků a odrazů! Textury jsou bohužel ve speciálním formátu, naštěstí jich společně s CyberGL také několik dostanete. Při snaze namapovat na objekty texturu v podobě IFF ILBM obrázku se objeví vždy jen krásné duhové barvy v různých odstínech.
Rychlost celého systému CyberGL je víc než slušná, modeling, stínování, vyplňování a mnoho dalších matematických operací na vytvoření 2D/3D objektů neprobíhá sice v reálném čase, ale za pár vteřin je vše hotovo! Nejvíce systém zpomaluje jako obvykle amigovská grafika, ve 256 barvách už AGA čipy prostě nezvládnou grafiku vykreslovat v přijatelném čase, tady pomůže jen grafická karta. S procesorem 68060 (testováno) je CyberGL rychlejší než cokoliv jiného, co jsem kdy např. v raytracingových 3D programech při vizualizaci objektů viděl.
S 68030 a koprocesorem na 50 MHz je výpočetní rychlost stále ještě dobrá a CyberGL je i na této konfiguracemi použitelný. Upřímně řečeno, nedokážu si představit rychlost výpočtů na 68020, hodně bude samozřejmě záležet na rychlosti koprocesoru.
Je určitě dobře, že se CyberGL objevil relativně včas a ještě před uvedením PowerPC karet na trh, nebol zcela jistě mnoho uživatelů Amigy jeho služby uvítá. Programátoři se mají v čem vrtat a jen na nich záleží, kdy a v jaké kvalitě se objeví první programy využívající 2D/3D algoritmů CyberGL. Výukový kurs pro programování s pomocí CyberGL vychází v německém Amiga Magazinu a je též k dispozici na jeho WWW stránce „http://magnamedia.de/amiga/magazin/a04-97/cyber.html“ společně s dalšími návody a několika dalšími demoukázkami.



Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.

Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing