Objects (.objects)#

ant_landscape#

class infinigen2.objects.ant_landscape.LandscapeParameters[source]#

Bases: TypedDict

class infinigen2.objects.ant_landscape.LandscapeResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.ant_landscape.landscape(material=None, **kwargs) → pf.MeshObject[source]#

Create one mesh with the ANT Landscape operator.

Parameters:
infinigen2.objects.ant_landscape.landscape_canyon_rand(...) → LandscapeResult[source]#

Example renders

infinigen2.objects.ant_landscape.landscape_canyon_rand seed 0
infinigen2 landscape_canyon_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_canyon_rand seed 1
infinigen2 landscape_canyon_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_canyon_rand seed 2
infinigen2 landscape_canyon_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_canyon_rand seed 3
infinigen2 landscape_canyon_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_canyon_rand seed 4
infinigen2 landscape_canyon_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_canyon_rand seed 5
infinigen2 landscape_canyon_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector) -- (default: Vector((150.0, 150.0, 150.0)))

  • mesh_resolution (float) -- (default: 0.3)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.ant_landscape.landscape_cliff_rand(...) → LandscapeResult[source]#

Example renders

infinigen2.objects.ant_landscape.landscape_cliff_rand seed 0
infinigen2 landscape_cliff_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_cliff_rand seed 1
infinigen2 landscape_cliff_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_cliff_rand seed 2
infinigen2 landscape_cliff_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_cliff_rand seed 3
infinigen2 landscape_cliff_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_cliff_rand seed 4
infinigen2 landscape_cliff_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_cliff_rand seed 5
infinigen2 landscape_cliff_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector) -- (default: Vector((150.0, 150.0, 150.0)))

  • mesh_resolution (float) -- (default: 0.3)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.ant_landscape.landscape_generalized_rand(...) → LandscapeResult[source]#

Example renders

infinigen2.objects.ant_landscape.landscape_generalized_rand seed 0
infinigen2 landscape_generalized_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_generalized_rand seed 1
infinigen2 landscape_generalized_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_generalized_rand seed 2
infinigen2 landscape_generalized_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_generalized_rand seed 3
infinigen2 landscape_generalized_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_generalized_rand seed 4
infinigen2 landscape_generalized_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_generalized_rand seed 5
infinigen2 landscape_generalized_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.ant_landscape.landscape_mesa_rand(...) → LandscapeResult[source]#

Example renders

infinigen2.objects.ant_landscape.landscape_mesa_rand seed 0
infinigen2 landscape_mesa_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mesa_rand seed 1
infinigen2 landscape_mesa_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mesa_rand seed 2
infinigen2 landscape_mesa_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mesa_rand seed 3
infinigen2 landscape_mesa_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mesa_rand seed 4
infinigen2 landscape_mesa_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mesa_rand seed 5
infinigen2 landscape_mesa_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector) -- (default: Vector((150.0, 150.0, 150.0)))

  • mesh_resolution (float) -- (default: 0.3)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.ant_landscape.landscape_mountain_rand(...) → LandscapeResult[source]#

Example renders

infinigen2.objects.ant_landscape.landscape_mountain_rand seed 0
infinigen2 landscape_mountain_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mountain_rand seed 1
infinigen2 landscape_mountain_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mountain_rand seed 2
infinigen2 landscape_mountain_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mountain_rand seed 3
infinigen2 landscape_mountain_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mountain_rand seed 4
infinigen2 landscape_mountain_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_mountain_rand seed 5
infinigen2 landscape_mountain_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector) -- (default: Vector((150.0, 150.0, 150.0)))

  • mesh_resolution (float) -- (default: 0.3)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.ant_landscape.landscape_rand(...) → LandscapeResult[source]#

Example renders

infinigen2.objects.ant_landscape.landscape_rand seed 0
infinigen2 landscape_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_rand seed 1
infinigen2 landscape_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_rand seed 2
infinigen2 landscape_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_rand seed 3
infinigen2 landscape_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_rand seed 4
infinigen2 landscape_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_rand seed 5
infinigen2 landscape_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector) -- (default: Vector((150.0, 150.0, 150.0)))

  • mesh_resolution (float) -- (default: 0.3)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.ant_landscape.landscape_rand_from_params(...) → LandscapeResult[source]#
Parameters:
infinigen2.objects.ant_landscape.landscape_river_rand(...) → LandscapeResult[source]#

Example renders

infinigen2.objects.ant_landscape.landscape_river_rand seed 0
infinigen2 landscape_river_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_river_rand seed 1
infinigen2 landscape_river_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_river_rand seed 2
infinigen2 landscape_river_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_river_rand seed 3
infinigen2 landscape_river_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_river_rand seed 4
infinigen2 landscape_river_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_river_rand seed 5
infinigen2 landscape_river_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector) -- (default: Vector((150.0, 150.0, 150.0)))

  • mesh_resolution (float) -- (default: 0.3)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.ant_landscape.landscape_volcano_rand(...) → LandscapeResult[source]#

Example renders

infinigen2.objects.ant_landscape.landscape_volcano_rand seed 0
infinigen2 landscape_volcano_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_volcano_rand seed 1
infinigen2 landscape_volcano_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_volcano_rand seed 2
infinigen2 landscape_volcano_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_volcano_rand seed 3
infinigen2 landscape_volcano_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_volcano_rand seed 4
infinigen2 landscape_volcano_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ant_landscape.landscape_volcano_rand seed 5
infinigen2 landscape_volcano_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector) -- (default: Vector((150.0, 150.0, 150.0)))

  • mesh_resolution (float) -- (default: 0.3)

  • material (pf.Material | None) -- (default: None)

bathroom_hardware#

class infinigen2.objects.bathroom_hardware.BathroomHardwareResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.bathroom_hardware.hardware_bar(...) → BathroomHardwareResult[source]#
Parameters:
  • material (pf.Material)

  • square (bool) -- (default: False)

  • attachment_radius (float) -- (default: 0.025)

  • attachment_depth (float) -- (default: 0.0125)

  • radius (float) -- (default: 0.0125)

  • depth (float) -- (default: 0.08)

  • bar_length (float) -- (default: 0.6)

  • extension_length (float) -- (default: 0.06)

infinigen2.objects.bathroom_hardware.hardware_bar_rand(...) → BathroomHardwareResult[source]#

Example renders

infinigen2.objects.bathroom_hardware.hardware_bar_rand seed 0
infinigen2 hardware_bar_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bar_rand seed 1
infinigen2 hardware_bar_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bar_rand seed 2
infinigen2 hardware_bar_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bar_rand seed 3
infinigen2 hardware_bar_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bar_rand seed 4
infinigen2 hardware_bar_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bar_rand seed 5
infinigen2 hardware_bar_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • material (pf.Material | None) -- (default: None)

  • attachment_radius (float | None) -- (default: None)

  • attachment_depth (float | None) -- (default: None)

  • radius (float | None) -- (default: None)

  • depth (float | None) -- (default: None)

  • square (bool | None) -- (default: None)

  • bar_length (float | None) -- (default: None)

  • extension_length (float | None) -- (default: None)

infinigen2.objects.bathroom_hardware.hardware_bathroom_rand(
rng,
material=None,
) → BathroomHardwareResult[source]#

Example renders

infinigen2.objects.bathroom_hardware.hardware_bathroom_rand seed 0
infinigen2 hardware_bathroom_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bathroom_rand seed 1
infinigen2 hardware_bathroom_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bathroom_rand seed 2
infinigen2 hardware_bathroom_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bathroom_rand seed 3
infinigen2 hardware_bathroom_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bathroom_rand seed 4
infinigen2 hardware_bathroom_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_bathroom_rand seed 5
infinigen2 hardware_bathroom_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.bathroom_hardware.hardware_holder(...) → BathroomHardwareResult[source]#
Parameters:
  • material (pf.Material)

  • square (bool) -- (default: False)

  • attachment_radius (float) -- (default: 0.025)

  • attachment_depth (float) -- (default: 0.0125)

  • radius (float) -- (default: 0.0125)

  • depth (float) -- (default: 0.08)

  • holder_length (float) -- (default: 0.2)

  • extension_length (float) -- (default: 0.06)

infinigen2.objects.bathroom_hardware.hardware_holder_rand(...) → BathroomHardwareResult[source]#

Example renders

infinigen2.objects.bathroom_hardware.hardware_holder_rand seed 0
infinigen2 hardware_holder_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_holder_rand seed 1
infinigen2 hardware_holder_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_holder_rand seed 2
infinigen2 hardware_holder_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_holder_rand seed 3
infinigen2 hardware_holder_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_holder_rand seed 4
infinigen2 hardware_holder_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_holder_rand seed 5
infinigen2 hardware_holder_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • material (pf.Material | None) -- (default: None)

  • attachment_radius (float | None) -- (default: None)

  • attachment_depth (float | None) -- (default: None)

  • radius (float | None) -- (default: None)

  • depth (float | None) -- (default: None)

  • square (bool | None) -- (default: None)

  • holder_length (float | None) -- (default: None)

  • extension_length (float | None) -- (default: None)

infinigen2.objects.bathroom_hardware.hardware_hook(...) → BathroomHardwareResult[source]#
Parameters:
  • material (pf.Material)

  • square (bool) -- (default: False)

  • attachment_radius (float) -- (default: 0.025)

  • attachment_depth (float) -- (default: 0.0125)

  • radius (float) -- (default: 0.0125)

  • depth (float) -- (default: 0.08)

  • hook_length (float) -- (default: 0.075)

infinigen2.objects.bathroom_hardware.hardware_hook_rand(...) → BathroomHardwareResult[source]#

Example renders

infinigen2.objects.bathroom_hardware.hardware_hook_rand seed 0
infinigen2 hardware_hook_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_hook_rand seed 1
infinigen2 hardware_hook_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_hook_rand seed 2
infinigen2 hardware_hook_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_hook_rand seed 3
infinigen2 hardware_hook_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_hook_rand seed 4
infinigen2 hardware_hook_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_hook_rand seed 5
infinigen2 hardware_hook_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • material (pf.Material | None) -- (default: None)

  • attachment_radius (float | None) -- (default: None)

  • attachment_depth (float | None) -- (default: None)

  • radius (float | None) -- (default: None)

  • depth (float | None) -- (default: None)

  • square (bool | None) -- (default: None)

  • hook_length (float | None) -- (default: None)

infinigen2.objects.bathroom_hardware.hardware_ring(...) → BathroomHardwareResult[source]#
Parameters:
  • material (pf.Material)

  • square (bool) -- (default: False)

  • attachment_radius (float) -- (default: 0.025)

  • attachment_depth (float) -- (default: 0.0125)

  • radius (float) -- (default: 0.0125)

  • depth (float) -- (default: 0.08)

  • ring_radius (float) -- (default: 0.1)

  • ring_minor_scale (float) -- (default: 0.55)

infinigen2.objects.bathroom_hardware.hardware_ring_rand(...) → BathroomHardwareResult[source]#

Example renders

infinigen2.objects.bathroom_hardware.hardware_ring_rand seed 0
infinigen2 hardware_ring_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_ring_rand seed 1
infinigen2 hardware_ring_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_ring_rand seed 2
infinigen2 hardware_ring_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_ring_rand seed 3
infinigen2 hardware_ring_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_ring_rand seed 4
infinigen2 hardware_ring_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathroom_hardware.hardware_ring_rand seed 5
infinigen2 hardware_ring_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • material (pf.Material | None) -- (default: None)

  • attachment_radius (float | None) -- (default: None)

  • attachment_depth (float | None) -- (default: None)

  • radius (float | None) -- (default: None)

  • depth (float | None) -- (default: None)

  • square (bool | None) -- (default: None)

  • ring_radius (float | None) -- (default: None)

  • ring_minor_scale (float | None) -- (default: None)

bathtub#

class infinigen2.objects.bathtub.BathtubResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

class infinigen2.objects.bathtub.SinkBathroomResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

class infinigen2.objects.bathtub.SinkPedestalResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.bathtub.bathtub(...) → BathtubResult[source]#
Parameters:
  • width (float) -- (default: 1.75)

  • size (float) -- (default: 0.85)

  • depth (float) -- (default: 0.6)

  • thickness (float) -- (default: 0.04)

  • floor_thickness (float | None) -- (default: None)

  • back_margin (float) -- (default: 0.18)

  • bowl_inset (float) -- (default: 0.05)

  • outer_bottom_inset (float) -- (default: 0.05)

  • corner_radius (float) -- (default: 0.2)

  • bowl_corner_radius (float) -- (default: 0.17)

  • top_bevel_radius (float) -- (default: 0.025)

  • bottom_bevel_radius (float) -- (default: 0.05)

  • inner_top_bevel_radius (float) -- (default: 0.04)

  • inner_bottom_bevel_radius (float) -- (default: 0.1)

  • profile_roundness (float) -- (default: 0.5)

  • hole_radius (float) -- (default: 0.02)

  • surface_material (pf.Material | None) -- (default: None)

  • metal_material (pf.Material | None) -- (default: None)

infinigen2.objects.bathtub.bathtub_rand(...) → BathtubResult[source]#

Example renders

infinigen2.objects.bathtub.bathtub_rand seed 0
infinigen2 bathtub_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.bathtub_rand seed 1
infinigen2 bathtub_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.bathtub_rand seed 2
infinigen2 bathtub_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.bathtub_rand seed 3
infinigen2 bathtub_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.bathtub_rand seed 4
infinigen2 bathtub_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.bathtub_rand seed 5
infinigen2 bathtub_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • width (float | None) -- (default: None)

  • size (float | None) -- (default: None)

  • depth (float | None) -- (default: None)

  • thickness (float | None) -- (default: None)

  • back_margin (float | None) -- (default: None)

  • bowl_inset (float | None) -- (default: None)

  • outer_bottom_inset (float | None) -- (default: None)

  • corner_radius (float | None) -- (default: None)

  • bowl_corner_radius (float | None) -- (default: None)

  • top_bevel_radius (float | None) -- (default: None)

  • bottom_bevel_radius (float | None) -- (default: None)

  • inner_top_bevel_radius (float | None) -- (default: None)

  • inner_bottom_bevel_radius (float | None) -- (default: None)

  • profile_roundness (float | None) -- (default: None)

  • hole_radius (float | None) -- (default: None)

  • surface_material (pf.Material | None) -- (default: None)

  • metal_material (pf.Material | None) -- (default: None)

infinigen2.objects.bathtub.bathtub_shell(...) → pf.ProcNode[pf.MeshObject][source]#
Parameters:
infinigen2.objects.bathtub.sink_bathroom(...) → SinkBathroomResult[source]#
Parameters:
  • width (float) -- (default: 0.75)

  • size (float) -- (default: 0.5)

  • depth (float) -- (default: 0.2)

  • thickness (float) -- (default: 0.025)

  • back_margin (float) -- (default: 0.1)

  • bowl_inset (float) -- (default: 0.025)

  • corner_radius (float) -- (default: 0.02)

  • bowl_corner_radius (float) -- (default: 0.01)

  • outer_bottom_inset (float) -- (default: 0.0)

  • top_bevel_radius (float) -- (default: 0.01)

  • bottom_bevel_radius (float) -- (default: 0.04)

  • inner_top_bevel_radius (float) -- (default: 0.012)

  • profile_roundness (float) -- (default: 0.6)

  • hole_radius (float) -- (default: 0.0175)

  • surface_material (pf.Material | None) -- (default: None)

  • metal_material (pf.Material | None) -- (default: None)

infinigen2.objects.bathtub.sink_bathroom_rand(...) → SinkBathroomResult[source]#

Example renders

infinigen2.objects.bathtub.sink_bathroom_rand seed 0
infinigen2 sink_bathroom_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.sink_bathroom_rand seed 1
infinigen2 sink_bathroom_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.sink_bathroom_rand seed 2
infinigen2 sink_bathroom_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.sink_bathroom_rand seed 3
infinigen2 sink_bathroom_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.sink_bathroom_rand seed 4
infinigen2 sink_bathroom_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bathtub.sink_bathroom_rand seed 5
infinigen2 sink_bathroom_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • width (float | None) -- (default: None)

  • size (float | None) -- (default: None)

  • depth (float | None) -- (default: None)

  • thickness (float | None) -- (default: None)

  • back_margin (float | None) -- (default: None)

  • bowl_inset (float | None) -- (default: None)

  • corner_radius (float | None) -- (default: None)

  • bowl_corner_radius (float | None) -- (default: None)

  • top_bevel_radius (float | None) -- (default: None)

  • bottom_bevel_radius (float | None) -- (default: None)

  • inner_top_bevel_radius (float | None) -- (default: None)

  • profile_roundness (float | None) -- (default: None)

  • hole_radius (float | None) -- (default: None)

  • surface_material (pf.Material | None) -- (default: None)

  • metal_material (pf.Material | None) -- (default: None)

infinigen2.objects.bathtub.sink_pedestal(...) → SinkPedestalResult[source]#
Parameters:
  • height (float) -- (default: 0.65)

  • top_radius (float) -- (default: 0.065)

  • bottom_radius (float) -- (default: 0.18)

  • is_circular (bool) -- (default: True)

  • material (pf.Material | None) -- (default: None)

bed#

class infinigen2.objects.bed.BedResult(mesh, mattress_child)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; mattress_child: MeshObject

infinigen2.objects.bed.bed(...) → BedResult[source]#
Parameters:
infinigen2.objects.bed.bed_mattress_rand(rng, dimensions, center_z) → pf.MeshObject[source]#
Parameters:
infinigen2.objects.bed.bed_rand(rng, dimensions=None) → BedResult[source]#

Example renders

infinigen2.objects.bed.bed_rand seed 0
infinigen2 bed_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bed.bed_rand seed 1
infinigen2 bed_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bed.bed_rand seed 2
infinigen2 bed_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bed.bed_rand seed 3
infinigen2 bed_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bed.bed_rand seed 4
infinigen2 bed_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bed.bed_rand seed 5
infinigen2 bed_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

boulder#

class infinigen2.objects.boulder.BoulderResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.boulder.boulder(...) → BoulderResult[source]#

Create a ground-aligned ANT boulder with exact dimensions and edge length in meters.

Parameters:
  • dimensions (pf.Vector) -- (default: Vector((1.0, 0.85, 0.65)))

  • mesh_resolution (float) -- (default: 0.02)

  • random_seed (int) -- (default: 0)

  • material (pf.Material | None) -- (default: None)

  • tri_face (bool) -- (default: False)

  • noise_size (float) -- (default: 1.0)

  • noise_type (str) -- (default: 'hetero_terrain')

  • basis_type (str) -- (default: 'PERLIN_ORIGINAL')

  • vl_basis_type (str) -- (default: 'PERLIN_ORIGINAL')

  • distortion (float) -- (default: 1.0)

  • noise_depth (int) -- (default: 8)

  • amplitude (float) -- (default: 0.5)

  • frequency (float) -- (default: 2.0)

  • dimension (float) -- (default: 1.0)

  • lacunarity (float) -- (default: 2.0)

  • offset (float) -- (default: 1.0)

  • gain (float) -- (default: 1.0)

  • height (float) -- (default: 0.5)

  • height_invert (bool) -- (default: False)

  • height_offset (float) -- (default: 0.0)

  • maximum (float) -- (default: 1.0)

  • minimum (float) -- (default: -1.0)

  • strata (float) -- (default: 5.0)

  • strata_type (str) -- (default: '0')

infinigen2.objects.boulder.boulder_abstract_rand(...) → BoulderResult[source]#

Example renders

infinigen2.objects.boulder.boulder_abstract_rand seed 0
infinigen2 boulder_abstract_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_abstract_rand seed 1
infinigen2 boulder_abstract_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_abstract_rand seed 2
infinigen2 boulder_abstract_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_abstract_rand seed 3
infinigen2 boulder_abstract_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_abstract_rand seed 4
infinigen2 boulder_abstract_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_abstract_rand seed 5
infinigen2 boulder_abstract_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.boulder.boulder_cauliflower_rand(...) → BoulderResult[source]#

Example renders

infinigen2.objects.boulder.boulder_cauliflower_rand seed 0
infinigen2 boulder_cauliflower_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_cauliflower_rand seed 1
infinigen2 boulder_cauliflower_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_cauliflower_rand seed 2
infinigen2 boulder_cauliflower_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_cauliflower_rand seed 3
infinigen2 boulder_cauliflower_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_cauliflower_rand seed 4
infinigen2 boulder_cauliflower_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_cauliflower_rand seed 5
infinigen2 boulder_cauliflower_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.boulder.boulder_crystalline_rand(...) → BoulderResult[source]#

Example renders

infinigen2.objects.boulder.boulder_crystalline_rand seed 0
infinigen2 boulder_crystalline_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_crystalline_rand seed 1
infinigen2 boulder_crystalline_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_crystalline_rand seed 2
infinigen2 boulder_crystalline_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_crystalline_rand seed 3
infinigen2 boulder_crystalline_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_crystalline_rand seed 4
infinigen2 boulder_crystalline_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_crystalline_rand seed 5
infinigen2 boulder_crystalline_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.boulder.boulder_flatstones_rand(...) → BoulderResult[source]#

Example renders

infinigen2.objects.boulder.boulder_flatstones_rand seed 0
infinigen2 boulder_flatstones_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_flatstones_rand seed 1
infinigen2 boulder_flatstones_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_flatstones_rand seed 2
infinigen2 boulder_flatstones_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_flatstones_rand seed 3
infinigen2 boulder_flatstones_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_flatstones_rand seed 4
infinigen2 boulder_flatstones_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_flatstones_rand seed 5
infinigen2 boulder_flatstones_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.boulder.boulder_rand(...) → BoulderResult[source]#

Example renders

infinigen2.objects.boulder.boulder_rand seed 0
infinigen2 boulder_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rand seed 1
infinigen2 boulder_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rand seed 2
infinigen2 boulder_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rand seed 3
infinigen2 boulder_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rand seed 4
infinigen2 boulder_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rand seed 5
infinigen2 boulder_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.boulder.boulder_ridged_rand(...) → BoulderResult[source]#

Example renders

infinigen2.objects.boulder.boulder_ridged_rand seed 0
infinigen2 boulder_ridged_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_ridged_rand seed 1
infinigen2 boulder_ridged_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_ridged_rand seed 2
infinigen2 boulder_ridged_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_ridged_rand seed 3
infinigen2 boulder_ridged_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_ridged_rand seed 4
infinigen2 boulder_ridged_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_ridged_rand seed 5
infinigen2 boulder_ridged_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.boulder.boulder_rock_rand(...) → BoulderResult[source]#

Example renders

infinigen2.objects.boulder.boulder_rock_rand seed 0
infinigen2 boulder_rock_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rock_rand seed 1
infinigen2 boulder_rock_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rock_rand seed 2
infinigen2 boulder_rock_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rock_rand seed 3
infinigen2 boulder_rock_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rock_rand seed 4
infinigen2 boulder_rock_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.boulder_rock_rand seed 5
infinigen2 boulder_rock_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.boulder.rock_material_rand(rng) → pf.Material[source]#
Parameters:

rng (Generator)

infinigen2.objects.boulder.rock_rand(rng, material=None) → BoulderResult[source]#

Example renders

infinigen2.objects.boulder.rock_rand seed 0
infinigen2 rock_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.rock_rand seed 1
infinigen2 rock_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.rock_rand seed 2
infinigen2 rock_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.rock_rand seed 3
infinigen2 rock_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.rock_rand seed 4
infinigen2 rock_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.boulder.rock_rand seed 5
infinigen2 rock_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

bowl#

class infinigen2.objects.bowl.BowlResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

class infinigen2.objects.bowl.PotResult(mesh, inside_volume)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; inside_volume: MeshObject

infinigen2.objects.bowl.bowl(...) → BowlResult[source]#
Parameters:
  • diameter (float) -- (default: 0.24)

  • height (float) -- (default: 0.09)

  • base_scale (float) -- (default: 0.4)

  • profile_fullness (float) -- (default: 0.85)

  • profile_slope (float) -- (default: 0.0)

  • rib_count (int) -- (default: 12)

  • rib_depth (float) -- (default: 0.0)

  • rib_sharpness (float) -- (default: 0.0)

  • twist (float) -- (default: 0.0)

  • thickness (float) -- (default: 0.003)

  • u_resolution (int) -- (default: 192)

  • v_resolution (int) -- (default: 32)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.bowl.bowl_rand(rng) → BowlResult[source]#

Example renders

infinigen2.objects.bowl.bowl_rand seed 0
infinigen2 bowl_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.bowl.bowl_rand seed 1
infinigen2 bowl_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.bowl.bowl_rand seed 2
infinigen2 bowl_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.bowl.bowl_rand seed 3
infinigen2 bowl_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.bowl.bowl_rand seed 4
infinigen2 bowl_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.bowl.bowl_rand seed 5
infinigen2 bowl_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.bowl.pot(...) → PotResult[source]#
Parameters:
  • diameter (float) -- (default: 0.24)

  • height (float) -- (default: 0.09)

  • base_scale (float) -- (default: 0.4)

  • profile_fullness (float) -- (default: 0.85)

  • profile_slope (float) -- (default: 0.0)

  • rib_count (int) -- (default: 12)

  • rib_depth (float) -- (default: 0.0)

  • rib_sharpness (float) -- (default: 0.0)

  • twist (float) -- (default: 0.0)

  • thickness (float) -- (default: 0.003)

  • inside_height (float | None) -- (default: None)

  • u_resolution (int) -- (default: 192)

  • v_resolution (int) -- (default: 32)

  • material (pf.Material | None) -- (default: None)

ceiling_light#

class infinigen2.objects.ceiling_light.CeilingLightResult(mesh, light)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; light: LightObject | None

infinigen2.objects.ceiling_light.black_for_reflections(shader) → pf.Material[source]#

Wrap a shader to appear black for reflected/glossy rays.

Parameters:

shader (pf.ProcNode[Shader])

infinigen2.objects.ceiling_light.light_ceiling(...) → CeilingLightResult[source]#
Parameters:
  • radius (float) -- (default: 0.12)

  • thickness (float) -- (default: 0.0275)

  • inner_radius (float) -- (default: 0.078)

  • height (float) -- (default: 0.063)

  • inner_height (float) -- (default: 0.0504)

  • curvature (float) -- (default: 0.3)

  • energy (float) -- (default: 9.0)

  • temperature (float) -- (default: 4500.0)

  • shadow_soft_size (float) -- (default: 0.025)

  • turned_on (bool) -- (default: True)

  • frame_material (pf.Material | None) -- (default: None)

  • bulb_material (pf.Material | None) -- (default: None)

infinigen2.objects.ceiling_light.light_ceiling_rand(...) → CeilingLightResult[source]#

Example renders

infinigen2.objects.ceiling_light.light_ceiling_rand seed 0
infinigen2 light_ceiling_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.light_ceiling_rand seed 1
infinigen2 light_ceiling_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.light_ceiling_rand seed 2
infinigen2 light_ceiling_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.light_ceiling_rand seed 3
infinigen2 light_ceiling_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.light_ceiling_rand seed 4
infinigen2 light_ceiling_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.ceiling_light.light_ceiling_rand seed 5
infinigen2 light_ceiling_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • energy (float | None) -- (default: None)

  • shadow_soft_size (float | None) -- (default: None)

  • temperature (float | None) -- (default: None)

  • turned_on (bool) -- (default: True)

chair#

class infinigen2.objects.chair.ChairResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

class infinigen2.objects.chair.DiningSeatResult(seat, back_edge)[source]#

Bases: NamedTuple

Fields: seat: ProcNode[~MeshObject]; back_edge: ProcNode[~CurveObject]

infinigen2.objects.chair.chair_back(...) → ChairResult[source]#

Flat slatted back panel: vertical slats arrayed along a straight line in Y, capped by a corner-box top rail. Reusable as a bed headboard.

Parameters:
  • dimensions (pf.Vector)

  • n_slats (int)

  • slat_width (float)

  • slat_depth (float)

  • crest_height (float)

  • crest_offset (pf.Vector)

  • crest_margin (float)

  • crest_loops (int) -- (default: 0)

  • slat_span (float) -- (default: 1.0)

  • slat_profile_resolution (int) -- (default: 24)

  • crest_align (float) -- (default: 0.0)

infinigen2.objects.chair.chair_back_rand(...) → ChairResult[source]#

Slatted wooden back. aspect runs the slat cross-section from flat (wide in Y) to near-square; the support-loop offset then rounds it toward a spindle once the subdivision modifier is applied.

Example renders

infinigen2.objects.chair.chair_back_rand seed 0
infinigen2 chair_back_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 1
infinigen2 chair_back_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 2
infinigen2 chair_back_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 3
infinigen2 chair_back_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 4
infinigen2 chair_back_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_back_rand seed 5
infinigen2 chair_back_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.chair_back_solid(
dimensions,
top_rise=0.0,
n_points=7,
) → pf.ProcNode[pf.MeshObject][source]#

Solid back: panel filled between a flat bottom edge and a top edge that bows up by top_rise (0 = square), then extruded for depth. The fill points give it enough geometry to bend. dimensions = (depth, width, height).

Parameters:
infinigen2.objects.chair.chair_base_stable_rand(...) → ChairResult[source]#

Chair base without oversized pedestal or wheeled options.

Parameters:
infinigen2.objects.chair.chair_base_wheeled(...) → ChairResult[source]#

Five-star caster base with a central gas-lift pole (v1 wheeled leg).

Parameters:
  • joint_height (float) -- (default: 0.0)

  • leg_diameter (float) -- (default: 0.0)

  • top_height (float) -- (default: 0.0)

  • arc_sweep_angle (float) -- (default: 240.0)

  • wheel_width (float) -- (default: 0.13)

  • wheel_rotation (float) -- (default: 0.5)

  • pole_length (float) -- (default: 1.8)

  • leg_number (int) -- (default: 5)

  • material (pf.Material | None) -- (default: None)

  • wheel_material (pf.Material | None) -- (default: None)

infinigen2.objects.chair.chair_base_wheeled_rand(...) → ChairResult[source]#

Five-star caster base with a central gas-lift pole (v1 wheeled leg).

Example renders

infinigen2.objects.chair.chair_base_wheeled_rand seed 0
infinigen2 chair_base_wheeled_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_base_wheeled_rand seed 1
infinigen2 chair_base_wheeled_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_base_wheeled_rand seed 2
infinigen2 chair_base_wheeled_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_base_wheeled_rand seed 3
infinigen2 chair_base_wheeled_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_base_wheeled_rand seed 4
infinigen2 chair_base_wheeled_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_base_wheeled_rand seed 5
infinigen2 chair_base_wheeled_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.chair_bench_dimensions_rand(rng) → pf.Vector[source]#

Bench dimensions: seat-depth deep, several seats wide.

Parameters:

rng (Generator)

infinigen2.objects.chair.chair_bench_rand(rng, dimensions=None) → ChairResult[source]#

Backed bench: a bezier-outline seat pan several seats wide, on a base chosen for stability under a long span rather than a chair’s single seat.

Parameters:
infinigen2.objects.chair.chair_dining_dimensions_rand(...) → pf.Vector[source]#

Real dining-chair footprint (m): seat depth 0.41-0.46, width 0.40-0.50, seat height 0.45-0.50 (standard 45-50cm, tables 71-76cm).

Parameters:
  • rng (Generator)

  • depth (float | None) -- (default: None)

  • width (float | None) -- (default: None)

  • seat_elevation (float | None) -- (default: None)

infinigen2.objects.chair.chair_dining_rand(rng, dimensions=None) → ChairResult[source]#

Wooden dining chair: bezier-outline seat pan + slat or solid back bent to follow the seat’s rear edge, on straight legs. Real chair dimensions.

Example renders

infinigen2.objects.chair.chair_dining_rand seed 0
infinigen2 chair_dining_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_dining_rand seed 1
infinigen2 chair_dining_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_dining_rand seed 2
infinigen2 chair_dining_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_dining_rand seed 3
infinigen2 chair_dining_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_dining_rand seed 4
infinigen2 chair_dining_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_dining_rand seed 5
infinigen2 chair_dining_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.chair_office_dimensions_rand(rng, width=None, seat_elevation=None) → pf.Vector[source]#

Footprint and ordinary adjustable office-chair seat elevation.

Parameters:
  • rng (Generator)

  • width (float | None) -- (default: None)

  • seat_elevation (float | None) -- (default: None)

infinigen2.objects.chair.chair_office_rand(...) → ChairResult[source]#

Example renders

infinigen2.objects.chair.chair_office_rand seed 0
infinigen2 chair_office_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_office_rand seed 1
infinigen2 chair_office_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_office_rand seed 2
infinigen2 chair_office_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_office_rand seed 3
infinigen2 chair_office_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_office_rand seed 4
infinigen2 chair_office_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_office_rand seed 5
infinigen2 chair_office_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.chair_rand(rng, dimensions=None) → ChairResult[source]#

Any chair: randomly an office chair (curvy/round seat on a wheeled/pedestal/ leg base) or a wooden dining chair (bezier seat + slat back).

Example renders

infinigen2.objects.chair.chair_rand seed 0
infinigen2 chair_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 1
infinigen2 chair_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 2
infinigen2 chair_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 3
infinigen2 chair_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 4
infinigen2 chair_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_rand seed 5
infinigen2 chair_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.chair_seat_curvy(...) → ChairResult[source]#

Curved shell seat with an integrated backrest (v1 curvy_seats).

Parameters:
  • u_resolution (int) -- (default: 256)

  • v_resolution (int) -- (default: 128)

  • width (float) -- (default: 0.5)

  • thickness (float) -- (default: 0.03)

  • front_relative_width (float) -- (default: 0.5)

  • front_bent (float) -- (default: -0.38)

  • seat_bent (float) -- (default: -0.56)

  • mid_relative_width (float) -- (default: 0.5)

  • mid_bent (float) -- (default: -0.7)

  • back_relative_width (float) -- (default: 0.5)

  • back_bent (float) -- (default: -0.2)

  • top_relative_width (float) -- (default: 0.5)

  • top_bent (float) -- (default: -0.2)

  • seat_height (float) -- (default: 0.6)

  • mid_pos (float) -- (default: 0.5)

infinigen2.objects.chair.chair_seat_curvy_rand(
rng,
dimensions=None,
material=None,
) → ChairResult[source]#

Curved shell seat with an integrated backrest (v1 curvy_seats).

Example renders

infinigen2.objects.chair.chair_seat_curvy_rand seed 0
infinigen2 chair_seat_curvy_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_curvy_rand seed 1
infinigen2 chair_seat_curvy_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_curvy_rand seed 2
infinigen2 chair_seat_curvy_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_curvy_rand seed 3
infinigen2 chair_seat_curvy_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_curvy_rand seed 4
infinigen2 chair_seat_curvy_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_curvy_rand seed 5
infinigen2 chair_seat_curvy_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.chair.chair_seat_dining(...) → DiningSeatResult[source]#

Seat pan bridged between a rear edge and a front edge and extruded down by thickness. Both edges are bezier curves spanning the width at x = -/+depth/2; front_bow/back_bow bow each edge forward in x, front_dip scoops the front edge center down. Returns the pan mesh plus the rear edge curve (so the back can be bent to match it).

Parameters:
infinigen2.objects.chair.chair_seat_round(...) → ChairResult[source]#

Backless round pad seat (v1 round_seats).

Parameters:
  • thickness (float) -- (default: 0.1)

  • radius (float) -- (default: 0.37)

  • cap_radius (float) -- (default: 2.8)

  • bevel_factor (float) -- (default: 0.028)

infinigen2.objects.chair.chair_seat_round_rand(
rng,
dimensions=None,
material=None,
) → ChairResult[source]#

Backless round pad seat (v1 round_seats).

Example renders

infinigen2.objects.chair.chair_seat_round_rand seed 0
infinigen2 chair_seat_round_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_round_rand seed 1
infinigen2 chair_seat_round_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_round_rand seed 2
infinigen2 chair_seat_round_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_round_rand seed 3
infinigen2 chair_seat_round_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_round_rand seed 4
infinigen2 chair_seat_round_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.chair.chair_seat_round_rand seed 5
infinigen2 chair_seat_round_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

cushion#

class infinigen2.objects.cushion.CushionResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.cushion.cushion_bed_pillow_rand(...) → CushionResult[source]#

Sleeping pillow, 19-21 in deep, 26-36 in long (standard to king), 6-9 in loft.

Example renders

infinigen2.objects.cushion.cushion_bed_pillow_rand seed 0
infinigen2 cushion_bed_pillow_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_bed_pillow_rand seed 1
infinigen2 cushion_bed_pillow_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_bed_pillow_rand seed 2
infinigen2 cushion_bed_pillow_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_bed_pillow_rand seed 3
infinigen2 cushion_bed_pillow_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_bed_pillow_rand seed 4
infinigen2 cushion_bed_pillow_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_bed_pillow_rand seed 5
infinigen2 cushion_bed_pillow_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.cushion.cushion_box_geometry(...) → pf.ProcNode[pf.MeshObject][source]#

Boxed cushion within size, placed like box_with_support_loops. Local z is thickness: boxing size.z - 2 * crown plus a domed panel on each side. Piped seams are fully creased, unpiped ones get seam_crease.

Parameters:
infinigen2.objects.cushion.cushion_knife_edge_geometry(
...,
) → pf.ProcNode[pf.MeshObject][source]#

Throw pillow: two panels sewn along one creased seam, size.z thick at the centre. Each panel follows the superellipse _superellipse so it meets the seam convex; higher fullness is squarer. corner_pinch is the fraction each side bows inward at its middle.

Parameters:
infinigen2.objects.cushion.cushion_throw_pillow_rand(...) → CushionResult[source]#

Square throw pillow, 16-24 in (0.40-0.60 m) across.

Example renders

infinigen2.objects.cushion.cushion_throw_pillow_rand seed 0
infinigen2 cushion_throw_pillow_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_throw_pillow_rand seed 1
infinigen2 cushion_throw_pillow_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_throw_pillow_rand seed 2
infinigen2 cushion_throw_pillow_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_throw_pillow_rand seed 3
infinigen2 cushion_throw_pillow_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_throw_pillow_rand seed 4
infinigen2 cushion_throw_pillow_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.cushion.cushion_throw_pillow_rand seed 5
infinigen2 cushion_throw_pillow_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • size (pf.Vector | None) -- (default: None)

  • piping_radius (float | None) -- (default: None)

  • material (pf.Material | None) -- (default: None)

  • fullness (float | None) -- (default: None)

infinigen2.objects.cushion.optional_piping_radius_rand(rng, piped_weight) → float[source]#
Parameters:
infinigen2.objects.cushion.support_loop_offset(radius, size) → pf.ProcNode[pf.Vector][source]#
Parameters:

desk#

class infinigen2.objects.desk.DeskResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.desk.desk_dimensions_rand(rng) → pf.Vector[source]#

Desk footprint and height in meters, ordered as depth, width, height.

Parameters:

rng (Generator)

infinigen2.objects.desk.desk_integrated_storage_rand(rng, dimensions=None) → DeskResult[source]#
Parameters:
infinigen2.objects.desk.desk_rand(rng, dimensions=None) → DeskResult[source]#

Sample a complete desk from the independently usable desk generators.

Example renders

infinigen2.objects.desk.desk_rand seed 0
infinigen2 desk_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 1
infinigen2 desk_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 2
infinigen2 desk_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 3
infinigen2 desk_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 4
infinigen2 desk_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.desk.desk_rand seed 5
infinigen2 desk_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.desk.desk_tabletop_rand(rng, dimensions=None) → DeskResult[source]#
Parameters:
infinigen2.objects.desk.desk_with_side_storage_rand(rng, dimensions=None) → DeskResult[source]#
Parameters:
infinigen2.objects.desk.desk_with_top_storage_rand(rng, dimensions=None) → DeskResult[source]#
Parameters:

dev#

infinigen2.objects.dev.banana() → pf.MeshObject[source]#

door#

class infinigen2.objects.door.DoorResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.door.door_body(
dimensions=None,
frame_material=None,
panel_material=None,
) → DoorResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • panel_material (pf.Material | None) -- (default: None)

infinigen2.objects.door.door_body_rand(...) → DoorResult[source]#

Example renders

infinigen2.objects.door.door_body_rand seed 0
infinigen2 door_body_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 1
infinigen2 door_body_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 2
infinigen2 door_body_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 3
infinigen2 door_body_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 4
infinigen2 door_body_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_body_rand seed 5
infinigen2 door_body_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.door.door_composite_rand(...) → DoorResult[source]#

Example renders

infinigen2.objects.door.door_composite_rand seed 0
infinigen2 door_composite_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_composite_rand seed 1
infinigen2 door_composite_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_composite_rand seed 2
infinigen2 door_composite_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_composite_rand seed 3
infinigen2 door_composite_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_composite_rand seed 4
infinigen2 door_composite_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_composite_rand seed 5
infinigen2 door_composite_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.door.door_double_rand(...) → DoorResult[source]#

Mirror one sampled door; dimensions specify the full pair’s slab bounds.

Example renders

infinigen2.objects.door.door_double_rand seed 0
infinigen2 door_double_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_double_rand seed 1
infinigen2 door_double_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_double_rand seed 2
infinigen2 door_double_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_double_rand seed 3
infinigen2 door_double_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_double_rand seed 4
infinigen2 door_double_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_double_rand seed 5
infinigen2 door_double_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.door.door_glass_from_profile_rand(...) → DoorResult[source]#
Parameters:
infinigen2.objects.door.door_with_handle(dimensions=None, material=None) → DoorResult[source]#
Parameters:
infinigen2.objects.door.door_with_handle_rand(...) → DoorResult[source]#

inner_material overrides the recessed panels alone, so a caller can put glass in a door whose frame keeps material. Left None the panels follow the frame.

Example renders

infinigen2.objects.door.door_with_handle_rand seed 0
infinigen2 door_with_handle_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 1
infinigen2 door_with_handle_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 2
infinigen2 door_with_handle_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 3
infinigen2 door_with_handle_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 4
infinigen2 door_with_handle_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.door.door_with_handle_rand seed 5
infinigen2 door_with_handle_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

drawer#

class infinigen2.objects.drawer.DrawerResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.drawer.drawer(...) → DrawerResult[source]#

Tray fitting a min-corner slot of dimensions, fronted at front_origin.

Opening translates the whole drawer by a fraction of its tray depth along +X.

Parameters:
infinigen2.objects.drawer.drawer_handle_rand(rng, dimensions) → pf.MeshObject[source]#

Bar pull grip-sized to the drawer front, or a knob.

Parameters:
infinigen2.objects.drawer.drawer_rand(...) → DrawerResult[source]#

Sample a drawer; frame widths are the left/right/bottom/top board shares an overlay front covers up to a small reveal.

Example renders

infinigen2.objects.drawer.drawer_rand seed 0
infinigen2 drawer_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawer.drawer_rand seed 1
infinigen2 drawer_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawer.drawer_rand seed 2
infinigen2 drawer_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawer.drawer_rand seed 3
infinigen2 drawer_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawer.drawer_rand seed 4
infinigen2 drawer_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.drawer.drawer_rand seed 5
infinigen2 drawer_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

flower#

class infinigen2.objects.flower.FlowerMaterials(petal, center)[source]#

Bases: NamedTuple

Fields: petal: Material; center: Material

class infinigen2.objects.flower.FlowerResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.flower.center_material() → pf.Material[source]#
infinigen2.objects.flower.flower(...) → FlowerResult[source]#
Parameters:
  • center_rad (float) -- (default: 0.0156)

  • petal_dims (pf.Vector) -- (default: (0.109, 0.0049, 0.0875))

  • seed_size (float) -- (default: 0.001)

  • min_petal_angle (float) -- (default: 0.35)

  • max_petal_angle (float) -- (default: 1.4)

  • wrinkle (float) -- (default: 0.01)

  • curl (float) -- (default: 0.524)

  • petal_material (pf.Material | None) -- (default: None)

  • center_material (pf.Material | None) -- (default: None)

infinigen2.objects.flower.flower_rand(rng, materials=None) → FlowerResult[source]#

Example renders

infinigen2.objects.flower.flower_rand seed 0
infinigen2 flower_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 1
infinigen2 flower_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 2
infinigen2 flower_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 3
infinigen2 flower_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 4
infinigen2 flower_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.flower.flower_rand seed 5
infinigen2 flower_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

furniture_bases#

class infinigen2.objects.furniture_bases.TableResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.furniture_bases.base_box_leg(...) → pf.ProcNode[pf.MeshObject][source]#

2 box-frame legs.

Parameters:
infinigen2.objects.furniture_bases.base_four_leg(...) → pf.ProcNode[pf.MeshObject][source]#

4-leg base with optional stretchers.

Parameters:
infinigen2.objects.furniture_bases.base_pedestal(...) → TableResult[source]#

Rotationally symmetric pedestal: stays skinny then flares out low (flare/concavity); neck_scale bulges or waists the upper column.

Parameters:
  • height (float)

  • top_radius (float) -- (default: 0.03)

  • bottom_radius (float) -- (default: 0.2)

  • flare (float) -- (default: 0.75)

  • concavity (float) -- (default: 0.0)

  • neck_scale (float) -- (default: 1.0)

  • resolution (int) -- (default: 16)

infinigen2.objects.furniture_bases.base_pedestal_column(...) → pf.ProcNode[pf.MeshObject][source]#
Parameters:
infinigen2.objects.furniture_bases.base_pedestal_column_rand(
...,
) → pf.ProcNode[pf.MeshObject][source]#
Parameters:
infinigen2.objects.furniture_bases.base_pedestal_rand(...) → TableResult[source]#

Rotationally symmetric pedestal spanning z in [0, dimensions.z]: a low-flare silhouette with random concavity and a bulged/waisted upper column. Radius ranges default from the footprint; callers override them.

Example renders

infinigen2.objects.furniture_bases.base_pedestal_rand seed 0
infinigen2 base_pedestal_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_pedestal_rand seed 1
infinigen2 base_pedestal_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_pedestal_rand seed 2
infinigen2 base_pedestal_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_pedestal_rand seed 3
infinigen2 base_pedestal_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_pedestal_rand seed 4
infinigen2 base_pedestal_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_pedestal_rand seed 5
infinigen2 base_pedestal_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.furniture_bases.base_square(...) → TableResult[source]#

2 box-frame legs.

Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • leg_diameter (float) -- (default: 0.085)

  • leg_placement_top_scale (float) -- (default: 0.8)

  • leg_placement_bottom_scale (float) -- (default: 1.0)

  • has_bottom_connector (bool) -- (default: True)

infinigen2.objects.furniture_bases.base_square_rand(...) → TableResult[source]#

2 box-frame legs. leg_placement_bottom_scale > 1 splays the frames outward.

Example renders

infinigen2.objects.furniture_bases.base_square_rand seed 0
infinigen2 base_square_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_square_rand seed 1
infinigen2 base_square_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_square_rand seed 2
infinigen2 base_square_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_square_rand seed 3
infinigen2 base_square_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_square_rand seed 4
infinigen2 base_square_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_square_rand seed 5
infinigen2 base_square_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • material (pf.Material | None) -- (default: None)

  • leg_diameter (float | None) -- (default: None)

  • leg_placement_bottom_scale (float | None) -- (default: None)

  • leg_diameter_range (tuple[float, float]) -- (default: (0.03, 0.14))

  • leg_placement_top_scale (float) -- (default: 0.8)

  • close_edges (bool) -- (default: False)

infinigen2.objects.furniture_bases.base_straight(...) → TableResult[source]#

4-leg base with optional stretchers.

Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • leg_diameter (float) -- (default: 0.06)

  • leg_inset (float) -- (default: 0.1)

  • leg_placement_bottom_scale (float) -- (default: 1.0)

  • stretcher_increment (int) -- (default: 1)

  • stretcher_relative_pos (float) -- (default: 0.4)

infinigen2.objects.furniture_bases.base_straight_rand(...) → TableResult[source]#

4-leg base with optional stretchers. leg_placement_bottom_scale > 1 splays the legs outward; pass 1.0 for an upright base to sit under a carcass.

Example renders

infinigen2.objects.furniture_bases.base_straight_rand seed 0
infinigen2 base_straight_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_straight_rand seed 1
infinigen2 base_straight_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_straight_rand seed 2
infinigen2 base_straight_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_straight_rand seed 3
infinigen2 base_straight_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_straight_rand seed 4
infinigen2 base_straight_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.furniture_bases.base_straight_rand seed 5
infinigen2 base_straight_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • material (pf.Material | None) -- (default: None)

  • leg_diameter (float | None) -- (default: None)

  • leg_placement_bottom_scale (float | None) -- (default: None)

  • leg_diameter_range (tuple[float, float]) -- (default: (0.02, 0.1))

  • leg_inset_range (tuple[float, float] | None) -- (default: None)

  • leg_placement_top_scale (float) -- (default: 0.8)

  • close_edges (bool) -- (default: False)

infinigen2.objects.furniture_bases.table_coffee_dimensions_rand(rng) → pf.Vector[source]#

Coffee table dimensions.

Parameters:

rng (Generator)

infinigen2.objects.furniture_bases.table_dimensions_rand(...) → pf.Vector[source]#

Default dining table dimensions.

Parameters:
  • rng (Generator)

  • width (float | None) -- (default: None)

  • height (float | None) -- (default: None)

  • depth (float | None) -- (default: None)

infinigen2.objects.furniture_bases.table_side_dimensions_rand(rng) → pf.Vector[source]#

Side table dimensions.

Parameters:

rng (Generator)

garments#

class infinigen2.objects.garments.HumanClothedResult(mesh, armature, all_objects)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; armature: ArmatureObject; all_objects: list[~MeshObject]

infinigen2.objects.garments.human_clothed_rand(
rng,
skin_material=None,
) → HumanClothedResult[source]#
Parameters:

handles#

class infinigen2.objects.handles.HandleResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.handles.handle_bar_pull(material=None) → HandleResult[source]#
Parameters:

material (pf.Material | None) -- (default: None)

infinigen2.objects.handles.handle_bar_pull_rand(
rng,
material=None,
grip_length=None,
) → HandleResult[source]#

Example renders

infinigen2.objects.handles.handle_bar_pull_rand seed 0
infinigen2 handle_bar_pull_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_bar_pull_rand seed 1
infinigen2 handle_bar_pull_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_bar_pull_rand seed 2
infinigen2 handle_bar_pull_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_bar_pull_rand seed 3
infinigen2 handle_bar_pull_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_bar_pull_rand seed 4
infinigen2 handle_bar_pull_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_bar_pull_rand seed 5
infinigen2 handle_bar_pull_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.handles.handle_curved_pull(material=None) → HandleResult[source]#
Parameters:

material (pf.Material | None) -- (default: None)

infinigen2.objects.handles.handle_curved_pull_rand(rng, material=None) → HandleResult[source]#

Example renders

infinigen2.objects.handles.handle_curved_pull_rand seed 0
infinigen2 handle_curved_pull_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_curved_pull_rand seed 1
infinigen2 handle_curved_pull_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_curved_pull_rand seed 2
infinigen2 handle_curved_pull_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_curved_pull_rand seed 3
infinigen2 handle_curved_pull_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_curved_pull_rand seed 4
infinigen2 handle_curved_pull_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_curved_pull_rand seed 5
infinigen2 handle_curved_pull_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.handles.handle_knob(material=None) → HandleResult[source]#
Parameters:

material (pf.Material | None) -- (default: None)

infinigen2.objects.handles.handle_knob_rand(rng, material=None) → HandleResult[source]#

Example renders

infinigen2.objects.handles.handle_knob_rand seed 0
infinigen2 handle_knob_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_knob_rand seed 1
infinigen2 handle_knob_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_knob_rand seed 2
infinigen2 handle_knob_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_knob_rand seed 3
infinigen2 handle_knob_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_knob_rand seed 4
infinigen2 handle_knob_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_knob_rand seed 5
infinigen2 handle_knob_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.handles.handle_lever(material=None) → HandleResult[source]#
Parameters:

material (pf.Material | None) -- (default: None)

infinigen2.objects.handles.handle_lever_rand(rng, material=None) → HandleResult[source]#

Example renders

infinigen2.objects.handles.handle_lever_rand seed 0
infinigen2 handle_lever_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_lever_rand seed 1
infinigen2 handle_lever_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_lever_rand seed 2
infinigen2 handle_lever_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_lever_rand seed 3
infinigen2 handle_lever_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_lever_rand seed 4
infinigen2 handle_lever_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.handles.handle_lever_rand seed 5
infinigen2 handle_lever_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.handles.handle_rand(rng, material=None) → HandleResult[source]#
Parameters:

human#

class infinigen2.objects.human.HumanResult(mesh, armature)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; armature: ArmatureObject

infinigen2.objects.human.body_pose_rand(rng, armature) → ArmatureObject[source]#
Parameters:
infinigen2.objects.human.face_pose_rand(rng, armature) → ArmatureObject[source]#
Parameters:
infinigen2.objects.human.hand_pose_rand(rng, armature) → ArmatureObject[source]#
Parameters:
infinigen2.objects.human.human(...) → HumanResult[source]#
Parameters:
  • gender (float) -- (default: 0.5)

  • age (float) -- (default: 0.25)

  • muscle (float) -- (default: 0.5)

  • weight (float) -- (default: 0.5)

  • proportions (float) -- (default: 0.5)

  • height (float) -- (default: 0.5)

  • skin_material (pf.Material | None) -- (default: None)

infinigen2.objects.human.human_rand(rng, skin_material=None) → HumanResult[source]#
Parameters:
infinigen2.objects.human.pose(armature, rotations) → ArmatureObject[source]#
Parameters:
infinigen2.objects.human.pose_rand(rng, armature) → ArmatureObject[source]#
Parameters:
infinigen2.objects.human.set_bone_rotations(armature, bone_names, rotations) → ArmatureObject[source]#
Parameters:

lamp#

class infinigen2.objects.lamp.LampResult(mesh, light)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; light: LightObject

class infinigen2.objects.lamp.LampshadeShape(...)[source]#

Bases: NamedTuple

Fields: top_radius: float; bot_radius: float; mid_radius: float; profile_resolution: int

infinigen2.objects.lamp.lamp(...) → LampResult[source]#
Parameters:
  • stand_radius (float) -- (default: 0.01)

  • base_radius (float) -- (default: 0.1)

  • base_height (float) -- (default: 0.02)

  • shade_height (float) -- (default: 0.24)

  • head_top_radius (float) -- (default: 0.16)

  • head_bot_radius (float) -- (default: 0.185)

  • head_mid_radius (float | None) -- (default: None)

  • profile_resolution (int) -- (default: 16)

  • height (float) -- (default: 0.45)

  • rack_thickness (float) -- (default: 0.002)

  • reverse_lamp (bool) -- (default: True)

  • support_shade_overlap (float) -- (default: 0.03)

  • energy (float) -- (default: 7.0)

  • temperature (float) -- (default: 4500.0)

  • black_material (pf.Material | None) -- (default: None)

  • lampshade_material (pf.Material | None) -- (default: None)

  • metal_material (pf.Material | None) -- (default: None)

infinigen2.objects.lamp.lamp_ceiling_shade_rand(
rng,
energy=None,
support_shade_overlap=0.03,
) → LampResult[source]#

Example renders

infinigen2.objects.lamp.lamp_ceiling_shade_rand seed 0
infinigen2 lamp_ceiling_shade_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_ceiling_shade_rand seed 1
infinigen2 lamp_ceiling_shade_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_ceiling_shade_rand seed 2
infinigen2 lamp_ceiling_shade_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_ceiling_shade_rand seed 3
infinigen2 lamp_ceiling_shade_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_ceiling_shade_rand seed 4
infinigen2 lamp_ceiling_shade_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_ceiling_shade_rand seed 5
infinigen2 lamp_ceiling_shade_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • energy (float | None) -- (default: None)

  • support_shade_overlap (float) -- (default: 0.03)

infinigen2.objects.lamp.lamp_desk_rand(
rng,
base_radius=None,
support_shade_overlap=0.03,
) → LampResult[source]#

Example renders

infinigen2.objects.lamp.lamp_desk_rand seed 0
infinigen2 lamp_desk_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_desk_rand seed 1
infinigen2 lamp_desk_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_desk_rand seed 2
infinigen2 lamp_desk_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_desk_rand seed 3
infinigen2 lamp_desk_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_desk_rand seed 4
infinigen2 lamp_desk_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_desk_rand seed 5
infinigen2 lamp_desk_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • base_radius (float | None) -- (default: None)

  • support_shade_overlap (float) -- (default: 0.03)

infinigen2.objects.lamp.lamp_floor_rand(rng, support_shade_overlap=0.03) → LampResult[source]#

Example renders

infinigen2.objects.lamp.lamp_floor_rand seed 0
infinigen2 lamp_floor_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_floor_rand seed 1
infinigen2 lamp_floor_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_floor_rand seed 2
infinigen2 lamp_floor_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_floor_rand seed 3
infinigen2 lamp_floor_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_floor_rand seed 4
infinigen2 lamp_floor_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_floor_rand seed 5
infinigen2 lamp_floor_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.lamp.lamp_rand(...) → LampResult[source]#

Example renders

infinigen2.objects.lamp.lamp_rand seed 0
infinigen2 lamp_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 1
infinigen2 lamp_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 2
infinigen2 lamp_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 3
infinigen2 lamp_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 4
infinigen2 lamp_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.lamp.lamp_rand seed 5
infinigen2 lamp_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • height (float | None) -- (default: None)

  • temperature (float | None) -- (default: None)

  • energy (float | None) -- (default: None)

  • head_top_radius (float | None) -- (default: None)

  • head_bot_radius (float | None) -- (default: None)

  • head_mid_radius (float | None) -- (default: None)

  • profile_resolution (int | None) -- (default: None)

  • base_radius (float | None) -- (default: None)

  • support_shade_overlap (float) -- (default: 0.03)

infinigen2.objects.lamp.lampshade_shape_hanging_rand(rng) → LampshadeShape[source]#
Parameters:

rng (Generator)

infinigen2.objects.lamp.lampshade_shape_rand(rng, base_radius=None) → LampshadeShape[source]#
Parameters:
infinigen2.objects.lamp.light_point_indoor(
energy=10.0,
temperature=4500.0,
shadow_soft_size=0.02,
) → LightObject[source]#

Create a point light with blackbody temperature roughly based on indoor lighting. range 3500-6500K. was expanded to 2000-8000

Parameters:
  • energy (float) -- (default: 10.0)

  • temperature (float) -- (default: 4500.0)

  • shadow_soft_size (float) -- (default: 0.02)

infinigen2.objects.lamp.light_point_indoor_rand(...) → LightObject[source]#
Parameters:
  • rng (Generator)

  • energy (float | None) -- (default: None)

  • temperature (float | None) -- (default: None)

  • shadow_soft_size (float) -- (default: 0.02)

leaf#

class infinigen2.objects.leaf.LeafResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.leaf.leaf_rand(rng, material=None) → LeafResult[source]#
Parameters:
infinigen2.objects.leaf.leaf_simple(...) → LeafResult[source]#
Parameters:
  • size (float) -- (default: 0.12)

  • vein_asymmetry (float) -- (default: 0.545)

  • vein_density (float) -- (default: 14.688)

  • vein_angle (float) -- (default: 0.963)

  • midrib_length (float) -- (default: 0.439)

  • midrib_width (float) -- (default: 0.858)

  • stem_length (float) -- (default: 0.821)

  • wave_scale_x (float) -- (default: 0.15)

  • wave_scale_y (float) -- (default: 1.5)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.leaf.leaf_simple_rand(rng, material=None) → LeafResult[source]#

Example renders

infinigen2.objects.leaf.leaf_simple_rand seed 0
infinigen2 leaf_simple_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf.leaf_simple_rand seed 1
infinigen2 leaf_simple_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf.leaf_simple_rand seed 2
infinigen2 leaf_simple_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf.leaf_simple_rand seed 3
infinigen2 leaf_simple_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf.leaf_simple_rand seed 4
infinigen2 leaf_simple_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf.leaf_simple_rand seed 5
infinigen2 leaf_simple_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

leaf_broadleaf#

class infinigen2.objects.leaf_broadleaf.LeafBroadleafResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.leaf_broadleaf.leaf_broadleaf(...) → LeafBroadleafResult[source]#
Parameters:
  • size (float) -- (default: 0.15)

  • vein_asymmetry (float) -- (default: 0.0712)

  • vein_density (float) -- (default: 6.9)

  • vein_angle (float) -- (default: 0.91)

  • midrib_length (float) -- (default: 0.051)

  • midrib_width (float) -- (default: 0.051)

  • stem_length (float) -- (default: 0.713)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.leaf_broadleaf.leaf_broadleaf_rand(
rng,
material=None,
) → LeafBroadleafResult[source]#

Example renders

infinigen2.objects.leaf_broadleaf.leaf_broadleaf_rand seed 0
infinigen2 leaf_broadleaf_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_broadleaf.leaf_broadleaf_rand seed 1
infinigen2 leaf_broadleaf_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_broadleaf.leaf_broadleaf_rand seed 2
infinigen2 leaf_broadleaf_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_broadleaf.leaf_broadleaf_rand seed 3
infinigen2 leaf_broadleaf_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_broadleaf.leaf_broadleaf_rand seed 4
infinigen2 leaf_broadleaf_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_broadleaf.leaf_broadleaf_rand seed 5
infinigen2 leaf_broadleaf_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

leaf_coord#

infinigen2.objects.leaf_coord.normalize_leaf_coord(obj)[source]#
Parameters:

obj (pf.MeshObject)

infinigen2.objects.leaf_coord.leaf_coord() → pf.ProcNode[pf.Vector][source]#

Read the deliberate 0-1 leaf coordinate from the active UV layer.

leaf_ginko#

class infinigen2.objects.leaf_ginko.LeafGinkoResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.leaf_ginko.leaf_ginko(...) → LeafGinkoResult[source]#
Parameters:
  • size (float) -- (default: 0.15)

  • vein_length (float) -- (default: 0.45)

  • angle_deg (float) -- (default: -90.0)

  • multiplier (float) -- (default: 1.94)

  • scale_vein (float) -- (default: 80.0)

  • scale_wave (float) -- (default: 5.0)

  • scale_margin (float) -- (default: 6.5)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.leaf_ginko.leaf_ginkgo_rand(rng, material=None) → LeafGinkoResult[source]#

Example renders

infinigen2.objects.leaf_ginko.leaf_ginkgo_rand seed 0
infinigen2 leaf_ginkgo_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_ginko.leaf_ginkgo_rand seed 1
infinigen2 leaf_ginkgo_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_ginko.leaf_ginkgo_rand seed 2
infinigen2 leaf_ginkgo_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_ginko.leaf_ginkgo_rand seed 3
infinigen2 leaf_ginkgo_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_ginko.leaf_ginkgo_rand seed 4
infinigen2 leaf_ginkgo_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_ginko.leaf_ginkgo_rand seed 5
infinigen2 leaf_ginkgo_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

leaf_maple#

class infinigen2.objects.leaf_maple.LeafMapleResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.leaf_maple.leaf_maple(...) → LeafMapleResult[source]#
Parameters:
  • size (float) -- (default: 0.25)

  • angle_deg (float) -- (default: 0.0)

  • multiplier (float) -- (default: 1.96)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.leaf_maple.leaf_maple_rand(rng, material=None) → LeafMapleResult[source]#

Example renders

infinigen2.objects.leaf_maple.leaf_maple_rand seed 0
infinigen2 leaf_maple_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_maple.leaf_maple_rand seed 1
infinigen2 leaf_maple_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_maple.leaf_maple_rand seed 2
infinigen2 leaf_maple_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_maple.leaf_maple_rand seed 3
infinigen2 leaf_maple_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_maple.leaf_maple_rand seed 4
infinigen2 leaf_maple_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.leaf_maple.leaf_maple_rand seed 5
infinigen2 leaf_maple_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

monitor#

class infinigen2.objects.monitor.MonitorResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.monitor.monitor_body(...) → pf.ProcNode[pf.MeshObject][source]#

Swept bezel frame around a recessed screen and chin, plus a back housing; bezel front at x=0.

Parameters:
infinigen2.objects.monitor.monitor_rand(...) → MonitorResult[source]#

A flat-panel display on a pedestal stand, screen facing +X, resting on z=0.

Example renders

infinigen2.objects.monitor.monitor_rand seed 0
infinigen2 monitor_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_rand seed 1
infinigen2 monitor_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_rand seed 2
infinigen2 monitor_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_rand seed 3
infinigen2 monitor_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_rand seed 4
infinigen2 monitor_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_rand seed 5
infinigen2 monitor_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.monitor.monitor_tv_rand(rng) → MonitorResult[source]#

A flat-panel TV on a pedestal stand, screen facing +X, resting on z=0.

Example renders

infinigen2.objects.monitor.monitor_tv_rand seed 0
infinigen2 monitor_tv_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_tv_rand seed 1
infinigen2 monitor_tv_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_tv_rand seed 2
infinigen2 monitor_tv_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_tv_rand seed 3
infinigen2 monitor_tv_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_tv_rand seed 4
infinigen2 monitor_tv_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.monitor.monitor_tv_rand seed 5
infinigen2 monitor_tv_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.monitor.pedestal_stand(...) → pf.ProcNode[pf.MeshObject][source]#

A rectangular base and upright rear stem, resting on z=0.

Parameters:
infinigen2.objects.monitor.screen_dimensions_rand(rng, diagonal=None) → pf.Vector[source]#

Active screen area in meters, ordered depth, width, height.

Parameters:
infinigen2.objects.monitor.screen_emissive_material_rand(rng, vector) → pf.Material[source]#

A switched-on screen showing art content.

Parameters:
infinigen2.objects.monitor.screen_material_rand(rng, vector) → pf.Material[source]#
Parameters:
infinigen2.objects.monitor.screen_off_material_rand(rng, vector) → pf.Material[source]#

A switched-off screen: near-black glossy glass that mirrors the room.

Parameters:

phyllo_plant#

class infinigen2.objects.phyllo_plant.PhylloResult(points, rotation, scale)[source]#

Bases: NamedTuple

Fields: points: ProcNode; rotation: ProcNode[Vector]; scale: ProcNode[float]

class infinigen2.objects.phyllo_plant.PhylloPlantResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.phyllo_plant.phyllo_points(...) → PhylloResult[source]#
Parameters:
infinigen2.objects.phyllo_plant.phyllo_dist(...) → pf.ProcNode[procfunc.nodes.types.Instances][source]#
Parameters:
infinigen2.objects.phyllo_plant.phyllo_plant(...) → PhylloPlantResult[source]#
Parameters:
  • rng (Generator)

  • leaf_mesh (pf.MeshObject | None) -- (default: None)

  • stem_material (pf.Material | None) -- (default: None)

  • count (int) -- (default: 24)

  • height (float) -- (default: 0.3)

  • radius (float) -- (default: 0.008)

  • leaf_length (float) -- (default: 0.16)

  • min_angle (float) -- (default: 0.2)

  • max_angle (float) -- (default: 0.9)

  • phase (float) -- (default: 0.0)

  • leaf_size (float) -- (default: 1.0)

  • leaf_width (float) -- (default: 1.0)

  • petiole_length_fraction (float) -- (default: 0.0)

  • petiole_diameter_ratio (float) -- (default: 0.03)

  • density (float) -- (default: 1.0)

  • base_fraction (float) -- (default: 0.0)

  • target_count (float | None) -- (default: None)

  • sparse (float) -- (default: 0.0)

  • count_override (bool) -- (default: False)

  • stem_curve_x_degrees (float) -- (default: 0.0)

  • stem_curve_y_degrees (float) -- (default: 0.0)

  • stem_warble (float) -- (default: 0.0)

  • stem_handles (int) -- (default: 8)

  • leaf_bend (float) -- (default: 0.0)

  • leaf_droop (float) -- (default: 0.0)

  • leaf_twist_degrees (float) -- (default: 0.0)

  • leaf_warble (float) -- (default: 0.0)

infinigen2.objects.phyllo_plant.plant_phyllo_basal_rand(...) → PhylloPlantResult[source]#

Example renders

infinigen2.objects.phyllo_plant.plant_phyllo_basal_rand seed 0
infinigen2 plant_phyllo_basal_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_basal_rand seed 1
infinigen2 plant_phyllo_basal_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_basal_rand seed 2
infinigen2 plant_phyllo_basal_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_basal_rand seed 3
infinigen2 plant_phyllo_basal_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_basal_rand seed 4
infinigen2 plant_phyllo_basal_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_basal_rand seed 5
infinigen2 plant_phyllo_basal_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • leaf_size (float | None) -- (default: None)

  • leaf_width (float | None) -- (default: None)

  • petiole_length_fraction (float | None) -- (default: None)

  • petiole_diameter_ratio (float) -- (default: 0.03)

  • density (float | None) -- (default: None)

  • base_fraction (float | None) -- (default: None)

  • count (int | None) -- (default: None)

  • sparse (bool | None) -- (default: None)

  • stem_curve_x_degrees (float | None) -- (default: None)

  • stem_curve_y_degrees (float | None) -- (default: None)

  • stem_warble (float | None) -- (default: None)

  • stem_handles (int | None) -- (default: None)

  • leaf_bend (float | None) -- (default: None)

  • leaf_droop (float | None) -- (default: None)

  • plant_height (float | None) -- (default: None)

  • leaf_twist_degrees (float | None) -- (default: None)

  • leaf_warble (float | None) -- (default: None)

  • stem_height (float | None) -- (default: None)

  • stem_radius (float | None) -- (default: None)

  • leaf_length (float | None) -- (default: None)

  • min_angle (float | None) -- (default: None)

  • max_angle (float | None) -- (default: None)

infinigen2.objects.phyllo_plant.plant_phyllo_ascending_rand(...) → PhylloPlantResult[source]#

Example renders

infinigen2.objects.phyllo_plant.plant_phyllo_ascending_rand seed 0
infinigen2 plant_phyllo_ascending_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_ascending_rand seed 1
infinigen2 plant_phyllo_ascending_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_ascending_rand seed 2
infinigen2 plant_phyllo_ascending_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_ascending_rand seed 3
infinigen2 plant_phyllo_ascending_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_ascending_rand seed 4
infinigen2 plant_phyllo_ascending_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.phyllo_plant.plant_phyllo_ascending_rand seed 5
infinigen2 plant_phyllo_ascending_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • leaf_size (float | None) -- (default: None)

  • leaf_width (float | None) -- (default: None)

  • petiole_length_fraction (float | None) -- (default: None)

  • petiole_diameter_ratio (float) -- (default: 0.03)

  • density (float | None) -- (default: None)

  • base_fraction (float | None) -- (default: None)

  • count (int | None) -- (default: None)

  • sparse (bool | None) -- (default: None)

  • stem_curve_x_degrees (float | None) -- (default: None)

  • stem_curve_y_degrees (float | None) -- (default: None)

  • stem_warble (float | None) -- (default: None)

  • stem_handles (int | None) -- (default: None)

  • leaf_bend (float | None) -- (default: None)

  • leaf_droop (float | None) -- (default: None)

  • plant_height (float | None) -- (default: None)

  • leaf_twist_degrees (float | None) -- (default: None)

  • leaf_warble (float | None) -- (default: None)

  • stem_height (float | None) -- (default: None)

  • stem_radius (float | None) -- (default: None)

  • leaf_length (float | None) -- (default: None)

  • min_angle (float | None) -- (default: None)

  • max_angle (float | None) -- (default: None)

plant_pot#

class infinigen2.objects.plant_pot.PlantPotResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.plant_pot.plant_pot(...) → PlantPotResult[source]#
Parameters:
  • plant (pf.MeshObject)

  • base_radius (float) -- (default: 0.12)

  • rim_ratio (float) -- (default: 1.2)

  • height (float) -- (default: 0.1)

  • profile_fullness (float) -- (default: 0.6)

  • profile_slope (float) -- (default: 0.45)

  • rib_count (int) -- (default: 12)

  • rib_depth (float) -- (default: 0.0)

  • twist (float) -- (default: 0.0)

  • material (pf.Material | None) -- (default: None)

  • soil_material (pf.Material | None) -- (default: None)

infinigen2.objects.plant_pot.plant_pot_large_rand(...) → PlantPotResult[source]#

Example renders

infinigen2.objects.plant_pot.plant_pot_large_rand seed 0
infinigen2 plant_pot_large_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_large_rand seed 1
infinigen2 plant_pot_large_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_large_rand seed 2
infinigen2 plant_pot_large_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_large_rand seed 3
infinigen2 plant_pot_large_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_large_rand seed 4
infinigen2 plant_pot_large_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_large_rand seed 5
infinigen2 plant_pot_large_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • pot_diameter (float | None) -- (default: None)

  • pot_height (float | None) -- (default: None)

  • plant_height (float | None) -- (default: None)

infinigen2.objects.plant_pot.plant_pot_small_rand(...) → PlantPotResult[source]#

Example renders

infinigen2.objects.plant_pot.plant_pot_small_rand seed 0
infinigen2 plant_pot_small_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_small_rand seed 1
infinigen2 plant_pot_small_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_small_rand seed 2
infinigen2 plant_pot_small_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_small_rand seed 3
infinigen2 plant_pot_small_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_small_rand seed 4
infinigen2 plant_pot_small_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.plant_pot.plant_pot_small_rand seed 5
infinigen2 plant_pot_small_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • pot_diameter (float | None) -- (default: None)

  • pot_height (float | None) -- (default: None)

  • plant_height (float | None) -- (default: None)

random_primitives#

class infinigen2.objects.random_primitives.EffectResult(mesh, subsurf_levels)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; subsurf_levels: int

class infinigen2.objects.random_primitives.PrimitivesResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.random_primitives.circle_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.cone_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.cube_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.cylinder_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.effect_bevel(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_decimate(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_fractal_jitter(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_noise_warp(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_none(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_screw_ring(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_screw_spiral(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_solidify(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_taper(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_twist(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.effect_wireframe(rng, obj) → EffectResult[source]#
Parameters:
infinigen2.objects.random_primitives.end_fill_type_rand(rng) → str[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.grid_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.icosphere_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.monkey_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.plane_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.primitive_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.primitive_with_effect_rand(
rng,
target_size=None,
max_subsurf_levels=None,
) → PrimitivesResult[source]#

Example renders

infinigen2.objects.random_primitives.primitive_with_effect_rand seed 0
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 1
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 2
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 3
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 4
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.random_primitives.primitive_with_effect_rand seed 5
infinigen2 primitive_with_effect_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • target_size (float | None) -- (default: None)

  • max_subsurf_levels (int | None) -- (default: None)

infinigen2.objects.random_primitives.torus_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

infinigen2.objects.random_primitives.uv_sphere_rand(rng) → pf.MeshObject[source]#
Parameters:

rng (Generator)

rug#

class infinigen2.objects.rug.RugResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.rug.rug(...) → RugResult[source]#
Parameters:
  • width (float) -- (default: 2.5)

  • length (float) -- (default: 3.125)

  • fillet_radius (float) -- (default: 0.625)

  • thickness (float) -- (default: 0.015)

  • material (pf.Material | None) -- (default: None)

infinigen2.objects.rug.rug_rand(rng, dimensions=None, material=None) → RugResult[source]#

Example renders

infinigen2.objects.rug.rug_rand seed 0
infinigen2 rug_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 1
infinigen2 rug_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 2
infinigen2 rug_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 3
infinigen2 rug_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 4
infinigen2 rug_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.rug.rug_rand seed 5
infinigen2 rug_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

sink#

class infinigen2.objects.sink.SinkResult(mesh, cutter)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; cutter: MeshObject

infinigen2.objects.sink.sink(...) → SinkResult[source]#
Parameters:
  • material (pf.Material | None) -- (default: None)

  • width (float) -- (default: 0.6)

  • depth (float) -- (default: 0.45)

  • curvature (float) -- (default: 1.0)

  • upper_height (float) -- (default: 0.3)

  • lower_height (float) -- (default: 0.005)

  • hole_radius (float) -- (default: 0.035)

  • margin (float) -- (default: 0.035)

  • water_tap_margin (float) -- (default: 0.11)

infinigen2.objects.sink.sink_rand(...) → SinkResult[source]#

Example renders

infinigen2.objects.sink.sink_rand seed 0
infinigen2 sink_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.sink.sink_rand seed 1
infinigen2 sink_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.sink.sink_rand seed 2
infinigen2 sink_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.sink.sink_rand seed 3
infinigen2 sink_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.sink.sink_rand seed 4
infinigen2 sink_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.sink.sink_rand seed 5
infinigen2 sink_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • material (pf.Material | None) -- (default: None)

  • width (float | None) -- (default: None)

  • depth (float | None) -- (default: None)

  • upper_height (float | None) -- (default: None)

  • lower_height (float | None) -- (default: None)

  • hole_radius (float | None) -- (default: None)

  • margin (float | None) -- (default: None)

  • water_tap_margin (float | None) -- (default: None)

sofa#

class infinigen2.objects.sofa.SofaResult(...)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; back_seat_line_start: Vector; back_seat_line_end: Vector; back_tilt: float

infinigen2.objects.sofa.sofa(...) → SofaResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • arm_dimensions (pf.Vector) -- (default: (1.0, 0.105, 0.625))

  • left_arm_thickness (float | None) -- (default: None)

  • right_arm_thickness (float | None) -- (default: None)

  • back_dimensions (pf.Vector) -- (default: (0.2, 0.0, 0.625))

  • seat_thickness (float) -- (default: 0.2)

  • seat_cushion_count (int) -- (default: 2)

  • baseboard_height (float) -- (default: 0.07)

  • backrest_width (float) -- (default: 0.15)

  • seat_margin (float) -- (default: 0.985)

  • backrest_angle (float) -- (default: -0.325)

  • arm_width (float) -- (default: 0.75)

  • arm_type (int) -- (default: 0)

  • arm_height (float) -- (default: 0.8)

  • arm_back_crease (float) -- (default: 0.2)

  • cushion_radius (float) -- (default: 0.05)

  • back_cushion_radius (float) -- (default: 0.06)

  • seat_cushion_crown (float) -- (default: 0.0)

  • back_cushion_crown (float) -- (default: 0.0)

  • piping_radius (float) -- (default: 0.0)

  • body_radius (float) -- (default: 0.02)

  • arm_slant (float) -- (default: 0.0)

  • fabric_material (pf.Material | None) -- (default: None)

infinigen2.objects.sofa.sofa_dimensions_rand(rng) → pf.Vector[source]#

Default sofa dimensions.

Parameters:

rng (Generator)

infinigen2.objects.sofa.sofa_rand(...) → SofaResult[source]#

Skirted sofa whose body rests on the floor, seat 16-20 in high.

Example renders

infinigen2.objects.sofa.sofa_rand seed 0
infinigen2 sofa_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 1
infinigen2 sofa_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 2
infinigen2 sofa_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 3
infinigen2 sofa_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 4
infinigen2 sofa_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_rand seed 5
infinigen2 sofa_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • material (pf.Material | None) -- (default: None)

  • left_arm_thickness (float | None) -- (default: None)

  • right_arm_thickness (float | None) -- (default: None)

  • seat_height (float | None) -- (default: None)

infinigen2.objects.sofa.sofa_with_base_rand(...) → SofaResult[source]#

Sofa body raised on a table-style leg base 2-10 in high, seat 16-20 in high.

Example renders

infinigen2.objects.sofa.sofa_with_base_rand seed 0
infinigen2 sofa_with_base_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_with_base_rand seed 1
infinigen2 sofa_with_base_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_with_base_rand seed 2
infinigen2 sofa_with_base_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_with_base_rand seed 3
infinigen2 sofa_with_base_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_with_base_rand seed 4
infinigen2 sofa_with_base_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.sofa.sofa_with_base_rand seed 5
infinigen2 sofa_with_base_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

storage#

class infinigen2.objects.storage.StorageParams(...)[source]#

Bases: NamedTuple

Fields: dimensions: Vector; n_spaces_y: int; n_spaces_z: int; material: Material; frame_thickness: float; row_divider_width: float; col_divider_width: float; back_width: float

class infinigen2.objects.storage.StorageResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.storage.storage_bench_rand(rng, dimensions=None) → StorageResult[source]#

Outward-facing storage bench at dining-seat height.

Parameters:
infinigen2.objects.storage.storage_cabinet_with_base(...) → StorageResult[source]#

Cabinet carcass raised on a leg base occupying the bottom base_height of the overall height.

Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • base_height (float) -- (default: 0.0762)

  • leg_diameter (float) -- (default: 0.0762)

  • frame_material (pf.Material | None) -- (default: None)

infinigen2.objects.storage.storage_cabinet_with_base_rand(
rng,
dimensions=None,
) → StorageResult[source]#

Example renders

infinigen2.objects.storage.storage_cabinet_with_base_rand seed 0
infinigen2 storage_cabinet_with_base_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_base_rand seed 1
infinigen2 storage_cabinet_with_base_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_base_rand seed 2
infinigen2 storage_cabinet_with_base_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_base_rand seed 3
infinigen2 storage_cabinet_with_base_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_base_rand seed 4
infinigen2 storage_cabinet_with_base_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_base_rand seed 5
infinigen2 storage_cabinet_with_base_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.storage.storage_cabinet_with_door(
dimensions=None,
frame_material=None,
) → StorageResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

infinigen2.objects.storage.storage_cabinet_with_door_rand(...) → StorageResult[source]#

frame_material covers carcass and door front when given.

Example renders

infinigen2.objects.storage.storage_cabinet_with_door_rand seed 0
infinigen2 storage_cabinet_with_door_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_door_rand seed 1
infinigen2 storage_cabinet_with_door_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_door_rand seed 2
infinigen2 storage_cabinet_with_door_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_door_rand seed 3
infinigen2 storage_cabinet_with_door_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_door_rand seed 4
infinigen2 storage_cabinet_with_door_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cabinet_with_door_rand seed 5
infinigen2 storage_cabinet_with_door_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.storage.storage_cell_bounds(...) → list[tuple[pf.Vector, pf.Vector]][source]#

Interior slot bounds in the shelf’s min-corner coordinate system.

Parameters:
infinigen2.objects.storage.storage_cell_counts(...) → tuple[int, int][source]#

Fit clear-slot proportions while keeping cells at a usable scale.

Parameters:
infinigen2.objects.storage.storage_cell_shelf(...) → StorageResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • n_spaces_y (int) -- (default: 3)

  • n_spaces_z (int) -- (default: 4)

  • frame_thickness (float) -- (default: 0.03)

  • row_divider_width (float) -- (default: 0.025)

  • col_divider_width (float) -- (default: 0.02)

  • back_width (float) -- (default: 0.02)

  • frame_material (pf.Material | None) -- (default: None)

infinigen2.objects.storage.storage_cell_shelf_rand(...) → StorageResult[source]#

Open cell shelf; storage_composite_rand adds sampled drawer or door fronts.

Example renders

infinigen2.objects.storage.storage_cell_shelf_rand seed 0
infinigen2 storage_cell_shelf_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cell_shelf_rand seed 1
infinigen2 storage_cell_shelf_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cell_shelf_rand seed 2
infinigen2 storage_cell_shelf_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cell_shelf_rand seed 3
infinigen2 storage_cell_shelf_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cell_shelf_rand seed 4
infinigen2 storage_cell_shelf_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_cell_shelf_rand seed 5
infinigen2 storage_cell_shelf_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • n_spaces_y (int | None) -- (default: None)

  • n_spaces_z (int | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • back_width (float | None) -- (default: None)

  • frame_thickness (float | None) -- (default: None)

  • row_divider_width (float | None) -- (default: None)

  • col_divider_width (float | None) -- (default: None)

  • desired_slot_aspect (float | None) -- (default: None)

infinigen2.objects.storage.storage_composite_rand(...) → StorageResult[source]#

Sample one open, drawer, single-door or double-door cabinet treatment.

The requested depth always reserves a front slab, so every treatment stays inside the footprint callers place and collide against.

Example renders

infinigen2.objects.storage.storage_composite_rand seed 0
infinigen2 storage_composite_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_composite_rand seed 1
infinigen2 storage_composite_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_composite_rand seed 2
infinigen2 storage_composite_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_composite_rand seed 3
infinigen2 storage_composite_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_composite_rand seed 4
infinigen2 storage_composite_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_composite_rand seed 5
infinigen2 storage_composite_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • n_spaces_y (int | None) -- (default: None)

  • n_spaces_z (int | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • back_width (float | None) -- (default: None)

  • frame_thickness (float | None) -- (default: None)

  • row_divider_width (float | None) -- (default: None)

  • col_divider_width (float | None) -- (default: None)

  • desired_slot_aspect (float | None) -- (default: None)

  • handle (pf.MeshObject | None) -- (default: None)

infinigen2.objects.storage.storage_dimensions_rand(rng) → pf.Vector[source]#

Carcass footprint and height in meters, ordered as depth, width, height.

Parameters:

rng (Generator)

infinigen2.objects.storage.storage_drawer_door_rand(...) → StorageResult[source]#

Drawer storage over a door cabinet, with drawers in the top drawer_fraction.

Example renders

infinigen2.objects.storage.storage_drawer_door_rand seed 0
infinigen2 storage_drawer_door_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_drawer_door_rand seed 1
infinigen2 storage_drawer_door_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_drawer_door_rand seed 2
infinigen2 storage_drawer_door_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_drawer_door_rand seed 3
infinigen2 storage_drawer_door_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_drawer_door_rand seed 4
infinigen2 storage_drawer_door_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.storage.storage_drawer_door_rand seed 5
infinigen2 storage_drawer_door_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.storage.storage_legs_grid_rand(...) → pf.MeshObject[source]#
Parameters:
infinigen2.objects.storage.storage_legs_stable_rand(...) → pf.MeshObject[source]#
Parameters:
infinigen2.objects.storage.storage_params_rand(...) → StorageParams[source]#

Resolve every carcass parameter the caller left unspecified.

Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • n_spaces_y (int | None) -- (default: None)

  • n_spaces_z (int | None) -- (default: None)

  • material (pf.Material | None) -- (default: None)

  • back_width (float | None) -- (default: None)

  • frame_thickness (float | None) -- (default: None)

  • row_divider_width (float | None) -- (default: None)

  • col_divider_width (float | None) -- (default: None)

  • desired_slot_aspect (float | None) -- (default: None)

infinigen2.objects.storage.storage_rand(...) → StorageResult[source]#

Cell shelf, half of them raised on a stable compositional base.

Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • n_spaces_y (int | None) -- (default: None)

  • n_spaces_z (int | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • back_width (float | None) -- (default: None)

  • desired_slot_aspect (float | None) -- (default: None)

infinigen2.objects.storage.storage_sink_base_rand(...) → StorageResult[source]#

Open-topped, shelfless door cabinet so a basin can drop in from above.

Parameters:
infinigen2.objects.storage.storage_table_coffee_rand(
rng,
dimensions=None,
) → StorageResult[source]#

Coffee table whose body is a cell shelf.

Parameters:
infinigen2.objects.storage.storage_table_side_rand(
rng,
dimensions=None,
) → StorageResult[source]#

Side table whose body is a cell shelf.

Parameters:
infinigen2.objects.storage.storage_with_legs_rand(...) → StorageResult[source]#

Cell shelf raised on a stable compositional base.

Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • n_spaces_y (int | None) -- (default: None)

  • n_spaces_z (int | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • back_width (float | None) -- (default: None)

  • leg_height (float | None) -- (default: None)

  • close_edges (bool) -- (default: False)

  • desired_slot_aspect (float | None) -- (default: None)

table#

class infinigen2.objects.table.TableResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.table.table_cocktail_circular_rand(rng) → TableResult[source]#

Circular cocktail/bar table, usually with a wide pedestal base.

Example renders

infinigen2.objects.table.table_cocktail_circular_rand seed 0
infinigen2 table_cocktail_circular_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_circular_rand seed 1
infinigen2 table_cocktail_circular_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_circular_rand seed 2
infinigen2 table_cocktail_circular_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_circular_rand seed 3
infinigen2 table_cocktail_circular_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_circular_rand seed 4
infinigen2 table_cocktail_circular_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_circular_rand seed 5
infinigen2 table_cocktail_circular_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.table_cocktail_rand(rng) → TableResult[source]#

Circular or square cocktail/bar table.

Example renders

infinigen2.objects.table.table_cocktail_rand seed 0
infinigen2 table_cocktail_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_rand seed 1
infinigen2 table_cocktail_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_rand seed 2
infinigen2 table_cocktail_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_rand seed 3
infinigen2 table_cocktail_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_rand seed 4
infinigen2 table_cocktail_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_cocktail_rand seed 5
infinigen2 table_cocktail_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.table_coffee_circular_rand(rng) → TableResult[source]#

Round coffee table, 30-42 in (0.76-1.07 m) across and 16-19 in high.

Example renders

infinigen2.objects.table.table_coffee_circular_rand seed 0
infinigen2 table_coffee_circular_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_circular_rand seed 1
infinigen2 table_coffee_circular_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_circular_rand seed 2
infinigen2 table_coffee_circular_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_circular_rand seed 3
infinigen2 table_coffee_circular_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_circular_rand seed 4
infinigen2 table_coffee_circular_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_circular_rand seed 5
infinigen2 table_coffee_circular_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.table_coffee_dimensions_rand(rng) → pf.Vector[source]#

Coffee table dimensions.

Parameters:

rng (Generator)

infinigen2.objects.table.table_coffee_rand(rng) → TableResult[source]#

Rectangular, round or storage coffee table.

Example renders

infinigen2.objects.table.table_coffee_rand seed 0
infinigen2 table_coffee_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_rand seed 1
infinigen2 table_coffee_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_rand seed 2
infinigen2 table_coffee_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_rand seed 3
infinigen2 table_coffee_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_rand seed 4
infinigen2 table_coffee_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_rand seed 5
infinigen2 table_coffee_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.table_coffee_storage_rand(rng) → TableResult[source]#

Example renders

infinigen2.objects.table.table_coffee_storage_rand seed 0
infinigen2 table_coffee_storage_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_storage_rand seed 1
infinigen2 table_coffee_storage_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_storage_rand seed 2
infinigen2 table_coffee_storage_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_storage_rand seed 3
infinigen2 table_coffee_storage_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_storage_rand seed 4
infinigen2 table_coffee_storage_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_coffee_storage_rand seed 5
infinigen2 table_coffee_storage_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.table_dimensions_rand(...) → pf.Vector[source]#

Default dining table dimensions.

Parameters:
  • rng (Generator)

  • width (float | None) -- (default: None)

  • height (float | None) -- (default: None)

  • depth (float | None) -- (default: None)

infinigen2.objects.table.table_dining_circular_rand(...) → TableResult[source]#

Circular dining table sized for four chairs.

Example renders

infinigen2.objects.table.table_dining_circular_rand seed 0
infinigen2 table_dining_circular_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_circular_rand seed 1
infinigen2 table_dining_circular_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_circular_rand seed 2
infinigen2 table_dining_circular_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_circular_rand seed 3
infinigen2 table_dining_circular_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_circular_rand seed 4
infinigen2 table_dining_circular_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_circular_rand seed 5
infinigen2 table_dining_circular_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • diameter (float | None) -- (default: None)

  • height (float | None) -- (default: None)

  • base (pf.MeshObject | None) -- (default: None)

  • top_thickness (float | None) -- (default: None)

  • top_material (pf.Material | None) -- (default: None)

  • leg_material (pf.Material | None) -- (default: None)

infinigen2.objects.table.table_dining_rand(...) → TableResult[source]#

Example renders

infinigen2.objects.table.table_dining_rand seed 0
infinigen2 table_dining_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_rand seed 1
infinigen2 table_dining_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_rand seed 2
infinigen2 table_dining_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_rand seed 3
infinigen2 table_dining_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_rand seed 4
infinigen2 table_dining_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_dining_rand seed 5
infinigen2 table_dining_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.table.table_side_circular_rand(rng) → TableResult[source]#

Round end table, 16-24 in (0.4-0.6 m) across, near sofa arm height.

Example renders

infinigen2.objects.table.table_side_circular_rand seed 0
infinigen2 table_side_circular_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_circular_rand seed 1
infinigen2 table_side_circular_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_circular_rand seed 2
infinigen2 table_side_circular_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_circular_rand seed 3
infinigen2 table_side_circular_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_circular_rand seed 4
infinigen2 table_side_circular_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_circular_rand seed 5
infinigen2 table_side_circular_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.table_side_dimensions_rand(rng) → pf.Vector[source]#

Side table dimensions.

Parameters:

rng (Generator)

infinigen2.objects.table.table_side_rand(rng) → TableResult[source]#

Side table.

Example renders

infinigen2.objects.table.table_side_rand seed 0
infinigen2 table_side_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_rand seed 1
infinigen2 table_side_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_rand seed 2
infinigen2 table_side_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_rand seed 3
infinigen2 table_side_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_rand seed 4
infinigen2 table_side_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.table.table_side_rand seed 5
infinigen2 table_side_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

infinigen2.objects.table.table_top(
size=(1.4, 0.8, 0.05),
support_loop_offset=(0.02, 0.02, 0.01),
) → pf.ProcNode[pf.MeshObject][source]#

Slab spanning z in [0, size.z]; support_loop_offset sets edge roundness. Subdivision is left to an unapplied modifier on the final object.

Parameters:

tap#

class infinigen2.objects.tap.TapResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.tap.tap_rand(...) → TapResult[source]#

Example renders

infinigen2.objects.tap.tap_rand seed 0
infinigen2 tap_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.tap.tap_rand seed 1
infinigen2 tap_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.tap.tap_rand seed 2
infinigen2 tap_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.tap.tap_rand seed 3
infinigen2 tap_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.tap.tap_rand seed 4
infinigen2 tap_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.tap.tap_rand seed 5
infinigen2 tap_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • material (pf.Material | None) -- (default: None)

  • base_width (float | None) -- (default: None)

  • base_length (float | None) -- (default: None)

  • base_height (float | None) -- (default: None)

  • base_radius (float | None) -- (default: None)

  • spout_height (float | None) -- (default: None)

  • spout_reach (float | None) -- (default: None)

  • spout_drop (float | None) -- (default: None)

  • spout_radius (float | None) -- (default: None)

  • rotation_z (float | None) -- (default: None)

  • hands_length_x (float | None) -- (default: None)

  • hands_length_y (float | None) -- (default: None)

toilet#

class infinigen2.objects.toilet.ToiletResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.toilet.toilet(...) → ToiletResult[source]#
Parameters:
infinigen2.objects.toilet.toilet_rand(...) → ToiletResult[source]#

Example renders

infinigen2.objects.toilet.toilet_rand seed 0
infinigen2 toilet_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.toilet.toilet_rand seed 1
infinigen2 toilet_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.toilet.toilet_rand seed 2
infinigen2 toilet_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.toilet.toilet_rand seed 3
infinigen2 toilet_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.toilet.toilet_rand seed 4
infinigen2 toilet_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.toilet.toilet_rand seed 5
infinigen2 toilet_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • material (pf.Material | None) -- (default: None)

  • seat_material (pf.Material | None) -- (default: None)

  • hardware_material (pf.Material | None) -- (default: None)

  • size (float | None) -- (default: None)

  • width (float | None) -- (default: None)

  • height (float | None) -- (default: None)

  • hardware_type (Literal['button', 'handle'] | None) -- (default: None)

  • has_seat_cut (bool | None) -- (default: None)

  • hardware_on_side (bool | None) -- (default: None)

  • tank_cap_extrude (float | None) -- (default: None)

  • cover_rotation (float | None) -- (default: None)

vase#

class infinigen2.objects.vase.VaseResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.vase.cup_material_rand(rng, vector) → pf.Material[source]#
Parameters:
infinigen2.objects.vase.cup_rand(rng, material=None) → VaseResult[source]#

Example renders

infinigen2.objects.vase.cup_rand seed 0
infinigen2 cup_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.cup_rand seed 1
infinigen2 cup_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.cup_rand seed 2
infinigen2 cup_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.cup_rand seed 3
infinigen2 cup_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.cup_rand seed 4
infinigen2 cup_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.cup_rand seed 5
infinigen2 cup_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.vase.vase(...) → VaseResult[source]#
Parameters:
  • u_resolution (int) -- (default: 48)

  • v_resolution (int) -- (default: 24)

  • height (float) -- (default: 0.33)

  • diameter (float) -- (default: 0.15)

  • profile_inner_radius (float) -- (default: 1.0)

  • profile_star_points (int) -- (default: 24)

  • top_scale (float) -- (default: 0.5)

  • neck_mid_position (float) -- (default: 0.85)

  • neck_position (float) -- (default: 0.75)

  • neck_scale (float) -- (default: 0.5)

  • shoulder_position (float) -- (default: 0.5)

  • shoulder_thickness (float) -- (default: 0.175)

  • foot_scale (float) -- (default: 0.5)

  • foot_height (float) -- (default: 0.05)

  • material (pf.Material | None) -- (default: None)

  • thickness (float) -- (default: 0.0075)

infinigen2.objects.vase.vase_body(...) → pf.ProcNode[pf.MeshObject][source]#
Parameters:
infinigen2.objects.vase.vase_material_rand(rng, vec) → pf.Material[source]#
Parameters:
infinigen2.objects.vase.vase_rand(rng) → VaseResult[source]#

Example renders

infinigen2.objects.vase.vase_rand seed 0
infinigen2 vase_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 1
infinigen2 vase_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 2
infinigen2 vase_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 3
infinigen2 vase_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 4
infinigen2 vase_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.vase.vase_rand seed 5
infinigen2 vase_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

rng (Generator)

wall_art#

class infinigen2.objects.wall_art.WallArtResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

infinigen2.objects.wall_art.art_frame(...) → pf.ProcNode[source]#
Parameters:
infinigen2.objects.wall_art.art_frame_swept(...) → pf.ProcNode[source]#

Like art_frame, but sweeps a moulding profile around the border centerline.

frame_profile follows the trim convention (symmetric about y=0 with height matching frame_width, relief in -X); with the centerline normal set to -Z the relief protrudes out the panel front.

Parameters:
infinigen2.objects.wall_art.mirror_rand(rng, dimensions=None) → WallArtResult[source]#

Example renders

infinigen2.objects.wall_art.mirror_rand seed 0
infinigen2 mirror_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 1
infinigen2 mirror_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 2
infinigen2 mirror_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 3
infinigen2 mirror_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 4
infinigen2 mirror_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.mirror_rand seed 5
infinigen2 mirror_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.wall_art.mirror_surface_material_rand(rng, vector) → pf.Material[source]#
Parameters:
infinigen2.objects.wall_art.wall_art_rand(...) → WallArtResult[source]#

Example renders

infinigen2.objects.wall_art.wall_art_rand seed 0
infinigen2 wall_art_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 1
infinigen2 wall_art_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 2
infinigen2 wall_art_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 3
infinigen2 wall_art_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 4
infinigen2 wall_art_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.wall_art.wall_art_rand seed 5
infinigen2 wall_art_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:

window#

class infinigen2.objects.window.CurtainResult(mesh)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject

class infinigen2.objects.window.WindowProfile(dimensions, top_profile_height, bottom_profile_height)[source]#

Bases: NamedTuple

Fields: dimensions: Vector; top_profile_height: float; bottom_profile_height: float

class infinigen2.objects.window.WindowResult(mesh, light, profile)[source]#

Bases: NamedTuple

Fields: mesh: MeshObject; light: LightObject | None; profile: WindowProfile

infinigen2.objects.window.curtain(...) → CurtainResult[source]#
Parameters:
  • width (float) -- (default: 2.5)

  • depth (float) -- (default: 0.049)

  • height (float) -- (default: 2.5)

  • interval_number (float) -- (default: 22)

  • radius (float) -- (default: 0.015)

  • l1 (float) -- (default: -1.25)

  • r1 (float) -- (default: -0.4375)

  • l2 (float) -- (default: 0.4375)

  • r2 (float) -- (default: 1.25)

  • frame_depth (float) -- (default: -0.075)

  • curtain_frame_material (pf.Material | None) -- (default: None)

  • curtain_material (pf.Material | None) -- (default: None)

infinigen2.objects.window.curtain_rand(...) → CurtainResult[source]#

Example renders

infinigen2.objects.window.curtain_rand seed 0
infinigen2 curtain_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 1
infinigen2 curtain_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 2
infinigen2 curtain_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 3
infinigen2 curtain_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 4
infinigen2 curtain_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.curtain_rand seed 5
infinigen2 curtain_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
infinigen2.objects.window.double_rounded_profile_rand(rng, dimensions) → WindowProfile[source]#
Parameters:
infinigen2.objects.window.rectangular_profile(dimensions) → WindowProfile[source]#
Parameters:

dimensions (pf.Vector)

infinigen2.objects.window.rounded_profile_rand(rng, dimensions) → WindowProfile[source]#
Parameters:
infinigen2.objects.window.top_rounded_profile_rand(rng, dimensions) → WindowProfile[source]#
Parameters:
infinigen2.objects.window.window(...) → WindowResult[source]#
Parameters:
  • dimensions (pf.Vector | None) -- (default: None)

  • frame_width (float) -- (default: 0.035)

  • panel_h_amount (int) -- (default: 2)

  • panel_v_amount (int) -- (default: 2)

  • sub_frame_width (float) -- (default: 0.0225)

  • sub_frame_thickness (float) -- (default: 0.0525)

  • sub_panel_h_amount (int) -- (default: 1)

  • sub_panel_v_amount (int) -- (default: 1)

  • shutter (bool) -- (default: False)

  • shutter_panel_radius (float) -- (default: 0.002)

  • shutter_width (float) -- (default: 0.04)

  • shutter_thickness (float) -- (default: 0.005)

  • shutter_rotation (float) -- (default: 0.707)

  • shutter_interval (float) -- (default: 0.0424)

  • frame_material (pf.Material | None) -- (default: None)

  • glass_material (pf.Material | None) -- (default: None)

  • include_glass_pane (bool) -- (default: True)

  • include_portal (bool) -- (default: True)

  • top_profile_height (float) -- (default: 0.0)

  • bottom_profile_height (float) -- (default: 0.0)

infinigen2.objects.window.window_composite_rand(...) → WindowResult[source]#

Example renders

infinigen2.objects.window.window_composite_rand seed 0
infinigen2 window_composite_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_composite_rand seed 1
infinigen2 window_composite_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_composite_rand seed 2
infinigen2 window_composite_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_composite_rand seed 3
infinigen2 window_composite_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_composite_rand seed 4
infinigen2 window_composite_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_composite_rand seed 5
infinigen2 window_composite_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • glass_material (pf.Material | None) -- (default: None)

  • include_glass_pane (bool) -- (default: True)

  • include_portal (bool) -- (default: True)

infinigen2.objects.window.window_curved_rand(...) → WindowResult[source]#

Example renders

infinigen2.objects.window.window_curved_rand seed 0
infinigen2 window_curved_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_curved_rand seed 1
infinigen2 window_curved_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_curved_rand seed 2
infinigen2 window_curved_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_curved_rand seed 3
infinigen2 window_curved_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_curved_rand seed 4
infinigen2 window_curved_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_curved_rand seed 5
infinigen2 window_curved_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • glass_material (pf.Material | None) -- (default: None)

  • include_glass_pane (bool) -- (default: True)

  • include_portal (bool) -- (default: True)

infinigen2.objects.window.window_dimensions_rand(rng, width=None, height=None) → pf.Vector[source]#
Parameters:
  • rng (Generator)

  • width (float | None) -- (default: None)

  • height (float | None) -- (default: None)

infinigen2.objects.window.window_from_profile_rand(...) → WindowResult[source]#
Parameters:
infinigen2.objects.window.window_rand(...) → WindowResult[source]#

Example renders

infinigen2.objects.window.window_rand seed 0
infinigen2 window_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 1
infinigen2 window_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 2
infinigen2 window_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 3
infinigen2 window_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 4
infinigen2 window_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rand seed 5
infinigen2 window_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • glass_material (pf.Material | None) -- (default: None)

  • include_glass_pane (bool) -- (default: True)

  • include_portal (bool) -- (default: True)

infinigen2.objects.window.window_rectangular_rand(...) → WindowResult[source]#
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • glass_material (pf.Material | None) -- (default: None)

  • include_glass_pane (bool) -- (default: True)

  • include_portal (bool) -- (default: True)

infinigen2.objects.window.window_rectangular_composite_rand(...) → WindowResult[source]#

Example renders

infinigen2.objects.window.window_rectangular_composite_rand seed 0
infinigen2 window_rectangular_composite_rand object_demo render_cycles --seed 0 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rectangular_composite_rand seed 1
infinigen2 window_rectangular_composite_rand object_demo render_cycles --seed 1 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rectangular_composite_rand seed 2
infinigen2 window_rectangular_composite_rand object_demo render_cycles --seed 2 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rectangular_composite_rand seed 3
infinigen2 window_rectangular_composite_rand object_demo render_cycles --seed 3 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rectangular_composite_rand seed 4
infinigen2 window_rectangular_composite_rand object_demo render_cycles --seed 4 --passes rgb -r 512 512 -s 128
infinigen2.objects.window.window_rectangular_composite_rand seed 5
infinigen2 window_rectangular_composite_rand object_demo render_cycles --seed 5 --passes rgb -r 512 512 -s 128
Parameters:
  • rng (Generator)

  • dimensions (pf.Vector | None) -- (default: None)

  • frame_material (pf.Material | None) -- (default: None)

  • glass_material (pf.Material | None) -- (default: None)

  • curtain (pf.MeshObject | None) -- (default: None)

  • include_glass_pane (bool) -- (default: True)

  • include_portal (bool) -- (default: True)

Module contents#