> > > > NVIDIA veröffentlicht Asteroids-Demo für die Turing Mesh Shaders

NVIDIA veröffentlicht Asteroids-Demo für die Turing Mesh Shaders

Veröffentlicht am: von

turing-gpuDer Fokus der Turing-Architektur von NVIDIA liegt bei den GeForce-RTX-Karten auf den Ray-Tracing-Funktionen (RTX bzw. DXR in Battlefield V) und dem Deep Learning Super Sampling (DLSS). Doch NVIDIA hat zahlreiche weitere Verbesserungen eingeführt, die bisher noch wenig Beachtung fanden.

Zu diesen neuen Funktionen gehört unter anderem das NVIDIA Adaptive Shading (NAS), welches bisher nur von Wolfenstein II: The New Colossus unterstützt wird. Bereits in der Theorie zur Turing-Architektur angerissen wurden die neuen Mesh Shader. Diese nehmen sich dem Umstand an, dass 3D-Szenen mit vielen Objekten häufig durch die Geometrieberechnungen limitiert werden. Da dies teilweise auf dem Prozessor stattfindet, kann hier ein Flaschenhals entstehen.

NVIDIA hat nun die Tech-Demo namens Asteroids veröffentlicht, die wir bereits mit der Vorstellung der Turing-Architektur besprochen hatten. Der Download der Asteroids-Demo ist direkt bei NVIDIA möglich. In einem dazugehörigen Blog-Artikel hat NVIDIA auch einige weitere Details veröffentlicht. Wann und wo die Mesh Shader erstmals zum Einsatz kommen sollen, ist derzeit aber noch nicht bekannt.

Hintergrund zum Mesh Shading

Per Level of Detail (LOD) wird in Abhängigkeit zur Distanz eine bestimmte Detailstufe zur Darstellung von Objekten gewählt. Die meisten Game-Engines setzen das LOD als festen Wert an, der Nutzer kann diesen zwar manchmal ändern, es handelt sich aber um keine dynamische Anpassung in Abhängigkeit zur jeweiligen 3D-Szene und deren Komplexität.

Für eine Szene mit 200.000 Objekten stehen für flüssige 60 FPS nur 2 ms für die Geometrieberechnungen zur Verfügung. Dies bedeutet wiederum pro Objekt eine Rechenzeit von 10 ns und darin inbegriffen sind auch die Festlegung und Berechnung eines bestimmten LOD und das Verschicken des Draw Calls. 20.000 bis 30.000 Objekte sind derzeit in 3D-Engines umsetzbar, mehr nicht. Mit einem adaptiven LOD bzw. dem Mesh Shading sind nun eben etwa 200.000 Objekte möglich.

Die Mesh Shader der Turing-Architektur sollen in Abhängigkeit zur Auslastung der Render-Pipeline den Grad des LOD bestimmen. Anstatt die festgelegte Berechnung für das LOD sowie das Object Culling (Auswählen und Weglassen der (nicht)sichtbaren Objekte) vom Prozessor ausführen zu lassen, muss der Prozessor für die Mesh Shader nur die Draw Calls ausführen. Die Vertex und Hull Shader werden zu einem Task Shader zusammengefasst, der das Level des LOD und das Object Culling übernimmt. In den Mesh-Shadern werden dann wiederum die Domain und Geometry Shader zusammengefasst.

In der Demo werden zwischen 200.000 und 300.000 Asteroiden dargestellt. Je nach LOD entspricht dies in der höchsten Geometrie-Detailstufe fast 4.000.000.000.000 Polygonen. Diese könnten durch keine Hardware flüssig dargestellt werden.

Die Turing-Architektur ist nun der Lage, selbst zu bestimmen, welche Objekte berechnet werden müssen und welche nicht. Hinzu kommt die Bestimmung des LOD. Per Einfärbung zeigt NVIDIA das verwendete LOD. Schwarz, Lila und Blau entspricht einem hohen LOD, Grün und Gelb einem niedrigen. Die Änderung des LOD in Abhängigkeit zum Abstand findet dynamisch statt und soll nicht sichtbar sein.