Microsoft enthüllt Details zu DirectX 11
Damit eine moderne Grafikkarte die Befehle des Software-Programmierers versteht, nutzt dieser eine allgemeine 3D-Schnittstelle, die von sämtlichen GPUs genutzt werden kann. Die Rede ist von OpenGL sowie Direct3D, wobei letzteres in der Welt der Spiele deutlich verbreiteter ist.
Um auf dem aktuellen Stand der Technik zu bleiben, wird Direct3D in größeren Zeitabständen immer wieder erneuert. Derzeit sind wir bei der Version Direct3D 10.1 angelangt, das einige kleine Verbesserungen gegenüber der Ursprungsversion Direct3D 10 enthält. Der nächste große Schritt ist der Standard Direct3D 11, zu dem Microsoft nun während der eigenen Veranstaltung Gamefest in Washington einige grobe Details veröffentlicht hat. Diese vermutete man zwar bereits für die neue API, doch nun gibt es Gewissheit.
Direct3D 11 wird Windows Vista sowie den Nachfolger Windows 7 unterstützen und auf beiden Betriebssystemen den vollen Funktionsumfang nutzen können. Die Schnittstelle ist kompatibel zur Direct3D-10- sowie Direct3D-10.1-API und läuft somit auch auf den älteren Grafikkarten – die Hardwarefunktionen bleiben natürlich außen vor. Damit hat man nun eine Situation wie bei Direct3D 9 unter Windows XP, wo die neue Schnittstelle ebenso mit der älteren Hardware umgehen konnte. Microsoft hat mit Direct3D 10 einen Schnitt gemacht, um sich so von unnötigen und vor allem problematischen Altlasten trennen zu können.
Microsoft wird mit Direct3D 11 eine neue „Shader-Art“ einführen, den Compute Shader. Der Compute Shader ist allerdings nicht für die 3D-Darstellung gedacht, sondern für GPU-Computing. GPU-Computing ist zwar auch schon aktuell möglich, allerdings bieten dafür ATi und Nvidia ihre eigenen Sprachen an (ATi: CAL, Brook+; Nvidia: CUDA), die nicht auf der Hardware der Konkurrenz laufen. Der Compute Shader wird das ermöglichen, wobei noch unbekannt ist, wie dessen Funktionsumfang aussehen wird. Zudem wird es interessant zu sehen, was die beiden Chipspezialisten mit ihren eigenen Programmierumgebungen machen.
Darüber hinaus wird Direct3D 11 „Multi-threaded resource handling“ unterstützen, was für Multi-GPU-Systeme von Vorteil sein soll. So beschweren sich ATi und Nvidia nicht zum ersten mal, dass es mit Multi-GPU-Systemen und Direct3D problematisch ist, die Threads richtig auf die Rechenkerne aufzuteilen. Direct3D 11 scheint sich dieses Problems nun anzunehmen.
Zuletzt führt Direct3D 11 den Tessellator ein, den ATi schon seit dem R600 (Radeon HD 2900 XT) in den GPUs verbaut, dort aber nur ein Schattendasein fristet und bis jetzt noch nie genutzt worden ist. Ein Tessellator kann ein Polygon (sei es nun ein Dreieck, Viereck oder eine andere Form) in mehrerer kleinere Polygone mit derselben Form ohne einen allzu großen Rechen- und Programmieraufwand aufteilen. Somit kann man ohne viel Arbeit für den Programmierer und die Hardware deutlich mehr Polygone verwenden als es ohne Tessellator möglich ist.
Wann Direct3D 11 nun das Licht der Welt erblicken wird, ist noch unklar. Die Gerüchte sprechen von Ende des Jahres, wobei wir von einem späteren Zeitpunkt ausgehen.