NASA-AMMOS / 3DTilesRendererJS

Renderer for 3D Tiles in Javascript using three.js
https://nasa-ammos.github.io/3DTilesRendererJS/example/bundle/mars.html
Apache License 2.0
1.54k stars 276 forks source link

ImplicitTiling looping request #728

Closed AnthonyGlt closed 2 days ago

AnthonyGlt commented 2 weeks ago

When I load this link https://storage.googleapis.com/ahp-research/projects/sogelink/hackathon/bdnb/sampleset/tileset.json which has implicitTiling The data is loading as expected but once everything is loaded, the 0_0_0.subtree is fetched again and provoking errors Maybe it's caused by one of the implementations left todo but I don't see which one it could be

To Reproduce

Steps to reproduce the behavior:

Screenshots Screenshot from 2024-08-29 09-58-51

Screenshot from 2024-08-29 10-00-03

gkjohnson commented 2 weeks ago

The positioning of the tile set in the index example is a bit odd 😅 Maybe the automatic positioning logic could be improved. But I was able to get it in frame once and wasn't seeing any errors so this may need a more succinct repro.

AnthonyGlt commented 2 weeks ago

index.js.txt Here is my index.js (to be renamed). Is it because I've put errorTarget & errorThreshold at 0 ? Did you do it too ? Are you sure you got everything in frame ? Video of what happens to me. I hope it will help to understand what happens :D

Screencast from 30-08-2024 10:12:31.webm

gkjohnson commented 2 weeks ago

I see it now - I think this is related to #726 which I noticed last week. The LRUCache unload behavior isn't working correctly so I need to spend some time this next week figuring out what's going on. Setting the error target to 0 causes the buggy lru cache behavior to kick in.

Also I see that this tile set has two extremely far clusters of tiles making it difficult to see the extent / find the geometry:

image

Adding a new debug settings to display parent tile bounds (Both empty and not empty) would make tile sets like this easier to understand.

gkjohnson commented 2 days ago

@AnthonyGlt do you mind retrying your test? The issue should have been fixed in #726, #727. I still want to fix #741 before a new release but everything should be stable again.

AnthonyGlt commented 2 days ago

Yes it got fixed, well done ! :D