Index Weiter Zurück Literatur 

3.3  Beleuchtung, Sound

Beleuchtung

In der VRML Spezifikation gibt es 3 Sorten von "Light Nodes": Bei VRML herrscht eine klare Trennung zwischen Lichtquelle und ausgestrahltem Licht. Die Ausleuchtung einer Szene setzt nicht notwendigerweise eine sichtbare Lichtquelle voraus, obwohl es sich anbietet eine solche in die Szene einzubauen (die Szene wirkt dadurch nicht so synthetisch).
Es besteht allerdings noch ein zweites Problem. Die Beleuchtung entwickelt zwar eine Art schattierung auf angeleuchteten Objekten jedoch werfen die Objekte selbst keinen Schatten. Wenn ein Schatten dargestellt werden soll, bleibt keine Wahl als diesen in einer annähernd korrekten Geometrie selbst anzugeben.

Bei PointLight und SpotLight wird ein Radius angegeben, in dessen Bereich alle Objekte ausgeleuchtet werden. Darüber hinaus bleibt es dunkel, egal wie hell die Lichtquelle eingestellt wurde. Bei PointLight wird das Licht ähnlich einer Glühbirne in alle Richtungen ausgestrahlt, bei Spotlight wird ein konischer Bereich ausgehend von der Quelle ausgeleuchtet.
Bei DirectionalLight werden alle Objekte angestrahlt, die in dem DirectionalLight Node als children enthalten sind (und nur diese!). DirectionalLight hat keinen Ursprung (d.h. die Quelle ist unendlich weit weg) sondern nur eine Richtung. Aus dieser Richtung wird die Szene durch parallele Lichtstrahlen angestrahlt.

Den Light Nodes können diverse Eigenschaften zugeteilt werden, z.B.

Beispiel:

PointLight  {
  location   10  5  8
  on            TRUE    # Eingeschaltet
  intensity  .75         # 75% Helligkeit
  color       1  0  0    # Rote Farbe
}
 

Sound

Laut Spezifikation muß ein Browser zumindest das WAVE Format (uncompressed PCM) abspielen können, er sollte aber auch MIDI (type 1) unterstützen.
Um einen Sound abzuspielen werden zwei Nodes benötigt: Sound und AudioClip.
Der Sound Node gibt an, wo sich die Tonquelle befindet und in welchem Bereich der Ton zu hören ist. Die folgende Grafik verdeutlicht die Angabe des hörbaren Bereiches:

 Sound

Quelle: VRML97 Spezifikation, VRML Architecture Group
 

Es entstehen zwei Ellipsen. Befindet sich der Betrachter innerhalb der inneren Ellipse, so ist der Ton in voller Lautstärke zu hören. Im Bereich zwischen der inneren und der äußeren Ellipse nimmt die Lautstärke langsam ab, um dann außerhalb der äußeren Ellipse gänzlich zu verstummen. Die Schallrichtung wird durch den direction Vektor angegeben. Durch Veränderung der Ellipsen kann erreicht werden, daß der Ton nur in einer Richtung zu hören ist, oder z.B. gleichmäßig in alle Richtungen verteilt wird.

Im Sound Node ist als source der AudioClip Node enthalten. Dieser Node beschreibt, welcher Sound abzuspielen ist, und in welcher Weise (einmalig/wiederholt, laut/leise, schnell/langsam, etc.). Desweiteren kann angegeben werden, wann der Sound abgespielt werden soll.

Beispiel:

Sound {
  source  AudioClip  {
    description  "Trommelwirbel"
    url               "drums.wav"
    loop             TRUE
  }
  minFront  10
  maxFront 100
  minBack   0.4
  maxBack  4
}

In diesem Beispiel wird die Datei drums.wav abgespielt (immer wiederholend). Der Trommelwirbel ist von vorne schon aus weiter Entfernung (100) zu hören, während er bei Annäherung von hinten erst sehr spät wahrgenommen wird. Dies macht z.B. dann Sinn, wenn die Tonquelle vor einer Wand steht.



Index Weiter Zurück Literatur