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:
- Interchange poskytuje základ pre komunikáciu medzi aplikáciami. Podporuje použitie geometrie, textúrovania, základného svetla a animácie. Pre renderovanie neexistuje žiaden run time model, čo poskytuje možnosť jednoduchej integrácie s ostatnými aplikáciami.
- Interactive umožňuje základnú interakciu s 3D prostredím pomocou použitia rozličných senzorov pre navigáciu a interakciu. Tento profil taktiež podporuje rozšírené osvetlenie a vylepšené časovanie.
- Immersive umožňuje použitie plnohodnotnej 3D grafiky a interakcie, vrátane podpory zvuku, kolízií, hmly a skriptovania.
- Full obsahuje všetky definované komponenty a senzory ako napríklad NURBS, H-Anim a GeoSpatial
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