The Mesh Shading feature was first introduced by NVIDIA’s Turing architecture with the RTX 2000 Series GPUs in the latter half of 2018; shortly after that, we got the first proper showcase released by NVIDIA in December of that year with their Asteroids demo.
Even though it’s now also supported by AMD’s RDNA 2 based RX 6000 graphics cards for PC & next-generation consoles and it is mentioned as a core feature of the DirectX 12 Ultimate set, we haven’t seen any actual implementation of Mesh Shading in a live game, which is a shame as the technology has the potential to enhance performance by allowing geometry to be pre-culled, thus allowing developers to render more complex scenes without sacrificing performance in the process.
That changed recently, with NetEase adding the feature to their MMORPG Justice (which previously also got support for RTX Global Illumination and, earlier than that, was the first title to feature both RTX-based shadows/reflections and DLSS).
The official NVIDIA blog spoke with game programmer Yuheng Zou to discuss the developer’s Mesh Shading implementation, which enables 1.8 billion triangles to be rendered at 4K and over 60 frames per second with an RTX 3060 Ti graphics card.
Zou explained how this feature can greatly increase the geometric detail in games.
Our first thought is to render some highly detailed models which may need insane number of triangles. Soon we found we can combine Mesh Shaders with auto-generated LODs to achieve almost only-resolution-relevant rendering complexity, instead of polygon number. And we decided to try it out. With so much potential of Mesh Shader, we conceive that it would be the mainstream of future games.
Mesh Shading can extend the scalability of geometry stage, and is very easy to integrate to engine runtime. It has the ability to encapsulate the culling procedure in a single API call, which omits tedious state and resource setup procedure as draw indirect requires. With Mesh Shading, the culling algorithms we use can be of great flexibility. For example, in the shadow pass, we don’t have the depth information so occlusion culling is simply ignored in the shader.
Our technology enables the ability of rendering parallax and silhouette of models in an incredible fidelity. For scenes like caves, these details can produce a visually better image. It also provides Chinese ancient buildings, furniture and ornaments with “meticulous” rendering result, which enables the culture carried by them to be expressed in Justice to the finest extent.
You can check it out in the Justice showcase video below.