[dt.
»Wiedergabe«, »Gestaltung«]
Die realitätsnahe
Gestaltung dreidimensionaler Objekte durch Farb-
und Lichteffekte. Das Verfahren wird beispielsweise
in Grafik- und CAD-Programmen angewandt und basiert
auf mathematischen Methoden.
Ausgehend von einem
Drahtmodell werden auf dem Weg zu einer fotorealistischen
Darstellung verschiedene Maßnahmen durchgeführt:
Hidden Line Removal
(dt. »Entfernung versteckter Linien«),
Hidden Surface Removal (dt. »Entfernung versteckter
Flächen«): Vom Drahtmodell werden all
die Linien bzw. Flächen entfernt, die sich
auf der vom Betrachter abgewandten Seite befinden.
Dadurch werden die Systemressourcen entlastet,
da das Aussehen der unsichtbaren Bereiche nicht
aufwendig berechnet werden muss.
Shading (dt. »Schattierung«):
An einer beliebigen Stelle in der Umgebung des
Objekts wird eine (gedachte) Lichtquelle positioniert,
die das Objekt »beleuchtet«. Nun wird
für jeden Punkt des Objekts der Einstrahlwinkel
des Lichts berechnet. Bekanntlich erscheint eine
Fläche umso dunkler, je flacher das Licht
auf die Fläche trifft. Entsprechend dem berechneten
Winkel wird nun jeder Stelle des Objekts eine bestimmte
Helligkeit zugeordnet, sodass die Schattierung
den Eindruck eines realen plastischen Objekts hervorruft.
Texture Mapping (dt.
»Texturabbildung«): Die Oberfläche
des Objekts wird mit einem Muster (einer Textur) überzogen;
die Geometrien der Textur werden dabei für jede
Stelle so berechnet, dass sich das Muster an die
Krümmung der Oberfläche »anschmiegt«,
d.h., dass jeweils die Perspektive berücksichtigt
wird, unter welcher der Betrachter das Muster sieht.
Reflexionen auf der Oberfläche eines glänzenden
Objekts werden auf ähnliche Weise durch sog.
Reflection Mapping erzeugt. Ergänzend kann durch
Bump Mapping eine raue oder unebene Oberfläche
simuliert werden.
Beispiele für Rendering-Programme
sind das sehr umfangreiche Programm 3D Studio Max
der Firma Kinetix, die Programme Reflections von
Oberland und Realsoft 3D (frühere Versionen
hießen Real 3D) der Firma Realsoft, das Programm
Cinema 4D XL von Maxon sowie das relativ einfache
Ray Dream Studio von MetaCreations.
Neben Standbildern können
mit diesen Programmen auch Animationen erstellt
werden.
Wesentlich höhere
Ansprüche werden an das System gestellt, wenn
bewegte Bilder in Echtzeit gerendert werden sollen,
wie dies v.a. bei Spielen gefordert wird. Im Vergleich
zu Standbildern oder Animationen, die aufgezeichnet
und erst später betrachtet werden sollen,
müssen hier gewisse Abstriche bezüglich
der Qualität der entstehenden Bilder gemacht
werden.
Bei den heutigen Verfahren
zum 3D-Rendering wird der Ablauf zwischen Prozessor
und 3D-Grafikkarte aufgeteilt. Diese Aufteilung
zwischen Prozessor und 3D-Chip ist genau definiert
und wird als 3D-Pipeline bezeichnet.
Die 3D-Pipeline
gliedert sich in drei Stufen:
Zunächst wird das
darzustellende Objekt durch Tessellation (dt.
»Kachelung«, »Parkettierung«)
in eine Vielzahl von Polygonen zerlegt, die durch
die Koordinaten ihrer Eckpunkte beschrieben werden.
Für die Eckpunkte werden zusätzlich Farbwerte
und eventuell Transparenzwerte (Alphakanal) und weitere
Oberflächeneigenschaften festgelegt. Diese Berechnungen
werden vom Prozessor ausgeführt. Um befriedigende
Resultate zu erzielen, ist daher ein Prozessor mit
hoher Floatingpoint-Leistung (Gleitkomma) vonnöten.
Im zweiten Schritt,
der geometrischen Transformation, wird die Ausrichtung
des Objekts relativ zum Betrachter festgelegt,
Art und Richtung der Lichtquelle werden definiert
und die Beleuchtung des Objekts wird berechnet.
Schließlich wird geprüft, welche Flächen
des Objekts tatsächlich vom Betrachter aus
sichtbar sind, alle verdeckten Bereiche werden
nun weggelassen. Während diese Phase früher
vollständig von der CPU ausgeführt wurde,
gibt es heute leistungsfähige 3D-Chips, die
in der Lage sind, Geometrieberechnungen durchzuführen,
und diesen Schritt daher komplett
übernehmen können. Man spricht dann auch
von »Transform and Lightning«.
An dritter Stelle steht
nun das eigentliche Rendering, das wie oben beschrieben
durchgeführt wird und komplett von der 3D-Karte übernommen
wird. Das fertig gerenderte Bild gelangt in den
Frame Buffer, der in Back Buffer und Front Buffer
unterteilt ist. Hier wird das Bild zunächst
im Back Buffer aufgebaut und wird dann in den Front-Buffer
(Double Buffering) verschoben, um am Bildschirm
dargestellt werden zu können.
Ein dem Rendering
ähnliches Verfahren ist das Raytracing, bei
dem jedoch kein Drahtmodell zugrunde gelegt wird.
Das Objekt wird hier berechnet, indem der Verlauf
eines Lichtstrahls vom Objekt zum Beobachter verfolgt
wird, d.h., es werden Reflexion, Absorption, Brechung
und Schattenwurf simuliert. Auf diese Weise wird
ein Eindruck von Dreidimensionalität hervorgerufen. |