CullingVolume.computeVisibility breaks in 2D mode
- Dominant language
- JavaScript
- Stars
- 15.7k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
Sandcastle example: [Here](https://cesiumjs.org/Cesium/Build/Apps/Sandcastle/#c=bVRtb9owEP4rFvtAqoGhZR1tStFUirRJdJtE1X5YpspJjsSrY0e2A2VT//vOeVkCaxBS7nzPc3fPnbNlmmw57ECTayJhRxZgeJHRh9Ln9aPSXChpGZeg+wPyJ5AEHxOBhDsVg99A1o2HrhfLr8uz20EgX0+uAhnISEljSc4kCEwTq6jIQFoaaWAWlgKc5QW9mG+DnkOUkTQSzJgVN5ayOMZjoZLquKKLmqK6lAnYmu9m/8WBjhr4R1CZlOU5yHiRchF7ZdaDgpVB7rq9BdMW35ic0I1W2S0kGsB4w+k5Pb+cTqcD8mFMx5OLi0lbYhgivpKXYknccjBlM7WImAB9ShLfvQ4qZ8iFCBXTMfHrMPfwjCWAcX1KR+W7GVWFPa1Uop7UFrRge5rLpF+BXhv561JUIeO2mxtncpms8xQ0lB19V1xa4/3ASn52VGZZ2wMaoJk7YxnNMOdSxq6f5Ra7c5PCDdCed0Ku582e1CxbJHGgjS6MxfyRyvLCwqIQAqt4UALH57XdutBGnMfFoLRjriHqOor8ceEKbdNgA6ANRrls2ybJAzccReV275UqNJhqy7jEmj/f360QE/TaWB8t8r6lPAAdr+YG7bTarfJygL3nGajC1mIcozQ49TrAATkfjx28HFlv0JsZuxcwr/g+8SxX2pJCCw/nbyHLBd4cMwqL6BnwIhnTpKZ4S0hnbxoVfcJCgzJbuGoPY26QCFvdCHjp+JngiRxyzGN8gtcaJeic/sIR8s1+6G4Rnr0RIWCD7ou8y2lVfuza8dimPrn8eOBNgScpws8Og3NUGlflmCNk0XOi3VixHqG0T3YpP2iydr+bTCYd7waLHxr+G79fp0eFaiYbzUL1MjQpi9XOzSczddhrrXU5va7abbyPm4NrQMb4Q/7ynygRtwyzUTPiGX74CI+v3/hakXJn8GSDN2WN5Qa9+WyE8QcwoZjT5lv1EXAh6el8VTkppbMRmv+jrFIiZLrD+Bc)
Browser: Tested in Chrome and Firefox stable
Operating System: Win10
Actual Behavior: Open the Sandcastle example and drag the map around. When the billboard goes offscreen, the "visibility" indicator should switch from 1 to -1. Scroll the billboard back into view and it should go from -1 to 1. Now, zoom in until about half the US fills the screen, and, the indicator will go back to -1, even though the billboard is still in view. (Note that the indicator flashes each time the value is recomputed, so you can see if it's not changing when it's supposed to.)
Switch to 3D and repeat the process, and it will behave as you'd expect -- always 1 when the entity is visible and always -1 when offscreen. Columbus View behaves the same as 2D.
Related Issues: The only reference I could find to `computeVisibility` was in #5439 and I don't know if it's related. It feels a bit like #5076 and related issues with picking in 2D vs 3D mode
Contributor guide
Research direction
Start by opening the linked Sandcastle example and reproducing the visibility changes in 2D, Columbus View, and 3D while zooming and panning. Trace CullingVolume.computeVisibility and compare its behavior across modes; done means the indicator stays at 1 while the billboard is visible and changes to -1 when it is offscreen.
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