OcMesher: View-Dependent Octree-based Mesh Extraction in Unbounded Scenes for Procedural Synthetic Data
Implementation source-code for OcMesher, which extracts a mesh for an unbounded scene represented by signed distance functions (SDFs). Even though the scene is unbounded, the mesh is memory-efficient, and highly detailed from a given set of camera views. OcMesher is used by default in Infinigen to speed up video generation, improve rendering quality, and export terrain meshes to external simulators.
If you use OcMesher in your work, please cite our academic paper:
Zeyu Ma,
Alexander Raistrick,
Lahav Lipson,
Jia Deng
@inproceedings{ma2025mesh,
title={Mesh Extraction for Unbounded Scenes Using Camera-Aware Octrees},
author={Ma, Zeyu and Raistrick, Alexander and Lipson, Lahav and Deng, Jia},
booktitle={2025 International Conference on 3D Vision (3DV)},
pages={845--854},
year={2025},
organization={IEEE}
}
Please view the video here for more qualitative results
💡 Note: OcMesher is installed by default in Infinigen as of v1.2.0 - if you wish to use OcMesher with Infinigen please follow the Installation instructions on the infinigen repo. Use the instructions below only if you want a standalone installation & demo.
git clone https://github.com/princeton-vl/OcMesher.git
cd OcMesher
bash install.sh
conda create --name ocmesher python=3.10
conda activate ocmesher
pip install -r requirements.txt
python demo.py
This example uses one camera and the Perlin Noise from the Python library vnoise and outputs the resulting mesh in results/demo.obj.
