mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-14 15:22:21 +00:00
Never hide a mover behind the terrain it sits on
Cesium does not test points, billboards or labels against terrain depth; only the horizon, 3D tiles and models hide them. Navara compared every fragment of a marker's quad with the terrain, so markers on slopes or a little below the rendered terrain disappeared (the flood markers in the Nepal story). Navara now follows Cesium's rule for movers with the normal depth test, the contract describes it, and the contract suite checks it.
This commit is contained in:
1 parent
6c77b1ed41
commit
14b2adb7af
11 files changed
+655
-23
No files matched your search
@@ -39,11 +39,15 @@ that has a position and is drawn the same size on screen (or as a model).
|
||||
Point instances may also set `outlineColor` independently of the fill,
|
||||
so an expanding callout can fade its outline without changing its width.
|
||||
|
||||
Instances move every frame without a rebuild. `depthTest` decides whether
|
||||
the scene hides them. A pick returns the instance's `pickId` when the set is
|
||||
`pickable`. `ready(index?)` says whether a model's glTF or a sprite atlas has
|
||||
loaded and `failed(index?)` whether it failed to: a failed set is not loaded
|
||||
again, so a layer that retries makes a new set. Cesium loads a model per
|
||||
Instances move every frame without a rebuild. With `depthTest: 'normal'`
|
||||
(the default), terrain surface depth never hides a mover, even just below
|
||||
the surface. The Earth's horizon, 3D tiles and models still occlude it.
|
||||
Sprites and points can use `'always'` to draw over the scene, or
|
||||
`{ disableWithinM }` to skip depth testing within that camera distance;
|
||||
models always use normal depth. A pick returns the instance's `pickId` when
|
||||
the set is `pickable`. `ready(index?)` says whether a model's glTF or a sprite
|
||||
atlas has loaded and `failed(index?)` whether it failed to: a failed set is
|
||||
not loaded again, so a layer that retries makes a new set. Cesium loads a model per
|
||||
instance: an index written with another `pickId` loads its own model, so an
|
||||
instance moved into a failed index does not inherit the failure.
|
||||
|
||||
|
||||
Reference in new issue
Block a user