Abstract: | When rendering only directly visible objects, ray tracing a few levels of specular reflection from large, low‐curvaturesurfaces, and ray tracing shadows from point‐like light sources, the accessed geometry is coherentand a geometry cache performs well. But in many other cases, the accessed geometry is incoherent and a standardgeometry cache performs poorly: ray tracing of specular reflection from highly curved surfaces, tracing rays thatare many reflection levels deep, and distribution ray tracing for wide glossy reflection, global illumination, widesoft shadows, and ambient occlusion. Fortunately, less geometric accuracy is necessary in the incoherent cases.This observation can be formalized by looking at the ray differentials for different types of scattering: coherentrays have small differentials, while incoherent rays have large differentials. We utilize this observation to obtainefficient multiresolution caching of geometry and textures (including displacement maps) for classic and distributionray tracing in complex scenes. We use an existing multiresolution caching scheme (originally developed forscanline rendering) for textures and displacement maps, and introduce a multiresolution geometry caching schemefor tessellated surfaces. The multiresolution geometry caching scheme makes it possible to efficiently render scenesthat, if fully tessellated, would use 100 times more memory than the geometry cache size. |