modelMatrix primitives and 2D

the modelMatrix in geometryInstance is useful and can be used in 3D,2D and Colombus views. Nevertheless when a geometryInstance is consumed in order to create a primitive, it is impossible to recall this geometryInstance to update the modelMatrix. So an interesting workaround is to use the modelMatrix of primitive which is recallable but when Cesium is in 2D or Colombus view, the primitive doesn't work with modelMatrix (see
Is there a chance that primitive.modelMatrix could work in 2D and Colombus views?

Best regards

Why is Primitive.modelMatrix only supported in 3D mode? Truth be told Columbus mode is in 3D also, especially apparent when you turn on the terrain. It seems that there are at least 2 3D modes:
-one where the world is round.

-one where the world is flat.
AFAIK the only difference between Columbus and 2D is the eye type (flat:orthographic vs point:perspective), so one could even make a case that 2D is 3D I suppose.Though anything except a round Earth is warped anyways.

Does this mean we can’t rotate primitives in Columbus mode by altering the modelMatrix? That would be a bummer as modelMatrix is so easy to work with!

Hyper - you are right that Columbus View is 3D and even Cesium’s 2D is 3D with an orthographic projection. The reason the modelMatrix can’t be set is that Columbus View and 2D need to take into account the non-affine projection. At some point, we may be able to relax this, but it will take some work to make it perform well.


Thanks for the explanation Patrick. Though I’m not quite sure what is meant by non-affine projection, I’ll take a guess that it means that lines of latitude are stretched to the same length as the equator in Mercator. So as the model travels away from the equator it would also expand to be the proper size in relation to the expanded imagery, and modelMatrix can affect the model’s size.

I found a good image demonstrating Mercator projection here