Analýza

 

Plugin O3d

 

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.

 

Architektúra

 

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

3D modely

 

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.

 

Vývojárske prostredie

 

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.

 

Podporované platformy

 

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.

 

Hardvérové požiadavky

 

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

 

Zhodnotenie

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 .

 

Referencie:

[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)