Closed xeolabs closed 5 years ago
Looking forward for this. Tiling will allow for loading complex geometries right?
Currently, PerformanceModel has a finalize()
method that must be called before the PerformanceModel starts rendering.
Tiling is just about partitioning the PerformanceModel so that we don't have to load the entire model before we can start rendering it. A tile is an arbitrary grouping of the geometries we create within a PerformanceModel, where each tile becomes renderable as soon as it is "finalized", while we continue to build the next tile.
This will be flexible so it can be used for different cases, such as:
while at the same time containing everything in the same model within xeokit (instead of having a separate model for each tile).
This PerformanceModel enhancement is now in master: https://github.com/xeokit/xeokit-sdk/pull/37
Next step: find ways to use the enhancement in BIMServerLoaderPlugin and GLTFLoaderPlugin. Will require extensions to those plugins for user to indicate how loaded entities should be partitioned into layers, (ie. how to prioritize what entities get loaded into the first layers, for immediate rendering).
Requirement
Ability to incrementally load (ie. stream geometry into) a PerformanceModel while it is rendering.
Solution
Extend PerformanceModel with "tiles". These are optional bins within which entities may be created. Finalizing a tile makes it immediately visible.