Open xtassin opened 1 week ago
Just updated the sandcastle example to make the issue more obvious...
Thanks for the report @xtassin!
@jjhembd Could you please triage this? Is this expected behavior or no?
Just to add some info, the environnement map (reflections) orientation was fine before the overall in version 1.123 so it appears to be a regression bug.
@xtassin thanks for the Sandcastle! I agree that this behavior is not what we want. However, I re-labeled the issue as an enhancement rather than a bug, since the desired behavior is something we never implemented.
The environment map is referenced in the shader via model_iblReferenceFrameMatrix
, which in most cases is simply the camera's viewMatrix
multiplied by the model's modelMatrix
. The only exceptions relate to tilesets, clipping planes, and height clamping, which I don't think are relevant here.
This means that the environment map will be oriented to the model, and when you rotate the model, the environment will rotate along with it. This works well for simplistic cases where the model is fixed along the local ENU axes. But it doesn't work for the (relatively common!) case where your model is moving.
I don't understand why the orientation would have been different before 1.123. That version introduced a new procedural environment map, but as far as I can see, it did not change the transforms for supplied environment maps like the one in your Sandcastle. Are you saying the procedural environment orientation changed?
Here are three screenshots of the same GLB model (attached), exported with PBR material, from 3DS Max, using Babylon exporter.
Cesium version is mentioned on each one of them. Environment map (reflection) use to be static compared to earth frame.
Since version 1.123, the env map is rotated along with the model (in model frame).
What happened?
Testing the new 1.123 Environment Map implementation, I noticed that the env map is rotated along with the 3D model.
Reproduction steps
Sandcastle example
https://sandcastle.cesium.com/#c=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
Environment
Browser: Chrome CesiumJS Version: 1.123 Operating System: Windows 10