CesiumGS / CesiumGS/cesium

Dynamic boxes don't track correctly

Open
#5,164 8 comments 2 reactions 0 assignees View on GitHub
category - camera category - entity priority - high type - bug
Dominant language
JavaScript
Stars
15.7k
Forks
3.9k
Avg merge
4d 6h
Merged PRs (30d)
34

Description

Noticed during testing of #5133.

Boxes with dynamic geometry don't track correctly when the clock is animating. You can pause the clock, and track such a box with the camera, and that works fine. But when the clock moves, the box flies away from the camera.

Note that boxes are believed to be representative of almost all "dynamic" geometry with the exception of ellipsoids in 3D mode. Ellipsoids in 3D mode are actually not "dynamic" in the normal Cesium sense of rebuilding vertex data every frame, instead they modify their matrices for better performance. Boxes could be made to do that too, but this issue is specifically to track geometry that must be rebuilt every frame, and dynamic boxes are currently a good test case for that.

This is a very old bug, dating back at least to the introduction of boxes themselves. The most recent version of Cesium that doesn't show this bug is 1.22, because there is no dynamic box:

Working, but no box: [Cesium 1.22 test](http://cesiumjs.org/releases/1.22/Apps/Sandcastle/index.html?src=Hello%20World.html&label=Showcases&gist=879789aed4f39e674732819d7b7380da)

Box present, tracking broken: [Cesium 1.23 test](http://cesiumjs.org/releases/1.23/Apps/Sandcastle/index.html?src=Hello%20World.html&label=Showcases&gist=879789aed4f39e674732819d7b7380da)

More recent, same behavior: [Cesium 1.31 test](http://cesiumjs.org/releases/1.31/Apps/Sandcastle/index.html?src=Hello%20World.html&label=Showcases&gist=879789aed4f39e674732819d7b7380da)

Contributor guide

Open the contributing guide

Research direction

Start by comparing the linked Cesium 1.22, 1.23, and 1.31 Sandcastle reproductions, focusing on a dynamic box while the clock animates and the camera tracks it. Done means the box remains aligned with the tracking camera as time advances, rather than flying away.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.