The Virtual Reality Modeling Language

Obsah Úvod Nastavenia prezerača Dušan Hanuska
Špecifikácia jazyka Špecifikácia jazyka Súradnicový systém Predošlá strana

Základy jazyka

Na najvyššej úrovni abstrakcie je VRML len cesta pre objekty na čítanie a zápis samých seba. Teoreticky môže objekt obsahovať čokoľvek -- 3D geometriu, MIDI dáta, JPEG obrázky, hocičo. VRML definuje množinu objektov užitočných na vytváranie 3D grafiky. Tieto objekty sa nazývajú uzly.

Uzly sú usporiadané do hierarchických štruktúr zvaných grafy scén. Grafy scén sú viac než zbierka uzlov. Graf scény definuje usporiadanie uzlov. Graf scény dáva predstavu stavu -- skoršie uzly v scéne môžu ovplyvniť uzly, ktoré sa objavia v scéne neskôr. Napríklad, uzol s rotáciou alebo z materiálu ovplyvní neskoršie sa objaviace uzly. Bol definovaný mechanizmus na obmedzenie účinku vlastností (oddeľovače (separator)), ktoré dovoľujú častiam scény, aby boli funkčne oddelené od ostatných častí.

Uzly majú nasledujúce charakteristické črty:

Syntax zvolená na reprezentáciu týchto častí informácie je jednoduchá:

DEF menoobektu typobjektu { polia  deti }

Len typ objektu a množinové zátvorky sé požadované, uzly môžu ale nemusia mať meno, polia a deti.

Vo VRML sa rozlišujú veľké a malé písmená, tzn. že 'Sphere' nie je to isté ako 'sphere'.

Meno uzla nesmie začínať číslicou a nesmie obsahovať medzery alebo riadiace znaky, jednoduché alebo dvojité úvodzovky, obrátené lomítka , množinové zátvorky, znak mriežka (#), znamienko plus (+) alebo bodku (.). Mená parametrov začínajú malými písmenami a zvyšok môžu byť hocijaké tlačiteľné ASCII znaky, okrem zloženych zátvoriek ( { } ), hranatých zátvoriek ( [ ] ), apostrofu ('), úvodzoviek ("), mriežky (#), spätného lomítka (\), znamienka plus (+), bodku (.) a ampersand ( & ).

Parametre často určujú vlastnosti a chovanie objektu. Nie sú povinné, ale pre každý parameter je definovaná implicitná hodnota, ktorá sa použije v prípade, že nie je uvedená konkrétne. Poradie, v ktorom sú parametre uvedené nie je rozhodujúce, tzn. že Cube {width 2 height 4 depth 6} a Cube {depth 6 width 2 heigth 4 } sú ekvivalentné príkazy.

Pozri si príklad

Všeobecná syntax

Pre jednoduchú identifikáciu VRML súborov musí každý VRML súbor začínať znakmi:

#VRML V1.0 ascii

Všetky znaky za nimi na tom istom riadku sú ignorované. Riadok je ukončený buď ASCII znakom nového riadku alebo CR znakmi.

Znak '#' začína komentár a všetky znaky po nasledujúci nový riadok alebo CR sú ignorované. Jedinú výnimku v tomto tvoria polia reťazcov, kde môže byť znak '#' súčasťou reťazca.

Poznámka: Komentáre a biele miesta nemusia byť uchované, čo znamená, že server VRML dokumentov môže odstrániť komentáre a biele miesta z VRML súboru predtým než ho odošle. Info uzly by mali byť použité na trvalé informácie ako výhradné práva alebo autorské informácie. Info uzly môžu byť taktiež použité na opis objektov.

Medzery, tabelátory, nové riadky a CR sú znaky bielych miest všade mimo polí reťazcov. Jeden alebo viac znakov bielych miest oddeľujú syntaktické entity vo VRML súbore všade, kde je to potrebné.

Po potrebnej hlavičke, obsahuje VRML súbor jeden VRML uzol. Tento uzol môže byť samozrejme skupinový uzol, ktorý obsahuje množstvo ďalších uzlov.