For most of the history of real-time graphics, GPUs didn't actually simulate light — they faked it, extremely well. Rasterization, the technique behind essentially every 3D game and real-time visualization tool until the last few years, projects triangles onto the screen and shades them with math tricks that approximate how light should look. Ray tracing does something fundamentally different: it traces the actual path light would take, bouncing off surfaces, to compute what a pixel should show. The catch is that doing this in real time, at 60+ frames per second, was considered borderline impossible until hardware and software both caught up around the same time.

What Rasterization Actually Does

Rasterization takes every triangle in a 3D scene, projects it onto a 2D screen using the camera's perspective, and figures out which pixels it covers. For each covered pixel, a shader runs — a small program that decides the color, using inputs like textures, normals, and precomputed lighting information. None of this involves simulating how light physically travels through the scene. Shadows, reflections, and global illumination (light bouncing between surfaces) are all separate, specialized techniques — shadow maps, screen-space reflections, baked lightmaps — each with its own well-known limitations. Screen-space reflections, for instance, can only reflect what's already visible on screen; step outside the camera's view and the reflection breaks or disappears.

What Ray Tracing (and Path Tracing) Actually Does

Ray tracing casts individual rays from the camera through each pixel and tests where they intersect the scene's geometry. When a ray hits a surface, the renderer can then cast additional rays from that hit point — toward light sources to check for shadows, or in a reflected/refracted direction to simulate mirrors and glass. Do this recursively, scattering rays in random directions according to each surface's material properties and accumulating the light they gather, and you get path tracing — the more complete, more expensive technique that Monte Carlo-samples the full light transport of a scene. Ray tracing, strictly speaking, is the intersection-testing mechanism; path tracing is one specific (and the most physically accurate) way of using it.

Key distinction

Ray tracing = the technique for testing where a ray hits geometry. Path tracing = using that technique recursively, with random sampling, to simulate the full behavior of light in a scene. Every path-traced renderer uses ray tracing; not every ray-traced effect is path tracing.

Side-by-side diagram comparing rasterization (projecting triangles onto a screen) with ray tracing (tracing rays that bounce toward a light source)
Rasterization projects geometry onto the screen and shades it directly; ray tracing simulates how light actually travels.

Why Real-Time Ray Tracing Needs Denoising

A fully path-traced image needs thousands of light samples per pixel to look clean — that's why offline movie renderers can take minutes or hours per frame. A real-time renderer gets a tiny fraction of a millisecond per pixel, so it can only afford a handful of samples — often just one or two rays per pixel for effects like reflections or global illumination. The result, on its own, is a visibly noisy, grainy image, not a clean one. This is the actual reason technologies like DLSS Ray Reconstruction, or equivalent denoising passes in other engines, exist alongside ray tracing: a spatial and temporal denoising pass (often machine-learning based) reconstructs a clean image from those sparse, noisy samples by intelligently blending information across nearby pixels and previous frames. Real-time ray tracing isn't just ‘ray tracing running fast’ — it's sparse ray tracing plus aggressive, learned denoising working together. Neither half works well alone at real-time frame rates.

Real-time ray tracing isn't ray tracing running fast — it's a handful of noisy samples per pixel, reconstructed into a clean image by a denoiser doing as much visual heavy lifting as the ray tracing itself.

Hybrid Rendering: How Modern Engines Actually Use Both

Almost no real-time renderer is purely ray traced. Engines like Unreal Engine 5 use hybrid pipelines: rasterization still handles primary visibility (what's directly in front of the camera) because it's dramatically cheaper for that job, while ray tracing gets reserved for the effects rasterization genuinely can't do well — reflections, ambient occlusion, and global illumination. Unreal's Lumen system, for example, can compute its dynamic global illumination using either hardware ray tracing (via RT cores on supporting GPUs) or a software ray tracing fallback that traces against a simplified proxy representation of the scene, trading some accuracy for compatibility on hardware without dedicated ray tracing acceleration. The point of hybrid rendering isn't purity — it's spending the ray tracing budget only where rasterization's approximations visibly break down.

Flow diagram of a hybrid rendering pipeline: camera, rasterized primary visibility, three ray-traced effects (reflections, global illumination, shadows), a denoising pass, then the final frame
A typical hybrid pipeline — rasterization does the heavy lifting, ray tracing is reserved for a few targeted effects.

The Data Structure That Makes Any of This Fast Enough: BVH

Naively testing a ray against every triangle in a scene would be far too slow — a moderately detailed scene can have millions of triangles, and a single frame casts millions of rays. Real-time ray tracing depends on a bounding volume hierarchy (BVH): a tree of nested bounding boxes that lets the renderer quickly rule out huge chunks of geometry a ray obviously can't hit, narrowing down to the handful of triangles that actually matter in a few steps instead of scanning everything. Building and updating this structure every frame — especially for scenes with moving or deforming geometry — is itself a major engineering problem, which is exactly what dedicated ray tracing hardware (like RT cores) is built to accelerate.

Diagram showing a scene split into nested bounding boxes on the left, and the corresponding BVH tree traversal on the right, with pruned branches shown in grey
A BVH lets a ray skip entire regions of geometry it obviously can't hit, testing only the branch it actually enters.

Where This Is Heading

Full path tracing in real time — no rasterization at all, every pixel computed by simulating actual light transport — already exists in a few showcase titles (Cyberpunk 2077's ‘Overdrive’ mode being the most visible example), but it remains extremely GPU-intensive and leans hard on denoising and frame generation to hit playable frame rates. The more practical trend for most software isn't ‘more path tracing everywhere’ — it's better hybrid pipelines and smarter denoising, so a small, well-placed ray budget produces results that used to require ray tracing everything. For 3D professionals working outside games — architectural visualization, digital twins, product rendering — the same underlying shift matters: real-time, interactively lit previews are converging toward what used to require an offline render, without needing an offline render's compute budget.

Is ray tracing always better than rasterization?

Not universally — it's more physically accurate for effects like reflections and global illumination, but far more computationally expensive. Most real-time software uses rasterization for the bulk of the frame and ray tracing selectively, because that combination is faster and visually close enough for most scenes.

Do I need an RTX GPU to use ray tracing?

Dedicated hardware (like NVIDIA's RT cores, or AMD's Ray Accelerators) speeds up ray tracing significantly, but software ray tracing without that hardware is possible too — it's just slower, which is why engines like Unreal Engine 5 offer a software fallback path for GI and reflections.

What's the actual difference between ray tracing and path tracing?

Ray tracing is the general technique of tracing rays to find intersections with scene geometry. Path tracing is a specific, more complete application of it — recursively tracing many randomly sampled rays to simulate the full behavior of light. Path tracing is a form of ray tracing; not all ray tracing is path tracing.