Nvidias Asteroids-Demo zeigt Mesh- und Task-Shader in Aktion
Nvidias Asteroids-Demo zeigt, wie Turing-GPUs der GeForce-RTX-Familie mittels Mesh- und Task-Shader beeindruckende komplexe Szenen flĂĽssig darstellen.
- Benjamin Kraft
Mit der Turing-Architektur der GPU-Serie GeForce RTX 2000 hat Nvidia eine neue programmierbare Geometrie-Shading-Pipeline eingefĂĽhrt, die sogenannte Task- und Mesh-Shader nutzt. Der Vorteil laut Nvidia: Anstatt einzelne Dreiecke in einer Fixed-Function-Pipeline zu berechnen, arbeitet die neue Pipeline mit parallelen Thread-Gruppen, um kompaktere Meshes (Meshlets) zu generieren. Die Regeln dafĂĽr gibt die jeweilige Anwendung vor.
Durch diesen Ansatz soll sich die Geometrie-Pipeline besser programmieren lassen. Das ermögliche nicht nur besseres Culling und feinere LOD-Abstufungen (Level of Detail), sondern erlaube es Shadern auch, Oberflächen prozedural zu generieren.
Laut Nvidia besteht die Asteroids-Demo aus 350.000 Asteroiden zu je zehn Millionen Dreiecken. Insgesamt umfasst die Szene demnach bis zu 3,5 Billionen Dreiecke. Um der Komplexität Herr zu werden und flüssige Bildraten zu erreichen, lagert sie das Performance-fressende Object List Processing von der CPU in parallel ausführbare Mesh-Shading-Programme auf die GPU aus (GPU-Culling). Bisherige GPUs mussten jedes Dreieck aufwendig einzeln prüfen.
Zudem schalte man bei jedem Asteroiden dynamisch zwischen 10 LOD-Stufen um, deren höchste bis zu sechs Millionen Dreiecken umfasst. Damit wirkten die größten Brocken auch aus der Nähe noch sehr detailliert. Die Übergänge zwischen den Stufen berechnen ebenfalls die Mesh-Shader. Tessellation komme in der Demo hingegen nicht zum Einsatz.
Die Kombination aus GPU-Culling und den dynamischen LOD-Stufen reduziere die Anzahl der tatsächlich gezeichneten Dreiecke drastisch und ermögliche extrem komplexe Szenen. So verwerfe zunächst der Task-Shader die nicht sichtbaren Asteroiden und lege die LOD-Stufe fest. Dann prüfe der Mesh-Shader die Meshlets. Zuletzt wende man GPU-Culling auf die verbleibenden Dreiecke an. So blieben von den an anfänglich Billionen potenziell sichtbaren Dreiecken nur noch 50 Millionen übrig, die tatsächlich gerendert würden.
Besitzer einer Grafikkarte mit Turing-Chip können sich die Asteroids-Demo bei Nvidia herunterladen. Allerdings muss man sich für das (kostenlose) Nvidia Developer Program anmelden. (bkr)