Geodan / i3dm.export

Export 3D Instanced Tiles from PostGIS table
MIT License
41 stars 22 forks source link

How to achieve more smooth object appearance on zooming in #85

Open chekhovana opened 1 day ago

chekhovana commented 1 day ago

Hello @bertt

Could you please explain how hierarchical level of detail is supposed to work in conjunction with implicit tiling? Here is my minimal example to illustrate question:

https://github.com/user-attachments/assets/5de00521-d292-4167-a4c1-d3e3c0669b86

It seems that upper-level tiles aren't rendered at all, and on zooming in more detailed tiles appear suddenly. Is there any way to achieve more incremental, smooth object appearance and disappearance on scale change? For example: if tile contains number of objects that is greater than max_features_per_tile, then clusterize tile objects into k clusters, where k=max_features_per_tile, pick single object from each cluster and append it to tile, making tile renderable.

Does this approach make sense?

bertt commented 1 day ago

Hi,

The first problem (northern tiles not showing up) is related to geometric error. If you set it higher the northern tiles are drawn more early (its roughly the distance to the camera when tiles will become visible). It can be set in tileset.json or option -g (default 1000).

The second problem looks like its related to the 'city center' problem.

image

I discussed it here https://community.cesium.com/t/implicit-tiling-override-tile-geometric-error-semantic/22958/5

In short: So far, I didn't find a good solution, but there are some options to explore.

chekhovana commented 23 hours ago

It's clear about geometric error, thank you.

Concerning the second problem: what do you think about adding low detail representation on upper level tiles that Marco13 suggests here: https://community.cesium.com/t/implicit-tiling-override-tile-geometric-error-semantic/22958/6?u=chekhovana

Will it help? If it's feasible, I could try to implement it using clustering, as I mentioned earlier.

Or perhaps you could share your ideas about alternative, more preferable ways to solve the issue?

bertt commented 23 hours ago

yes good idea to implement point clustering at for lower z-levels.. If you can create a PR I'm happy to review/test.

chekhovana commented 23 hours ago

Thanks for your answers, I'll try. In case of success I'll create PR.