Open pjcozzi opened 9 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.
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.
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?
@tomped I added a section above for you for when you start on 3D Tiles.
Rename Cesium3DTile#readyPromise to Cesium3DTile#contentReadyPromise
@pjcozzi does this mean the field readyPromise
in the file Cesium3DTile.js
?
@TomPed yes.
Likewise, replace isReplacementRefinable and isContentUnloaded with readonly properties. Complete doc.
@pjcozzi I can't seem to find isReplacementRefinable
in the project.
Ah, don't worry about that we removed that. I'll update the task.
3DTileContentProvider
Should this be Cesium3DTileContentProvider
?
Yeah. The asterisks are just saying all things named like that.
Oh gotcha, so I'll change anything with 3DTileContentProvider
to 3DTileContent
.
Yup
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?
@lilleyse sure, whatever you think.
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?
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.
@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?
Never mind, so basically just make a spy that checks it was called.
Got it.
Potentially useful reading on V8 GC: https://medium.com/@_lrlna/garbage-collection-in-v8-an-illustrated-guide-d24a952ee3b8
what's the status for vector tiles? it's no update or example, and no spec found in 3D tile 1.0
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
TODO
inCesium3DTileBatchTableResources.getVertexShaderCallback
Cesium3DTileBatchTableResources.getAddCommand
, #3806Specs/Data
folder to theApps/SampleData
folder.npm install
or something similar?TODO
s in the codePost Draft 1.0
BillboardCollection
andPointCollection
. See theCesium3DTile
constructor.Primitive
Batch Table, #4328getFeaturesByProperty(propertyName, value)
andgetFeaturesByClass(className)
TileReplacementQueue
to useDoublyLinkedList
?tileUnload
andtileVisible
events to re-style a tile that was unloaded, e.g., by tracking features that changed or higher-level context like how 3D Tiles styling works.Later + Ongoing Performance
b3dm
). Initially support overlaying separate imagery layers?b3dm
/i3dm
tileNewlyVisible
andtileNewlyNotVisible
eventsPERFORMANCE_IDEA
inBatched3DModel3DTileContent.js
andCesium3DTileBatchTableResources.js
.sortChildrenByDistanceToCamera
selectTiles
better implemented with a priority queue instead of explicit sort?DrawCommand
overheadDrawCommand
s.devicePixelRatio
on mobile, #3288PointGeometry
andPointAppearance
public. #3203maximumNumberOfLoadedTiles
since the use cases are so diverse?Older
npm run test -- --exclude WebGL --browsers Electron --failTaskOnError --suppressPassed
workaround2657
inCesium3DTile.js
, #2657. @lasalvavidaCesium3DTileBatchTableResources.getFragmentShaderCallback
.