Closed jailln closed 2 weeks ago
@Desplandis I rebased my branch and updated 3d-tiles-renderer-js
to 0.3.33
(last version).
Except from the remaining points listed here, I'm not really satisfied of the modifications I made to the PointVS
shader (there should be a better way than having a #if
inside the if/else conditions for the PNTS_MODE
) and the classification mode does not work in the 3dtiles_pointcloud.html
yet, I need to check why. I still wanted to push my rebase so you can review before I come back at it next thursday :slightly_smiling_face:
Note that because of this that has not been released yet you need to make this correction in the 3d-tiles-renderer-js source files in itowns node_modules/
for it to work (or simply downgrade to 0.3.32 should work too)
The PR on 3DTilesRendererJS you mentioned has been merged and in their latest 0.3.34
release. I bumped the version and pushed it on your branch so the manual correction is no longer necessary.
Description
Starts the migration towards using 3dtilesRendererJS for 3D tiles. I created the
3d-tiles-migration
branch in which we can merge our work related to this migration. This is a first implementation with some TODOs left in the codeAlready implemented:
C3DTilesLayer
Some TODOs left in the code (don't hesite to give your opinion), commits are still messy and still some stuff to do to be iso with the
C3DTilesLayer
implementation (see below).Motivation and Context
2225
Notes on the implementation
ThreeDTilesLayer
, WDYT?TilesRenderer
is conceptually not at the same level than an itownsLayer
, I decided to instance oneTilesRenderer
perThreeDTilesLayer
. Also I kept theC3DTilesIonSource
andC3DTilesGoogleSource
forC3DTilesLayer
to keep working but also to keep itowns Source / Layer instanciation logic in the API (even if these sources are not really useful anymore now that we use3dtilesRendererJS
because all the logic related to querying cesium ion an google sources are handled by3dtilesRendererJS
).GLTFLoader
andLegacyGLTFLoader
that loads gltf regardless of their version (1.0 or 2.0) and that shares the same interface than threeGLTFLoader
to allow loading gltf 1.0 files with 3dtilesrendererjs (namediGLTFLoader
for "itownsGltfLoader"). This class is exported so users that need to load gltf 1.0 or 2.0 files in their applications can benefit from it.LegacyGLTFLoader
enableDracoLoader
andenableKTX2Loader
that sets the draco and ktx2 path in itowns internal instance ofiGLTFLoader
.Don't hesitate to give your opinion on these choices :)
First tests
I started running some tests, it seems that:
3dtiles_25d.html
example seems slowerI will take some time today to do some more performance tests and try to assess where these drawbacks may come from.
Remaining TODO
Still a lot to do, see this list :)