ABSTRACT

This chapter discusses Rendering Vector Displacement-Mapped Surfaces in a Graphics processing units (GPU) Ray Tracer. It describes a single-threaded implementation of the intersection of a ray with a vector displacement (VD) patch to simplify the explanation. The chapter explores a method to ray-trace vector displacement-mapped surfaces on the GPU. Despite its complexity in the ray-casting algorithm, direct ray tracing of vector displacement maps was faster for most of the experiments. The chapter focuses on the ray–VD patch intersection, although using it in a ray tracer requires additional changes. Displacement mapping is a technique to add geometric detail to a simple geometry. The freedom in vector displacement mapping poses technical challenges when it is ray traced. In vector displacement mapping, there is no constraint in displacement direction. The biggest advantage of using vector displacement maps is their small memory footprints, as they create highly detailed geometry on the fly rather than preparing a high-resolution mesh.