Skip to content

Workbuffer for gsplat uniform no longer stores covariance, but directly the components#8244

Merged
mvaligursky merged 1 commit intomainfrom
mv-workbuffer-components
Dec 12, 2025
Merged

Workbuffer for gsplat uniform no longer stores covariance, but directly the components#8244
mvaligursky merged 1 commit intomainfrom
mv-workbuffer-components

Conversation

@mvaligursky
Copy link
Contributor

@mvaligursky mvaligursky commented Dec 12, 2025

  • the work buffer stored precomputed covariance vectors, but when those are stored in half precision, this causes multiple issues for very small (or slim) splats where those are very close to zero, which half floats fail to store with enough precision
  • this switches storage to center / scale / quat, using the same data sizes (no bandwidth change)
  • precision issues are gone
  • there is 5-7% performance hit when rendering with work buffer, but I do not see a better option to preserve the quality
  • this allows us in the future to compress data to less than half formats (lets say for mobile) as well
  • shader chunks reading source formats now all supply components instead of covariance, and so we now only have a single copy of that function

@mvaligursky mvaligursky self-assigned this Dec 12, 2025
@mvaligursky mvaligursky added enhancement Request for a new feature area: graphics Graphics related issue labels Dec 12, 2025
@mvaligursky mvaligursky requested a review from a team December 12, 2025 10:50
@mvaligursky mvaligursky merged commit 8bd94ce into main Dec 12, 2025
7 checks passed
@mvaligursky mvaligursky deleted the mv-workbuffer-components branch December 12, 2025 11:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: graphics Graphics related issue enhancement Request for a new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants