Overview
Research area: Computer Vision Authors: Alexander Raistrick, Karhan Kayan, Jack Nugent Published: 2025-04-30 arXiv: 2504.20775
Abstract
We introduce ProcFunc, a library for Blender-based procedural 3D generation in Python. ProcFunc provides a library of easy-to-use Python functions, which streamline creating, combining, analyzing, and executing procedural generation code.
ProcFunc makes it easy to create large-scale diverse training data, by combinatorial compositions of semantic components. VLMs can use ProcFunc to edit procedural material and geometry code and can create new procedural code with significantly fewer coding errors. Finally, as an example use case, we use ProcFunc to develop a new procedural generator of indoor rooms, which includes a collection of new compositional procedural materials. We demonstrate the detail, runtime efficiency, and diversity of this room generator, as well as its use for 3D synthetic data generation.
Key Highlights
- Blender-based Python library for procedural 3D generation with function-oriented abstractions.
- Large-scale synthetic data: combinatorial composition of semantic components enables diverse training data generation.
- VLM integration: vision-language models can edit and author procedural material and geometry code with significantly fewer coding errors.
- Indoor room generator: an example use case built with ProcFunc, featuring new compositional procedural materials with high detail, runtime efficiency, and diversity.
- Paper: https://arxiv.org/abs/2504.20775
- Source code: https://github.com/princeton-vl/procfunc