Transform matrix

As far as I understand the transformation matrix stored in the tileset.json is applies a global transformation to the entire tileset.

Is there any way to apply a transform so that all the vertex location of the 3D tile are affected?

The larger a 3d tile gets (in terms of distance covered on the planet surface), the larger the error gets for the extreme outer bounds.

I was hoping there is a way to apply the transform in such a way as to correctly transform all the vertex positions of the 3D tile to take into account the geoid shape.

Hi @Adrian_Onsen

At the moment, the best way to apply a transformation to individual vertex would be through a CustomShader. You can read more about how to use custom shaders here.

This really is a question of scale per tiled model, and how you create those 3D tiles. If you render them georeferenced, then the planets surface is take into account but if they’re just local coordinates mapped to the WGS84 surface you might get into the problem you show. I’d say that the solution is more often to create the 3D tiles correctly georeferenced rather than relying on transformation trickery that’s often hacks, slow and harder.

Cheers,

Alex