ProcFunc: Function-Oriented Abstractions for Procedural 3D Generation in Python
About
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. Please visit https://github.com/princeton-vl/procfunc for source code.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| Stereo Matching | KITTI 2015 | -- | 118 | |
| Stereo Matching | ETH3D | -- | 57 | |
| Stereo Matching | Booster Quarter resolution | EPE1.42 | 5 | |
| Stereo Matching | Middlebury Full resolution 2014 (val) | EPE2.23 | 5 | |
| Stereo Matching | Middlebury Half resolution 2014 (val) | EPE1.16 | 5 |