Fix drawCommand model matrix for instanced GaussianSplatPrimitive
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.mdwith 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
Thank you for the pull request, @keyboardspecialist!
:white_check_mark: We can confirm we have a CLA on file for you.
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.
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?