Scene with a grey material override. In this case, about 76% of the time is spent in ray casting that will benefit from RT Cores.
Same scene with full materials. In this case about 59% of the time is spent in ray casting that will benefit from RT Cores.
While we are not quite ready to post performance results on unreleased NVIDIA hardware, we can give indications of what will benefit from RT Cores. The above scene was rendered on a pre-release version of the Turing hardware with pre-release drivers and an experimental modified version of V-Ray GPU where we could track our ray casting amount. With simpler shading, a bigger portion of the render time is spent on ray casting and we should see a larger benefit from RT Cores. We are also looking into ways to modify the way V-Ray GPU works in order to get the maximum performance from the new hardware. It should also be noted that the Turing hardware itself is significantly faster than the previous Pascal generation, even when running V-Ray GPU without any modifications.
It is important to note that applications must be explicitly programmed to take advantage of the RT Cores, meaning that existing ray tracing applications won’t benefit from them automatically. Those cores can be programmed through three publicly available APIs — NVIDIA OptiX, Microsoft DirectX (through the DXR extension), and Vulkan. DirectX and Vulkan are intended for use in games and real-time render engines whereas OptiX is best suited for production ray tracing as often found in offline renderers.
At Chaos Group, we have been working together with NVIDIA for nearly a year to research ways in which we can use the power of RT Cores within our products. V-Ray GPU is an obvious application of this technology and we already have experimental builds of V-Ray GPU using it — although optimizing the code and implementing full support for all features of V-Ray GPU will take some time. In the meantime, note that all recent releases of V-Ray GPU will work just fine with any RTX GPU, but will not take advantage of the RT Cores just yet. As we add support for RT Cores, V-Ray GPU will continue to support earlier cards as it always has.
In the video below, we show a version of V-Ray GPU modified to take advantage of the RT Core and demonstrating that material and geometry updates work fine after the modifications. The video is not designed to demonstrate performance - we will publish performance benchmarks in a separate blog post once the official hardware is released.
We have also explored using the RT Cores in the context of real-time ray tracing in our Project Lavina in order to determine the capabilities of the hardware. We were also interested in whether it is possible to completely replace rasterization with ray tracing for this use case. DXR was the first real-time API to publicly support RT Cores, so for the moment Project Lavina is based on it. We are also considering Vulkan in order to support the Linux operating system later on. The initial results are very promising and we intend to continue developing and improving this technology. Obviously it’s very early days; there is a significant amount of research being done right now on real-time path tracing and we expect that results will improve quickly in the following months, giving our users a new way to explore their scenes in a real-time environment without going through the tedious process of converting them for a real-time engine.
Specialized hardware for ray casting has been attempted in the past, but has been largely unsuccessful — partly because the shading and ray casting calculations are usually closely related and having them run on completely different hardware devices is not efficient. Having both processes running inside the same GPU is what makes the RTX architecture interesting. We expect that in the coming years the RTX series of GPUs will have a large impact on rendering and will firmly establish GPU ray tracing as a technique for producing computer generated images both for off-line and real-time rendering. We at Chaos Group are working hard to bring these new hardware advances in the hands of our users.