I have two pipelines which create 3D Tiles.
- The first one creates LOD1 buildings (extruded 2D polygons); this one computes normals for all vertices; they are exported in the GLB/B3DM tiles.
- The second one post-processes LOD2 Textured buildings which are created in CityEngine (ESRI product) and exported in GLB. Note that CityEngine doesn’t export normals in GLB files.
From what I understand in GLTF specs, if normals are not available in a GLTF file, it’s up to the client to compute flat ones. From some changelog in Cesium, It seems that Cesium now follows the specs an computes normals if they are not defined in the loaded models.
As shown bellow :
I get correct lightning for LOD1 but not for LOD2.
I’m wondering if this problem comes from missing normals or from some other reasons (material definitions ? special settings when creating the Cesium3DTileset - i use the same for the two tilesets ? other ?).
Any help appreciated.