sobaka770
Banned
EDIT. Ok you win, no more bland screenshots!!
I wanted to make this thread to go over RTX in Watch Dogs Legion as there were multiple discussions on how good or bad it is and whether it's worth a tradeoff in performance.
I'm also going to make this post hopefully very easy on a technical level because there's plenty of technical info to go around for people who want to go deeper into the tech.
1. What is Ray-Tracing and how does WD:Legion use it.
Ray Tracing is actually a very straightforward naming for the technique. In global terms it literally means tracing a ray (a line) from a one point to another in a scene and calculating what happens when on impact based on source of the line and end-point properties. Mostly we hear Ray Tracing in terms of graphics but the technique of just drawing a line from between objects to calculate the interaction between the two can be also done for audio and other gameplay things such as tracing a line of a bullet between a gun nozzle and the target. There are several parts to ray tracing - you need to first trace the line and then have computations made between the two objects. In case of a gun it's very simple - if a line is traced and the object A - gun - is fired then when the line traced in the direction of gun nozzle touches an object B - that object is hit by a bullet. Things get more complicated when the two things interacting are not as simple to calculate.
Let's focus on graphics as it's the main talking point in the ray tracing revolution. Here ray tracing usually means using one or all of the following 3 techniques: Global illumination, Shadows and Reflections.
2. Why Ray Tracing
Everything we see is light or bounces light. In a perfect world ray traced GI from all light sources taking into account all the properties of outgoing light and reflected light would be sufficient for every single game to achieve perfect look. This is the ultimate correctness of graphics. I use the word "correctness" and not "realism" because the picture at the end doesn't need to be realistic, but it will be correct. E.g. Pixar movies are all ray-traced but they are still cartoons.
Without Ray-Tracing the developers have to use techniques to approximate reality whether in lighting, shadowing or reflecting light. While the techniques improve and always get better at approximating reality they can only do so much and while sometimes the picture looks almost correct, there are always small parts of it that stand out to our eye and break the illusion. Moreover the more complex the techniques become the more computationally expensive they get.
3. Why not Ray Tracing
Tracing a single line is not hard. However to achieve a good image quality the computer needs to trace millions and billions of lines each calculating its properties. This is computationally extremely expensive, because for every line (every ray) you need to compute the interation between the source and the target. Light and its interaction with surfaces is complex. The source of light may be of different colour, of different intensity, direction, softness etc. The surface may be more or less reflective, absorbant, diffuse etc. And when a light bounces of a reflective surface it becomes a source of light itself! Computing these things is easy when you have to do it once for a picture like in the movies but in real time you only have a few milliseconds to process it all (30FPS - 33ms, 60FPS - 16ms and let's not forget that ray tracing is only part of the frame output).
This is why NVidia uses special hardware that has the sole job of optimising tracing of lines and computing the impacts. It also has software to optimise the process. DLSS is also used because lower resolution means less rays to be traced and therefore less calculations to be made. It's cheaper to make the initial picture in 1080p, compute rays and then upscale it to 4k using DLSS than tracing 4x times more rays at full 4k resolultion. It's that hard. This is also why Ray Tracing has been split in several techniques because implementing just shadows is computationally cheaper than full GI. On consoles we also see other optimisations , to begin with by using a reduced number of rays (cheaper but picture is blurrier). Ray traced reflections in Ratchet and Clank work as described before - reflective surfaces trace rays to see what to reflect, but notice that they don't reflect everything in the scene - that means that rays traced from these surfaces can only bounce from certain geometry they encounter which reduces the amount of computation.
4. Where are we at today?
Ok this is the part where I took some screenshots from WD: Legion for comparison. Let's recall that in these pictures only reflections use the technique, we won't look at shadows or light because nothing changes with Ray Tracing On for these elements.
As always reflective Ray Tracing works best when there are a lot of reflective surfaces.In examples below I will compare scenes on a rainy day with a lot of puddles and wet pavement as well as windows. Welp, apparently HDR breaks screenshot vibrancy so it's a sunny day no but still plenty of puddles and windows to look at!!
EXAMPLE 1. Ray Tracing vs Good Screen-Space Reflections.
Before I go further, a quick note on Sceen-Space Reflections or SSR. SSR is one of the techniques to approximate reflections instead of using ray tracing. It's much cheaper to compute and the way it works in a nutshell is that it computes reflections in the reflective surfaces from objects that are visible to the player. If the player doesn't see the object - it disappears, which is a big issue of SSR that we will see in the example 2. Below is an example of a relatively good result from SSR reflection in the rain.
SSR
RAY TRACING
We can see SSR does reflect the tree relatively well in the big puddle and creates an illusion of proper reflection. Ray Tracing however gives much more depth to the reflection (SSR uses techniques to approximate reflection but it creates denoising artifacts etc.) and looks much more consistent. It's even more apparent in puddles far away where reflections are still calculated properly and the wet cardboard in front of the player character where SSR breaks as the player doesn't see the big tree in front of him. Now let's remove the tree from our viewpoint and make the case where SSR breaks completely.
EXAMPLE 2. Limits of SSR
SSR
RAY TRACING
OH NO! The big tree is no longer in the player viewpoint and immediately the puddle has nothing to reflect. SSR cannot reflect something the player doesn't see on screen. The puddle therefore reflects the default skybox and while the image still looks okay, it just doesn't feel "right", doesn't it? Notice as well how approximated the reflections of pedestrians are, which look more like shadows than real reflections. In comparison, Ray Tracing draws the line from the puddle and hits the tree branches consistently and therefore we still see the reflection of the tree in the puddle even if it's out of players view. NPCs are alse reflected with much greater precision and the puddle on the left actually reflects the pink mannequin instead of a weird shadow blob.
EXAMPLE 3. Windows
SSR/CubeMaps
RAY TRACING
Another big impact on correctness of imagery of WD: Legion reflections can be seen in the windows of London. Whether when driving or walking around notice how SSR once again cannot reflect things out of sight but also an even simpler technique call cubemaps is sometimes used to approximate reflection in a pre-baked way. This means the reflection is usually low-resolution and placed by hand by the developer - intensive work and the result is still often incorrect. In this case notice how Ray Tracing not only reflects the not-visible-to-player part of the building in top windows (notice also that pre-built in cubemap in top windows shows a reflection of geometry that doesn't exist at all). The bottom window without Ray Tracing uses a simple skybox reflection when there is a flagpole right next to it. The puddle next to the scooter on the bottom right is probably SSR at it's best - the reflection using SSR looks very good but notice how Ray Tracing still has more detail and depth.
Spot the Ray Tracing.
OK These are simple examples but spot the difference for yourselves by looking at this drone metal and the King's college entrance.
Conclusion/TLDR
I hope this post helps people to understand the basics of ray tracing and showcase how it's used in the latest Watch Dogs game. The last question to answer is: is ray-tracing worth it? And the asnwer to that I leave to you. I can only give my opinion.
It will be a decade and at least 1-2 more console generations until we may achieve the use of Ray Tracing for all light sources in real time for games. Today we can expect only partial implementations like those seen in Watch Dogs or Control. Ray Tracing is very expensive and it's even more expensive the more geometry there is in the scene, more light sources, more meshes to bounce of, more materials to compute. That's why Quake 2 is the only demo of full ray-tracing - it's geometry and materials are very basic being over 2 decades old. That being said Ray Tracing in short-term span is not going to drastically change how the picture looks on next-gen consoles but even with partial implementation I hope you notice how correct the image looks in comparison to reconstruction techniques just when looking at reflections. The effect shown on screenshots is more pronounced in motion as there is no place where the ray traced reflections in Watch Dogs falter when moving, driving or hacking. It is a big tradeoff in terms of performance but to me personally I'd rather have proper light and shadows and reflections over 16k textures and 4k native resolution. Just as with many other effects such as smoke, volumetrics etc, ray tracing is here to give us more precision so that our brain believes in the simulation so much more.
PS. The images here were taken on RTX3080, Ultra RTX settings, DLSS Quality at 4k Resolution.
I wanted to make this thread to go over RTX in Watch Dogs Legion as there were multiple discussions on how good or bad it is and whether it's worth a tradeoff in performance.
I'm also going to make this post hopefully very easy on a technical level because there's plenty of technical info to go around for people who want to go deeper into the tech.
1. What is Ray-Tracing and how does WD:Legion use it.
Ray Tracing is actually a very straightforward naming for the technique. In global terms it literally means tracing a ray (a line) from a one point to another in a scene and calculating what happens when on impact based on source of the line and end-point properties. Mostly we hear Ray Tracing in terms of graphics but the technique of just drawing a line from between objects to calculate the interaction between the two can be also done for audio and other gameplay things such as tracing a line of a bullet between a gun nozzle and the target. There are several parts to ray tracing - you need to first trace the line and then have computations made between the two objects. In case of a gun it's very simple - if a line is traced and the object A - gun - is fired then when the line traced in the direction of gun nozzle touches an object B - that object is hit by a bullet. Things get more complicated when the two things interacting are not as simple to calculate.
Let's focus on graphics as it's the main talking point in the ray tracing revolution. Here ray tracing usually means using one or all of the following 3 techniques: Global illumination, Shadows and Reflections.
- Global Illumination or GI means that we would trace lines from a light sources of the scene (think sun or torches or flashlights) with set parameters for brightness, softness etc across the geometry that player sees. These rays will then calculate how the material that is used on these geometries (physical properties of the material) should react to the light with a proper angle, diffusion, reflection etc. In practice this means that the lighting is much more realistic as light in itself is a ray and therefore if we can model the line from source of light to the surface and then, based on that, model secondary rays reflected of that surface to other surfaces and so on in real time, that would mean that our lighting is basically perfect.
- Shadows - a much simpler version of GI doesn't calculate the light reflections, instead it calculates where the object doesn't receive light or partial light from the light sources in the scene. This makes shadows much more realistic and the calculations to achieve this effect are much easier on the hardware than GI but the effect is only applicable to shadows.
- Reflections - ulike other techniques, here instead of projecting rays from source of light, rays are usually projected from the reflective surface itself such as a window or watery surface. If that ray hits another mesh this indicates which texture needs to be reflected. Calculations can be relatively simple if it's a perfect mirror but if the surface is uneven or moving such as a river it becomes more complicated as the picture is not just a mirror reflection.
2. Why Ray Tracing
Everything we see is light or bounces light. In a perfect world ray traced GI from all light sources taking into account all the properties of outgoing light and reflected light would be sufficient for every single game to achieve perfect look. This is the ultimate correctness of graphics. I use the word "correctness" and not "realism" because the picture at the end doesn't need to be realistic, but it will be correct. E.g. Pixar movies are all ray-traced but they are still cartoons.
Without Ray-Tracing the developers have to use techniques to approximate reality whether in lighting, shadowing or reflecting light. While the techniques improve and always get better at approximating reality they can only do so much and while sometimes the picture looks almost correct, there are always small parts of it that stand out to our eye and break the illusion. Moreover the more complex the techniques become the more computationally expensive they get.
3. Why not Ray Tracing
Tracing a single line is not hard. However to achieve a good image quality the computer needs to trace millions and billions of lines each calculating its properties. This is computationally extremely expensive, because for every line (every ray) you need to compute the interation between the source and the target. Light and its interaction with surfaces is complex. The source of light may be of different colour, of different intensity, direction, softness etc. The surface may be more or less reflective, absorbant, diffuse etc. And when a light bounces of a reflective surface it becomes a source of light itself! Computing these things is easy when you have to do it once for a picture like in the movies but in real time you only have a few milliseconds to process it all (30FPS - 33ms, 60FPS - 16ms and let's not forget that ray tracing is only part of the frame output).
This is why NVidia uses special hardware that has the sole job of optimising tracing of lines and computing the impacts. It also has software to optimise the process. DLSS is also used because lower resolution means less rays to be traced and therefore less calculations to be made. It's cheaper to make the initial picture in 1080p, compute rays and then upscale it to 4k using DLSS than tracing 4x times more rays at full 4k resolultion. It's that hard. This is also why Ray Tracing has been split in several techniques because implementing just shadows is computationally cheaper than full GI. On consoles we also see other optimisations , to begin with by using a reduced number of rays (cheaper but picture is blurrier). Ray traced reflections in Ratchet and Clank work as described before - reflective surfaces trace rays to see what to reflect, but notice that they don't reflect everything in the scene - that means that rays traced from these surfaces can only bounce from certain geometry they encounter which reduces the amount of computation.
4. Where are we at today?
Ok this is the part where I took some screenshots from WD: Legion for comparison. Let's recall that in these pictures only reflections use the technique, we won't look at shadows or light because nothing changes with Ray Tracing On for these elements.
As always reflective Ray Tracing works best when there are a lot of reflective surfaces.
EXAMPLE 1. Ray Tracing vs Good Screen-Space Reflections.
Before I go further, a quick note on Sceen-Space Reflections or SSR. SSR is one of the techniques to approximate reflections instead of using ray tracing. It's much cheaper to compute and the way it works in a nutshell is that it computes reflections in the reflective surfaces from objects that are visible to the player. If the player doesn't see the object - it disappears, which is a big issue of SSR that we will see in the example 2. Below is an example of a relatively good result from SSR reflection in the rain.
SSR
RAY TRACING
We can see SSR does reflect the tree relatively well in the big puddle and creates an illusion of proper reflection. Ray Tracing however gives much more depth to the reflection (SSR uses techniques to approximate reflection but it creates denoising artifacts etc.) and looks much more consistent. It's even more apparent in puddles far away where reflections are still calculated properly and the wet cardboard in front of the player character where SSR breaks as the player doesn't see the big tree in front of him. Now let's remove the tree from our viewpoint and make the case where SSR breaks completely.
EXAMPLE 2. Limits of SSR
SSR
RAY TRACING
OH NO! The big tree is no longer in the player viewpoint and immediately the puddle has nothing to reflect. SSR cannot reflect something the player doesn't see on screen. The puddle therefore reflects the default skybox and while the image still looks okay, it just doesn't feel "right", doesn't it? Notice as well how approximated the reflections of pedestrians are, which look more like shadows than real reflections. In comparison, Ray Tracing draws the line from the puddle and hits the tree branches consistently and therefore we still see the reflection of the tree in the puddle even if it's out of players view. NPCs are alse reflected with much greater precision and the puddle on the left actually reflects the pink mannequin instead of a weird shadow blob.
EXAMPLE 3. Windows
SSR/CubeMaps
RAY TRACING
Another big impact on correctness of imagery of WD: Legion reflections can be seen in the windows of London. Whether when driving or walking around notice how SSR once again cannot reflect things out of sight but also an even simpler technique call cubemaps is sometimes used to approximate reflection in a pre-baked way. This means the reflection is usually low-resolution and placed by hand by the developer - intensive work and the result is still often incorrect. In this case notice how Ray Tracing not only reflects the not-visible-to-player part of the building in top windows (notice also that pre-built in cubemap in top windows shows a reflection of geometry that doesn't exist at all). The bottom window without Ray Tracing uses a simple skybox reflection when there is a flagpole right next to it. The puddle next to the scooter on the bottom right is probably SSR at it's best - the reflection using SSR looks very good but notice how Ray Tracing still has more detail and depth.
Spot the Ray Tracing.
OK These are simple examples but spot the difference for yourselves by looking at this drone metal and the King's college entrance.
Conclusion/TLDR
I hope this post helps people to understand the basics of ray tracing and showcase how it's used in the latest Watch Dogs game. The last question to answer is: is ray-tracing worth it? And the asnwer to that I leave to you. I can only give my opinion.
It will be a decade and at least 1-2 more console generations until we may achieve the use of Ray Tracing for all light sources in real time for games. Today we can expect only partial implementations like those seen in Watch Dogs or Control. Ray Tracing is very expensive and it's even more expensive the more geometry there is in the scene, more light sources, more meshes to bounce of, more materials to compute. That's why Quake 2 is the only demo of full ray-tracing - it's geometry and materials are very basic being over 2 decades old. That being said Ray Tracing in short-term span is not going to drastically change how the picture looks on next-gen consoles but even with partial implementation I hope you notice how correct the image looks in comparison to reconstruction techniques just when looking at reflections. The effect shown on screenshots is more pronounced in motion as there is no place where the ray traced reflections in Watch Dogs falter when moving, driving or hacking. It is a big tradeoff in terms of performance but to me personally I'd rather have proper light and shadows and reflections over 16k textures and 4k native resolution. Just as with many other effects such as smoke, volumetrics etc, ray tracing is here to give us more precision so that our brain believes in the simulation so much more.
PS. The images here were taken on RTX3080, Ultra RTX settings, DLSS Quality at 4k Resolution.
Last edited: