05.08.2013 Aufrufe

Proseminar Computergrafik: Retained Mode: Open Inventor, VRML ...

Proseminar Computergrafik: Retained Mode: Open Inventor, VRML ...

Proseminar Computergrafik: Retained Mode: Open Inventor, VRML ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Das Ergebnis dieser Programmzeilen wird im nächsten Bild gezeigt.<br />

2.5 Sensoren und Ereignisse in <strong>VRML</strong><br />

Abbildung 9<br />

Ereignisse dienen in <strong>VRML</strong> der Kommunikation der Knoten untereinander. Die Knoten besitzen dazu<br />

spezielle Felder, die das Ereignis aufnehmen oder abschicken können. Durch ROUTE werden zwei<br />

Knoten über die entsprechenden Felder verbunden.<br />

Die gesamte Interaktion wird komplett über Sensoren gesteuert, die in <strong>VRML</strong> eingebaute Konstrukte<br />

für Animation und Interaktion sind. Sensorenknoten erzeugen Ereignisse, welche die Animation oder<br />

Interaktion steuern. Diese Knoten werden mit sogenannten Interpolatoren verbunden, die vom<br />

Entwickler vorher festgelegte Zwischenwerte enthalten. Diese vorgefertigte Variante reicht für einfache<br />

Animationen aus, komplexere Abläufe sind jedoch nur mit Hilfe von Scriptknoten oder über EAI<br />

realisierbar. Der Scriptknoten nimmt dabei die Position des Interpolator-Knotens ein. Sobald der<br />

Sensorknoten ein Ereignis sendet, berechnet der Scriptknoten den neuen Wert und reicht ihn zum<br />

Beispiel an einen Knoten weiter, der ein geometrisches Objekt beschreibt. Dies kann dann zur<br />

Veränderung der Größe oder Farbe des Objektes führen, es kann aber auch eine Animation mit<br />

nichtlinearer Berechnung von Positionswerten generiert werden.<br />

<strong>VRML</strong> bietet verschiedene Sensoren an, um Ereignisse zu erzeugen. Neben einem „TimeSensor“ gibt<br />

es Sensoren, die auf die Auswahl eines Objektes mit der Maus reagieren. Dabei unterscheidet man<br />

Sensorentypen für Auswahl (TouchSensor, Anchor) und Objektinteraktion (CylinderSensor, Plane-<br />

Sensor und SphereSensor). Weitere Funktionalität muss dann wiederum über Scriptknoten geregelt<br />

werden.<br />

Ein einfaches Beispiel für einen Sensor zeigt das folgende Programm.<br />

10

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!