Ray tracing

Refraction Ray Cones for Texture Level of Detail

Texture filtering is an important implementation detail of every rendering system. Its purpose is to achieve high-quality rendering of textured surfaces, while avoiding artifacts, such as aliasing, Moire patterns, and unnecessary overblur. In this …

Improved Shader and Texture Level of Detail Using Ray Cones

In real-time ray tracing, texture filtering is an important technique to increase image quality. Current games, such as Minecraft with RTX on Windows 10, use ray cones to determine texture-filtering footprints. In this paper, we present several …

Ray Tracing Gems

Introduction to Real-Time Ray Tracing

Temporally Dense Ray Tracing

We present a technique for real-time ray tracing with the goal of reaching 240 frames per second or more. The core idea is to trade spatial resolution for faster temporal updates in such a way that the display and human visual system aid in …

Precision Improvements for Ray/Sphere Intersection

The traditional quadratic formula is often presented as the way to compute the intersection of a ray with a sphere. While mathematically correct, this factorization can be numerically unstable when using floating-point arithmetic. We give two …

Simple Environment Map Filtering Using Ray Cones and Ray Differentials

We describe simple methods for how to filter environment maps using ray cones and ray differentials in a ray tracing engine.

Texture Level of Detail Strategies for Real-Time Ray Tracing

Unlike rasterization, where one can rely on pixel quad partial derivatives, an alternative approach must be taken for filtered texturing during ray tracing. We describe two methods for computing texture level of detail for ray tracing. The first …

What is a Ray?

We define a ray, show how to use ray intervals, and demonstrate how to specify a ray using DirectX Raytracing (DXR).

Introduction to DirectX Raytracing

Modern graphics APIs such as DirectX 12 expose low-level hardware access and control to developers, often resulting in complex and verbose code that can be intimidating for novices. In this chapter, we hope to demystify the steps to set up and use …