Obsah

Technológie pre vývoj VR pre web

Do tejto skupiny patria nástroje a jazyky pre tvorbu virtuálnej reality určenej do prostredia Internetu. Základom týchto systémov je jednoduchosť, relatívne malé systémové nároky a malá veľkosť výstupných súborov, čo je podstatné pre použitie v tomto prostredí. Tieto technológie majú taktiež relatívne obmedzené možnosti v porovnaní s ostatnými typmi technológií pre VR, čo je ale pochopiteľné vzhľadom na podmienky, v ktorých sa tieto systémy používajú.

QuickTimeVR

Grafický formát odvodený od formátu QuickTime firmy Apple. Dovoľuje uloženie viacerých statických obrázkov do scény . Môžeme vytvoriť buď panorámu, 360° horizontálny alebo aj vertikálny pohľad na okolie nejakého miesta, alebo objekt, ktorý nám umožní otáčať predmetom a vidieť ho tak z každej strany. Obe scény, či už panoráma alebo objekt sa ľahko vytvárajú, stačí len pár digitálnych fotografií z rôznych uhlov. Prezeranie týchto VR svetov je potom možné vo vašom internetovom prehliadači za pomoci prídavného modulu. Ako príklad pre panorámu môžem uviesť prezentáciu chorvátskeho národného parku Plitvické jazerá, kde sa môžete rozhliadnuť z niekoľkých desiatok miest po tomto nádhernom parku. Ako príklad objektu nám poslúžia stránky mobilného operátora Oskar, kde si môžete obzrieť mobilné telefóny zo všetkých strán. Tento bitmapový formát je vhodný len presne na to, na čo sa používa, na obohatenie webových stránok o panoramatický pohľad alebo na zobrazenie nejakého predmetu zo všetkých strán, statická scéna, žiaden pohyb. Je primárne určený pre Internet, a tak je málo náročný na prenosovú kapacitu, údaje sa načítavajú po malých plôškach a tak sa nám scéna postupne zobrazuje ako by sme skladali puzzle.

Obsah

SuperscapeVR

SuperscapeVR je binárny formát pre popis virtuálnych svetov a modelovanie objektov vyvinutý a používaný firmou Superscape v jej softwarových produktoch (Superscape VRT, Superscape 3D Webmaster). Všetky údaje sú v jednom binárnom súbore a ten je možné uzamknúť heslom, napríklad aby sa dal prezerať, ale už nie modifikovať. Na vývoj je potrebné mať špecializovaný software od uvedenej firmy. Súbor so scénou vygenerovaný v tomto formáte má menšiu veľkosť než VRML a to je na Internete podstatné. Návrh virtuálneho sveta v SuperscapeVR môžeme rozdeliť do niekoľkých krokov. Prvým krokom je vytvorenie hrubého modelu z kvádrov. Pri úprave pozícii kvádrov môžeme využívať detekciu kolízii, čo je jedna z vlastností SuperscapeVR. Po vytvorení základnej štruktúry sú kvádre modifikovane do konečných tvarov, to znamená, že sú zaobľované podľa tvaru skutočného objektu. Ďalším krokom je nastavenie farieb jednotlivých stien objektov, pričom sú ofarbené iba viditeľné steny. Posledným krokom je pokrytie niektorých stien textúrami a pridanie dekorácii. Veľmi dobrou vlastnosťou SuperscapeVR je tzv. distancing, kedy je každý objekt vytvorený v niekoľkých úrovniach detailov a jednotlivé časti sú zobrazované podľa vzdialenosti pozorovateľa od objektu. Ak budeme uvažovať napríklad model križovatky, potom sú v najväčšej vzdialenosti zobrazované iba cesty, chodníky a steny domov odlíšené farbou, v strednej vzdialenosti môžu byť zobrazené najviac biele pruhy na vozovke a v najmenšej vzdialenosti sú zobrazené i textúry na chodníkoch a stenách domov. Pri návrhu scén v SuperscapeVR sa používajú dve metódy a to metóda návrhu pomocou vopred vytvorených dielov a metóda ručného návrhu. V prvej metóde sa používajú vopred pripravené diely. Metóda sa skladá z dvoch krokov. Prvým krokom je vytvorenie základných dielov, druhým krokom je zostavenie scény z týchto dielov. Výhodou metódy návrhu pomocou dielov je rýchlosť. Ak máme vytvorenú dostatočne rozsiahlu množinu dielov, potom vlastné vytvorenie scény spočíva iba v umiestnení jednotlivých dielov, prípadne v ich malých úpravách. Nevýhodou je, ak sa vrátime k nášmu príkladu s cestami, nutnosť použitia pravouhlého systému ulíc. Ulice, ktoré nie sú na seba kolmé, musíme vytvárať od základu, pretože nemôžeme použiť žiadne pripravené diely. Ak však modelujeme nejakú pravidelný scénu je táto metóda ta pravá. Druhá metóda, ktorá sa viac hodí pre modelovanie nepravidelných scén je metóda ručného návrhu. Tato metóda je založená na manuálnom vytváraní úplne celej scény a umožňuje vytvárať množstvo detailov a scéna sa potom môže veľmi podobať skutočnému svetu. Metóda je vhodná pre vytváranie menších scén, v prípade potreby väčšieho rozsahu modelu je nutné ubrať detaily. Nevýhodou tejto metódy sú veľké časové nároky a nutnosť dokonalej znalosti systému a modelovaného prostredia. Výhodou však je to, že nie sme obmedzený na pravouhlý priestor a môžeme tak vymodelovať čokoľvek.

Obsah

VRML

VRML je popisný jazyk určený pre vytváranie virtuálnych svetov a pre použitie v prostredí Internetu. Obsahuje mnoho geometrických objektov, ktoré môžeme použiť pre modelovanie virtuálnych svetov (kocka, kužeľ, valec, guľa, ihlan). VRML je textový formát a tak je možné generovať modely v akomkoľvek textovom editore, nie je teda možné žiadne zabezpečenie zdrojových kódov. Výhodou však je to, že z množstva špecializovaných programov ako napríklad 3DStudioMAX môžeme vygenerovať priamo VRML popis modelu a ten následne vložiť do našej scény. Textúry sa nachádzajú v externých súboroch a tak sa scéna skladá z množstva súborov, čo nie je práve ideálne pre prostredie Internetu, a navyše je to náročné na prenosovú rýchlosť. Rovnako ako v SuperscapeVR môžeme použiť distancing, v tomto prípade je však realizovaný objektom Level of Detail. Aj tu sa stretávame s dvoma metódami modelovania scény a to konštrukciou scény pomocou dielov alebo konštrukciou scény z trojuholníkov. Pri prvej metóde sa scéna konštruuje z dielov, ktoré sú zložené z niekoľkých objektov. Podobne ako aj v prípade SuperscapeVR sme obmedzení pravouhlosťou ciest. Preto ak chceme modelovať značne nepravidelnú scénu siahneme k druhej metóde a to ku konštrukcií z trojuholníkových plátov. Pri tejto metóde reprezentujeme každý objekt pomocou trojuholníkov. Trojuholníky sú generované vo VRML zo zadaných bodov. Keďže sa všetko skladá z trojuholníkov nie sme vôbec viazaní na pravouhlosť. Jedná sa však o veľmi náročnú metódu a tak sa nehodí na modelovanie veľkých scén, ale len na menšie časti. S rastúcim počtom trojuholníkov rastie náročnosť vykresľovania scény a tak je potrebné zvoliť správne nároky na realistickosť výslednej scény.

Obsah

X3D

Formát X3D (Extensible 3D) je nový štandard pre 3D obsah určený pre Internet, ktorý sa stále vyvíja. Úlohou X3D je stať sa novým formátom, alebo jazykom, ktorý sa bude využívať pre tvorbu interaktívnych 3D svetov na webe. Štandard X3D nahrádza svojho existujúceho predchodcu VRML 97, ktorý bol doterajším existujúcim štandardom. Samotné X3D je veľmi robustné a pokladá sa za ISO štandard pre tvorbu 3D grafiky pre web. Vďaka faktu, že X3D je založené na formáte XML, otvárajú sa veľké možnosti pre rozšírenie tohto jazyka. Takýmto spôsobom je možné spojiť tento formátom s formátmi ako MPEG, SVG, CML, alebo MathML, čo robí z X3D veľmi flexibilný jazyk a vytvára príležitosť pre veľké uplatnenie v rôznych oblastiach. Pri vývoji aplikácií založených na X3D sú k dispozícií nasledujúce štyri profily, ktoré definujú mieru interakcie a funkcie poskytované v rámci VR:

Obsah

Programovacie jazyky pre tvorbu VR

OpenGL

OpenGL je softwarové rozhranie pre grafický hardware. GL je skratka pre Graphics Library (grafická knižnica). Keďže sa jedná o low-level rozhranie, často sa OpenGL označuje ako assembler počítačovej grafiky. OpenGL obsahuje približne 150 príkazov, s ktorými možno opísať objekty a činnosti, ktoré sú potrebné na vytvorenie aplikácie s interaktívnou trojdimenzionálnou scénou. OpenGL je implementované na množstve hardwarových platformách. OpenGL neposkytuje zložité príkazy, ktoré by vám dovolili behom chvíľky vymodelovať automobil alebo lietadlo. Všetko si musíte postaviť sami postupne z menších častí zložených zo základných stavebných častí: bodov, čiar a polygónov (mnohouholníkov, hlavne však trojuholníkov). OpenGL je veľmi silná platforma, ktorá sa dnes najčastejšie používa ak máme dočinenia s generovaním 3D grafiky. Pre jej použitie hovorí otvorenosť, takže nikomu sa neplatí za využívanie tejto technológie. Je to veľmi jednoduchá technológia, s ktorou sa dá bez problémov rýchlo oboznámiť. Jej rozšírenie prinieslo výhody, ako napríklad hardvérovú akceleráciu OpenGL na grafických čipoch. Táto technológia je skutočne silný súper na poli 3D grafiky. Podrobnosti o OpenGL sa možno dozvedieť v RedBook of OpenGL. OpenGL je veľmi silný nástroj a je možné v ňom vytvárať plnohodnotné 3D aplikácie, čoho dôkazom je množstvo hier a multimediálnych aplikácii vznikajúcich práve za pomoci tejto technológie. OpenGL poskytuje prostriedky pre vytvorenie množstva objektov a následne ich pohyby, či rotáciu. Tiež je implementovaný distancing, ako Multiple Levels of Detail. Má rozsiahle možnosti deformácii a detekcií kolízii, možnosti textúrovania, transformácií, dymu, priehľadnosti, odrazov, hry svetla a tieňov. Rozhranie OpenGL rozhodne neobmedzuje tvorcov, ale aj tu je potreba správneho uváženia náročnosti a detailnosti scény, pretože aj keď je OpenGL podporované a hardwarovo urýchľované grafickými procesormi, veľký počet trojuholníkov potrebných na vykreslenie scény je náročný na výkon počítača.

Obsah

OpenGL Performer

Popri jazyku OpenGL je na mieste spomenúť aj stále vyvíjajúcu sa špeciálna verziu tejto knižnice - OpenGL Performer, ktorá poskytuje silný a komplexný nástroj pre vizualizácie a simulácie v reálnom čase. Tento nástroj je primárne určený pre tvorbu profesionálnych 3D aplikácií orientovaných na výkon. Koncepcia tohto nástroja zjednodušuje vývoj aplikácii pre simulácie v reálnom čase, výrobu, virtuálnu realitu, vedecké vizualizácie, interaktívnu zábavu, architektonické prehliadky a pre dizajn podporovaný počítačom. Najnovšia verzia tejto knižnice (OpenGL Performer™ 3.2) je postavená na základoch OpenGL, spolupracuje s technológiami OpenGL Volumizer™, OpenGL Multipipe™ SDK, a OpenGL Vizserver™ a je určená pre operačné systémy IRIX, Linux aj Windows.

Obsah

DirectX

Technológiu DirectX má patentovanú firma Microsoft a podieľa sa na jeho ďalšom vývoji, momentálne je aktuálna verzia 10. Táto technológia je primárne určená pre systémy Windows firmy Microsoft. DirectX je podporovaný výrobcami grafických čipov. Vo všetkých oblastiach je DirectX porovnateľný s OpenGL je však nutné zaň platiť a je obmedzený pre operačné systémy Windows. Existujú prepracované vývojové nástroje, ktoré umožňujú vyvíjať aplikácie v DirectX jednoduchšie ako v OpenGL, ale tieto aplikácie sú náročnejšie na výkon. Výhodou oproti OpenGL je to, že DirectX je aj nástroj určený na prácu so zvukom. Poskytuje teda lepšie prepojenie zvuku a obrazu, vzájomnú synchronizáciu. Má predprogramované modely správania zvuku, šírenia v nami vymodelovanom prostredí a umožňuje tak vytvárať obrazovú aj zvukovú časť pomocou jedného nástroja.

Obsah

Java 3D

Spoločnosť Sun, ktorá vyvinula programovací jazyk Java myslela aj na VR. Keďže v poslednej dobe sme svedkami prenikania Javy do všetkých odvetví určite s ňou treba počítať aj pri vývoji VR. Java sa asi nestane jediným a univerzálnym programovacím jazykom ako mnohí predpovedali ale na poli VR ju čaká veľká budúcnosť. Java 3D je postavená na štandardoch OpenGL a DirectX. Každá z platforiem ma svoje výhody a nevýhody. Z hľadiska rýchlosti sa ako lepšie riešenie javí použitie Java3D postaveného na platforme OpenGL. Java3D netvorí len wrapper pre tieto grafické knižnice, ale poskytuje programové rozhranie – API, pre programátora, ktoré je založené na základe plne objektového modelu. Celá štruktúra objektov obsiahnutých v tomto API je utriedená do stromovej štruktúry. Pri vykresľovaní obrazu sa využíva tzv. graf scény, ktorý obsahuje celú schému spolu so základnými elementmi tohto API . Tento fakt umožňuje aj použitie rôznych foriem výstupu. Jednou z týchto foriem je aj použitie VR, kde výstup programu môže byť vykresľovaný zariadeniami VR. Java3D ako knižnica nie je súčasťou JDK 6, ale v najbližšej dobe sa očakáva spojenie tejto knižnice s vývojovým prostredím.

Obsah

Špecializované knižnice pre tvorbu konkrétnych aplikácií VR

CAVE Lib

Cave (Cave Automatic Virtual Enviroment) je najrozšírenejším systémom pre immersiveVR. ImmersiveVR poskytuje presvedčivú ilúziu bytia v priestorovom svete, ktorý je generovaný počítačom a poskytuje používateľovi plne realistický obraz. Cave je miestnosť, kocka pozostávajúca z troch stien a podlahy. Tieto štyri steny slúžia ako premietacie plátna pre zobrazenie obrazov generovaných počítačom. Podlahový projektor dovolí priestorovým objektom objaviť sa uprostred. Cave poskytuje prostredníctvom okolitých stien definitívne ponorenie a extrémne široké zorné pole. Periférne videnie je potrebné pre orientáciu, navigáciu a najviac zo všetkého, pre vnímanie činností objavujúcich sa v periférii. Knižnica na prácu s týmto zariadením sa nazýva CaveLib.

Obsah