PCGH_Carsten
Ex-Redakteur
Windows Vista wirft seine Schatten voraus [edit: Natürlich ist es mittlerweile da] und mit dem nahenden Release des nächsten Microsoft-Betriebssystems rückt auch der Wechsel auf die modernste Grafikschnittstelle näher. Direct3D 10 kommt erstmals in der Geschichte der Microsoft-API ohne Abwärtskompatibilität aus. Worauf Sie sich in den kommenden, D3D10 unterstützenden Spielen vermutlich freuen können und was wohl zunächst eher Tech-Demos vorbehalten bleibt, beleuchtet PCGH im folgenden Artikel.
Inhalt:
>>Direct3D-10-Effekte gibt es überhaupt nicht!
>> Auf zu neuen Ufern
>> Die neue 3D-Pipeline
>> Der Geometry-Shader
>> Mehr HDR-Rendering
>> Mehr Physik
>> Mehr Schatten
>> Mehr Umgebungsreflexionen
>> Mehr unterschiedliche Objekte
>> Mehr Kantenglättung
>> Fazit: D3D10 in Spielen
>> 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 zunehmen wird.
>> Auf zu neuen Ufern
Den Vorteil von Direct3D 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 wird es anfangs bis auf Intels G965 (vorbehaltlich passender Treiber) 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 warnen 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, wird es neben der Möglichkeit zur Kompression auch neue Pflichtformate geben, 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.
>> Mehr Physik
Die gesamte Struktur und der vereinheitlichte Befehlsumfang von D3D10 eignen sich dank der Annäherung an CPU-Programmierbarkeit auch sehr gut für Physikberechnungen. Daher stammen vermutlich auch Gerüchte, Next-Gen-GPUs hätten einen Physikprozessor integriert. Vielmehr können sie jedoch die vorhandenen Recheneinheiten für diese Art von Berechnungen viel besser nutzen, als es mit den bisher üblichen D3D9-GPUs möglich ist.
>> Mehr Schatten
Dank der Fähigkeit des Geometry-Shaders, zusätzliche Geometrie zu erzeugen, kann die sogenannte Shadow-Volume-Extrusion, die bisher der CPU oblag, nun direkt in der GPU erfolgen. Volumenschatten, wie sie zum Beispiel bei Doom 3 oder Prey zum Einsatz kommen, wären damit mit einer höheren Anzahl an Lichtquellen realisierbar, ohne die CPU über Gebühr zu belasten. Auch die Entscheidung, nun endlich die Filterung von Shadow-Maps als Pflichtmerkmal vorzuschreiben, dürfte der Konzentration auf eine Art von Schattenberechnung Vorschub leisten. Bislang gab es keinen Königsweg für Shadow-Mapping, da die Filterung von Tiefentexturen (Shadow-Maps) bei Nvidia die Textureinheit übernahm, während bei Ati der Pixel-Shader dafür herhalten musste.
>> Mehr Umgebungsreflexionen
Geometry-Shader und Stream-out können Cube-Mapping, bei dem die Umgebungsspiegelung von der Innenseite eines Würfels aus gerendert wird, deutlich beschleunigen. Anstelle von bis zu sechs Durchgängen (einer für jede Seite des Würfels) kann nun der Geometry-Shader per Stream-out alle sechs Seiten direkt aufbereiten.
>> Mehr unterschiedliche Objekte
Geringerer Kommando-Overhead beim Transfer von Geometrie- und Objektdaten sowie wieder einmal der Geometry-Shader sorgen in Zukunft dafür, dass die Spielwelten nicht mehr eckig und gleichförmig, sondern realistisch und abwechslungsreich aussehen können. Die CPU kann mit der gleichen Leistung nun deutlich mehr Objekte auf die Reise schicken und die Grafikkarte kann dank Displacement-Mapping diesen Objekten einen individuellen Look verleihen. So ist vorstellbar, dass es im ganzen Spiel nur ein Modell für Humanoide gibt und der Geometry-Shader per Displacement-Map daraus Männlein, Weiblein, schmächtige und füllige Menschen und auch humanoide Aliens erzeugt.
>> Mehr Kantenglättung
Da nun innerhalb eines Pixel-Shaders auch auf die einzelnen Sub-Samples beim Multisampling zugegriffen werden kann, ist es mit D3D10 möglich, auch das für komplexe Beleuchtung nützliche, sogenannte Deferred Shading mit Kantenglättung zu kombinieren.
>> Fazit: D3D10 in Spielen
Durch Verzicht auf Abwärtskompatibilität, eine leistungsfähige Hardware von Anfang an und die freie Programmierbarkeit von Direct3D 10 werden Sie in zukünftigen Spielen zwar nicht viel Neues, aber von Bekanntem deutlich mehr sehen können dank der neuen Techniken, welche die API ermöglicht.
Inhalt:
>>Direct3D-10-Effekte gibt es überhaupt nicht!
>> Auf zu neuen Ufern
>> Die neue 3D-Pipeline
>> Der Geometry-Shader
>> Mehr HDR-Rendering
>> Mehr Physik
>> Mehr Schatten
>> Mehr Umgebungsreflexionen
>> Mehr unterschiedliche Objekte
>> Mehr Kantenglättung
>> Fazit: D3D10 in Spielen
>> 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 zunehmen wird.
>> Auf zu neuen Ufern
Den Vorteil von Direct3D 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 wird es anfangs bis auf Intels G965 (vorbehaltlich passender Treiber) 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 warnen 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, wird es neben der Möglichkeit zur Kompression auch neue Pflichtformate geben, 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.
>> Mehr Physik
Die gesamte Struktur und der vereinheitlichte Befehlsumfang von D3D10 eignen sich dank der Annäherung an CPU-Programmierbarkeit auch sehr gut für Physikberechnungen. Daher stammen vermutlich auch Gerüchte, Next-Gen-GPUs hätten einen Physikprozessor integriert. Vielmehr können sie jedoch die vorhandenen Recheneinheiten für diese Art von Berechnungen viel besser nutzen, als es mit den bisher üblichen D3D9-GPUs möglich ist.
>> Mehr Schatten
Dank der Fähigkeit des Geometry-Shaders, zusätzliche Geometrie zu erzeugen, kann die sogenannte Shadow-Volume-Extrusion, die bisher der CPU oblag, nun direkt in der GPU erfolgen. Volumenschatten, wie sie zum Beispiel bei Doom 3 oder Prey zum Einsatz kommen, wären damit mit einer höheren Anzahl an Lichtquellen realisierbar, ohne die CPU über Gebühr zu belasten. Auch die Entscheidung, nun endlich die Filterung von Shadow-Maps als Pflichtmerkmal vorzuschreiben, dürfte der Konzentration auf eine Art von Schattenberechnung Vorschub leisten. Bislang gab es keinen Königsweg für Shadow-Mapping, da die Filterung von Tiefentexturen (Shadow-Maps) bei Nvidia die Textureinheit übernahm, während bei Ati der Pixel-Shader dafür herhalten musste.
>> Mehr Umgebungsreflexionen
Geometry-Shader und Stream-out können Cube-Mapping, bei dem die Umgebungsspiegelung von der Innenseite eines Würfels aus gerendert wird, deutlich beschleunigen. Anstelle von bis zu sechs Durchgängen (einer für jede Seite des Würfels) kann nun der Geometry-Shader per Stream-out alle sechs Seiten direkt aufbereiten.
>> Mehr unterschiedliche Objekte
Geringerer Kommando-Overhead beim Transfer von Geometrie- und Objektdaten sowie wieder einmal der Geometry-Shader sorgen in Zukunft dafür, dass die Spielwelten nicht mehr eckig und gleichförmig, sondern realistisch und abwechslungsreich aussehen können. Die CPU kann mit der gleichen Leistung nun deutlich mehr Objekte auf die Reise schicken und die Grafikkarte kann dank Displacement-Mapping diesen Objekten einen individuellen Look verleihen. So ist vorstellbar, dass es im ganzen Spiel nur ein Modell für Humanoide gibt und der Geometry-Shader per Displacement-Map daraus Männlein, Weiblein, schmächtige und füllige Menschen und auch humanoide Aliens erzeugt.
>> Mehr Kantenglättung
Da nun innerhalb eines Pixel-Shaders auch auf die einzelnen Sub-Samples beim Multisampling zugegriffen werden kann, ist es mit D3D10 möglich, auch das für komplexe Beleuchtung nützliche, sogenannte Deferred Shading mit Kantenglättung zu kombinieren.
>> Fazit: D3D10 in Spielen
Durch Verzicht auf Abwärtskompatibilität, eine leistungsfähige Hardware von Anfang an und die freie Programmierbarkeit von Direct3D 10 werden Sie in zukünftigen Spielen zwar nicht viel Neues, aber von Bekanntem deutlich mehr sehen können dank der neuen Techniken, welche die API ermöglicht.
Anhänge
Zuletzt bearbeitet: