Molekulardynamiksimulationen im Bereich der Physik, Thermodynamik oder Materialforschung erzeugen Datensätze aus zehntausenden bis zu mehreren Millionen Atomen. Die Visualisierung dieser Daten ist mit einigen umfangreichen Optimierungen möglich. Allerdings erzeugen diese Datensätze Bilder mit sehr hoher visueller Komplexität, in denen Strukturen der Atome nur sehr schwer zu erkennen sind. Ansätze, um dieses Problem zu lösen, basieren sehr oft auf Verfahren, die die Tiefe in den Datensätzen hervorheben. Mögliche Verfahren sind hierbei Fogging, Silhouetten zeichnen oder Schatten darstellen. Diese Verfahren müssen jedoch bei sehr feinen Datenstrukturen sehr genau gesteuert werden damit die Strukturen sichtbar bleiben. Aus diesem Grund sollte in dieser Studienarbeit ein weiterer Ansatz implementiert werden: Ambient Occlusion.
Ambient Occlusion ist eine Beleuchtungstechnik, welche zum ersten Mal in der Arbeit von Zhukov et al. (Zhukov, Iones, & Kronin, 1998) vorgestellt wurde. Es wird verwendet, um mit relativ wenig Rechenaufwand eine realistische Beleuchtung zu erzeugen. Ambient Occlusion basiert auf der Annahme, dass in Spalten oder Ecken normalerweise eine geringere Beleuchtungsstärke vorherrscht. Dies ist auf die vielen diffusen Reflexionen in diesen Stellen zurückzuführen. Aufgrund dieser Annahme können entsprechende Stellen abgedunkelt werden, ohne Informationen über die gesamte Szene zu verwenden. Dadurch entsteht ein realistischer Tiefeneindruck. Allerdings ist das Ergebnis physikalisch nicht korrekt. Die Näherung reicht jedoch aus, um eine realistische Verschattung zu erzeugen, ohne auf rechenintensive globale Berechnungen zurückgreifen zu müssen.
Die erste Veröffentlichung dieser Technik war noch für große Renderingprojekte oder die Filmindustrie gedacht und demzufolge auch nicht echtzeitfähig. Seit damals wurde dieses Verfahren jedoch soweit verbessert, dass es in einer großen Anzahl an Echtzeitanwendungen Verwendung findet.
In dieser Studienarbeit wurde ein effizienter Algorithmus erstellt, der Ambient Occlusion auf sehr großen Molekulardynamikdatensätzen in Echtzeit ermöglicht. Hiermit soll ein realistischer Tiefeneindruck auf Bildern dieser Daten erzielt werden. Der Algorithmus muss ohne Vorberechnungen auskommen.
Das Verfahren ist für das Programm MegaMol (Grottel, Reina, Dachsbacher, & Ertl, 2010) erstellt worden. MegaMol ist ein Visualisierungstool für punktbasierte Molekulardatensätze. In Abbildung 2 1 ist das Programm mit einer einfachen Szene zu sehen. Bisherige Rendering Methoden für MegaMol hatten entweder keine Technik zur Verdeutlichung der Tiefe implementiert, oder der Tiefeneindruck war wie bei Fogging oder Screen Space Ambient Occlusion (SSAO) nicht ausreichend ausgeprägt. Deswegen wurde in diesem Verfahren ein Objekt orientiertes Ambient Occlusion (OOAO) verwendet, womit der Tiefeneindruck besser verdeutlicht wurde.
MegaMol wurde in dieser Studienarbeit um ein Rendering-Plug-in erweitert. In diesem Rendering-Plug-in muss das gesamte Rendering der Molekulardynamikdaten durchgeführt werden, wobei die Szene durch Ambient Occlusion einen realistischen Tiefeneindruck erhalten hat.
Die bisherige Ambient Occlusion Ansätze und Verfahren scheiden wegen der Komplexität und Größe der Daten aus, bzw. liefern unzureichende Ergebnisse. Da die Datensätze dynamisch sind, muss das Rendering in Echtzeit ausgeführt werden.
Es wurde ein neuer Ansatz zu Ambient Occlusion entwickelt, welcher auch für mehrere Millionen Atome ein ansehnliches Ergebnis erzeugt, ohne Vorberechnungen auskommt und noch echtzeitfähig ist.
|