CesiumGS / CesiumGS/cesium

CullingVolume.computeVisibility breaks in 2D mode

Open
#7,917 1 comment 1 reaction 0 assignees View on GitHub
category - 2d / columbus view type - bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.