“Rendering Vector Displacement Mapped Surfaces in a GPU Ray Tracer” by Takahiro Harada, featured in GPU Pro 6:


Overview

The paper presents a method for direct ray tracing of vector displacement mapped (VDM) surfaces on the GPU, specifically using OpenCL and tested on AMD FirePro W9100 GPU. The technique avoids pre-tessellation and instead builds geometry on-the-fly, enabling high-detail rendering with low memory usage and competitive performance.


Key Concepts

1. Vector Displacement Mapping (VDM)


2. Ray Tracing with VDM

Challenges

Solution


3. Quad BVH Construction

Structure

Compression


4. GPU Implementation with OpenCL

Parallelization Strategy

Atomic Operations


5. Integration into Ray Tracer

Three-Level BVH Hierarchy

  1. Top-Level: Stores meshes and transforms.
  2. Middle-Level: Stores primitives (triangles, quads, VD patches).
  3. Bottom-Level: Built on-the-fly for VD patches.

Traversal Strategy


6. Performance and Results

Memory Usage

Rendering Time

Indirect Illumination


Conclusion

The proposed method enables efficient GPU ray tracing of vector displacement mapped surfaces with:

The paper emphasizes that optimizing bottom-level BVH construction and traversal is more critical than optimizing for simple primitives.