Skip to content

Switch Octree-GS rendering to Gsplat backend - #2

Open
Hywelss wants to merge 8 commits into
mainfrom
codex/refactor-octree-gs-to-use-gsplat-backend
Open

Switch Octree-GS rendering to Gsplat backend#2
Hywelss wants to merge 8 commits into
mainfrom
codex/refactor-octree-gs-to-use-gsplat-backend

Conversation

@Hywelss

@Hywelss Hywelss commented Nov 30, 2025

Copy link
Copy Markdown
Owner

Summary

  • replace the diff_gaussian rasterizer with the gsplat packed rasterization path for Octree-GS rendering
  • add intrinsic utilities and frustum culling to align camera data with the new backend
  • include gsplat as a dependency in the environment specification

Testing

  • not run (not requested)

Codex Task

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +218 to 223
screenspace_points = info["means2d"].squeeze(0)
if retain_grad:
try:
screenspace_points.retain_grad()
except:
except Exception:
pass

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Screen-space grads no longer fed to densification

The new render path computes viewspace_points from info["means2d"] after the gsplat call and never feeds that tensor into the rendered image’s computation graph. During training (see gaussian_model.training_statis lines 645–653), the code expects non‑None gradients on viewspace_points when retain_grad=True to drive densification, but this tensor is now just a detached output that the loss does not depend on, so .grad remains None/zero and the subsequent indexing will raise or silently disable densification. This regression appears as soon as train.py calls training_statis in early iterations.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant