I have an application that generates cesium entities from satellite ephemeris files. This generates an entity with path graphics and ellipsoid graphics to render the covariance.
This worked great, however as of about a week ago the ellipsoids now render as rectangular fragments and I am unsure what happened, hoping someone might know how to get around this.
Here are 2 sandcastle link that show if I have the ellipsoid and position as sampled properties the ellipsoid renders as rectangular fragments, but if they are both static it renders normally.
Could you maybe paste some pics with red arrows or something about what doesnât look right? As far as I can tell, both sandcastles look the same to me - but perhaps Iâm not seeing what you want me to see.
Both your sandcastles show a perfect Ellipsoid to me. But I have seen those âscrambledâ ellipsoids before: When I used an orthographic frustum with a camera very far way but a frustum small enough to still make the ellipsoid appear large. The farer away the camera, the more âscrambledâ the ellipsoids get, so I suppose it is a precision issue. The question is why such a precision issue would appear in your example. Which OS and browser do you use? Did you test in other browsers as well? Maybe some webgl extension is faulty?
I also tried this in an older version of firefox (v135.0) and older version of cesium 1.124.0. Here is a screenshot showing 3 static ellipsoids that look normal and then one using sampled properties for both position and radii that breaks. Sandcastle link
Weirdly specific, but we have narrowed the problem down to a specific laptop⌠Any of my colleagues with Dell XPS 16 9640âs see the ellipsoid above, but other colleagues that have Dell XPS 15 9530 the ellipsoid looks correct.
What are their graphic chips?
Would you mind visiting WebGL About with the affected (group A) and the non-affected (group B) laptops? Check which values are different between A and B and post them here. Maybe it is a webgl extension that is different, or some other weird graphic chip specifics.
I tested locally with different window.devicePixelRatio but could not reproduce your issue. I also wouldnât understand why the laptops with window.devicePixelRatio = 1 are the ones not working â I would have understood the other way around.
Still, you could try out on the Group A to change:
browser zoom (e.g., scrolling while pressing Cntrl)
OS zoom (right click on desktop background image â display settings â scaling)
setting the resolutionScale on the Cesium.Viewer to a different number (e.g., 0.5 or 2)
setting the useBrowserRecommendedResolution on the Cesium.Viewer to false (default is true)
Apart from this, I am out of ideas. I hope someone from the Cesium Team (@mzschwartz5 ) can do something with the information we gathered.
Itâs a bit odd that this looks like quantization errors. I couldnât imagine (and would have to check the code) whether thereâs any place where actual quantization comes into play. But in doubt, it could also be explained by ~âsome vertex position being represented only with some obscure 24 bit floatâ or so.
Curious: When you drag the time slider on one that shows the broken representation (from the last sandcastle), does the ellipsoid then flicker and wiggle, or does it remain fixed in this representation (while moving along the line)?
Otherwise⌠maybe there are differences in terms of extensions or new functions reported by WebGL Report that could explain the error?
You crould try out some of the things that anneg mentioned in the post above. But when it âwigglesâ, it seems to be some precision issue and might require further investigation in the depth of the rendering code. It ccould be tracked in an issue, but ⌠based on the description, it could only be reproduced on very specific systems (and might even be an issue with the graphics card driver or so).