Inhaltszusammenfassung:
In dieser Arbeit werden neue Verfahren und Architekturen zur Erzeugung und Darstellung
von Displacement-Maps vorgestellt. Das Displacement-Map Verfahren ist eine populäre
Technik zur Darstellung von Oberflächenstrukturen die in kommerziellen Programmpaketen
zur Bilderzeugung Verwendung findet. Bei diesem Verfahren wird die Erscheinung
eines sonst flachen Dreiecks durch Verschieben von Punkten der Oberfläche wie in einem
Höhenfeld vorgegeben modifizert, um den Eindruck einer fein strukturierten Oberfläche
zu erwecken. Obwohl es in Programmpaketen zur Bilderzeugung bereits breite Verwendung
gefunden hat, gab es lange Zeit keinerlei Beschleunigung durch dedizierte Hardwareentwicklungen,
hauptsächlich bedingt durch die Komplexität der notwendigen Berechnungen.
Das Hauptaugenmerk dieser Arbeit ruht auf adaptiven Verfahren, besonders der
adaptiven Triangulierung von Dreiecksnetzen, um die Darstellungsgeschwindigkeit zu erhöhen
und die notwendige Bandbreite zu reduzieren.
Nach einer genaueren Definition von Displacement-Maps werden Verfahren zu ihrer
Generierung aus unterschiedlichen Ausgangsdaten vorgestellt. Für die adaptiven Verfahren
sind ausgeklügelte Abtastverfahren nötig. Verschiedene Verfahren werden vorgestellt
und in Hinsicht auf Qualität und Komplexität einer Implementierung verglichen. Die vorgestellten
Verfahren reichen von lokalen Geometrietests, hin zu bildbasierten Verfahren,
wie beispielsweise Kantendetektion.
Erweiterungen für aktuell erhältliche Graphikprozessoren auf Basis von NVidia NV3X
oder ATI Radeon R3X0 zur adaptiven Triangulierung von Dreiecksnetzen werden vorgestellt,
die möglichst geringfügige Änderungen am bestehenden Aufbau benötigen.
Diese neueste Generation von kommerziell erhältlichen Graphikprozessoren erlaubt es,
eine Approximation von Displacement-Mapping mittels Strahlverfolgungsverfahren durchzuführen.
Es werden Beispielimplementierungen vorgestellt und mit anderen Ansätzen, die
auf der gleichen Zielarchitektur arbeiten, verglichen.
Abstract:
In this thesis, new algorithms and architectures are presented for the acquisition and
rendering of displacement maps. Displacement mapping is a popular rendering technique
commonly found in commercial rendering packages, it modifies the surface of an otherwise
flat triangle by displacing its points according to a height field, giving the impression of a
structured surface. Although widely used in software renderers for many years, hardware
accelerated rendering was long missing, because of the diculties involved. The main
focus of this work is on adaptively rendering techniques, especially adaptively tessellating
triangular meshes to improve rendering performance and reduce bandwidth requirements.
Following a general definition of displacement maps, possible sources of displacement
maps are presented and examples are given. To allow adaptive tessellation, sophisticated
sampling techniques are required, and multiple sampling strategies are described and
compared with respect to quality and ease of implementation. The presented strategies
range from locally defined geometry tests to image-based methods like edge-detection.
Possible modifications to available graphics hardware pipelines are discussed to enable
support for adaptive tessellation with as little modifications as possible.
With the latest generation of commodity graphics chips, it has become possible to
approximate displacement mapping by a variation of ray-casting. Sample implementations
are given and compared to other approaches, implemented on the same hardware platform.