Nvidia has released an application called the Asteroids Mesh Shaders Demo. It isn't a GeForce 20XX revamp of the iconic Atari game but a technical demo showing off Turing Mesh Shaders. If you have a Turing GPU powered graphics card in your PC you can download and run through the demo yourself, steering the spaceship through the asteroid belt, and moving the camera angles – and can adjust various options and settings. If you don't have a Turing GPU available I think it is still worth a watch of the YouTube video Nvidia has shared, embedded below.
The key take away from the demo, and accompanying developer blog post, is that Turing introduces a new programmable geometric shading pipeline built on task and mesh shaders, and this can "dramatically improve performance and image quality when rendering a substantial number of very complex objects in a scene".
We have heard of similar techniques before but, in brief, the advantages of the compute programming model can be brought to the graphics pipeline – to provide greater programmability. This allows for "advanced culling techniques, level-of-detail, or even completely procedural topology generation," explains Nvidia. There are more thorough and technical Turing Mesh Shaders posts available than the asteroids demo blog provides, if you wish to delve deeper, or even deeper.
In the demo, Nvidia explains that each asteroid is drawn with a level of detail (LOD) depending upon its position in your view. The highest LOD is about 6 million triangles per asteroid and this adjusts dynamically for efficiency and view proximity. Secondly, culling of unnecessary, unseen details reduces the processing burden as follows:
- First the task shader checks the entire asteroid for visibility and determines which LOD(s) to use.
- Sub-parts, or meshlets are then tested by the mesh shader.
- Finally, the remaining triangles are culled by the GPU hardware.
Nvidia notes that Tessellation is not used at all in this demo and all objects, including the millions of particles, are taking advantage of Turing Mesh Shading.