VCityTeam / py3dtilers

Tilers accepting various input formats (OBJ, 3DCity databases, GeoJson, IFC) and producing 3DTiles tilesets.
Other
186 stars 50 forks source link

Limit the size of the tiles and their atlas #73

Open LorenzoMarnat opened 2 years ago

LorenzoMarnat commented 2 years ago

To balance our tiles, we put an arbitrary number of features in each tiles (with a kd-tree). Since some features are way bigger than others (more triangles, heavier texture images, ...), the size of the different tiles and their atlas varies a lot. Some of the textures are way to big to be rendered correctly.

To have more balanced tiles, we should be able to limit the size of a tile depending on different parameters:

jailln commented 2 years ago

I don't know if this is the right issue to post that but someone in my company just implemented a packing algorithm that works well and avoids letting holes in texture atlases. The implementation is based on this project (and initial article / idea): https://github.com/solomon-b/greedypacker Sadly our implementation is in java so you cannot use it directly, but the above link is what we started from and should help.

andreiveselov commented 9 months ago

In my use cases (photogrammetry) I need to convert OBJ mesh into 3D tiles. Currently it is getting converted into a single tile. Would be great if we can decimate this feature into multiple features and created multiple tiles for it. This is how it works in OBj2Tiles project. It is using Fast Quadric Mesh Simplification algorithm for decimation.

sau0409 commented 6 months ago

@andreiveselov is there a way to do same with [py3dtilers] ? I am stuck with same problem my obj file is of 300mbs and it only creates 1 tile for it. But in examples I can see they have conver texture_cube to multiple tiles. image