Multitexturing
An den bizarren Wortschöpfungen in der Computerindustrie ist auch der 3D-Sektor nicht ganz unschuldig. Mesh hier, Shader da: Verrückte Begriffe werden Ihnen eigentlich dauernd an den Kopf geworfen. Wer blickt da noch durch? Wir helfen weiter, den Begriffsdschungel zu durchdringen.
Multitexturing
Beim Multitexturing wird pro Dreieck mehr als eine Texturschicht aufgetragen.
In einem modernen Spiel ist jedes Dreieck mit mindestens zwei Texturschichten überzogen. Die Basistextur bestimmt den Grundbelag (beispielsweise Asphalt oder eine Wandmalerei), darüber werden Spezialtexturen gelegt (Textur mit zusätzlichen Details, Struktur-Textur, Beleuchtungstexturen). Sobald mehr als eine Textur über ein Dreieck gezogen wird, spricht man von Multitexturing (multi = viele). Grundsätzlich beherrscht jeder Beschleunigerchip Multitexturing, d.h. jeder 3D-Chip kann mehrere Texturen pro Dreieck verarbeiten. Manche Bausteine können dies jedoch schneller als andere. Vor allem ältere 3D-Boliden benötigen für Multitexturing mehrere Taktzyklen (Cycles) und Speicherzugriffe (Passes), beides kostet Leistung. Ein GeForce-256-Chip muss bei einem Dreieck mit zwei Texturen zwei Mal auf den Bildspeicher zugreifen und zwei Taktzyklen opfern. Besitzt ein Chip jedoch mehrere Textureinheiten (TMU, Texture Managment Unit), so kann er im selben Taktzyklus mit mehreren Texturen umgehen. Experten nennen dies Single Cycle Single Pass Multitexturing. Ein Chip der GeForce2-Serie (MX, GTS/Pro, Ultra) schafft zwei Texturen pro Taktschlag, ein Radeon gar deren drei. Der neue GeForce3 kann bis zu vier Texturen ohne Zugriff auf den Bildspeicher auftragen (Single Pass), benötigt dafür aber zwei Taktzyklen.
Rendering
Das Rendering ist der rechenintensivste Teil der 3D-Pipeline. Der 3D-Grafikchip berechnet in diesem Schritt die Farbe eines jeden Pixel individuell. Dazu gehört das Shading, das Texturing und das Hidden Surface Removal. Die Funktionen sind grundsätzlich bei allen Grafikkarten in Hardware integriert. Doch bezüglich Funktionalität gibt es weiterhin Unterschiede. Nicht alle 3D-Controller beherrschen das ganze Rendering-Repertoire. Je nach Hersteller fehlen Funktionen wie umgebungsabgängiges Bump Mapping, 3D Texturing oder Cube Environment Mapping.
Shadow Mapping
Shadow Maps erlauben die korrekte Schattenerzeugung in Hardware.
Meist nutzen Spiele lediglich vorberechnete Schatten, die nicht dynamisch auf das Geschehen reagieren. Mittels Shadow Mapping können in Echtzeit realistische Schattenwürfe berechnet werden. Für die Grafikkarte bedeutet dieser Effekt Mehrarbeit, da die ganze Spieleszene zusätzlich zur Spielersicht noch aus der Sicht einer jeden Lichtquelle berechnet werden muss. Eine Shadow Map ist eine spezielle, in Echtzeit erzeugte Textur, welche eine die Sicht aus dem Blickwinkel der Lichtquelle enthält. Andere Schatten-Verfahren (beispielsweise volumetrische Echtzeitschatten) erzeugen einen ähnlichen Effekt, arbeiten jedoch mit zusätzlichen Dreiecken. Das Shadow-Mapping-Verfahren ist ähnlich aufwendig, funktioniert aber auch dann sehr gut, wenn das Objekt auf sich selbst einen Schatten werfen soll.
Shader
Dank Shader kann der Programmierer individuelle Anpassungen am Beleuchtungsmodell seines Spiels vornehmen.
Pixel- und Vertex Shader sind die neuen Modewörter im 3D-Marketing-Jargon. Bei beiden handelt es sich um programmierbare Hardware-Einheiten in DirectX-8-kompatiblen Grafikprozessoren. Passende Shader-Programme enthalten Befehle, die in diesen Hardware-Einheiten ausgeführt werden können. Vertex-Shader-Programme beinhalten Berechnungsanweisungen für Dreieckseckpunkte. Der Spieleprogrammierer kann dabei beispielsweise eigene Beleuchtungsvorschriften erzeugen und auf der Grafikkarte hardwarebeschleunigt berechnen lassen. Er muss sich dabei nicht an die fest eingebrannten Funktionen der T&L-Einheit halten.
Pixel-Shader-Programme liefern der Grafikkarte die pixelgenauen Anweisungen zum Vermischen der verschiedenen Texturschichten. Auch einfache Rechnungen (Skalarprodukt) können vom 3D-Grafikchip übernommen und für Struktureffekte eingesetzt werden, die dynamisch auf die aktuelle Lichtsituation reagieren.
