Report: DirectX, die Siebte

T & L-Setup

Die zweite Kategorie der Neuerungen von DirectX 7 betrifft das Abschieben von Geometrie- und Beleuchtungsberechnungen ("transformation & lighting") auf die Grafikhardware. Im Moment ist die Arbeitsteilung eine recht einseitige Sache: Objekte werden über Polygone (exakter: Dreiecke) definiert, bei Bewegungen, wie beispielsweise Drehungen, muss die CPU die Positionen dieser Eckpunkte entsprechend neu berechnen und braucht dazu eine Menge Trigonometrie. Richtig aufwändig wird es allerdings erst, wenn es um die unvermeidliche Beleuchtung geht. Auch wenn man sich hier mit einigen "billigen" Tricks wie Gouraud- anstelle von Phong-Shading behelfen kann, sind pro Eckpunkt und Beleuchtungsquelle minimal 1,3 Matrizenmultiplikationen für Normalvektoren fällig. Nachdem die CPU diese Berechnungen sämtlich im Alleingang erledigt hat, übermittelt sie die Ergebnisse, Eckpunkte und Normalen, an den Grafikchip, dessen wesentlicher Beitrag aus dem perspektivisch korrekten Zeichnen von Texturen besteht: der Pixelschaufelei. Da dieser Prozess einschliesslich der Übermittlung für jeden Frame neu ausgeführt werden muss, sind aktuelle Grafikkarten erst mit einem Pentium II ab 350 MHz einigermaßen ausgelastet - und ohne grundlegende Veränderungen des Prinzips würde für die nächste Generation selbst ein Pentium III oder Athlon zum Flaschenhals.

Die für das Gouraud-Shading notwendigen Berechnungen kann bei DirectX 7 die Hardware übernehmen. Phong-Shading ist nach wie vor außerhalb der Möglichkeiten: Glanzlichter ("specular highlights") laufen auch hier noch über Schummeleien wie zusätzliche Bitmaps mit Beleuchtungsintensitäten ("light maps").