CyberGLLuboš 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. Vytlačiť článok
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
none
|