uvod v vrml vrml virtual reality modeling language ima naslednje lastnosti program zapisemo in se izvaja iz tekstovne datoteke preprost jezik za opisovanje d prostorov oblik in interaktivnih okolij je standard za svetovni splet kaj potrebujemo da lahko gledamo d svetove na nasem racunalniku brskalnik po spletnih straneh netscape navigator internet explorer dodatno programsko opremo brskalniku plug in cosmo player kako ustvarimo vrml datoteke za ustvarjanje navideznih prostorov lahko uporabimo katerikoli tekstovni urejevalnik ali katero aplikacijo za kreiranje navideznih prostorov world builder struktura vrml tekstovne datoteke glava datoteke komentarji namenjeni programerju vse kar pise za tem znakom polja vrednosti katere lahko spreminjamo vrednosti imena podrocij primer kartke vrml datoteke vrml v utf a cylinder shape appearance appearance material material geometry valj height radius to je vrml datoteka ki nam ustvri v d prostoru valj osnovne barve t j siva s podanimi podatki visine in polmera osnovne ploskve te mere naj bi bile v metrih toda v bistvu so lahko karkoli oblike v vrml ju v vrml ju lahko definiramo tudi kaksne opise za posamezne objekte ki jih potem v nadaljevanju se veckrat uporabimo primer def valj shape nato pa v nadaljevanju use valj osnovne oblike v vrml ju iz katerih sestavljamo bolj zapletene so kvader stozec valj krogla sfera vedeti moramo da ko kreiramo eno taksno obliko ustvarimo samo ploskve stranic pri krogli sfero katerih debelina je enaka zato moramo ce zelimo ustvariti prostor z zunanjimi in notranjimi stenami kreirati dve obliki katere vstavimo eno v drugo in izrezemo del ene z drugo pri obliki shape lahko dolocamo se naslednje geometry oblika objekta in struktura le tega appearance barva in tekstura objekta primer shape geometry appearance kako pa dolocimo geometrijo geometry v podrocju geometry zapisujemo in iz njeih sestavljamo komplaksnejse objekte s pomocjo naslednjih osnovnih teles box kvader cone stozec cylinder valj sphere krogla tem telesom pa moramo dolociti dimenzije primer za kvader box dolzina sirina visina primer za stozec cone height visina bottomradius primer za valj cylinder height visina radius polmer primer za kroglo sphere radius podrocje skupin group opisuje kateri otroci children spadajo v neko skupino primer group children uporaba teksta v vrml svetovih vcasih zelimo imeti v nekem d prostoru tudi nekaj napisano za to uporabljamo podrocje text kjer dolocamo vse kar je povezano s tekstom tekstovne oblike so dvodimenzionalne torej nimajo debeline zato jih ponavadi postavljamo na neke ze obstojece objekte tekstu lahko dolocimo druzino fontov stil pisave velikost lastnosti teksta dolocamo v podrocju shape dolocanje nizov vsak niz se zapise v svojo vrstico ali stolpec text string dolocanje stilov pisave fontstyle family `'serif'' druzina style `'bold'' stil size velikost spacing razmak pisavi alhko dolocimo tudi poravnavo in smer pisave fontstyle justify `'begin'' horizontal true lefttoright true toptobottom true pomikanje objektov po prostoru v osnovi se vsak objekt ki ga ustvarimo postavi v izhodisce koordinatnega sistema zato se moramo pomikati z objektom v smeri ene od koordinat ali tudi vecih pomikanje rotiranje in povecevanje zmanjsevanje kontroliramo v transform podrocju transform kreira koordinatni sistem ki je pozicioniran postavljen v doloceno pozicijo v prostoru rotiran in povecan zmanjsan relativno na koordinatni sistem starsa uporaba transform podrocja transform translation rotation scale children primer uporabe pomika transform translation children primer rotacije transform x y z kot rotation children kot je merjen v radinanih objekt pa rotiramo okrog koordinatne osi katera ima zapisano vrednost primer povecevanja zmansevanja transform scale children v vseh treh variantah transformacij se ve nanaca na otroka children ki ga navedemo v istem podrocju transform primer uporabe vseh treh transformacij skupaj transform translation rotation scale children primer slike katero napravimo s podrocjem transform barve v vrml ju vse osnovne oblike v vrml ju imajo tudi osnovno barvo umazano bela s katero je pobarvan vsak objekt z uporabo barv lahko kontroliramo sencno barvo barvo objekta transparentnost barve dolocamo v podrocju shape in podpodrocju appearance v njem pa dolocimo podpodrocje material shape appearance appearance material geometry podrocje material diffuse color glavna sencna barva emissive color barva objekta tansparency prosojnost ali neprosojnost primer uporabe material diffusecolor emissivecolor transparency barve dolocamo s pomocjo naslednji treh osnovnih barv rdeca zelena modra mesanje barv barva rdeca zelena modra bela crna rumena vijolicna rjava skupine osnovne oblike so lahko grupirane s katerimi kreiramo bolj kompleksne oblike group osnovna skupina switch skupina z eno izbiro transform skupina z novim koordinatnim sistemom billboard skupina s koordinatnim sistemom ki se obraca proti opazovalcu grupiranje predmetov v vrml ju lahko grupiramo predmete na vec nacinov group osnovna grupa vsak otrok v tej grupi je prikazan sintaksa group children switch kreira grupo v kateri je prikazan samo en otrok sami pa izbiramo kateri sintaksa switch whichchoice choice transform kreira grupo z lastnim koordinatnim sistemom vsak otrok v grupi je prikazan sintaksa transform translation rotation scale children billboard kreira grupo s specialnim koordinatnim sistemom ki je vedno z licem obrnjen proti opazovalcu sintaksa billboard axisofrotation children primer za billboard group children billboard axisofrotation children transform vnasanje drugih vrml datotek v nas prostor inline kombinira datoteke vrml eno v drugo s tem ukazom lahko vkljucimo nek objekt katerega imamo definiranega v neki drugi vrml datoteki v nas prostor torej povezemo dve vrml datoteki sintaksa inline url ime datoteke wrl primer inline url miza wrl vkljucili smo mizo v nas prostor transform translation children inline url stol wrl vkljucili smo stol dodanjanje povezav v nas prostor podobno kot v jeziku html definiramo hipertekstovno povezavo med dvema datotekama a href stran htm lahko tudi v jeziku vrml kreiramo nekaksno hipertekstovno povezavo to storimo z ukazom anchor za katerega velja vsak otrok v tej grupi je prikazan ce izberemo kateregakoli otroka te grupe anchor se prestavimo na url naslov ima opisni niz sintaksa anchor url ime datoteke wrl description opis novega prostora children tocke linije lica omogocajo kreiranje bolj kompleksnih oblik omogocajo kreiranje bolj efektivnih prostorov omogocajo vec kontrole in prilagodljivosti kot primitivne oblike oblike lahko definiramo bolj prilagojeno nasim zeljam z dvema korakoma definiramo lokacijo pike povezujemo pike med sabo dolocanje koordinat sintaksa coordinate point kreiranje geometrije z uporabo koordinat trije ukazi ki imajo coord polje in sprejmejo coordinate ukaze pointset indexedlineset indexedfaceset ti se uporabljajo za kreiranje zahtevnejsih geometrij pointset pika je narisana v vsaki tocki sintaksa pointset coord coordinate point indexedlineset narise ravno crto med dvema tockama sintaksa indexedlineset coord coordinate point coordindex indexedfaceset kreira lice ravnino v obmocju podanih tock sintaksa indexedfaceset coord coordinate point coordindex kriranje oblike z omejitvijo visine primerno za kreiranje razlicnih terenov ki so nepravilnih oblik gorovje morje planeti sintaksa primer elevationgrid xdimension xspacing zdimension zspacing height gradnja modeliranih oblik kreiranje geometrije z definiranjem d pogleda definiranjem d spina modeliranjem d oblike ob spinu v d sintaksa extrusion crosssection spine barve v koordinatno orientirani geometriji prekrije barvo v tocno doloceni piki crti ali licu boljsa kontrola barvanja za ukaze ki so opisani zgoraj indexedfaceset indexedlineset pointset in elevationgrid ukaz color se uporablja kot color polje barvo dolocamo z rgb vrednostmi sintaksa color color primer uporabe za indexedfaceset indexedfaceset coord coordinate coordindex color color color colorindex colorpervertex true teksture v vrml datotekah moznosti uporabe tekstur ovije sliko okrog neke oblike ovija slike filma okrog oblike lastnosti vkljucevanja tekstur tekstura prekrije barvo ki smo jo dolocili v material tekstura se ovije okrog objekta kakor smo to definirali v appearance tekstura je lahko slika film pika preprost primer vkljucevanja teksture kot slike appearance material material texture imagetexture url ime slike jpg teksture slik so lahko v formatu jpeg png gif preprost primer vkljucevanja teksture filma appearance texture movietexture url ime filma mpg speed hitrost predvajanja loop false ali se ponavlja teksture s filmi so lahko v formatu mpeg preprost primer vkljucevanja pike kot teksture pixeltexture image xff x ff xffffff xffff razsirjanje teksture po celotni povrsini pri neki teksturi se vcasih zgodi da potrebujemo kontrolo nek del slike je izvzet iz slike kako je nek del obravnavan na licu sencenje z uporabo normals dolocimo lahko smeri lica za kontroliranje sencenja v elevationgrid indexedfaceset uporabimo naslednja orodja normal normalindex in normalpervertex nastavitev creaseangle polje kot sencenja nekega lica sintaksa normal vector osvetljevanje prostora luci vplivajo na senco barva na objektih imamo vec tipov luci luci ne delajo sence na tleh razlicni tipi luci pointlight tockasta luc directionallight luc v neki smeri spotlight reflektorska luc vsi trije tipi luci pa imajo naslaednja standardna polja prizgano true intenzivnost prostorska intenzivnost barva tockovna luc sintaksa pointlight standardna polja in location radius attenuation usmerjene luci sintaksa directionallight standardna polja in direction reflektorske luci sintaksa spotlight standardna polja in location direction beamwidth cutoffangle radius attenuation