pick Functions cause camera problem in requestRenderMode
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 15.8k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
Long story short, if you are in requestRenderMode mode, you have to put a scene.requestRender call after every scene.pick/scene.drillPick or similar picking function. Otherwise the next camera action, such as rotating around a building, will pick through the object and into what it thinks is empty space.
Without knowing a ton about the picking code, it seems to me the easy fix is to make all of the pick functions simply issue a requestRender call themselves rather than force all of our users to learn this lesson the hard way.
Here's a Sandcastle you can use
- Zoom in on a building
- Wait for the scene to load completely (this is important because if Cesium is continually rendering the bug doesn't happen).
- Middle mouse rotate around the building slightly (not a huge movement, you don't want to trigger more tiles loading in)
You may have to do step 3 multiple times, but after a few tries it will definitely happen. If you uncomment out the requestRender call, the problem goes away.
CC @lilleyse @IanLilleyT I think you've both been in the picking code recently, thoughts?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the linked Sandcastle reproduction and verify the failure in requestRenderMode after the scene finishes loading. Trace the scene.pick, scene.drillPick, and similar picking entry points, then confirm that the reported camera-picking failure no longer occurs without an extra scene.requestRender call.
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
- 38/100