Options
2012
Bachelor Thesis
Titel
Visualisierung von virtuellen Kulturerbegütern in X3DOM
Titel Supplements
Herleitung GPU-basierter Berechnungsverfahren für Oberflächenkrümmung und Hervorheben kleiner struktureller Details
Abstract
Die Notwendigkeit guter Visualisierungskonzepte zur besseren Darstellung von Kulturerbegütern hat sich im Rahmen des Projektes V-Must [V-Must 2011] abgezeichnet. Diese Thematik wurde in [Michaelis et al.2012] bereits aufgegriffen. In dieser Arbeit wird auf den gewonnenen Erkenntnissen aufgebaut, der Fokus liegt aber auf der bis jetzt nicht umfangreich behandelten Shaderprogrammierung. Das WebGL-basierte Framework X3DOM wird genutzt, um deklarativen 3D-Inhalt als Webpage in Browsern darzustellen. Über JavaScript, JQuery und JQueryMobile (für mobile Endgeräte) werden zum einen ansprechende GUI's realisiert und zum anderen 3D-Inhalte manipuliert. Mit dem Verfahren des "Radiance Scalings" [Vergne et al.2010b] werden spezielle "Features", wie z.B. feine Gravuren auf einer 3D-Oberfläche, betont. Es nutzt Krümmungswerte, um die Geometrie zu erfassen und einfallendes Licht zu verstärken bzw. zu verdunkeln. Es ist sehr universell einsetzbar und lässt sich hervorragend mit anderen Rendering-Verfahren, wie z.B. BRDF's oder Normalmapping, kombinieren. Radiance Scaling wurde für den deklarativen X3DOM Ansatz adaptiert und mit verschiedenen Methoden zur Krümmungsberechnung analysiert. Bei einer ungünstigen Parameterwahl kann es allerdings zu grafischen Fehlern kommen. Normalmapping kann genutzt werden, um die Anzahl der Vertices zu reduzieren und gleichzeitig die optischen Verluste zu begrenzen. Insbesondere im Internet und in Hinblick auf mobile Endgeräte ist auf geringe Ladezeiten zu achten, was kleine 3D-Modelle voraussetzt. Zum Berechnen der Krümmung müssen auf der Oberfläche benachbarte Normalenvektoren miteinander verglichen werden. Dazu werden die Normalenvektoren mit einem Multipassrendering-Verfahren in eine RenderedTexture geschrieben und dann im Fragment- Shader mit einem Offset von einem Pixel ausgelesen. In dieser Arbeit wird je ein Ansatz zur Krümmungsberechnung basierend auf Textur-Koordinaten und einer unter Nutzung des Screen-Space implementiert. Der erste stellt hohe Anforderungen an das 3D-Modell, so müssen z.B. geeignete Textur-Koordinaten vorhanden sein, und es muss sich um eine statische Szene handeln. Er besticht durch bessere Performance. Der zweite Ansatz basiert auf dem zugrundeliegenden Paper, ist sehr universell und somit in den meisten Fällen sinnvoller. Eine dritte, aber nur theoretisch behandelte Möglichkeit würde die Krümmungswerte vorberechnen und mit den Vertices des 3D-Modells speichern. Die sogenannte Scaling-Funktion ist das Herzstück des Verfahrens und manipuliert die Helligkeit eines Fragments auf Basis der zugehörigen Krümmung. Der Einfluss und die Ausprägung von Radiance Scaling auf das 3D-Modell hängen von der Einstellung der Parameter dieser Funktion ab. Da sie im Original bei einer ungünstigen Wahl der Parameter Fehler produziert hat, wurde eine vereinfachte Gleichung entwickelt. Diese kann sehr ähnliche Bilder erzeugen, ist aber auch in der Lage, die Unebenheiten wesentlich stärker sichtbar zu machen. Anknüpfend an diese Arbeit könnten Shader implementiert werden, welche den Aspekt des non-photorealistic Renderings aufgreifen, um unsichere 3D-Daten adäquat zu visualisieren. Es wäre auch denkbar, den Arbeitsbereich zu wechseln und Shader f¨ur CAD-Anwendungen zu entwickeln. Für Entwickler wäre eine Bibliothek mit unterschiedlichen Shadern nützlich, für eine einfache Verwendung wäre es hilfreich, wenn die Shader in Form von Knoten manifestiert wären.
;
The need for good visual concepts of cultural heritage has been demonstrated in the project V-Must [V-Must2011]. This topic has been previously outlined in the paper, [Michaelis et al.2012] and the new focus for this thesis is set on creating appropriate shaders based on visual observation. The Framework X3DOM (based on WebGL) is used to present declarative 3D-Content online in a Browser. JavaScript, JQuery and JQueryMobiel enable good GUI's and easy manipulation of 3D-Content. Radiance Scaling [Vergne et al.2010b] enhances "features" such as tiny engravings on a 3D-surface. This procedimiento extracts the curvature information from the geometry and adjusts incoming light. It can be perfectly combined with other rendering techniques such as BRDF's or normal mapping. Radiance Scaling has been adapted to the declarative X3DOM approach and analyzed with different methods of calculating curvature information. Unfortunately with a bad choice of parameters it can create graphical errors. Normal mapping facilitates a reduction of vertices and almost no loss of optical detail. With regards to the internet and mobile devices, it is important to keep the model size as small as possible. In order to calculate curvature values, it is assumed that nearby normal vectors on the surface are compared. Therefore a multipassrendering approach is used which writes the normal vectors into a so-called RenderedTexture. In the Fragment Shader these values are read with exactly 1px offset. Two approaches have been analyzed to capture the curvature information: one uses texture coordinates and the other works in the eye space. The first approach involves a vast number of requirements on the model such as the restriction to be static and to provide appropriate texture coordinates, but has the advantage of better performance. The second approach is based on the fundamental paper, it is universal usable and therefore in many cases preferable. A third idea, not implemented is to pre compute the curvature information and save them with the vertices in the 3D-model. The Scaling Function manipulates the reflection's intensity of a fragment based on the provided curvature information. The influence and characteristic of radiance scaling on the model depends on the choice of parameters within this function. With a badly chosen parameters, the original function produced errors. Therefore a new simplified equation has been found, which can produce similar results as the original but it is also possible to enhance surface features much stronger. Especially historians and restaurateurs benefit from the use of a GUI with sliders to manipulate these parameters when analyzing and exploring cultural heritage objects. In order to visualize unconfident objects, additional shaders such as for non-photorealistic rendering could be implemented in future. It would also be possible to switch the domain and compose shaders for CAD applications. However for developers it would be useful to createa library of different shaders. To provide easy usage it would be perfect to manifest the shaders in nodes.
ThesisNote
Fulda, Hochschule, Bachelor Thesis, 2012
Advisor
Verlagsort
Fulda