When NVIDIA unveiled the Ada Lovelace architecture that GeForce RTX 40 Series GPUs are based on, we learned of a number of new features, such as DLSS 3, Shader Execution Reordering (SER), Displacement Micro Meshes (DMM), and Opacity Micro Maps (OMM).
DLSS 3 was, of course, the star since the very beginning. Its adoption rate is turning out to be much faster than DLSS 2, with 29 games already supported. SER is also slowly getting support in games, such as Sackboy: A Big Adventure and the upcoming Cyberpunk 2077: RT Overdrive Mode technology preview. The others, though, haven’t been implemented by any third-party developer that we know of.
Between GDC and GTC, NVIDIA is trying to change that with dedicated showcases for these technologies. In this article, we’re focusing specifically on Opacity Micro Maps, designed to speed up ray tracing performance whenever rays hit irregular objects.
In the Remixing “Portal” for RTX talk, NVIDIA’s Distinguished DevTech Engineer Alexey Panteleev talked about the usage of Opacity Micro Maps in Portal RTX, which he found to be particularly useful given the number of particles and the empty spaces between them.
Opacity micro maps should help in cases like this one where there is a lot of particles on the scene and the particles have a lot of empty space on them.
The problem with empty space is that you have a single large billboard that contains that empty space, but it also contains non-empty areas, so whenever the ray tracing hardware in the GPU hits this billboard it doesn’t know whether this hit is useful or not, so it will return the hit to the shader. and the shader must load the texture to determine if this hit is actually useful. If it’s just empty space, the hit will be returned back to the ray tracing hardware to continue looking for useful surfaces, which is obviously suboptimal.
So, we can reprocess the opacity texture of the particles and build a so-called Opacity Micro Map here, which is kind of similar to a BLAS, and then we can bind that Opacity Micro Map to the geometry and let the ray tracing hardware decide if the hit is useful or not before returning it to the shader.
As you can see in the bottom picture, Opacity Micro Maps can reduce the number of shader interactions with the rays quite significantly because there is a lot of empty space in these particles, and that makes the G-Buffer pass almost 40% faster in this case.
In another talk dedicated to Getting Started with Compressed Micro-Meshes, NVIDIA’s Senior Distinguished Engineer Henry Moreton showed that Opacity Micro Maps could deliver significant performance increases even in a completely different scenario.
We have ray tracing support for associating opacity with micro-triangles. This can turn a simple triangle into a leaf. The functionality is very similar to an alpha texture, but unlike an alpha texture, the RT Core can natively support Opacity Micro Maps, knocking out complex regions of objects without needing access to textures or shader invocation.
Here, we model leaf clusters with a couple of triangles and Opacity Micro Maps. We get resulting image quality equivalent to alpha textured leaves with a large gain in raytraced performance. In this scene, we measure a 1.5x increase in performance because the RT Core can completely resolve ray-triangle interception without invoking any shader code.
Game developers interested in the implementation of this feature can check out the Opacity Micro Maps SDK available on GitHub. Between OMM and the recently released Displacement Micro-Map toolkit, not to mention Shader Execution Reordering, there could be great gains at hand for ray tracing-heavy games. As path tracing becomes more and more feasible, developers will need all the help they can get to optimize for the new era of graphics.
The post NVIDIA Shows Ada Lovelace’s Opacity Micro Maps Feature and How It Can Boost Ray Tracing Performance by Alessio Palumbo appeared first on Wccftech.