Nvidia Techdemo @ GDC 2009: DirectX 11 Compute-Shader (15) [Quelle: siehe Bildergalerie]
Nvidia zeigt auf der GDC 2009 Video-Demos zu DirectX 11 - im speziellen den darin enthaltenen Compute-Shadern. Diese laufen auf der Grafikkarte, sollen aber den Grafikprozessor für allgemeine Rechenaufgaben (GPGPU) nutzbar machen, wie es auch das offene OpenCL, Nvidias CUDA oder AMDs Ati Stream tun.
Die
Ocean-Demo nutzt große Höhenfelder, welche realistische Wellenkämme mithilfe von FFT-Berechnungen erzeugt. Diese Technologie wird auch in heutigen Spielen bereits eingesetzt, ist aus Performance-Gründen in der Regel aber auf Heigh-Fields der Größe 128x128 beschränkt. Die DX11-Ocean-Demo nutzt dagegen Höhenfelder von 512x512, was der sechzehnfachen Datenmenge entspricht. Eine Geforce GTX 280 soll dafür lediglich 2 ms pro Frame benötigen, auch Radeons, welchen FFT-Berechnungen gut liegen, sollten hier sehr gut liegen.
Leider können wir Ihnen lediglich die abgfilmten Video präsentieren. Detailiiertere Bilder finden Sie in der Galerie unter den Videos.
Hinweis: Mit einem Klick auf das "HD"-Symbol (erscheint erst nach einem Klick auf "Play") wird das Video in höherer Qualität dargestellt. Die
Partikel-Demo nutzt eine bitonische Sortierung, welche über Compute-Shader gelöst wird und als Basis für anspruchsvolleres Modelle wie zum Beispiel eine Flüssigkeitssimulation dienen kann. Jedes einzelne der 65.536 Partikel wird mithlife von Geometry- und Pixel-Shadern als Kugeln gerendert.
Hinweis: Mit einem Klick auf das "HD"-Symbol (erscheint erst nach einem Klick auf "Play") wird das Video in höherer Qualität dargestellt. Die
n-Body-Simulation stellt die Bewegungen vieler Festkörper unter Gravitationseinfluss dar. Um die benötigte Bandbreite der
n² nötigen Berechnungen zu reduzieren nutzt die das DX11-Compute-Shader-Feature Thread Group Shared Memory, mit dessen Hilfe mehrere Threads innerhalb einer Gruppe auf gemeinsame Speicherzellen zurückgreifen können.
Hinweis: Mit einem Klick auf das "HD"-Symbol (erscheint erst nach einem Klick auf "Play") wird das Video in höherer Qualität dargestellt.
Lesen Sie zum Thema DirectX 11 außerdem:
•
DirectX 11 - Schnittstelle für Grafikkarten in Windows 7 und Vista•
DirectX 11 in exklusiven Screenshots - das kann die neue API•
Direct X 11 offenbar doch mit Windows 7 - Microsoft revidiert seine Aussage•
DirectX 11: Microsoft wechselt das Lager und bringt Ray-Tracing
News, Tests und Wissen zu Technologie-Themen finden Sie auf der
Technologie-Übersichtsseite von PC Games Hardware Online.
Schraubenverwechsler
08.04.2009 19:30
Einige DX11 "Features" funktionieren tatsächlich per Treiber-update auf alter DX10 Hardware, z.B. Direct3D11 Multi-Threading und dynamisch gelinkte Shader. Andere Features sind wirklich DX11 Hardware-only, z.B. Tesselation, 5.0 Shader etc.
Compute Shader (CS), um die es hier in der Demo geht sind anscheinend noch umstrittenes Terrain. Und zwar soll es CS in 3 verschiedenen Levels geben: CS 4.0 (für DX10.0 HW), CS 4.1 (DX10.1 HW) und das "richtiges" CS 5.0 (DX11 HW). Dabei kommen bei CS 5.0 neue Features dazu. (zwischen CS 4.0 und CS 4.1 gibt es wohl wenig/keine Unterschiede bis auf den Hersteller?)
Nvidia Karten ab GF8 unterstützen CS 4.0, Atis HD 3xxx Karten aber evtl. nicht, dafür ab HD 4xxx dann CS 4.1
Microsoft will nun CS 4.0 und 4.1 für CS Prototyping Zwecke auf DX10 Hardware erlauben (eben genau wie das Demo) - und evtl. in der finalen DX11 Version nicht mehr, sondern nur noch CS 5.0
Anderswo hieß es auch mal final nur CS 5.0 und CS 4.1 -was natürlich Nvidia überhaupt nicht gefallen dürfte.
Am liebsten würde Microsoft sich wohl auf CS 5.0 beschränken, wie es tatsächlich ausgehen wird, hängt wohl von den Verhandlungen mit den Grafikkartenherstellern ab.
Par Infos über DX11:
http://cmpmedia.vo.llnwd.net/o1/vault/gdc09/slides/100_Handout%206.pdf
AnandTech: Revealing The Power of DirectX 11
PS. Und hallo an alle
Redakteur
06.04.2009 13:08
Nicht OpenGL, aber CUDA.
Moderator
04.04.2009 19:40
Es gibt viele Gerüchte, einige davon besagen, dass M$ bei DX11 auf radikale Schnitte verzichtet und DX11 somit genau wie diverse DX9 Versionen kompatibel ist. D.h. je nach Treiber und Grafikkartenaufbau mögen einige Effekte nicht in Hardware berechnet werden können, aber die Karten sind DX11 kompatibel und es ist nicht verboten, die Berechnungen via Treiber auf die CPU auszulagern.