cesium icon indicating copy to clipboard operation
cesium copied to clipboard

Fix drawCommand model matrix for instanced GaussianSplatPrimitive

Open keyboardspecialist opened this issue 2 months ago • 3 comments

Description

When building the draw command, we were using a scratch matrix which got passed along with the draw command. Any subsequent tilesets that pushed commands would reuse that same matrix causing tilesets to erratically shift from using an incorrect model matrix.

Also correctly sets draw command ownership.

Issue number and link

Fixes #12967

Testing plan

Author checklist

  • [x] I have submitted a Contributor License Agreement
  • [x] I have added my name to CONTRIBUTORS.md
  • [x] I have updated CHANGES.md with a short summary of my change
  • [x] I have added or updated unit tests to ensure consistent code coverage
  • [x] I have updated the inline documentation, and included code examples where relevant
  • [x] I have performed a self-review of my code

keyboardspecialist avatar Oct 16 '25 20:10 keyboardspecialist

Thank you for the pull request, @keyboardspecialist!

:white_check_mark: We can confirm we have a CLA on file for you.

github-actions[bot] avatar Oct 16 '25 20:10 github-actions[bot]

Maybe change https://github.com/CesiumGS/cesium/blob/8bcb716df171fd7ad3848d57abe9f1902b8addde/packages/engine/Source/Scene/GaussianSplatPrimitive.js#L692 to be a Matrix3 while you're at it.

javagl avatar Oct 16 '25 21:10 javagl

I know this is a rather trivial change but, in general, what is a good way for me to test GS-related changes? Beyond the two sandcastles, do we have any other tilesets or guides for newbies working with splats?

mzschwartz5 avatar Oct 21 '25 14:10 mzschwartz5