culling of very tall cylinders (objects?)

63 views
Skip to first unread message

a...@iidj.net

unread,
Feb 17, 2020, 7:53:48 PM2/17/20
to cesium-dev
1. A concise explanation of the problem you're experiencing.

when having very tall objects, they are culled on zooming in - it seems there is a visible sphere around the globe that cuts off...

also it seems the positioning of very tall objects does not align properly - please see attached test file:

2. A minimal code example. If you've found a bug, this helps us reproduce and repair it.
see the attached cesium.html file for the complete testing code


3. Context. Why do you need to do this? We might know a better way to accomplish your goal.

please check the example here:


https://api.iidj.net/coronavirus/

4. The Cesium version you're using, your operating system and browser.

1.66, Chrome, Safari, Firefox



cesium.html

Omar Shehata

unread,
Feb 18, 2020, 10:48:11 AM2/18/20
to cesium-dev
Does turning off logarithmic depth buffer help? If so, it may be this issue: 


Otherwise, you may need to move the camera's near and far planes a little closer. Instead of the default near/far of 1/5e8, try dividing both by an order of magnitude (like 0.1 and 5e7). See the camera doc here:

as

unread,
Feb 18, 2020, 10:10:34 PM2/18/20
to cesiu...@googlegroups.com
hi OMAR


thanks for prompt suggestion -

> On Feb 19, 2020, at 0:48, Omar Shehata <omar.same...@gmail.com> wrote:
>
> Does turning off logarithmic depth buffer help? If so, it may be this issue:
>
> https://github.com/AnalyticalGraphicsInc/cesium/issues/6573


i would not know how to do this as i am running cesium within browser using
<https://cesium.com/downloads/cesiumjs/releases/1.66/Build/Cesium/Cesium.js>


thanks!

andreas

Omar Shehata

unread,
Feb 19, 2020, 10:47:57 AM2/19/20
to cesium-dev
Hey Andreas,

You can turn off logarithmic depth buffer like this:

viewer.scene.logarithmicDepthBuffer = false;

No need to modify the source code. 

as

unread,
Feb 19, 2020, 9:27:40 PM2/19/20
to cesiu...@googlegroups.com, Sarah Chow
hi OMAR,


You can turn off logarithmic depth buffer like this:

viewer.scene.logarithmicDepthBuffer = false;



great ! this helps certainly.


very much appreciate your effective follow-up!




what still remains is that heights of above ca 1000000 the positioning seems to get more and  more displaced.

is it possible that entities(cylinders) are not positioned referenced to their center?



in the example, red one has height of 1000000, red and green have exactly the same lat/lon values.




cheers,

andreas




. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IIDj
Institute for Information Design Japan

    Andreas M. Schneider

    T +81-3-3666 5600
    M +81-80-5538 9767

    Tokyo 103-0012
    Chuo Ku, Nihonbashi
    Horidome Cho 1.2.9

    map.iidj.net


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SPAM FILTER notice:
Please note that your mail may be intercepted halfway through SPAM filtering.
Using a unique SUBJECT line helps to separate the good from the bad ;-)






as

unread,
Mar 15, 2020, 3:53:39 AM3/15/20
to cesiu...@googlegroups.com
hi OMAR


after installing the most recent version of SAFARI on MacOSX 10.13 (High Sierra) it is no more possible to instantiate a cesium.viewer...

the simple message is BAD REQUEST.

this happens also when trying to instantiate a view in its most basic form...

the site runs problem free on CHROME/FIREFOX

https://api.iidj.net/cv/



i have no idea what could be the culprit - nor any idea on how to deal with this.

Omar Shehata

unread,
Mar 16, 2020, 3:42:29 PM3/16/20
to cesium-dev
Are you seeing this issue just in your app or on any Cesium app? Are you able to run the Sandcastle here:


Can you provide a screenshot of the error(s) you're seeing? Seeing the error in the developer console or network tab would help.

as

unread,
Mar 16, 2020, 11:26:13 PM3/16/20
to cesiu...@googlegroups.com
hi OMAR


thanks for your prompt reply.




> Are you seeing this issue just in your app or on any Cesium app? Are you able to run the Sandcastle here:
>
> https://sandcastle.cesium.com/index.html?


yes, same behavior.

the page loads, reloads and then shows the message (see attached screenshot)


here i made a bare-bones test page:

https://api.iidj.net/tst/


tested also with cesium 1.66 - to no avail.


not able to log what is going on @ SAFARI, as the page reloads - and then only provides such basic statement '-(


cesiumOnSafari13.05.mov

Omar Shehata

unread,
Mar 17, 2020, 10:34:39 AM3/17/20
to cesium-dev
We tested with Safari on a 2015 macbook with discrete graphics (AMD) using OSX 10.15.3 and wasn't able to reproduce.

Can you show the full browser window when this constant reload is happening? Your video only shows the console.

Can you also post the results of opening WebGL Report (https://webglreport.com/) on Safari on that same device?

Are you able to run other WebGL content there, like this: https://threejs.org/examples/#webgl_animation_cloth ?

as

unread,
Mar 17, 2020, 10:54:35 AM3/17/20
to cesiu...@googlegroups.com
hi OMAR,




thanks for the detailed answer and efforts to help.


> We tested with Safari on a 2015 macbook with discrete graphics (AMD) using OSX 10.15.3 and wasn't able to reproduce.

i am running SAFARI 13.05 on High Sierra 10.13.6
cesium_1.67_as@iidj.net.mov
WebGl_Report_as@iidj.net.pdf

Omar Shehata

unread,
Mar 18, 2020, 11:31:55 AM3/18/20
to cesium-dev
Thanks for the additional reports. We're still unable to reproduce this.

Did you check if any other WebGL applications are giving you the same behavior? Does YouTube work? Does this page https://threejs.org/examples/#webgl_animation_cloth work?

Does this happen on Chrome? Can you try updating to the latest Safari/your OSX?

as

unread,
Mar 18, 2020, 9:08:37 PM3/18/20
to cesiu...@googlegroups.com
hi OMAR,


thanks for your follow-up.


> Did you check if any other WebGL applications are giving you the same behavior? Does YouTube work? Does this page https://threejs.org/examples/#webgl_animation_cloth work?

yes - i thought i had confirmed this in my previous mail...


> Does this happen on Chrome?

no - this is a SAFARI only issue.

and - to confirm again - the issue can be observed with all CESIUM examples form the sandbox gallery - obviously as the most basic call already causes the reload (loop)



> Can you try updating to the latest Safari/your OSX?

the problem started AFTER updating to the most recent version for OSX 13.06
(i had included screenshots of the SAFARI info with my previous mail)


i tried as much as i can on my side to identify the issue. it must be a very specific thing between SAFARI/CESIUM

i did not get so far yet to see if i can start debugging by adding breakpoints to the CESIUM source code.
will do that i guess...

as

unread,
Mar 18, 2020, 11:22:35 PM3/18/20
to cesiu...@googlegroups.com
hi OMAR,


i could at least identify the step when SAFARI starts reloading

CesiumUnminified/Cesium.js'

line 190976

if (!defined(glContext)) {
glContext=canvas.getContext('webgl', webglOptions)||canvas.getContext('experimental-webgl', webglOptions)||undefined;
}

the webglOptions at that point are:

{powerPreference: "high-performance", alpha: false, stencil: true}



hope this helps!

Omar Shehata

unread,
Mar 19, 2020, 8:06:35 AM3/19/20
to cesium-dev
Thanks for debugging this - I think the issue was the recent change to "high-performance" mode:

https://github.com/CesiumGS/cesium/blob/master/CHANGES.md#additions-tada-2

Can you check if the suggested setting of "default" fixes it? Or this Sandcastle that sets it to low power?

as

unread,
Mar 19, 2020, 8:26:55 AM3/19/20
to cesiu...@googlegroups.com
hi OMAR,



thanks for your fast reply!


> I think the issue was the recent change to "high-performance" mode:

that solved it! great!

so obviously that is an issue to note for other OSX HighSierra (10.13)/SAFARI 13.05 users!




very much appreciate your digging in that!


if i may use this opportunity for another question - the representation of cylinders can be done via the cylinder primitive or extruded ellipse - is there a recommendation for performance/stability in both primitive declaration or CZML?





cheers,

as

unread,
May 2, 2020, 8:17:50 AM5/2/20
to cesiu...@googlegroups.com, Sarah Chow
hi OMAR,


i keep investigating on how to deal with critical performance issues in my application of CZML.

<https://api.iidj.net/cv/DE>



although i try to understand/investigate all possible resources - i can not find appropriate scenarios.


the use-case is simple: a number of vertical primitives that change JUST TWO dimensions over time

height
vertical position (z)


it would seem reasonable to have ONE instance of these objects per location and then dynamically control its properties...


however, as i understand, in CZML i have to create an instance for each appearance on the timeline – rather than modifying instances, i have to CREATE and DISCARD them.


that does not feel good, economical etc. programmatically...



am i missing some very substantial aspects here?


as it stands, the current implementations runs basically only on FIREFOX, CHROME/SAFAR crash (come to a standstill)



as the presentations have a very timely significance/importance i would be happy if you, or any cesium expert could point me to a proper scalable approach (now its only a few keyframes, with a very limited set of objects - however it is expected that i would need to have much more objects with much more keyframes to handle...)



very much appreciate your attention and support,

Omar Shehata

unread,
May 4, 2020, 1:04:51 PM5/4/20
to cesium-dev
Hey,

Heads up that the forum has transitioned over to Discourse and this Google Group will be put into read-only mode today. Details about the transition here.

You can find this topic in the new forum here: https://community.cesium.com/t/culling-of-very-tall-cylinders-objects/9071 
Reply all
Reply to author
Forward
0 new messages