Today is a little review on new exciting technology for graphics, pushed by some big players like NVidia, Microsoft and AMD. It is called real-time ray tracing!
Nvidia showed some footage of Battlefield V using the technology :
It is incredibly beautiful, isn’t it?
What is ray tracing and why does it matter?
Ray tracing is a rendering technique that is used to reproduce the lighting reflection that occurs in our own world. It uses a complex algorithm that is taking a lot of GPU. Now that there is hardware to support it, real-time ray tracing comes to life!
You are avid techno person and want to know how everything works? Here is an explanation of the algorithm.
The graphics feel much more immersive because you have the feeling of watching a movie but you are actually playing a game! The technique allows the shadows and reflections in graphics to be much more like real life. It calculates the way the light hits every object and changes the colour that you see to emulate the human eye.
With enough computational power available, it’s possible to produce incredibly realistic CG images that are nearly indistinguishable from life. But that’s the problem: even a well-equipped gaming PC only has so much GPU power to work with, let alone a modern game console.
Here is another short video :
This one is about Metro Exodus that is using the technique :
But where to start if you want to start developing games that use ray tracing? Lucky for you, NVidia wrote a book that goes in detail about the subject!
The book is divided into seven chapters for convenience and was released drop by drop during all month of February.
Part 1 covers all the basics of the ray tracing algorithm, terminology, what is DirectX Raytracing and how to get started with it as well as a first little project to try it out.
Part 2 goes deeper into the subject and talk about the intersection of the light ray and how you can use the algorithm to calculate it efficiently.
Part 3 goes in the core with subjects from reflections to shadows, going on with refraction.
Part 4 cover sampling method and how it works with ray tracing. Sampling is the process of getting a finite number of values from a function, map or in our case an image.
Part 5 is refining everything learned so far and show how you can remove the noise in the lighting and filter it as well in Unreal Engine 4.
Part 6 shows how you can use the technique in an hybrid approach to be more usable in today’s game.
Last part talks about global illumination, the lighting in a big environment and how you can take it to the next level and still be able to render everything.
The last chapter of the book just has been released on Monday! Good news is that the book licence is “open access”. So you can get if for free here. You will need an NVidia developer account to access it tough.
If you prefer to have one more book in your library, the hardcover book will be available on Amazon.
But when will it be available in a full game?
There is currently no timeline on this and it will probably take some years before it completely replace rasterization, which is the current technique to render 3D scenes into 2D to display on your computer screen. This is a much faster technique and less intensive but it’s not as realistic as ray tracing because it needs to use shaders to reproduce the light.
AMD and NVidia are both working on GPU that will be compatible with real-time ray tracing.
Microsoft is also working on supporting it in DirectX 12 API (More info here).
The future looks brighter! (Or more realistic than ever!)