ScreenSpaceCameraController Bug
- Dominant language
- JavaScript
- Stars
- 15.7k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
Camera moves past entity if rendered size is too small.
To test, put the single pixel dot below the horizon, then zoom all the way in. If the camera -> Entity ray also intersects the ellipsoid, the camera will zoom past the entity. Try the same thing with the 5 pixelSize entity, or load a model, it will be fine.
I'm not very familiar with the changes made over the past year that include globe detection but this seems to be related, as rolling it back to commit [aaf6bd8a5ca26dba0ce4ac113b9ffd58708fad13](https://github.com/CesiumGS/cesium/blob/aaf6bd8a5ca26dba0ce4ac113b9ffd58708fad13/packages/engine/Source/Scene/ScreenSpaceCameraController.js) fixes the issue.
[Sandcastle example](https://sandcastle.cesium.com/#c=rZJBb6MwEIX/isWJSMiEgMGkNNoq2ttKe4i0Jy4uTFurxo7sId1slf++NqRtpDZ7Wk72zHtv5kPujHZIDhJewJJbouGFbMHJcaC/plrcRt103xqNQmqwbZSQ11YT4p7MqPo7LQeBsCZoR0hafVrctLrVO6H7TjhUQC04QJ/9MOoOpdEkXswB81TaCxQ7M1o/x2sHc4A7peIQc5qilHc7gZmPODtAo0Tp5aLv4ylqb5wM2esLgK2w6E9C53GQ+G+1rErGGc3rknO+Yss8OXfYsmBZwemqKuuK50X11iDFKucZL2lW1hkr6pyHxiKZh0qN69dZuZe/Qe3kH1hnJFRO77/ivDRa0T1D/z3sfvQsAemSj/0nvvoqH7vKV/2L74OMfUCl6XUsdhMlUePwqGDzNuabHPbGIhmtiilNEYa98s/GpfejtyPtnAvBQdqkl9amlwci+9sv3iHplHDOdx5GNS3YRpsm9fpPVmVEL/XjzwNYJY5B9pRtfsxFSmmT+uvXTjRG3Qt7kTwr/gI)
Browser:
Chromium: 101.0.4951.54 (Official Build) (64-bit)]
Operating System:
Pop!_OS 22.04 LTS
Contributor guide
Research direction
Start with packages/engine/Source/Scene/ScreenSpaceCameraController.js and reproduce the behavior using the linked Sandcastle example: zoom toward the single-pixel entity below the horizon, then compare it with the 5 pixelSize entity or a model. Review the globe-detection changes relative to commit aaf6bd8a5ca26dba0ce4ac113b9ffd58708fad13. Done means the camera no longer zooms past the small entity.
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