Skip to content

[FEATURE] Add New Features for Madrona Batch Rendering#1563

Merged
duburcqa merged 51 commits intoGenesis-Embodied-AI:mainfrom
ACMLCZH:czh/seg_new1
Sep 4, 2025
Merged

[FEATURE] Add New Features for Madrona Batch Rendering#1563
duburcqa merged 51 commits intoGenesis-Embodied-AI:mainfrom
ACMLCZH:czh/seg_new1

Conversation

@ACMLCZH
Copy link
Collaborator

@ACMLCZH ACMLCZH commented Aug 14, 2025

Render

  • Use rgb/depth/normal/segmentation in camera.render() or scene.render_all_cameras() to control the image components you want to render.
  • Use colorize_seg to colorize the segmentation map.
  • Use segmentation_level="geom"/"link"/"entity" in gs.options.VisOptions to control the segmentation level. (Now Pyrender also supports segmentation_level="geom").
  • Support rendering point clouds with BatchRender in camera.render_pointclouds().
  • Images are returned as ndarray and depth/segmentation image has shape (..., H, W,) (instead of (..., H, W, 1) ) for consistency with other renderers.

Light

  • Use scene.add_light() to add point/directional lights for BatchRender. Original add_light() function (specific for Luisa Raytracer) is renamed to add_mesh_light().
  • Support color for colored lights.
  • Support attenuation for attenuation factor (based on squared distance) for pointed lights.

Camera

  • Support setting near and far plane distance in scene.add_camera().

Bug Fix

  • Fix projection matrix in BatchRender. Now its depth images should match with Pyrender.
  • Fix issue that when running in raytracer mode, the rasterization also runs. The (single-bounced) raytracer mode's speed should be slightly faster than rasterizer mode now.
  • Align ambient lights as 0.05 in both rasterizer and raytracer modes. The brightness of images in the same light configuration should be the same.

Code Base

  • Add a SegmentationManager helper class for both Rasterizer and BatchRender.
  • Remove the usage of RigidSolver in gs-madrona, replaced with GeomRetriever helper class.
  • Optimize the code structure of tool class FrameImageExporter in gs.utils.image_exporter.py. Now it accepts ndarray images.

Resolves #1632
Resolves #1648

@ACMLCZH ACMLCZH changed the title [FEATURE] Add Madrona Batch Rendering for Genesis [FEATURE] Add New Features for Madrona Batch Rendering Aug 14, 2025
@ACMLCZH ACMLCZH requested a review from duburcqa August 22, 2025 18:01
@duburcqa duburcqa enabled auto-merge (squash) September 3, 2025 22:49
@duburcqa duburcqa merged commit f3ba941 into Genesis-Embodied-AI:main Sep 4, 2025
15 checks passed
winnieyangwannan pushed a commit to winnieyangwannan/Genesis that referenced this pull request Sep 14, 2025
…ied-AI#1563)

Co-authored-by: Alexis DUBURCQ <alexis.duburcq@gmail.com>
Kashu7100 pushed a commit to Kashu7100/Genesis that referenced this pull request Jan 26, 2026
…ied-AI#1563)

Co-authored-by: Alexis DUBURCQ <alexis.duburcq@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

5 participants