Skip to content

Bug: 2DGS rasterization uses Gaussian center depth instead of ray-plane intersection depth #863

@npu-chenlin

Description

@npu-chenlin

The current rasterize_to_pixels_2dgs implementation appears to use the Gaussian center z-coordinate (means_c[..., 2]) as the depth value during alpha blending, rather than the actual ray-plane intersection depth as described in the original 2DGS paper.

As demonstrated in the images below with two tilted splats: the original 2DGS implementation correctly captures varying depths across the splat surfaces via ray-plane intersection, whereas gsplat's current implementation renders constant depth values (using only the Gaussian center z-coordinate), which is geometrically incorrect for non-frontal surfaces.
Image
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions