Features und Änderungen
Im Bereich der Architektur bzw. des generellen Aufbaus der GPU hat sich, wie bereits auf der vorherigen Seiten erwähnt, nichts geändert. Im Bereich der Ausstattung hat sich aber noch eine neue Bezeichnung eingeschlichen: Fetch4. Das Feature Parallax Occlusion Mapping dagegen ist nicht neu, kann aber erst jetzt durch die gesteigerte Shader-Leistung sinnvoll eingesetzt werden - mehr dazu jedoch in den folgenden Abschnitten. Darüber hinaus möchte ATi verstärkt "unnötige Berechnungen" eliminieren und hat daher die Hierarchical Z-Funktionalität ein wenig aufpoliert.
Dies äußert sich in der Erhöhung der Kapazität des Hierarchical Z-Speichers um ca. 50 Prozent - konkrete Zahlen will ATi an dieser Stelle nicht preisgeben. Zur Erinnerung: Hierarchical Z ist für die Erkennung von Pixeln zuständig, die in der finalen Bilddarstellung nicht zu sehen sind und daher von etwaigen Pixel-Shader-Operationen ausgenommen werden können - daraus resultiert eine Absenkung der Rechenlast und eine effizientere Nutzung von Resourcen. Dies erfordert schnellen Speicher (Cache), dessen Volumen bei immer größer werdenden Auflösungen logischerweise auch proportional wachsen muss. Hier geht ATi ähnlich wie bei der Erhöhung der Shader-Prozessoren mit großen Schritten in Richtung Zukunft.
Eine mit der Radeon X1900 eingeführte Funktion soll fortan das Rendering von Schatten-Darstellungen deutlich beschleunigen - Fetch4. Zur Theorie der "Shadow Maps": Um dynamische Schatten ermöglichen zu können, werden vor dem finalen Rendering und der anschließenden Darstellung so genannte "Shadow Maps" erstellt. Hierzu wird die anstehende Szene aus der Sicht der Lichtquelle (Point-of-View) gerendert, jedoch nicht dargestellt und zudem die Position des Gegenstandes, der der Lichtquelle am nächsten liegt, gespeichert. Die auf diese Art erstellte Shadow Map wird nun mit dem herkömmlichen Renderingvorgang abgeglichen und alle Überschneidungen zwischen der gewünschten Szene und der Shadow Map als Schatten dargestellt.
Nun erhält man zwar eine exakte Darstellung des korrekten Schattens der jeweiligen Szene, jedoch mit sehr scharfen Kanten. Da Schatten in der Realität jedoch eher weiche Kanten haben, wird ein anschließendes Filtern der Shadow Map und der Einsatz von Pixel-Shader-Operationen nötig. Mit Hilfe von Dynamic Branching wird zudem noch ermittelt, ob der zu rendernde Pixel innerhalb bzw. außerhalb des Schattens oder in der Nähe der Kante liegt. Je nachdem steigt der Rechenaufwand: Pixel innerhalb des Schattens werden mit einem Texture Sample verarbeitet, Kanten-Pixel jedoch mit deutlich mehr Samples. Je mehr Samples, desto höher ist die Qualität, aber auch der Rechenaufwand.
Eine übliche Darstellung eines Pixels in einer herkömmlichen "Color Texture" besteht aus vier Komponenten (Rot, Grün, Blau und Alpha), eine Shadow Map ("Depth Texture") begnügt sich hingegen mit Pixeln, die nur über eine Alpha-Komponente verfügen, da der Schatten in der Shadow Map keine Farbe bekommt. Hier kommt nun Fetch4 zum Einsatz: Shadow Maps lassen sich mit der Radeon X1900 Serie deutlich schneller berechnen, da die maximale Anzahl von vier Operationen pro Takt nun auch auf vier einwertige Komponenten (4 Pixel nur mit Alpha-Wert) angewendet werden kann. Demzufolge lassen sich Shadow Maps mit dem 4-fachen der bisherigen Geschwindigkeit abarbeiten.
Auf das oben erwähnte Parallax Occlusion Mapping wollen wir an dieser Stelle hinsichtlich der Theorie zwar nicht näher eingehen, aber die Radeon X1900 profitiert hier besonders von ihrer extremen Shader-Power und kann das ALU-lastige Mapping in akzeptabler Geschwindigkeit durchführen. Dieser Effekt lässt sich an den unten gezeigten Abbildungen sehr schön erkennen.
Autor: Patrick von Brunn