The validation warnings should not directly be related to the error.
(Only indirectly: The message ‘URI is used in GLB container’ indicates that the tileset contains a B3DM file that contains GLB data that refers to an image file that is stored externally, and not inside the GLB. This is not an error - just an “unusual” way of storing data…)
The error just indicates that it tries to load this file "Textures\N12E.... ....jpeg", and does not find it.
I’ll have to re-read a bit about CDB and the CDB-to-3D-Tiles-conversion, but maybe you can answer that: Is there a directory Textures either in the input or in the output that contains this JPG file?
There seems to be that directory Yemen_elevation/Tiles/N12/E045/Elevation/1_1
that contains the B3DM file. And that JPG file should be in a subdirectory, "Textures/", of this directory.
Can you verify that the /Textures/ subdirectory contains the image from the error message
Failed to load image: Textures\....
^ that one
?
(This could be easier if it wasn’t a screenshot …)
And if this image is there, one might have to check whether this image may be corrupted in any way (for example, one could try to open it with any image viewer).
If all this does not help, then sharing this one B3DM file and this one image file could be enough to investigate this further (if you can share this data).
I juste fine the problem,
In the code when the Texture is created from cdb to 3dtiles (CDBto3DTiles.cpp) the relative path is "\" format when cesiumJS need “/” format; so you juste juste need to replace "\" with “/” in the function createImageryTexture .
This looks like a general issue related to the path separators on Windows (backslash, \) vs. the path separators that should be used for URIs (slash, /). I’m a bit surprised that this did not yet seem to have come up, assuming that it should happen on all Windows systems. I opened Possible issue with path separators · Issue #74 · CesiumGS/cdb-to-3dtiles · GitHub to keep track of that.