OpenSG - Verteilte Visualisierung in verschiedenen Anwendungsszenarien
Marcus Rieche, Leibniz Universität Hannover,
Bachelorarbeit
06/2007
Die 3D Grafikhardware hat gerade bei Stanard PCs in den letzten Jahren große Fortschritte gemacht. Dennoch gibt es auch heute noch Grenzen, z.B. bei der Visualisierung großer Voxel-Daten aus dem medizinischen Bereich. Abhilfe schaffen entweder teure Spezialcomputer (Graphic Workstations) oder ein verteilter Ansatz, auch Clustering genannt.
Mögliche Anordnung für eine OpenSG Anwendung |
OpenSG ist ein Open Source Echtzeit-Renderingsystem, das auf OpenGL aufbaut. OpenSG verwendet eine Szenengraphstruktur (vergleichbar mit OpenInventor, Java3D) und ist kein eigenständiges Programm, sondern eine C++-Bibliothek zur Erstellung verteilter 3D Renderingsysteme. Besonderes Merkmal von OpenSG ist die Möglichkeit, das Rendering in verschiedene Threads unterteilen zu könnnen, die auch auf unterschiedlichen Rechnern laufen können. Die berechneten Szenen können entweder auf einem oder auf mehreren Ausgabegeräten (Beamer, Monitor) dargestellt werden. Anwendungen wären etwa die Darstellung von Szenen auf mehreren Monitoren zur Vergrößerung der Projektionsfläche, die Echtzeitdarstellung großer 3D Datenmengen auf einem Monitor oder Stereoprojektion mit mehreren Beamern. Auch eine Art Mini-Cave (Cockpit-Anordnung) der Ausgabegeräte liesse sich damit realisieren.
Ziel dieser Arbeit soll es sein, mit minimalen Investitionen innovative Konzepte für Arbeitsumgebungen zu entwickeln, die eine Visualisierung grosser (z.B. medizinischer) Voxeldaten mit einem Optimum an 3D Immersivität ermöglichen. Dazu soll in einer Beispielapplikation mit Daten aus den aktuellen Welfenlab Projekten (Medizin, Haptex, u.a.), eine Mini-Cave entwickelt werden. Diese könnte z.B. aus einem System mit mehreren Rechnern und LC-Displays bestehen. Im Verlauf der Arbeit sollen auch Stärken und Schwächen der OpenSG Bibliothek untersucht werden.
Kontakt: Karl-Ingo Friese