ProcFunc: Function-Oriented Abstractions for Procedural 3D Generation in Python

arXiv cs.CV / 4/30/2026

📰 NewsDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

Key Points

  • ProcFunc is a new Python library (Blender-based) that offers function-oriented abstractions to simplify procedural 3D generation workflows.
  • It provides reusable functions to create, combine, analyze, and run procedural code, enabling combinatorial assembly of semantic components to generate large, diverse training data.
  • The library is positioned as a target for VLM-assisted editing and generation of procedural material/geometry code, aiming to reduce coding errors.
  • As a demonstration, the authors build an indoor room procedural generator, including newly composed procedural materials, and evaluate its detail quality, runtime efficiency, and diversity for synthetic 3D data generation.

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. Please visit https://github.com/princeton-vl/procfunc for source code.