Sun reflection on dark side of model (3.9 MB)

Hello Community and Cesium team my company has brought up this issue before and would like to know if there is some fix that can be done or a value to be set that stops this occurrence from happening. I attached a video. I would attach a sandcastle but you would need to use out model and that isn’t possible. I have attached a zip that contains a candcastle video with the use of our dunmmy model. However, I do see it minimally on the hot air balloon model .glb.
My coworkers think that it is the sun reflecting off of the camera is this possible? is there a way to disable this?
We don’t want to have to change the model so is there a way to do this without altering the model?

Hmm, looks like the material itself is specular. How did you create it?

You can always play around with lighting, so setting viewer.scene.globe.enableLighting to false and so on, but I suspect your problem is in how you create that model and the material on it. Are you saying it isn’t supposed to be reflecting light, etc? I’d use diffuseMap instead of something specular, but that all comes down to your tools for creating that model …



So It could be the model, however I was able to see this strange anomaly in the following demo:

Look at the gold and silver pawn. No matter where the sun is there is still a little light ball on those models. The only way to get rid of those phantom light balls is by turning “Use procedural environment lighting” on. However Cesium should allow for specular materials and not get the phantom ball on it. The goal is to get get it as accurate as possible right?

“The goal is to get get it as accurate as possible right?”

Well, that’s an interesting question, which, like with all good question, has the answer “well, it depends.”

Most of my usage of Cesium is accuracy in the models and math, but things like colors, light and planetary movements totally irellevant. In your case, if absolute accuracy in lighting is the goal I think Cesium will be a bit of a challenge for you as there’s always some degree of light in the base models. You could always scoop through the source code and find out where light seeps in, but it’s a known thing in any ray-tracing environment that there’s a compromise between getting it right and getting it accurate. Modelling the sun is a lot harder than people realise, because our eyes which we humans judge the world through are highly adaptive, they can deal with amazing contrast levels and overall shading. But a computer screen can not recreate the versatility of our eyes that easily, it takes a lot of processing power to get it, well, accurate. So we make some compromises; reasonable speed and reasonable light representation and reasonable environment that we all can enjoy using reasonable computers with reasonable browsers (which is what Cesium really is all about).

I played around with some light settings, both directoinal light and the globe controller and can’t really get rid of it. The ellipsoid Earth allows some light through, and I think it’s a reasonable choice otherwise these boards would be flooded with “I can’t see anything!” messages instead. :slight_smile: But maybe there’s some setting, somewhere, that controls how much of that light is allowed through? Maybe some proper Cesium folks could chime in?



@omar @dzung

Hello @devondespain,

Cesium renders glTF models with physically-based materials according to the specification. If your model is using a reflective material, the Cesium will render it accordingly. I think you’ll have to make changes to your model in order for it to render in Cesium the way you’d like.

Best regards,