> > > > GTC 2010: DirectX 11 Overview

GTC 2010: DirectX 11 Overview

Veröffentlicht am: von

NVIDIA_GTCNVIDIA legt bei einer erneuten Präsentation von DirectX 11 besonderen Wert auf die Tatsache, dass DirectX 11 auch auf DirectX 9 Hardware funktioniert. Dann sind allerdings nicht alle Features verfügbar. Jede DirectX-11-Anwendung kann spezielle Feature-Level abrufen und macht die Ausführung so auch auf ältere Hardware verfügbar. Die engstirnige Einteilung der Hardware in DirectX-11-fähige und nicht fähige sieht NVIDIA nicht sonderlich gerne, auch wenn man selbst mit diesem Umstand seine Karten bewirbt. Ebenfalls besonderen Wert legt NVIDIA auf die Tatsache, dass die Programmierung der CUDA Cores über sogenanntes General Purpose Programming möglich ist.

Nun wollen wir aber mit Hilfe von einigen Bildern und dazugehörigem Text versuchen die erneute Vorstellung von DirectX 11 bzw. dessen Features dazulegen.

Tesselation und Displacement Mapping

Tesselation soll nicht nur den Detailgrad aktueller Engines erhöhen, sondern spart Speicher und Bandbreite, da Informationen zur Details getrennt abgespeichert und auf der GPU zusammengeführt werden. Details werden erst abgerufen wenn sie gebraucht werden. Befindet sich ein Objekt in einem gewissen Abstand müssen nicht alle Details berechnet werden. Erst wenn das Objekt näher kommt, werden diese dazugerechnet. 

GTC2010_DX11__02_rs GTC2010_DX11__03_rs
 GTC2010_DX11__04_rs GTC2010_DX11__05_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

NVIDIA nennt dies View Dependent Level of Detail. Durch intelligente Anordnung der Pipeline werden unnötige Berechnungen verhindert. Folgende Schritte werden dabei in den verschiedenen Stufen der Pipelines ausgeführt. In den Beispielen werden bestimmte Tesselation-Level gezeigt, maximal kann dies auf 64 ausgebaut werden.

GTC2010_DX11__06_rs GTC2010_DX11__07_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

  • Vertex Shader: über den Vertex Shader werden Animationen und Physik-Effekte berechnet

GTC2010_DX11__09_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

  • Hull Shader: der Hull Shader generiert aus den Daten eine Oberfläche aus einer gewissen Anzahl an Polygonen. Auf Basis dieser Daten wird das Tesselation-Level bzw. der Faktor dessen bestimmt. Ein Polygon besteht aus sogenannten Normalen, welche die fixe Position des Dreiecks bestimmen sowie den Normalen, welche die Ausrichtung bestimmen. Über das Tesselation kann die Anzahl der jeweiligen Punkte also erhöht werden, um den Detailgrad zu verbessern. Ein einfaches Dreieck besteht dann nicht mehr aus drei Geraden, sondern derer nein. Der Hull Shader wird pro Berechnung nur einmal ausgeführt und lässt sich daher sehr einfach parallelisieren bzw. das Load-Balancing ist für den Entwickler recht leicht auszurichten. Durch diesen Effekt kann der Hull Shader seine Berechnungen auch auf mehrere Core verteilen um höhere Tesselation-Level zu erreichen.

GTC2010_DX11__10_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

  • Tesselator: der Tesselator ist eine Fixed Function Einheit, aber konfigurierbar. Erst hier werden die gewünschten Details hinzugefügt. Berechnet werden Polygone, Quads und Isobaren. Dabei kann der Tesselator in gewisser Ebene konfiguriert werden. So kann das Tesselation-Level am Rand bestimmt werden (Edge-Tesselation), also wie viele Zwischenschritte an der Außenseite des gewünschten Objekts ausgeführt werden. Es ist aber auch möglich innenliegende Anzahl der Polygone (Center-Tesselation) zu erhöhen um so mehr Details zu erhalten.

GTC2010_DX11__11_rs GTC2010_DX11__12_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

  • Domain Shader: im Domain Shader werden alle Informationen werden zusammengeführt

GTC2010_DX11__13_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

Wie dies dann in der Praxis aussieht, haben wir bereits in mehreren Videos dargestellt. An dieser Stelle wollen wir zwei von AMD und NVIDIA erneut präsentieren.

GTC2010_DX11__20_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

Eine spezielle Rolle spielt das Terrain-Tesselation. Auf den ersten Blick wird gar nicht deutlich, warum eine flache Oberfläche über Tesselation benötigt. Doch gerade diese Oberflächen profitieren besonders vom höheren Detailgrad. Doch nicht nur die eigentliche Funktion wird oft falsch bewertet, sondern auch die Verarbeitung der entsprechenden Daten. Problematisch wird das Terrain-Tesselation durch die Tatsache, dass auf eine flache Oberfläche ein gewisser Blickwinkel berechnet werden muss. Die „Höheninformationen“ der Oberfläche sind nur über die Textur verfügbar, welche in diesem Status eigentlich noch nicht über das Polygon gelegt wird. Der Hull Shader muss diese Informationen als bereits jetzt verwenden. Bei einem sehr flachen Blickwinkel werden so mehr Daten berechnet, als eigentlich nötig. Betrachtet man das Objekt allerdings aus einem optimalen Blickwinkel von 90°, muss das Tesselation-Level so hoch wie möglich sein, um genügend Informationen darzustellen.

GTC2010_DX11__22_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

Neben der Berechnung fallen aber gigantische Datenmengen an. Bei einer dazustellenden Fläche von 60 x 60 km fallen bei einem hohen Tesselation-Level Polygone bzw. Quads mit einer Kantenlänge von 2 m an. Dies resultiert in einer gigantischen Datenmenge, welche durch die GPU und den Speicher geschoben werden muss. Um die Datenmenge zu reduzieren, wird einer durch wenige Punkte gegebene Oberfläche durch bestimmte Berechnungen eine rundere Gestalt gegeben. Auf diese wird dann ein Rauschen gelegt, so dass der Eindruck einer detaillierten Oberfläche entsteht.

GTC2010_DX11__24_rs GTC2010_DX11__26_rs
GTC2010_DX11__27_rs GTC2010_DX11__28_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

Eine Parallisierung alle Berechnungen spielt ebenfalls in DirectX 11 eine entscheidende Rolle. Im Normalfall folgt auf einen Abfrage eine Befehls die Ausführung dessen und die Rückgabe der Daten. Die Abarbeitung der Befehle kann in DirectX 11 aber auch asynchron erfolgen. Dazu wird die Befehlskette in zwei Teile aufgesplittet. Diese können asynchron zueinander arbeiten und so Aufgaben übernehmen, die von einem anderen Befehl stammen.

Neue Kompressionsstandards sollen DirectX 11 ebenfalls zu höherer Performance verhelfen. Im Vergleich zu sehen ist BC6H gegen BC7. Letzterer bietet einen höheren Funktionsumfang bei besseres Qualität. In der abgebildeten Tabelle ist besonders die unterste Zeile interessant. Je höher dieser Wert, desto optimaler arbeitet die Kompression im Verhältnis von Datenmenge und Qualitätsverlust.

GTC2010_DX11__31_rs GTC2010_DX11__32_rs

Durch Klick auf das Bild gelangt man zu einer vergrößerten Ansicht

Weitere Links:

Social Links

Ihre Bewertung

Ø Bewertungen: 0

Tags

es liegen noch keine Tags vor.

Kommentare (0)

Um Kommentare schreiben zu können, musst Du eingeloggt sein!

Das könnte Sie auch interessieren:

Hardwareluxx auf der DreamHack 2018 in Leipzig

Logo von IMAGES/STORIES/2017/DREAMHACK2018

An diesem Wochenende eröffnete die DreamHack Leipzig zum dritten Mal ihre Pforten und lockte damit fast zehn Jahre nach dem Standortwechsel der Gamescom bzw. damals noch Games Convention wieder abertausende begeisterte Videospieler nach Sachsen. Während im LAN-Bereich über 1.700 Spieler... [mehr]

350.000 Besucher: Gamescom 2017 mit neuem Rekord

Logo von IMAGES/STORIES/2017/GAMESCOM

Am vergangenen Samstag schloss die Gamescom für dieses Jahr wieder ihre Pforten. Von Dienstag bzw. Mittwoch an schlenderten zahlreiche Besucher durch die prall gefüllten, Kölner Messehallen. Nachdem die Spielemesse im letzten Jahr mit rund 345.000 Besuchern einen neuen Rekord... [mehr]

Neue Gehäuse und Netzteile von Riotoro zur CES (Update)

Logo von IMAGES/STORIES/2017/RIOTORO

In den letzten Monaten konnten wir erste Riotoro-Produkte wie das Gehäuse CR1280 Prism und das Netzteil Onyx 750W testen. Für beide Produktkategorien hat der Hersteller jetzt die CES genutzt, um neue Produkte zu enthüllen.  Der größte Hingucker ist das CR1288TG Prism, ein... [mehr]

9. bis 10. Dezember: OverClocking World Championship 2017 in Berlin

Logo von IMAGES/STORIES/2017/HWBOT

Zwischen dem 9. und 10. Dezember werden die neun weltweit besten Overclocker gegeneinander antreten und unter sich den Titel des "Overclocking World Champion 2017" ausmachen. Die Veranstaltung wird von der Organisation HWBOT abgehalten und das Finale in Berlin ist das Ergebnis der der World Tour... [mehr]

RGB im Fokus: Corsair iCUE, VENGEANCE RGB PRO und das Obsidian Series 500D RGB...

Logo von IMAGES/STORIES/2017/CORSAIR

Corsairs RGB-Beleuchtungssystem ist ohnehin schon besonders ausgereift. Und zur Computex macht das Unternehmen deutlich, dass man diesen Vorsprung zumindest verteidigen, wenn nicht sogar ausbauen möchte. Dazu gibt es nicht nur eine neue Softwarelösung, sondern auch neue Produkte mit... [mehr]

Computex 2018: Der letzte Messetag im Video-Überblick

Logo von IMAGES/STORIES/2017/COMPUTEX_LOGO

Über 30 Videos haben wir in der letzten Woche im Rahmen der Computex 2018 abgedreht und veröffentlicht – jeden Tag haben wir die Standgespräche und -Rundführungen übersichtlich am Ende eines jeden Messetages noch einmal aufgelistet. Das tun wir heute nach unserem letzten Messetag zum... [mehr]