PCGH Wissen: Direct X 10.1 - Das sagen die Spieleentwickler
Was bringt Microsofts Direct X 10.1, welches mit dem Service Pack 1 für Windows Vista erscheint und bereits jetzt von der Radeon HD38x0-Reihe unterstützt wird? Wir geben einen Überblick und fragen Entwickler nach ihrer Meinung.
PCGH fragt nach: Unabhängige Entwicklerstimmen zu Direct X 10.1
Um die möglicherweise nicht ganz neutralen Sichtweisen Nvidias und TWIMTBP-Partners Crytek nicht unreflektiert stehen zu lassen, hat PC Games Hardware bei renommierten Entwicklern nachgefragt, wie ihre Einschätzung zu Direct X 10.1 lautet. Zu Wort kamen dabei Burkhard Ratheiser, Managing Director bei Anno1701-Entwickler Related Designs, Ralf Kornmann, Software-Engineer (Engine) bei den Spellforce-Machern EA Phenomic und Jakub Klarowicz, Main Engine Programmer bei dem unter anderem für AMD-Vorzeigetitel Call of Juarez bekannten polnischen Entwickler Techland.
Allen stellten wir folgende Frage:
Wie denkst Du als Entwickler über D3D 10.1? Wie kann man die API sinnvoll nutzen?
Optional konnten unsere Gesprächspartner auch noch folgende Frage beantworten:
Werdet Ihr einige der Funktionen von D3D 10.1 in euer nächstes Projekt integrieren oder die Funktionen für ein bereits entwickeltes Spiel per Patch nachreichen?
Die Antworten finden Sie unter den Bildern.
Quelle: Bild: PCGH
AMD Ping-Pong-Demo: Direct X 10.1 ermöglicht auch in schwierigen Fällen selektive Kantenglättung - hier ist sie noch deaktiviert (Bild: PCGH)
Quelle: Bild: PCGH
AMD Ping-Pong-Demo: Direct X 10.1 ermöglicht auch in schwierigen Fällen selektive Kantenglättung - hier wird verdeutlicht, wieviel Arbeit durch Kantenerkennung gespart werden kann. Nur die rot markierten Pixel brauchen eine höhere Abtastung (Bild: PCGH)
Quelle: Bild: PCGH
AMD Ping-Pong-Demo: Direct X 10.1 ermöglicht auch in schwierigen Fällen selektive Kantenglättung - hier ist sie nach dem Edge-Detection-Prozess aktiviert (Bild: PCGH)
Burkhard Ratheiser, Managing Director bei Related Designs
1) DirectX 10.1 stellt meiner Meinung nach eher ein kleines Update dar und ist in keinster Weise mit der Evolution von DirectX 9 zu DirectX 10 zu vergleichen. Ich denke dass man als Entwickler in erster Linie versuchen sollte die Möglichkeiten von DirectX 10 voll auszuschöpfen. Die erweiterten Möglichkeiten der 10.1 API (z.B. verbessertes Anti-Aliasing, erweiterte Shader und Textur Funktionalität, striktere Spezifikationen) sind aus technischer Sicht ohne Zweifel sehr interessant, aber gleichzeitig erhöht dies den Aufwand bei der Engine Entwicklung und man muss sich als Entwickler jeweils die Aufwand-Kosten-Nutzen Frage stellen. Momentan sehe ich bei der DirectX 10.1 API im Vergleich zu DirectX 10 keinerlei signifikante Vorteile für den Endverbraucher.
2) Wir werden ganz genau evaluieren wie sinnvoll bestimmte 10.1 Features für unseren zukünftige Projekte sind. Uns ist es jedoch wesentlich wichtiger, dass unsere Spiele auf einer möglichst breiten Hardware Konfigurationen performant und in der bestmöglichen Optik lauffähig sind.
Jakub Klarowicz, Main Engine Programmer bei Techland
1) Die Möglichkeiten, welche in Direct 3D 10.1 kommen, sind eher e- als revolutionär. Sie fokussieren mehr auf Bildqualität und Leistungsverbesserungen als darauf, neue Technologie in Direct X einzuführen. Ich glaube die interessanteste neue Möglichkeit ist der Zugriff auf einzelne Samples der Farb- und Tiefenpuffer durch die Pixel-Shader. Damit kann endlich Multi-Sampling-FSAA mit allen möglichen Deferred-Rendering-Techniken verbunden werden. Bisher konnten wir als Entwickler lediglich Super-Sampling-FSAA (was ziemlich langsam ist) nutzen, oder mithilfe einiger Tricks eine Kantenerkennung nach dem Rendern durchführen und das Ergebnis blurren (was nicht allzu gut aussieht). Mit D3D10.1 ist echtes Multi-Sampling möglich - die Blur-Methode ist allerdings weiterhin schneller und könnte auf bestimmter Hardware weiterhin die bervozugte Methode bleiben.
Weitere interessante und nützliche Features sind die neuen Shader-Anweisungen wie "Gather". Damit können Schatten hübscher und schneller berechnet werden. Mithilfe der ebenfalls neuen LOD-Anweisungen (Anm. d. Red.: LOD steht kurz für Level of Detail) können Shader für Relief-Mapping sowohl schneller als auch hübscher gestaltet werden. Beide Techniken, Gather und LOD, gab es bereits auf bestimmter D3D9-Hardware, war dort aber nur über herstellerspezifische Erweiterungen verfügbar. Dank D3D10.1 sind diese Anweisungen nun standardisiert und durch die breitere Verfügbarkeit vereinfacht sich die Arbeit und der Nutzen für uns als Entwickler.
Es gibt noch weitere neue Dinge in D3D10.1, aber ich denke, die sind nicht so nützlich für die Entwickler wie die beiden oben genannten. Das kann sich in Zukunft natürlich noch ändern, wenn neue, fortschrittliche Render-Techniken sich etablieren.
2) Vielleicht tun wir das in unseren kommenden Spielen, die auf einer neuen Version der Chrome-Engine basieren. Es ist allerdings eher unwahrscheinlich, dass wir noch einen Patch für unser aktuelles D3D10-Spiel Call of Juarez bringen.
Ralf Kornmann, Software-Engineer (Engine) bei EA Phenomic
1) Direct3D 10.1 macht da weiter wo Direct3D 10 aufgehört hat. Dieser rein inkrementelle Schritt bringt uns garantierte Antialiasing-Eigenschaften die bei Version 10 noch optional oder sogar nicht vorhanden waren. So können Shaderberechnungen nun auch pro Sample durchgeführt werden um Shaderaliasing zu reduzieren. Daneben wurden die Möglichkeiten, mehr Dinge in einem Pass zu erledigen, etwas erweitert. In Summe darf man sich aber durch die zusätzliche Verwendung von Direct3D 10.1 jedoch keinen dramatischen Mehrgewinn weder bei der Leistung noch bei der Optik erwarten. Es ist, wie die Versionsnummer schon sagt, nur ein kleiner Schritt.
