Analýza
O3D [1] je nízkoúrovňové API určené na tvorbu interaktívnych 3D aplikácii bežiacich vo webovom prehliadači. Distribuuje sa formou pluginu, ktorý je užívateľovi ponúknutý na nainštalovanie vo všetkých internetových prehliadačoch po navštívení webovej stránky s O3D obsahom. O3D je vyvíjané spoločnosťou Google ako opensource projekt.
O3D predstavuje rozhranie medzi internetovým prehliadačom a grafickými prostriedkami počítača, ktoré je naprogramované v jazyku C++. Vývojár k nemu pristupuje prostredníctvom funkcií volaných z JavaSriptu. O3D aplikácie sú väčšinou tvorené kombináciou HTML a JavaScript kódu.
O3D pristupuje ku grafickej karte prostredníctvom DirectX (Windows) alebo OpenGL (Mac a Linux). Pokiaľ nie je v operačnom systéme prístupná akcelerácia grafickou kartou, využije sa na renderovanie 3D scény procesor. Vďaka svojej architektúre poskytuje O3D plugin porovnateľný výkon ako majú bežné desktopové 3D aplikácie.
Obr.1. Architektúra pluginu O3D
O3D poskytuje dva spôsoby práce s 3D modelmi:
1. Vytvorenie modelu priamo v O3D
Pred samotným vytváraním objektov je najskôr potrebné pochopiť ich štruktúru v O3D. Každý objekt je definovaný svojim tvarom (shape). Tvar objektu je zložený z ľubovoľného počtu primitív (primitives), na ktoré sú aplikované materiály a efekty. Materiály a efekty môžu byť zdieľané viacerými primitívami pre šetrenie systémových prostriedkov. O3D poskytuje na vykresľovanie objektov dva zoznamy, z ktorých sa primitívy vykresľujú. Prvým je Performance DrawList, v ktorom sa nachádzajú nepriehľadné primitívy a druhým je Transparency DrawList pre priehľadné primitívy. Pri vytváraní objektov je kvôli vyššiemu výkonu vhodné primitívy správne rozdeľovať a nie ich všetky zaradiť do univerzálnejšieho Transparency DrawList.
2. Importovanie modelov
O3D aplikácie využívajú na opis 3D modelov formát COLLADA [2] (prípona „.dae“). COLLADA je otvoreným štandardom a jeho štruktúra je definovaná v XML schema. Tento formát je podporovaný najpoužívanejšími 3D modelovacími nástrojmi (3ds Max, Maya, Google SketchUp, Blender...). Samotný COLLADA súbor však nie je možné importovať do O3D aplikácie priamo, ale musí byť skonvertovaný do súboru s príponou „.o3dtgz“ pomocou COLLADA Convertoru, ktorý sa nachádza na stránkach O3D projektu.
Keďže O3D je v súčasnosti novom technológiou (predstavená bola v máji 2009) neexistuje pre ňu momentálne žiadne vývojové prostredie, ktoré by ju priamo podporovalo. Užívateľský kód je písaný v JavaScripte, takže na zvýraznenie syntaxe je možné použiť ľubovoľný editor (napríklad NotePad++, HTML-Kit). Debugovanie JavaScriptu je možné realizovať napríklad rozšírením Firebug pre internetový prehliadač Firefox. Jednou z pokročilých funkcií, ktorú O3D ponúka sú programovateľné shadre. Ich programovanie sa realizuje v jazyku založenom na HLSL a Cg. Na jeho zvýraznenie postačuje editor s podporou zvýraznenia syntaxe jazyka C.
O3D je podporované hlavnými operačnými systémami a prehliadačmi:
Windows:
XP Service Pack 2, Vista (x86/x64) Service Pack 1
Internetové prehliadače: Firefox 2+, Internet Explorer 7.0+ (x86), Google Chrome
Podpora internetového prehliadača Opera by sa mala objaviť v najbližších verziách.
Mac:
Intel Mac s OS X v10.4 alebo novší
Internetové prehliadače: Firefox 2+, Safari 3+, Camino
Linux:
V súčasnosti je dostupná len 32-bitová verzia pluginu O3D, ktorú treba skompilovať zo zdrojových kódov, avšak s príslušnými knižnicami a 32-bitovým prehliadačom funguje aj na 64-bitovej distribúcii.
Windows:
x86 kompatibilný procesor
Grafická karta s podporou pre DirectX 9, VertexShader 2.0 a PixelShader 2.0
Mac:
Ľubovoľný Intel Mac
Ak nie je grafická karta podporovaná využije sa na renderovanie procesor
Realizácia projektu virtuálnej FIIT pomocou pluginu O3D sa ukazuje ako jedno z perspektívnejších riešení. Plugin O3D ponúka vysoký výkon na všetkých dostupných platformách, pokročilé funkcie pre prácu s prostriedkami grafickej karty (programovateľný pipeline), zdokumentované API a stále sa rozširujúcu komunitu. Okrem toho je jeho autor Google zárukou kvality a budúceho rozšírenia O3D pluginu na internete. Štandardizácia a otvorený zdrojový kód môžu spôsobiť, že sa O3D stane v budúcnosti súčasťou webových prehliadačov.
Nevýhodami výberu O3D na realizáciu projektu virtuálnej FIIT môžu byť zatiaľ nízka rozšírenosť a neexistencia IDE, ktoré by priamo podporovalo vývoj webových aplikácií v O3D .
[1] O3D API. Dostupné na internete: http://code.google.com/intl/sk/apis/o3d/ (14.10.2009)
[2] COLLADA. Dostupné na internete: https://collada.org/mediawiki (14.10.2009)
[3] The O3D API Blog. Dostupné na internete: http://o3d.blogspot.com/ (14.10.2009)