Open-Ended Photorealistic 3D Worlds through Procedural Generation

Yi-Chuan Huang1,2 · Hao-Jen Chien2 · Zheng-Hui Huang1,3 · Yu-Lun Liu2 · Kaipeng Zhang1 · Zhixiang Wang1

1Alaya Lab   2National Yang Ming Chiao Tung University   3National Taiwan University

Worlds in Code

The world is a program.
Change anything, any time.

Open-ended

Generation beyond the predefined.
Explore as far as you like.

Diverse

Change the seeds, get a forest.
Variety that scales to a whole landscape.

From a sentence to a living world

Infinigen InfiniDream

Move across the frame. Left is the Infinigen base scene, right is the generated world.

Coded into this scene

Baselines

VLM (Harness)
VIGA
Code2Worlds

High-fidelity assets from code

Most VLM-written 3D code composes simple primitives with boolean operations, which caps how detailed an asset can get. InfiniDream builds on an existing photorealistic procedural library and extends it beyond its predefined assets.

New seed, new variant

The same program, re-seeded, gives a large scene all the variety it needs.

Less code, more control

Handing a VLM the entire Infinigen codebase leads to imprecise editing. SCE instead extracts the key code structures and explicit editing constraints, turning a large procedural codebase into a manageable editing space.

Baseline 1: a VLM modelling from scratch, with no procedural code to build on Baseline 2: Infinigen's own hand-written factories, a fixed catalogue Baseline 3: handing the VLM the entire Infinigen codebase, 833 files Ours: Symbolically Constrained Editing narrows 833 files to 3 editable ones

VLM-generated Blender code from scratch produces simplified geometry. Shapes are assembled from primitives and boolean operations, which makes photorealism hard to reach.

Infinigen reaches photorealism through procedural asset factories that were each handcrafted by a person. Its generative capabilities stay bounded by predefined asset categories and procedural rules, so a genuinely new asset type cannot be asked for.

A VLM agent harness with full access to all 833 files and 257,301 lines has every capability in reach. Even so, providing the entire codebase directly leads to imprecise editing.

Symbolically Constrained Editing narrows the same codebase to the handful of modules that actually decide the shape, found per asset by depth-limited dependency analysis and handed over with a Code Structure Map and read-only links to the shared algorithms. Existing procedural algorithms are reused under explicit constraints, so editability and seed-based diversity are preserved.

Precise edits, procedural infinity

SCE generates novel, photorealistic procedural assets with rich geometric details beyond predefined factories, while preserving editability and seed-based diversity.

Stage A: map and retrieve the closest Infinigen factory and build a Factory Brief Stage B: the Planner writes a structured Editing Plan Stage C: the Coarse Constructor executes the plan inside the declared boundaries Stage D: the Reviser refines from renders and a Selector keeps the best candidate

From a text description and an optional reference image, the closest Infinigen factory is retrieved and wrapped in a Factory Brief: a map of the code’s structure, an Editable Surface of asset-specific modules found by depth-limited dependency analysis, and read-only symlinks to the shared low-level algorithms. Those boundaries are what stop editing from reaching the procedural machinery underneath.

The Planner writes a structured Editing Plan. Strategy picks between Tweak (adjust existing parameters and logic), Create (add new procedural functions) and Promote (extend editing rights into protected modules). Locate points at the exact file and line, Edit states what changes there, Rely_on lists the shared algorithms it may read, and Risks flags what could break, such as a changed parameter count.

The Coder executes that plan inside the declared boundaries, keeping the factory’s entry points and function signatures intact so the population pipeline and seed control still work. It widens sampling ranges rather than pinning parameters, so seed-dependent variation survives the edit.

The Reviser renders the result, compares it against the description and reference image, and patches the gaps in geometry, material and detail with further code edits inside the same boundaries. A Selector keeps the best candidate across iterations.

Reasons carefully, places perfectly

An end-to-end text-to-world framework combining semantic scene planning with deterministic frustum-guided grid placement, to generate large-scale, editable 3D worlds.

Stage A: a text prompt is matched against the Infinigen scene library to pick a base scene Stage B: the Director writes a structured Scene Plan of operations, asset specs and placement constraints Stage C-D: frustum-guided grid placement turns the semantic constraints into filtered 3D candidate positions Stage E-F: assets are pooled, populated on the fine terrain, animated and rendered

A text prompt goes in, and the Scene Picker retrieves the Infinigen base scene that best fits it as a starting point.

The Director turns the prompt into a structured Scene Plan of add, replace and delete operations, asset specs, and semantic placement constraints: Hero, Scattering or Swarm placement, seven anchoring types, a surface policy, instance counts and motion. Every continuous geometric decision is left to deterministic placement.

Those constraints become 3D candidates with no extra VLM call: the camera’s image plane is discretised into a grid and candidates are generated along its rays, by surface intersection for grounded objects and at depth intervals for airborne or submerged ones. Each candidate passes five deterministic checks: visibility, collision against motion swept envelopes, inter-instance spacing, surface policy, and projected-area band. The nearest survivor wins. Because the search runs near-to-far under projected-area bounds, size-aware placement falls out for free: small objects land close, large ones further away.

Assets are pooled before they are populated: the Director’s N instances are built from only K procedural prototypes and linked-duplicated, cutting expensive constructions from N to K while keeping seed-level variety. The pooled assets are then placed by anchoring mode, merged with Infinigen’s fine terrain pipeline, animated from the same motion spec that drove collision checking, and rendered.

4/4perceptual metrics, best at both object & scene level
91%human preference for semantic alignment on scenes
83%overall human preference across scene tasks
+10%more visual diversity than TRELLIS.2 at comparable semantic alignment

BibTeX

@article{infinidream2026,
  title   = {InfiniDream: Open-Ended Photorealistic 3D Worlds
             through Procedural Generation},
  author  = {Huang, Yi-Chuan and Chien, Hao-Jen and Huang, Zheng-Hui
             and Liu, Yu-Lun and Zhang, Kaipeng and Wang, Zhixiang},
  journal = {arXiv preprint arXiv:2610.26853},
  year    = {2026}
}