Exporters#
Public entrypoints for rendering scenes and exporting generated data.
Rendering#
- infinigen2.exporters.render_cycles.render_cycles(
- ...,
- Parameters:
objects (list[pf.MeshObject])
camera (CameraObject)
output_folder (Path)
render_passes (list[RenderPass])
lights (list[LightObject] | None) -- (default:
None)frame_start (int) -- (default:
1)frame_end (int) -- (default:
1)frame_rate (int) -- (default:
24)device_type (str) -- (default:
'BEST_AVAILABLE')view_layer (ViewLayer) -- (default:
None)depth_of_field_fstop (float | None) -- (default:
None)motion_blur_shutter (float | None) -- (default:
None)displacement_mode (DisplacementMode) -- (default:
<DisplacementMode.DISPLACEMENT: 'DISPLACEMENT'>)render_skip_existing (bool) -- (default:
False)min_samples (int) -- (default:
32)max_samples (int) -- (default:
256)samples_adaptive_threshold (float) -- (default:
0.01)film_exposure (float) -- (default:
1.0)volume_step_rate (float) -- (default:
0.1)volume_preview_step_rate (float) -- (default:
0.1)volume_max_steps (int) -- (default:
32)volume_bounces (int) -- (default:
4)max_bounces (int) -- (default:
4)diffuse_bounces (int) -- (default:
4)glossy_bounces (int) -- (default:
4)sample_clamp_indirect (float) -- (default:
10.0)sample_clamp_direct (float) -- (default:
10.0)transmission_bounces (int) -- (default:
2)denoise_mode (DenoiseMode) -- (default:
<DenoiseMode.BEST: 'best'>)fail_for_black_frame_thresh (float | None) -- (default:
0.02)fail_for_unconverged_pix_frac (float | None) -- (default:
None)
- infinigen2.exporters.render_cycles.render_cycles_ground_truth(
- ...,
- Parameters:
objects (list[pf.MeshObject])
camera (CameraObject)
output_folder (Path)
render_passes (list[RenderPass])
lights (list[LightObject] | None) -- (default:
None)frame_start (int) -- (default:
1)frame_end (int) -- (default:
1)frame_rate (int) -- (default:
24)device_type (str) -- (default:
'BEST_AVAILABLE')view_layer (ViewLayer) -- (default:
None)depth_of_field_fstop (float | None) -- (default:
None)motion_blur_shutter (float | None) -- (default:
None)displacement_mode (DisplacementMode) -- (default:
<DisplacementMode.DISPLACEMENT: 'DISPLACEMENT'>)render_skip_existing (bool) -- (default:
False)min_samples (int) -- (default:
32)max_samples (int) -- (default:
256)samples_adaptive_threshold (float) -- (default:
0.01)film_exposure (float) -- (default:
1.0)volume_step_rate (float) -- (default:
0.1)volume_preview_step_rate (float) -- (default:
0.1)volume_max_steps (int) -- (default:
32)volume_bounces (int) -- (default:
4)max_bounces (int) -- (default:
4)diffuse_bounces (int) -- (default:
4)glossy_bounces (int) -- (default:
4)sample_clamp_indirect (float) -- (default:
10.0)sample_clamp_direct (float) -- (default:
10.0)transmission_bounces (int) -- (default:
2)denoise_mode (DenoiseMode) -- (default:
<DenoiseMode.BEST: 'best'>)
- infinigen2.exporters.render_eevee.render_eevee(
- ...,
Render using Eevee with multiple passes
- Parameters:
objects (list[pf.MeshObject])
camera (CameraObject)
output_folder (Path)
render_passes (list[RenderPass])
frame_start (int)
frame_end (int)
lights (list[LightObject] | None) -- (default:
None)frame_rate (int) -- (default:
24)view_layer (ViewLayer) -- (default:
None)depth_of_field_fstop (float | None) -- (default:
None)motion_blur_shutter (float | None) -- (default:
None)displacement_mode (DisplacementMode) -- (default:
<DisplacementMode.DISPLACEMENT_AND_BUMP: 'BOTH'>)allow_gt_types (bool) -- (default:
False)parameters (Unpack[RenderEeveeParams])
- infinigen2.exporters.render_eevee.render_eevee_ground_truth(
- ...,
- Parameters:
objects (list[pf.MeshObject])
camera (CameraObject)
output_folder (Path)
render_passes (list[RenderPass])
frame_start (int)
frame_end (int)
lights (list[LightObject] | None) -- (default:
None)frame_rate (int) -- (default:
24)view_layer (ViewLayer) -- (default:
None)depth_of_field_fstop (float | None) -- (default:
None)motion_blur_shutter (float | None) -- (default:
None)displacement_mode (DisplacementMode) -- (default:
<DisplacementMode.DISPLACEMENT_AND_BUMP: 'BOTH'>)parameters (Unpack[RenderEeveeParams])
- infinigen2.exporters.render_workbench.render_workbench(
- ...,
- Parameters:
objects (list[pf.MeshObject])
camera (CameraObject)
output_folder (Path)
render_passes (list[RenderPass])
lights (list[LightObject] | None) -- (default:
None)frame_start (int) -- (default:
1)frame_end (int) -- (default:
1)frame_rate (int) -- (default:
24)displacement_mode (DisplacementMode) -- (default:
<DisplacementMode.DISPLACEMENT_AND_BUMP: 'BOTH'>)render_skip_existing (bool) -- (default:
False)lighting (str) -- (default:
'MATCAP')color_type (str) -- (default:
'RANDOM')studio_light (str) -- (default:
'studio.sl')matcap_light (str) -- (default:
'basic_1.exr')samples (int) -- (default:
16)
Data export#
Ground-truth visualization#
- infinigen2.exporters.visualize_gt.visualize_gt(
- exports,
- output_folder,
- Parameters:
exports (dict[ExportType, list[Path]] | list[dict[ExportType, list[Path]]])
output_folder (Path)
- infinigen2.exporters.visualize_gt.visualize_seg_mask(input_path, output_path, color_seed=0)[source]#
- infinigen2.exporters.visualize_gt.visualize_uniq_inst(input_path, output_path, color_seed=0)[source]#
Validation#
- infinigen2.exporters.render_error_check.render_validity_check(
- objects,
- displacement_mode=DisplacementMode.DISPLACEMENT_AND_BUMP,
- Parameters:
objects (list[pf.MeshObject])
displacement_mode (DisplacementMode) -- (default:
<DisplacementMode.DISPLACEMENT_AND_BUMP: 'BOTH'>)
- infinigen2.exporters.render_error_check.unsafe_displacement_materials(materials=None) dict[str, str][source]#
- Parameters:
materials (list[pf.Material] | None) -- (default:
None)
- infinigen2.exporters.render_error_check.check_material_uv_coords(obj, material=None, mat_index=None) list[str][source]#
- Parameters:
obj (Object)
material (pf.Material | None) -- (default:
None)mat_index (int | None) -- (default:
None)
- infinigen2.exporters.render_error_check.count_material_nodes(material) int[source]#
- Parameters:
material (pf.Material)
- infinigen2.exporters.render_error_check.normal_input_used(material) list[str][source]#
- Parameters:
material (pf.Material)
- infinigen2.exporters.render_error_check.unlinked_texture_vector(material) list[str][source]#
- Parameters:
material (pf.Material)
- infinigen2.exporters.render_error_check.missing_attribute_issues(obj) list[str][source]#
- Parameters:
obj (Object)
- infinigen2.exporters.render_error_check.nonfinite_vertex_counts(objects=None) dict[str, int][source]#
- Parameters:
objects (list[pf.MeshObject] | None) -- (default:
None)
- infinigen2.exporters.render_error_check.singular_transform_objects(objects=None) dict[str, float][source]#
- Parameters:
objects (list[pf.MeshObject] | None) -- (default:
None)
- Parameters:
objects (list[pf.MeshObject])
Types#
- class infinigen2.exporters.DenoiseMode(value)[source]#
Bases:
Enum- NONE = 'none'#
- BEST = 'best'#
- OPTIX = 'OPTIX'#
- OPENIMAGEDENOISE = 'OPENIMAGEDENOISE'#
- class infinigen2.exporters.RenderEeveeParams(
- taa_render_samples: int = 64,
- use_taa_reprojection: bool = True,
- film_exposure: float = 1.0,
- taa_samples: int = 16,
- use_gtao: bool = False,
- gtao_distance: float = 0.2,
- gtao_quality: float = 0.25,
- use_shadows: bool = True,
- shadow_pool_size: int = '512',
- shadow_ray_count: int = 1,
- shadow_resolution_scale: float = 1.0,
- shadow_step_count: int = 6,
- use_raytracing: bool = False,
- ray_tracing_method: str = 'SCREEN',
- use_fast_gi: bool = False,
- fast_gi_method: str = 'GLOBAL_ILLUMINATION',
- fast_gi_ray_count: int = 2,
- fast_gi_resolution: str = '2',
- fast_gi_step_count: int = 8,
- fast_gi_quality: float = 0.25,
- fast_gi_bias: float = 0.05,
- fast_gi_distance: float = 0.0,
- fast_gi_thickness_far: float = 0.785,
- fast_gi_thickness_near: float = 0.25,
- use_overscan: bool = False,
- overscan_size: float = 3.0,
- use_volume_custom_range: bool = False,
- volumetric_start: float = 0.1,
- volumetric_end: float = 100.0,
- volumetric_samples: int = 64,
- volumetric_shadow_samples: int = 16,
- volumetric_tile_size: str = '8',
- volumetric_sample_rand: float = 0.8,
- volumetric_light_clamp: float = 0.0,
- volumetric_ray_depth: int = 16,
- use_volumetric_shadows: bool = False,
Bases:
object- Parameters:
taa_render_samples (int)
use_taa_reprojection (bool)
film_exposure (float)
taa_samples (int)
use_gtao (bool)
gtao_distance (float)
gtao_quality (float)
use_shadows (bool)
shadow_pool_size (int)
shadow_ray_count (int)
shadow_resolution_scale (float)
shadow_step_count (int)
use_raytracing (bool)
ray_tracing_method (str)
use_fast_gi (bool)
fast_gi_method (str)
fast_gi_ray_count (int)
fast_gi_resolution (str)
fast_gi_step_count (int)
fast_gi_quality (float)
fast_gi_bias (float)
fast_gi_distance (float)
fast_gi_thickness_far (float)
fast_gi_thickness_near (float)
use_overscan (bool)
overscan_size (float)
use_volume_custom_range (bool)
volumetric_start (float)
volumetric_end (float)
volumetric_samples (int)
volumetric_shadow_samples (int)
volumetric_tile_size (str)
volumetric_sample_rand (float)
volumetric_light_clamp (float)
volumetric_ray_depth (int)
use_volumetric_shadows (bool)
- class infinigen2.exporters.RenderPass(
- type: ExportType,
- path: Path,
- data_type: dtype,
Bases:
object- Parameters:
type (ExportType)
path (Path)
data_type (dtype)
- class infinigen2.exporters.ExportType(value)[source]#
Bases:
Enum- CAMERA = 'camera'#
- IMAGE = 'rgb'#
- IMAGE_DENOISED = 'rgb-denoised'#
- IMAGE_HDR = 'rgb-hdr'#
- IMAGE_DENOISED_HDR = 'rgb-denoised-hdr'#
- BLENDER_FILE = 'scene'#
- CAM_IMU_TUM_TRAJ = 'cam-trajectory-imu-tum'#
- OBJ_IMU_TUM_TRAJ = 'obj-trajectory-imu-tum'#
- MESH = 'mesh'#
- OBJECTS_FILE = 'objects'#
- OBJECT_DATA = 'object-data'#
- OPTICAL_FLOW = 'optical-flow'#
- DEPTH_CHANGE = 'depth-change'#
- FLOW_3D = 'flow-3d'#
- FLOW_MASK_MATCHED = 'flow-mask-matched'#
- FLOW_MASK_CYCLECONSISTENCY = 'flow-mask-cycle-consistency'#
- INV_FLOW = 'inv-flow-3d'#
- POINT_TRAJECTORIES = 'point-trajectories-3d'#
- INV_POINT_TRAJECTORIES = 'inv-point-trajectories-3d'#
- DEPTH = 'depth'#
- SURFACE_NORMAL = 'surface-normal'#
- SURFACE_NORMAL_WORLD = 'surface-normal-world'#
- OCCLUSION_BOUNDARIES = 'occlusion'#
- OBJECT_INDEX = 'semantic-segmentation'#
- INSTANCE_SEGMENTATION = 'instance-segmentation'#
- MATERIAL_INDEX = 'material-segmentation'#
- OBJECT_INDEX_TABLE = 'object-index-table'#
- MATERIAL_INDEX_TABLE = 'material-index-table'#
- ATTRIBUTE_MASK = 'attribute-mask'#
- VISUALIZATIONS = 'visualizations'#
- DIFFUSE_COLOR = 'diffuse-color'#
- AMBIENT_OCCLUSION = 'ambient-occlusion'#
- DIFFUSE_DIRECT = 'diffuse-direct'#
- DIFFUSE_INDIRECT = 'diffuse-indirect'#
- GLOSSY_DIRECT = 'glossy-direct'#
- GLOSSY_INDIRECT = 'glossy-indirect'#
- TRANSMISSION_DIRECT = 'transmission-direct'#
- TRANSMISSION_INDIRECT = 'transmission-indirect'#
- VOLUME_DIRECT = 'volume-direct'#
- EMISSION = 'emission'#
- ENVIRONMENT = 'environment'#