Wissen: DirectX-10-Effekte mit aktuellen Grafikkarten
Windows Vista, Direct3D 10 und die passenden Grafikkarten stehen seit mehr als einem Jahr im Regal. Wird es mithilfe der neuen Techniken eine Evolution oder eine Revolution in der PC-Spielegrafik geben?
Windows Vista ist nun mehr als ein Jahr auf dem Markt und mit dem Release des nächsten Microsoft-Betriebssystems rückte auch der Wechsel auf die modernste Grafikschnittstelle näher. DirectX 10 kommt erstmals in der Geschichte der Microsoft-API ohne Abwärtskompatibilität aus. Worauf Sie sich in D3D10 unterstützenden Spielen vermutlich freuen können und was wohl zunächst eher Tech-Demos vorbehalten bleibt, beleuchtet PCGH.de im folgenden Artikel.
Direct3D-10-Effekte gibt es überhaupt nicht!
Die wohl meistgestellte Frage, nämlich die nach den neuen Effekten, die durch D3D10 möglich werden, müssen wir direkt mit einer niederschmetternden Antwort versehen: Es gibt keine neuen Effekte durch D3D10. Prinzipiell ist alles, was D3D10 kann, auch mit D3D9 möglich. Allerdings werden einige Techniken durch D3D10 erstmals sinnvoll einsetzbar, sodass ihre Verbreitung in Spielen wohl weiter zunehmen wird.
Auf zu neuen Ufern
Den Vorteil von DirectX 10, über ein einheitliches und verpflichtendes Feature-Set zu verfügen, haben wir bereits thematisiert. So werden Entwickler, besonders, wenn sie ihre bereits bestehenden Spiele an D3D10 anpassen und Patches herausbringen, nicht an eine riesige, sogenannte "Installed User Base" gebunden sein, auf die man auch noch Rücksicht nehmen muss. Normalerweise legt der Publisher eines Spiels aufgrund von Marktstudien fest, bis zu welcher Hardware hinab die Einstellungen skalierbar bleiben müssen. Bei D3D10 entfällt dieser Punkt und zudem gab es anfangs lediglich High-End-Hardware geben, die D3D10 unterstützt. Ein wenig Augenschmaus können Sie also voraussetzen.
Die neue 3D-Pipeline
Die altbekannte Aufteilung der Render-Pipeline wird ebenfalls aufgebrochen. Durchläuft ein Pixel diese bislang auf einer relativ fest vorgegebenen Bahn - ähnlich einer echten "Pipeline" -, wird es bei D3D10 zu deutlich mehr Kreisläufen innerhalb der GPU kommen. Weitaus mehr Einheiten werden Lese- und Schreibzugriff auf den Pixelspeicher haben, sodass eine größere Flexibilität bei der Verwendung der Daten ermöglicht wird. Neu ist auch der Verzicht auf viele "Fixed-Function"-Einheiten und beschränkte Rechengenauigkeit wie FP16 und FP24.
Der Geometry-Shader
Eine der wichtigsten Neuerungen ist sicherlich der Geometry-Shader. Im Gegensatz zum Vertex-Shader, der Eckpunkte verformt, kann diese Shader-Stufe zusätzliche Geometrie direkt auf dem Grafikchip erzeugen und diese dann als Eingabe-Werte dem Vertex-Shader zurückliefern (Stream-out).
Damit sind im Prinzip vielfältige Techniken möglich. Von Displacement-Mapping über Volumenschatten bis hin zu geometrischem Level-of-Detail lassen sich diese Techniken, die vorher auf die Mithilfe der CPU angewiesen waren, jetzt direkt auf der Grafikkarte realisieren. Allerdings warnten die Developer-Relations-Abteilungen von Ati und Nvidia bereits die Entwickler, der ersten Geometry-Shader-Generation noch nicht zu viel Last aufzubürden. Zum einen verfügt man noch nicht über viel Erfahrung mit dem Load-Balancing und zum anderen soll die neue Shader-Stufe noch nicht allzu leistungsfähig ausfallen - man wollte die nötigen Transistoren eher in eine höhere Pixelleistung investieren.
Mehr HDR-Rendering
Um vor allem dem exponenziell steigenden Bandbreitenbedarf bei Verwendung von HDR-Rendering zu begegnen, gibt es neben der Möglichkeit zur Kompression auch neue Pflichtformate, die speziell für den Einsatz bei HDR-Rendering optimiert wurden. R9G9B9E5_Sharedexp und R11G11B10_Float bieten als Texturformate einen sehr hohen Dynamikumfang. Besonders das erste Format dürfte interessant sein, da es mit 32 Integer-Bit auskommt.
