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.

Manchmal ist es notwendig, auf das zugrundeliegende Renderingsystem zurückzugehen. Der Eingriff<br />

in den Renderingprozess wird im <strong>Retained</strong> <strong>Mode</strong> der drei Grafiksysteme sehr unterschiedlich gehandhabt.<br />

In <strong>Open</strong> <strong>Inventor</strong> ist es erlaubt, die Darstellung des Szenegraphen mit <strong>Open</strong> GL-Anweisungen<br />

zu vermischen. Da für Java3D und <strong>VRML</strong> das zugrundeliegende Renderingsystem nicht unbedingt<br />

<strong>Open</strong> GL ist, können sie keinen Rückgriff vornehmen. Die Portabilität der Systeme stand bei ihrer Entwicklung<br />

im Vordergrund, damit auch andere Grafikpakete wie DirectX als Renderingmaschinen<br />

genutzt werden können. Java3D bietet jedoch auch einen Immediate <strong>Mode</strong>, in dem die<br />

Szenegraphstruktur verlassen werden kann. Die Klasse GraphicsContext3D wird verwendet, um eine<br />

Szene im Immediate <strong>Mode</strong> unter Java3D zu realisieren. Diese Klasse ist wie <strong>Open</strong> GL eine Zustandsmaschine.<br />

Es gibt zwei verschiedene Möglichkeiten, den Immediate <strong>Mode</strong> umzusetzen. Im Pure<br />

Immediate <strong>Mode</strong> wird nur noch ein minimaler Szenegraph verwendet, und der Anwender ist<br />

vollständig für das Rendering verantwortlich. Die Verwaltung liegt vollständig in den Händen des<br />

Entwicklers, er kann aber die Java 3D-Objekte und Attribute nutzen. Das Mixed <strong>Mode</strong> Rendering ist<br />

eine Zwischenstufe des Immediate <strong>Mode</strong> und des <strong>Retained</strong> <strong>Mode</strong>. In ihm läuft der Renderer<br />

automatisch und stellt den Szenegraphen dar. Die Applikation muss von der Klasse Canvas3D<br />

abgeleitet werden, kann dann aber an mehreren vordefinierten Stellen durch Überschreiben<br />

bestimmter Methoden Immediate <strong>Mode</strong> Objekte darstellen. Ein weiter Renderingmodus ist der<br />

Compiled <strong>Retained</strong> <strong>Mode</strong>, welcher ermöglicht, dass ein Teil des Szenegraphen kompiliert wird. Damit<br />

ist Java3D in der Lage, intern Optimierungen vorzunehmen. Dadurch erhält man zwar eine erhöhte<br />

Ausführungsgeschwindigkeit, was jedoch zu Lasten der Flexibilität geht.<br />

17

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!