Wurde bisher im 3-dimensionalen Raum und und auf Vertex-Basis gearbeitet, so hat der Bildbetrachter jedoch nur einen 2-dimensionalen Monitor vor Augen. Daher wird die dargestellte Szene nun auf eine 2-dimensionale Ebene projiziert, die einzelnen Dreiecke von einem Raster abgetastet und in Pixeln abgespeichert. Hier findet der Übergang von der pro Vertex basierten Berechnung in die pro Pixel basierte Berechnung statt.
Nun kommen zum ersten Mal Texturen ins Spiel. Texturen sind heutzutage nicht mehr nur reine 2-dimensionale Bilder, wie es noch bis GeForce 2 Zeiten üblich war. Seitdem Shader eingeführt wurden, können Texturen auch andere Informationen enthalten, beispielsweise über die Materialbeschaffenheit. Diese Informationen ermöglichen den Shader dann bestimmte Effekte auf einzelne Pixel oder Vertices anzuwenden. In der Pipeline der neuen GeForce 7 Serie kann durch optimierte Algorithmen schneller rasterisiert werden, außerdem wurde der Texturzugriff beschleunigt.
Auf die einzelnen Pixel des texturierten Objektes werden nun Shader angewandt, die Pixel verändern oder bestimmten Effekten unterziehen, was wir im nächsten Punkt genauer beleuchten wollen. Auch Pixel Shader benötigen sehr viel Mathematik, vor allem MADD Operationen, sie profitieren daher erheblich von der Steigerung der Rechenpower der neuen GeForce 7800 GTX. Einzelne Shadereffekte können jetzt in 45% der Zeit berechnet werden, die der Shader noch auf einer GeForce 6 brauchte. Insgesamt stieg die Leistungsfähigkeit der Shader-Architektur von der sechsten auf die siebte GeForce-Generation um die Hälfte an.
Am Ende der Pipeline werden die finalen, durch die Shader berechneten Farbwerte in den Framebuffer geladen und das nächste Bild gerendert. Das Spiel beginnt von vorn.
Pixel Shader Model 3.0
Die heutige 3D-Computergrafik wäre ohne Shader gar nicht mehr vorstellbar. Shader sind kleine, programmierbare Einheiten der Rendering-Pipeline, die eine Vielzahl an Effekten berechnen können. Sie helfen ein realistisches Bild zu erzeugen und versuchen die wirkliche Welt möglichst gut zu simulieren. Mit ihnen werden zum Beispiel Lichtbrechungen, Spiegelungen oder plastische Oberflächen realisiert. Dabei wächst die Shader Model Spezifikation mit jeder Version an, ermöglicht mächtigere mathematische Methoden und bietet mehr Speicherplatz an. Folglich werden immer komplexere Effekte berechenbar und das Bild nähert sich immer weiter der realen Vorlage an. NVIDIA hat seit der GeForce 6-Reihe das Pixel Shader Modell in der Version 3.0 integriert. Was das genau für Effekte ermöglicht, wollen wir an folgenden Beispielen dem verdeutlichen:
High Dynamic Range Lighting & Radiosity Effekte
High Dynamic Range Lighting, kurz HDR, ermöglicht eine realistischere Bilddarstellung bei Szenen mit weitem Farbspektrum. Es wird dabei mehr Speicherplatz für Farben zur Verfügung gestellt, so dass diese genauer berechnet werden können. Typische Szene ist etwa Sonnenlicht, das durch ein Fenster in einen dunklen Raum einfällt. Dieses Licht wird jedoch nicht nur die Objekte im direkten Lichtkegel beleuchten, sondern die beleuchteten Oberflächen werden das Licht teilweise reflektieren und indirekt andere Punkte im Bild anstrahlen. Je nachdem, wieviel Lichtintensität so ein Objekt reflektiert, hat es eine starke oder schwache Reflexionseigenschaft, die Radiosity. Die Radiosity ist recht aufwändig zu berechnen, da die physikalischen Hintergründe extrem komplex sind. In der Realität gibt es auch Mehrfachreflektionen, reflektierte Strahlen werden vom nächsten Objekt wieder reflektiert usw. Wie sich HDR und Radiosity auf geenderte Bilder auswirken verdeutlichen folgende Far Cry-Screenshots:
Keine HDR/Radiosity-Berechnung
HDR und Radiosity Berechung nach Pixel Shader Model 3.0
Im ersten Bild haben wir den Lichtkegeleffekt, es kommt kein direktes Sonnenlicht durch den Spalt, es wird nichts reflektiert, der Raum bleibt weitestgehend dunkel. Erst durch die Berechnungen der Radiostity und HDR wirkt das Bild realistisch, denn auch nicht direkt angestrahlte Objekte werden beleuchtet.
Transparency Adaptive Supersampling
Transparency Adaptive Supersampling ist eine neue Antialiasing-Technik für besonders filigrane Strukturen wie etwa Zäune oder Ketten. Diese Objekte werden meist als große Polgone mit teilweise transparenten Texturen realisiert. Gewöhnliche Kantenglättung arbeitet aber nur an Rändern der Polygone und wirkt im Inneren nicht. Transparency Adaptive Supersampling nimmst nun weitere Texturmuster und untersucht sie auf kritische Strukturen. Diese werden sie markiert und geglättet, auch wenn sie nicht am Rand eines Polygons liegen. Sehen wir uns den Unterschied anhand von Screenshots an:
Normales Antialiasing
Transparency Adaptive Supersampling
Auf dem ersten Bild bilden sich bereits auf den Maschen im Vordergrund kleine Treppchen, dahinter haben wir nur noch "Maschenbrei". Das zweite Bild zeigt, wie es aussehen soll. Feine Maschen, geglättet, keine Fragmente.
SLI Multi-GPU Technologie
Auch die GeForce 7800 GTX wird wieder die Möglichkeit haben 2 Grafikkarten zu einem SLI-Verbund zusammenzustecken. Die beiden Karten teilen sich die Rechenarbeit und können so die Leistung theoretisch verdoppelt. Ob dies auch in der Praxis erreicht wird werden die Benchmarks zeigen. Wer mehr über die genaue Funktionsweise von SLI erfahren möchte, dem sei unser SLI-Artikel wärmstens ans Herz gelegt.
Diesen Artikel bookmarken oder senden an ...