CesiumGS / cesium

An open-source JavaScript library for world-class 3D globes and maps :earth_americas:
https://cesium.com/cesiumjs/
Apache License 2.0
12.45k stars 3.39k forks source link

3D Tiles Roadmap #3241

Open pjcozzi opened 8 years ago

pjcozzi commented 8 years ago

New to 3D Tiles? See Introducing 3D Tiles.

This work is in the 3d-tiles branch.

In pseudo-priority order within each section:

Draft 1.0

Post Draft 1.0

Later + Ongoing Performance

Older

e-andersson commented 8 years ago

Does "Cache management and replacement" include handling of which Cesium3DTilesets will be loaded or is it aimed at the lower-level tile handling? We're quite interested in tileset loading/unloading since we'll potentially have a large number of tilesets available to the viewer, causing a lot of initial tiles.json loading and repeating iteration over primitives.

pjcozzi commented 8 years ago

Does "Cache management and replacement" include handling of which Cesium3DTilesets will be loaded or is it aimed at the lower-level tile handling?

It means lower-level tile handling, but thanks for reminding me about which Cesium3DTileset to load. I added that to the roadmap. :)

If you are interested in working on either, I'm happy to discuss in more detail.

pjcozzi commented 8 years ago

Stick with the Cesium3DTile prefix for names?

After doing a bunch of reference doc, I don't have a strong preference, but I am find with this, e.g.,

new Cesium.Cesium3DTileset

Compared to

new Cesium.Tileset3D
new Cesium.Tiles3D
new Cesium.ThreeDTileset

Cesium.Tileset3D would also be OK. @lilleyse what do you think?

pjcozzi commented 8 years ago

@tomped I added a section above for you for when you start on 3D Tiles.

TomPed commented 8 years ago

Rename Cesium3DTile#readyPromise to Cesium3DTile#contentReadyPromise

@pjcozzi does this mean the field readyPromise in the file Cesium3DTile.js?

pjcozzi commented 8 years ago

@TomPed yes.

TomPed commented 8 years ago

Likewise, replace isReplacementRefinable and isContentUnloaded with readonly properties. Complete doc.

@pjcozzi I can't seem to find isReplacementRefinable in the project.

lilleyse commented 8 years ago

Ah, don't worry about that we removed that. I'll update the task.

TomPed commented 8 years ago

3DTileContentProvider

Should this be Cesium3DTileContentProvider?

lilleyse commented 8 years ago

Yeah. The asterisks are just saying all things named like that.

TomPed commented 8 years ago

Oh gotcha, so I'll change anything with 3DTileContentProvider to 3DTileContent.

lilleyse commented 8 years ago

Yup

lilleyse commented 8 years ago

Other than the tests, is Cesium3DTilesetState needed? Can we remove it and just replace it with a _rootRequested boolean in Cesium3DTileset?

It can be removed. I added it in order to support attempting to load tileset.json across multiple frames if the RequestScheduler was full, but that was before I added the RequestScheduler.request function. @pjcozzi I'm more familiar with how this should work, should I handle this one?

pjcozzi commented 8 years ago

@lilleyse sure, whatever you think.

TomPed commented 8 years ago

UI elements for loadProgress (commented out) in Cities.html

Are these commented lines to be deleted? Or is the code to be uncommented and fixed?

lilleyse commented 8 years ago

We want to bring it back, and add the messages to the UI rather than just the console. Maybe it's best to skip this one for now because @pjcozzi is simplifying 3D Tiles.html on the style branch,

But eventually I think the idea is to have a better UI for visualizing 3D Tiles, similar to the Cesium Inspector demo. This may require looking around at other Sandcastle files for ideas.

lilleyse commented 8 years ago

@pjcozzi

Make tests like 'tile visible event is raised' verify that the event is called (check for examples in ModelSpec.js for animation events)

We have a test for tile visible event is raised, is this something different?

lilleyse commented 8 years ago

Never mind, so basically just make a spy that checks it was called.

TomPed commented 8 years ago

Got it.

pjcozzi commented 7 years ago

Potentially useful reading on V8 GC: https://medium.com/@_lrlna/garbage-collection-in-v8-an-illustrated-guide-d24a952ee3b8

rory-ye-nv commented 3 years ago

what's the status for vector tiles? it's no update or example, and no spec found in 3D tile 1.0