# [PCGH] Wissen: Was sind DX10-Effekte?



## PCGH_Carsten (20. September 2007)

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. 




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        


*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.




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        





			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




*>> 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.




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




*>> 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.




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        




*>> 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.


----------



## _-=Dante=-_ (12. September 2008)

oha sehr kompakt zusammen gefasst das ganze, top danke....

Well done

greetz


----------



## Pasknalli (3. Oktober 2008)

ganz nüchtern Betrachtet ist DX 10 (und 10.1 lol) nichts anderes als ein Verkaufsargument für Vista und kommende MS Produkte weil DX 10 für XP einfach nicht adaptiert wird. Und wenn dann genug Gewinne eingefahren sind gibt es das nächste DX was nicht für das Bestehende OS adaptiert wird.


----------



## heartcell (3. Oktober 2008)

sehr interessant.
aber ich werd das eh nicht ausnutzen^^
der stand den ich jetzt hab reicht mir erst mal^^


----------



## dzeri (10. Januar 2009)

PCGH_Carsten schrieb:


> Es gibt keine neuen Effekte durch D3D10. Prinzipiell ist alles, was D3D10 kann, auch mit D3D9 möglich.



Z.B. der Regen-Effekt bei Stalker auch??
Den vermisse ich bei jedem neuem DX9.x/DX10(.1) Spiel 
Allein wegen dem Effekt habe ich Vista mit Stalker drauf


----------



## Bester_Nick (11. Januar 2009)

Der Regeneffekt bei Crysis Wars ist um einiges besser, aber selbst bei Timeshift (0815 Shooter) ist der Regeneffekt besser. Beides unter DX 9.


----------



## Razor264 (1. März 2009)

Cool. Danke für die sehr umfassende Erklärung. Konnte mir bisher nicht viel darunter vorstellen. Jetzt hab ich zumindest einen Eindruck davon


----------

