Reference CPU implementation for the paper:
2025, Hoetzlein, Projective Displacement Mapping for Ray Traced Editable Surfaces
Pacific Graphics 2025. Taipei, Taiwan.
Project Website: https://ramakarl.com/pdm
Full video (narrated): Youtube
Appendices & Proofs: arXiv
Updated Nov 2025
Build with cmake is now simpler and faster.
Libmin dependent code is directly compiled into the project (no shared or static libs).
Steps:
- Clone this ProjectiveDisplacement repo
- Clone libmin as a sibling folder
\codes ├── \ProjectiveDisplacement └── \libmin
- Run cmake or cmake-gui on the ProjectiveDisplacement cmake.
See libmin for more details.
This repository contains the reference CPU implementation for Projective Displacement Mapping,
for algorithm validation and correctness. No BVH, acceleration structures, or multi-core.
Details can be found in proj_displace_mesh.cpp.
The entry point for the primary algorithm is the function: RaytraceDisplacementMesh
For GPU Implementation, contact me at: [email protected]
Rama Hoetzlein (c) Quanta Sciences, 2023-2025.
MIT License


