iTowns / itowns

A Three.js-based framework written in Javascript/WebGL for visualizing 3D geospatial data
http://www.itowns-project.org
Other
1.11k stars 301 forks source link

3dtile does not work well as before #542

Closed nguyenign closed 7 years ago

nguyenign commented 7 years ago

I test my 3dtiles (of 3d building models, which worked well in itowns a month ago) with new commits in master branch and i have some errors.

My Environment

Context :

The first error occured at this zoom level of camera but i can see some buildings in scene

image

CancelledCommandException {command: {…}} (anonymous) @ Scheduler.js?619d:62 Promise rejected (async) execute @ Scheduler.js?619d:51 runCommand @ Scheduler.js?619d:111 runNow @ Scheduler.js?619d:151 setTimeout (async) ... requestNewTile @ TiledNodeProcessing.js?e729:45 preprocessLayer @ TileProvider.js?4857:41 _preprocessLayer @ View.js?d297:129 addLayer @ View.js?d297:291 addLayer @ GlobeView.js?caf5:300 GlobeView @ GlobeView.js?caf5:219 (anonymous) @ 3dtiles.html:88

When i move camera close to terrain, browser stop rendering and i have more error:

image

Uncaught TypeError: undefined is not iterable! at module.exports.__webpack_require__.getIterator (core.get-iterator.js?aca7:5) at _subdivideNodeAdditive (3dTilesProcessing.js?2112:31) at subdivideNode (3dTilesProcessing.js?2112:21) at GeometryLayer._process3dTilesNodes [as update] (3dTilesProcessing.js?2112:300) at updateElements (MainLoop.js?a6e3:39) at updateElements (MainLoop.js?a6e3:45) at updateElements (MainLoop.js?a6e3:45) at updateElements (MainLoop.js?a6e3:45) at updateElements (MainLoop.js?a6e3:45) at updateElements (MainLoop.js?a6e3:45)

image

For improvement suggestions, please tell us what you are trying to accomplish. Providing context helps us come up with a solution that is most useful in the real world.

i think there are some new modifications in 3dtileprovider that does not work!

Steps to Reproduce (for bugs) For any modification, we should test it with real 3dtiles such as the one we generated at ign

Expected Behavior any idea why we has this bugs!

autra commented 7 years ago

For any modification, we should test it with real 3dtiles such as the one we generated at ign

Put a link to the data please.

Also: apparently you have local modifications, at least in 3dtiles.html. Where is the branch ?

Steps to Reproduce (for bugs) For any modification, we should test it with real 3dtiles such as the one we generated at ign

These are not proper steps to reproduce. It does not allow me to reproduce locally. Good step description could be something like:

Steps to reproduce:

  • checkout this branch: \<put a link>
  • open this page: \<put a link>
  • do this, do that
  • observe the console

Expected behaviour

The rendering continue even close to the terrain

Actual behaviour

The rendering stop and I have this error in console:

It is:

The screenshots are fine though.

Thanks.

nguyenign commented 7 years ago

@autra i can not publish IGN data here but i will try to send you a data test to reproduce the bugs.

the test was done with last changes in master branch, i just modify the link in 3dtiles.html to make it work with my 3dtiles, nothing else!

autra commented 7 years ago

@nguyenign also, if you have a fix, please consider open a PR.

nguyenign commented 7 years ago

i created a 3dtile of grand lyon for the test here. Actually, i have more errors on 3dtile of IGN but i can not publish the data.

stereopolis.ign.fr/videosDemos/LyonAll.7z

peppsac commented 7 years ago

@nguyenign can you try the https://github.com/iTowns/itowns/tree/3dtiles_fix_542 and let me know if it works better?

nguyenign commented 7 years ago

Thanks @peppsac, i have no bug with this patch anymore, i want it to be merged in the master.

But there are some problems related to rendering performance that are need to be improved. For example, cache, loading/rendering problems.

When i navigate a little bit long, my browser crashed! i think it's because that we don't have a cache in 3dtileProvider.

Also, the renderning is stopped sometime in navigation, it may be due to loading/rendering which are managed in one thread?