Proseminar Computergrafik: Retained Mode: Open Inventor, VRML ...
Proseminar Computergrafik: Retained Mode: Open Inventor, VRML ...
Proseminar Computergrafik: Retained Mode: Open Inventor, VRML ...
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