Skip to content

Add spherical harmonics support for Gaussian splats (new)#736

Draft
AntonioMacaronio wants to merge 1 commit into
viser-project:mainfrom
AntonioMacaronio:spherical-harmonics-main
Draft

Add spherical harmonics support for Gaussian splats (new)#736
AntonioMacaronio wants to merge 1 commit into
viser-project:mainfrom
AntonioMacaronio:spherical-harmonics-main

Conversation

@AntonioMacaronio

Copy link
Copy Markdown

Port of the 2024 spherical-harmonics-support branch onto current main. add_gaussian_splats() accepts an optional sh_coeffs argument with (N, K, 3) coefficients in the 3DGS convention (K = 4/9/16 for degrees 1/2/3); colors are then computed per-vertex from the view direction in the shader, using gsplat's recurrence relations.

Coefficients travel as float16 packed into a RGBA32UI texture, padded so each Gaussian spans a whole number of texels. Splat groups without harmonics composite correctly with groups that have them: they're promoted to DC-only coefficients derived from their RGBA colors.

The 09_gaussian_splats example now reads f_rest_* fields from 3DGS .ply files.

Port of the 2024 spherical-harmonics-support branch onto current main.
`add_gaussian_splats()` accepts an optional `sh_coeffs` argument with
(N, K, 3) coefficients in the 3DGS convention (K = 4/9/16 for degrees
1/2/3); colors are then computed per-vertex from the view direction in
the shader, using gsplat's recurrence relations.

Coefficients travel as float16 packed into a RGBA32UI texture, padded
so each Gaussian spans a whole number of texels. Splat groups without
harmonics composite correctly with groups that have them: they're
promoted to DC-only coefficients derived from their RGBA colors.

The 09_gaussian_splats example now reads f_rest_* fields from 3DGS
.ply files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@AntonioMacaronio AntonioMacaronio changed the title Add spherical harmonics support for Gaussian splats Add spherical harmonics support for Gaussian splats (new) Jul 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant