Computing

How Nvidias RTX Real-Time Ray Tracing Works

Submitted by lakben, , Thread ID: 82926

Thread Closed
lakben
Lurker
Level:
0
Reputation:
0
Posts:
5
Likes:
0
Credits:
21
03-04-2018, 08:44 PM
#1
[Image: optix-isotropix-1280x620.png]

Since it was invented decades ago, ray tracing has been the holy grail for rendering computer graphics realistically. By tracing individual light rays as they bounce off multiple surfaces, it can faithfully recreate reflections, sub-surface scattering (when light penetrates through a bit of a surface like human skin, but scatters back as it goes), translucency, and other nuances that help make a scene compelling. Its commonly used in feature films and advertising, but the large amount of processing time needed has kept it away from real-time applications like gaming.

Nvidia is aiming to change all that with RTX, its high-performance ray tracing library that can churn out detailed scenes at game-worthy frame rates. Well take a deeper look at what makes ray tracing hard, and Nvidias RTX.

How Ray Casting Turns Into Ray Tracing

Theoretically, ray tracing involves casting rays from each light source in a scene, generating (usually randomly) light rays from it, and following them as they hit and are reflected off surfaces. At each surface, the properties of the light are combined with the properties of the material its striking, and of course the angle at which it intersects. The light, which may have picked up a different color from reflecting off the object, is then traced further, using multiple rays that simulate the reflected light thus the term ray tracing. The tracing process continues until the rays leave the scene.


While that process is great in theory, its incredibly time consuming, as most rays dont hit anything were interested in, and other rays can bounce around nearly indefinitely. So real-world solutions make a clever optimization. They use a principle of light called reciprocity, which states the inverse of a light beam works the same way as the original to cast rays from from the virtual camera out into the scene. That means only rays which will contribute to the final scene are cast, greatly increasing efficiency. Those rays are then followed (traced) as they bounce around until they either hit a light source, or exit the scene. Even when they exit the scene, it could be at a point that adds light (like the sky), so either way the amount of illumination added to each surface the ray hits is added to the scene. The software may also limit how many reflections it will follow for a ray if the light contribution is likely to be small.

[Image: Huang-explains-how-light-baking-has-been...40x408.jpg]

Ray Casting Is Massively Processor Intensive

The total number of rays of light falling on a scene is beyond what even the powerful computers used for ray tracing can model. Practically that means ray tracers have to pick a level of quality that determines how many rays are cast from each pixel of the scene in various directions. Then, after calculating where each ray intersects an object in the scene, it needs to follow some number of rays out from each intersection to model reflected light. Calculating those intersections is relatively expensive. Until recently it was also limited to CPUs. Moving it to the GPU, like some modern ray tracers are able to do, has provided a major improvement in speed, but Hollywood-quality results still requires nearly 10 hours per frame on a high-end multi-GPU mini-supercomputer.


Because ray tracing is so processor intensive, interactive applications like games have been unable to use it except to generate compelling scenes in advance. For real-time rendering they rely on rasterization, where each objects surfaces are shaded based on their material properties and which lights fall on them. Clever optimizations such as light baking help make it possible for games to render at high frame rates while still looking great. But they fall short when it comes to subtle interactions like sub-surface scattering. So for the ultimate in recreating realistic scenes, the goal has always been real-time ray tracing.

[/url]https://developer.nvidia.com/rtx[url=https://developer.nvidia.com/rtx]

RE: How Nvidias RTX Real-Time Ray Tracing Works

married to cute
Local Wolfgirl
Level:
95
Reputation:
293
Posts:
6.29K
Likes:
379
Credits:
949
04-04-2018, 02:33 AM
#2
Damn. Sounds really promising, wonder when I'll get to experience that. The struggles of having a shit PC... >-<
Awoo~!

[Image: wJF4V6p.png]

[Image: TpUwOtZ.png]

RE: How Nvidias RTX Real-Time Ray Tracing Works

Hect0r
Newbie
Level:
0
Reputation:
0
Posts:
14
Likes:
0
Credits:
15
11-05-2018, 09:00 AM
#3
the metro exidus demo looks unreal tbf, I love how this tech works to make the picture rendered in pretty mode Smile

Users browsing this thread: 1 Guest(s)