Zusätzliche 3D-Features
Mit Larrabee und Multicore-CPUs will Intel die Grafik in Richtung Raytracing verändern. Wir haben in unseren Archiven gewühlt und herausgefunden, welche 3D-Techniken eigentlich vor zehn Jahren aktuell waren.
Zusätzliche 3D-Features
Neben den oben beschriebenen 3D-Effekten gibt es noch zusätzliche Fähigkeiten, die moderne Grafikkarten mittlerweile beherrschen bzw. beherrschen sollten:
Strips und Fans
Strips und Fans sind zwei neue Schlagworte im Bereich 3D-Karten. Viele Polygone bzw. Dreiecke teilen sich gemeinsame Kanten. 3D-Karten können diese Kanten zu einem Strip zusammenfassen, statt sie getrennt zu berechnen. So werden nur die neuen Punkte eines Polygonkörpers berechnet, die Kanten der dadurch entstehenden Dreiecke ergeben sich dann von selbst. Bei Fans werden auch Positionsdaten gemeinsam genutzt, nur geht es hier um zusammenfallende Punkte von mehreren Dreiecken. Diese Techniken sparen natürlich enorm Rechenzeit ein. Die Unterstützung von Strips und Fans ist in DirectX 6, OpenGL und Glide 3 implementiert.
Anisotropes Filtern
Durch das starke Filtern wirken Texturen schnell verschwommen. Besonders fällt dies in einem langen Gang auf. Die Wandtexturen müßten horizontal eigentlich viel stärker gefiltert werden als in vertikaler Richtung. Die meisten 3D-Karten wenden in diesem Fall einfach den stärkeren Faktor auf beide Achsen an, deshalb wirken einige Flächen unschärfer als eigentlich gewünscht. Als Gegenmaßnahme bietet sich das sehr rechenintensive und wenig verbreitete anisotrope Filtering an. Anisotrop bedeutet ungleichmäßig, was die Wirkung dieses Filters auch sehr gut beschreibt. Er filtert entlang der X-und Y-Achse unterschiedlich stark. Dies führt zu einer nach heutigen Maßstäben perfekten Oberfläche.
Multi-Texturing
Eine Neuerung im Zusammenhang mit Texturen ist das sogenannte Multi-Texturing. Hierbei werden auf ein Polygon statt nur einer Textur gleich mehrere plaziert. Dies kann dazu genutzt werden, um den Detailreichtum zu erhöhen. Unreal verwendet beispielsweise vier Texturen für ein Objekt: eine "normale", eine Detail-, eine Licht- und zusätzlich noch eine Textur für volumetrisches Licht oder Nebel. Dass so etwas sehr zu Lasten der Performance geht, dürfte jedem klar sein. Es gibt aber mittlerweile schon 3D-Karten mit einem zweiten Texturprozessor, die dem Geschwindigkeitverlust entgegenwirken. Das Spiel muß die zusätzliche Textureinheit aber explizit ansprechen. Deshalb gibt es für Unreal beispielswese einen speziellen Multi-Texturing-Patch. 02 OpenGL und SiN können von vornherein eine eventuell vorhandene zweite Textureinheit zurückgreifen, da OpenGL schon recht früh diese Technik integriert hat.
Texturenkompression
Bei der Texturkompression von DirectX 6, die Microsoft von S3 lizenziert hat, ist es dem Programmierer möglich, die Texturen schon gepackt im Spiel abzulegen. Auf diese Weise liegt nur die komprimierte Version im Hauptspeicher und benötigt weniger Bandbreite beim Transport ins RAM der 3D-Karte. Da sie dort auch nur bei Bedarf entpackt wird, passen entsprechend mehr Texturen in den Speicher.
Quelle: Epic
Unreal setzt neue Höchstmarken, was das Bepflastern von Polygonen mit Texturen angeht. Die dadurch entstehenden Anforderungen an die Grafikkarte lassen so manchen Grafik-Chip ins Schwitzen kommen.
