Ray Tracing Essentials Part 1: Basics of Ray Tracing

Started by JeGX, December 19, 2019, 08:02:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

JeGX

Quote
In February 2019, NVIDIA published Ray Tracing Gems, a deep-dive into best practices for real-time ray tracing. The book was made free-to-download, in an effort to help all developers embrace the bleeding edge of rendering technology.

Ray Tracing Essentials is a seven-part video series hosted by the editor of Ray Tracing Gems, NVIDIA's Eric Haines. The aim of this program is to make developers cognizant of various terms and concepts used in the field, while also inspiring them with dramatic and beautiful uses of the technology.

Links:
- Ray Tracing Essentials, Part 1 @ youtube
- Ray Tracing Essentials, Part 1: Basics of Ray Tracing @ NVIDIA dev blog

NVIDIA - Ray Tracing Essentials

JeGX

Quote
For decades, rasterization, also known as the Z-buffer, has been the method of choice for rendering 3D images at interactive rates. This talk contrasts and compares it with ray tracing, showing how the operations have a certain symmetry. Each algorithm has its own strengths and weaknesses, though these differences are sometimes misunderstood.

Link: https://news.developer.nvidia.com/ray-tracing-essentials-part-2-rasterization-versus-ray-tracing/

JeGX

Quote
Ray tracing is "embarrassingly parallel." The idea of making special-purpose hardware to accelerate ray tracing has been around for decades, with the AT&T Pixel Machine from 1987 being the oldest commercial effort.

Progress since then has made even the lowliest cell phone today more powerful than that behemoth. However, Moore's Law for CPUs has been slowing down, so more domain-specific solutions have begun to come to the fore.

NVIDIA's Turing architecture introduced acceleration for bounding volume hierarchy and neural net evaluation, both of which make real-time ray tracing feasible for more complex scenes.

Link: https://news.developer.nvidia.com/ray-tracing-essentials-part-3-ray-tracing-hardware/

JeGX

Quote
Rasterization has a linear pipeline, typically with triangles input and pixel samples output.

Interactive ray tracing in DirectX 12 DXR, Vulkan, or OptiX starts with a ray and ends with a pixel sample, but along the way more rays can be generated to influence the final result.

Five new types of shaders are introduced for ray generation, intersecting custom primitives, and for controlling per-ray behavior.

Fast ray tracing can also be used for accelerating baking, generating ground-truth images, and other purposes.

Link: https://news.developer.nvidia.com/ray-tracing-essentials-part-4-the-ray-tracing-pipeline/

JeGX

Quote
In Part 6, Eric Haines describes the ray tracing rendering equation. Arguably the most important equation in realistic computer graphics is The Rendering Equation. In this talk we show this equation and explain each term.

Links:
- Announcement @ NVIDIA
- The Rendering Equation video @ youtube

JeGX

Quote
In the final video of the series: NVIDIA's Eric Haines describes the process of denoising for ray tracing. A critical element in making realistic, high-quality images with ray tracing at interactive rates is the process of denoising. Using path tracing will (eventually) give the right answer, but there is a diminishing return for each new ray shot. To keep performance interactive, various denoising techniques can be used to clean up the wide variance sometimes seen when only a few rays are shot.
The two main denoising approaches are human-controlled algorithms and those created by training neural networks.

Links:
- Announcement @ NVIDIA
- Denoising for Ray Tracing video @ youtube