
Zitat von
Golem.de
Nvision: Erste Beta von DirectX-11 noch 2008
Tesselation und Compute-Shaders werden Pflicht für neue Grafikhardware
Auf Nvidias erster Hausmesse "Nvision 08" wurde der Vortrag von Kevin Gee von Microsoft mit großer Spannung erwartet. Nach ersten Enthüllungen zur nächsten Version von DirectX nannte der Microsoft-Entwickler nun auch einen Termin, noch im November 2008 soll die neue 3D-Schnittstelle im SDK von DirectX zu haben sein.
DirectX-11 ist gegenüber dem radikalen Kompatibilitäts-Bruch von Version 10 eine Evolution der Programmierschnittstelle für 3D-Anwendungen. Ging es bei DirectX-10 noch vor allem darum, Speichermodelle und Shader-Programmierung zu vereinfachen, so steht für Microsoft mit DirectX-11 volle Unterstützung moderner Grafikprozessoren auf dem Programm.
Seit Version 9 müssen GPUs, die sich mit dem DirectX-Logo schmücken, schon programmierbar sein. Mit DirectX-11 vereinheitlicht Microsoft das mit einer objektorientierten Programmiersprache. Statt dem von Gee als "Über-Shader" bezeichneten Monster-Programm von Tausenden Zeilen Länge sollen Programmierer in Zukunft lieber wieder einzelne Shader für genau definierte Aufgaben schreiben.
Als Beispiel nannte Gee mehrere Lichtquellen, deren Abhängigkeiten voneinander bisher oft in einen Shader gepackt wurden. Das, so der Microsoft-Programmierer, lasse sich aber besser in Klassen organisieren, wie es Entwickler von C++ schon gewohnt seien. Die Vielzahl der dadurch in der GPU entstehenden Threads soll DirectX-11 selbst verwalten.
Eine der neuen Shader-Klassen des "Shader Model 5.0" sind die "Compute Shaders", also Berechnungen die in der GPU laufen, aber nichts mit Grafik zu tun haben. Nvidia propagiert dafür sein Konzept "CUDA", das auf reinem C-Code aufsetzt und derzeit noch nicht objektorientiert ist - es aber bald sein soll. Mit "Compute Shaders" sollen Physik, künstliche Intelligenz und Kompression neben anderen Aufgaben in die GPU verlagert werden. Das Microsoft-Modell ist dabei "vollständig Hersteller-unabhängig" wie Kev Gee betonte. Es läuft also auch auf ATI-GPUs und vielleicht auf künftigen Intel-Produkten.
Die Compute-Shaders können nicht nur für Grafik-fremde Funktionen eingesetzt werden. Effekte, die auf das gesamte Bild angewendet werden, wie Bewegungsunschärfe (Motion Blur) oder Anti-Aliasing kann man als Compute-Shader nach dem Rendern der Szene anwenden. Das funktioniert aber erst nach Rückschreiben in den Speicher, was viel Zeit kostet. Eine neue Generation von sparsam eingesetzten Effekten, zum Beispiel bei Zwischensequenzen, erscheint aber zumindest möglich.
Eine weitere neue Funktion ist die Tesselation, die DirectX-11-Hardware zwingend unterstützen muss. Der Tessalator in aktuellen ATI-GPUs reicht dafür nicht aus - DirectX-11 erfordert zwingend neue Hardware nach den Microsoft-Spezifikationen.
Dennoch sollen die ersten Vorab-Versionen der neuen Programmierschnittstelle auch auf Hardware nach DirectX-10 (Nvidia, Intel) und DirectX-10.1 (ATI) laufen. Bereits in der Ausgabe des DirectX-SDK vom November 2008 sollen die ersten Funktionen der neuen Schnittstelle benutzbar sein. Die endgültige Fassung erscheint aber erst "mit der nächsten Version von Windows", erklärte Kev Gee, also mit dem sonst noch namenlosen Windows 7. Anders als bei XP und Vista soll DirectX-11 aber auf jeden Fall, das bekräftigte Gee mehrfach, mit dem Vorgänger Windows Vista laufen.