Smoothing out b3dm irregularities?

Is there a solution in Cesium to smooth out irregularities in b3dm tiles?

The picture shows a fragment of the road, which is covered in holes after reconstruction.
We played with the “maximumScreenSpaceError” parameter, but it didn’t have much effect.

CesiumJS itself will only display the data, as it is. There are not really any forms of “post-processing” the geometry of the data that is contained in B3DM files.

(One could consider custom shaders as a form of “post-processing” here, but not in the sense that one could trivially apply some smoothing operation).

The maximumScreenSpaceError will only affect the level of detail that is loaded. From the screenshot and the description, it is not clear whether this can have any effect here at all. The data in the screenshot might already be the highest level of detail. If it is not, then reducing the maximumScreenSpaceError might cause a higher level of detail to be loaded, but … this data might be equally distorted as the one that is shown in the screenshot.

It could, theoretically be possible to apply forms of post-processing on the data set itself (with some sort of command line application). This would basically mean to 1. extract the GLB data from the B3DMs, 2. perform the desired post-processing on the GLB, 3. packing the result back into a GLB. But I cannot imagine how a “generic ‘smoothing’ operation for GLB” should be implemented. And depending on the structure of the data set, this would very likely cause other artifacts (like seams between the tiles).

I’m curious: Can you tell what the source of the data is? (I.e. which application was used for creating this tileset, and which input data this application received?)

Thanks for the detailed answer!

I used a Bentley Context Capture. The input data was a photo (aerial photography data) with a descriptive XML file.

ContextCapture is a huge product with many functionalities (and I don’t really know the details). But it might be worth investigating whether there are options for the import/export in ContextCapture that may affect the quality (smoothness) of the generated tiles.