VRML & Java | |
#VRML V2.0 utf8
#
# Festlegung von 2 Kamerapositionen, zwischen denen der Betrachter wechseln kann.
#
DEF Entry1 Viewpoint {
position 6.0 1.6 8.0
orientation 0.0 1.0 0.0 0.52
description "Viewpoint1"
}
DEF Entry2 Viewpoint {
position -4.0 1.6 6.0
orientation 0.0 1.0 0.0 -0.52
description "Viewpoint2"
}
#
# Über den NavigationInfo-Knoten legt man fest, wie sich der Benutzer in der
# VRML-Welt fortbewegen kann ("WALK", "FLY" .....).
# Das Headlight ist eine Lampe, die über dem Betrachter sitzt und immer in die
# Richtung scheint, in die er schaut. Ist sie ausgeschaltet, so sollten externe
Lichtquellen
# vorhanden sein, da sonst die Welt nicht erleuchtet wird.
#
NavigationInfo {
type [ "WALK", "ANY" ]
headlight FALSE
}
#
# Erzeugen einer Lichtquelle
#
PointLight {
ambientIntensity 0.2
color 0.7 0.7 0.7
location 0 5 5
}
#
# Deklaration eines roten Quaders
#
Transform {
translation -3 1 0
children [
Shape {
appearance Appearance {
material DEF Rot Material { diffuseColor 1 0 0
}
}
geometry Box { size 0.8 0.8 0.8 }
}
]
}
#
# Deklaration eines grünen Kegels
#
Transform {
translation -1 1 0
scale 0.4 0.4 0.4
children [
Shape {
appearance Appearance {
material Material { diffuseColor 0 1 0 }
}
geometry Cone { }
}
#
# Deklaration eines Zylinders, der über eine Eltern-Kind-Beziehung mit dem Kegel
# verbunden ist. Alle Gruppeneigenschaften des Kegels werden somit auch auf den
# Zylinder übertragen (d.h. da der Skalierungsfaktor 0.4 beträgt ist die effektive
# Position des Zylinders relativ zum Kegel 1 1 0 [translation 5*0.4 0*0.4 0*0.4]).
# Der Kegel referenziert die Materialeigenschaft des Quaders und ist somit auch rot.
#
Transform {
translation 5 0 0
children [
Shape {
appearance Appearance {
material USE Rot
}
geometry Cylinder { }
}
]
}
]
}
#
# Deklaration einer blauen Kugel
#
Transform {
translation 3 1 0
scale 0.4 0.4 0.4
children [
Shape {
appearance Appearance {
material Material { diffuseColor 0 0 1 }
}
geometry Sphere { }
}
]
}
#
# Deklaration eines Text-Knotens
#
Transform {
translation 5 1 0
scale 0.4 0.4 0.4
children [
Shape {
appearance Appearance {
material Material { diffuseColor 1 1 1 }
}
geometry Text {
string "Text"
fontStyle FontStyle {
size 2.0
style "BOLD"
family "SERIF"
justify "MIDDLE"
}
}
}
]
}
#
# Deklaration einer Bodenfläche, die mit einer HolzTextur belegt ist.
#
Shape {
appearance Appearance {
material Material { ambientIntensity 0.1 }
texture ImageTexture { url "wood0.gif" }
}
geometry IndexedFaceSet {
coord Coordinate {
point [
-10 0 10,
10 0 10,
10 0 -10,
-10 0 -10,
]
}
coordIndex [ 0, 1, 2, 3, -1, ]
solid FALSE
}
}