Lektion 3 - Mappa bilder på objekt

För att mappa en bild på ett VRML-objekt utnyttjar man Appearance { } -nodens fält texture. Fältvärde i detta fält blir noden ImageTexture { } som i sin tur har ett fält som heter url. I url -fältet anges sökvägen till bilden du vill mappa. Bilden bör vara i JPG eller GIF-format vilka stöds av de flesta bläddrare. Krångligt? Kolla exemplet nedan så blir det förhoppningsvis klarare:

 
#VRML V2.0 utf8
#En kub med en bild mappad på alla sidor
Shape {
appearance Appearance {
texture ImageTexture{
#Bilden som mappas
url "Bilder/rap_03.jpg"
}
}
geometry Box {
size 5 5 5
}
}
En kub med samma bild mappad på alla sidor.

Lika enkelt kan man mappa bilder på de andra primitiverna Sphere {}, Cone {} och Cylinder {}. Prova detta och notera de lustiga effekter som uppstår vid t ex mappning på en sfär.

 

För att bygga mer komplicerade geometrier (än sfär, kon, cylinder och låda) används noden IndexedFaceSet {}. Här anger man de punkter i rummet man vill ska användas för att definiera geometrin. Vill man mappa bilder i ett plan (som ett enkelt fotografi) kan man använda IndexedFaceSet {} -noden för att ange fotografiets fyra hörnpunkter. Fälten coord och coordIndex används för att bygga planet som bilden ska mappas på medan texCoord och texCoordIndex anger hur jag klistrar bilden på planet.

 
#VRML V2.0 utf8
#Detta exempel visar hur man kodar för att mappa
# en bild plant (och INTE runt ett objekt)
#Prova att rotera på bilden!
Shape {
appearance Appearance {
texture ImageTexture{
#Bilden som mappas
url "Bilder/glenn_profil.gif"
}

}

geometry IndexedFaceSet{
#Här anger jag de fyra koordinater
# som definierar geometrin
#Punkterna: Vänstra nedra, högra nedre,
# högra övre, vänstra övre

coord Coordinate{

point[ 0 0 0, 6 0 0,
6 5 0, 0 5 0 ]

}

#Varje koordinat indexeras
coordIndex[ 0, 1, 2, 3 ]

#Här bestämmer jag hur bilden ska
# spännas upp på de fyra hörnen
texCoord TextureCoordinate{

point[ 0 0, 1 0, 1 1, 0 1 ]

}
#Varje hörnpunkt indexeras
texCoordIndex[ 0, 1, 2, 3 ]

}
}
Ett fotografi.

 

Titta också på exemplet med tre olika bilder mappade på en burk.