Institut für Computervisualistik
Refine
Year of publication
- 2009 (2) (remove)
Document Type
- Diploma Thesis (2) (remove)
Keywords
- Shader (2) (remove)
Im Rahmen dieser Arbeit werden die Möglichkeiten und Grenzen des Geometry-Shaders in Bezug auf die Triangulierung von Freiformflächen untersucht. Dazu steht die Konzeption und Entwicklung eines Geometry-Shaders im Vordergrund, der Freiformflächen möglichst performant zur Laufzeit triangulieren kann. Hierzu werden NURBS-Datensätze eingelesen, trianguliert und dargestellt.
Die Idee des Displacement Mappings ist 30 Jahre alt und wurde im Laufe der Zeit immer weiterentwickelt, verbessert und realistischer. Die meisten Verfahren basieren auf der Simulation von Geometrie, d.h. das Displacement Mapping Verfahren rechnet auf speziellen Texturen, um den Eindruck von Tiefe zu verstärken. Echte Displacement Mapping Verfahren verändern tatsächlich die Geometrie, doch davon wurde in der Vergangenheit Abstand genommen, da die Berechnung auf der CPU zu aufwändig war bzw. das Ergebnis nicht den Aufwand rechtfertigte. Dazu mussten bisher die Punkte von der Applikation im geeigneten Detailgrad erzeugt werden. Die Verfahren der Geometrieerzeugung sind daher weniger performant. Außerdem können die texturbasierten Simulationsverfahren bereits blickwinkelabhängige Effekte, Selbstverschattung und auch Selbstverdeckungen darstellen. Als Nachteil sind die Randprobleme bei diesen Verfahren zu nennen. Dennoch hat Displacement Mapping mit diesen Verfahren zunehmend Einzug in die Spieleindustrie gehalten, für die es bisher zu rechenaufwändig war. Hier bieten die neusten Erweiterungen der GPU interessante Potentiale, da mit Geometry Shadern die Möglichkeit besteht, echte Geometry beschleunigt und adaptiv zu erzeugen. Ziel dieser Arbeit ist es verschiedene Verfahren für echtes Displacement Mapping mit dem Geometry Shader zu untersuchen. Dabei wird neue Geometrie aus einer Textur heraus erzeugt. Hierbei werden Polygone und Punkte generiert. In der Textur werden neben den Normalen noch die Höhenwerte im Alphawert gespeichert. Außerdem wird noch ein Verfahren untersucht, welches Volumeninformationen simuliert, um Überhänge und schwebende Objekte zu erzeugen.