In collaboration with NVIDIA Research this chapter is featured in the upcoming Ray Tracing Gems book, edited by Eric Haines and Tomas Akenine-Möller.
Unlike rasterization, where one can rely on pixel quad partial derivatives, an alternative approach must be taken for ﬁltered texturing during ray tracing. We describe two methods for computing texture level of detail for ray tracing. The ﬁrst approach uses ray diﬀerentials, which is a general solution that gives high-quality results. It is rather expensive in terms of computations and ray storage, however. The second method builds on ray cone tracing and uses a single trilinear lookup, a small amount of ray storage, and fewer computations than ray diﬀerentials. We explain how ray diﬀerentials can be implemented within DirectX Raytracing (DXR) and how to combine them with a G-buﬀer pass for primary visibility. We present a new method to compute barycentric diﬀerentials. In addition, we give previously unpublished details about ray cones and provide a thorough comparison with bilinearly ﬁltered mip level 0, which we consider as a base method.
Tomas Akenine-Möller (NVIDIA), Jim Nilsson (NVIDIA), Magnus Andersson (NVIDIA), Colin Barré-Brisebois (SEED), Robert Toth (NVIDIA), Tero Karras (NVIDIA). Texture Level of Detail Strategies for Real-Time Ray Tracing. Chapter 20 in Ray Tracing Gems, edited by Eric Haines and Tomas Akenine-Möller, Apress, 2019. License: Creative Commons Attribution 4.0 International License (CC-BY-NC-ND), https://raytracinggems.com
You can download the chapter here: PDF (9.5MB)