iTowns / itowns

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

3d tiles renderer js migration bootstrap #2295

Closed jailln closed 2 weeks ago

jailln commented 3 months ago

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 code

Already implemented:

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

Don't hesitate to give your opinion on these choices :)

First tests

I started running some tests, it seems that:

I 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 :)

jailln commented 3 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)

mgermerie commented 2 weeks ago

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.