@xeokit/xeokit-sdk 2.6.90-perf-v1 → 2.6.90
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/xeokit-sdk.cjs.js +115 -14
- package/dist/xeokit-sdk.es.js +115 -14
- package/dist/xeokit-sdk.es5.js +9 -12
- package/dist/xeokit-sdk.min.cjs.js +5 -5
- package/dist/xeokit-sdk.min.es.js +7 -7
- package/dist/xeokit-sdk.min.es5.js +6 -6
- package/package.json +1 -1
- package/src/plugins/XKTLoaderPlugin/parsers/ParserV12.js +10 -10
- package/src/viewer/scene/CameraControl/lib/controllers/PickController.js +1 -1
- package/src/viewer/scene/webgl/Renderer.js +1 -0
- package/dist/xeokit-sdk.es5.js.map +0 -1
- package/dist/xeokit-sdk.min.es5.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xeokit/xeokit-sdk",
|
|
3
|
-
"version": "2.6.90
|
|
3
|
+
"version": "2.6.90",
|
|
4
4
|
"description": "3D BIM IFC Viewer SDK for AEC engineering applications. Open Source JavaScript Toolkit based on pure WebGL for top performance, real-world coordinates and full double precision",
|
|
5
5
|
"module": "./dist/xeokit-sdk.es.js",
|
|
6
6
|
"main": "./dist/xeokit-sdk.cjs.js",
|
|
@@ -526,11 +526,11 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
526
526
|
text: axisLabel,
|
|
527
527
|
size: 2
|
|
528
528
|
});
|
|
529
|
-
|
|
529
|
+
|
|
530
530
|
geometryArrays.decompressedPositions = ifcLabel.positions;
|
|
531
531
|
geometryArrays.geometryIndices = ifcLabel.indices;
|
|
532
532
|
geometryArrays.geometryPositions = null;
|
|
533
|
-
|
|
533
|
+
|
|
534
534
|
geometryValid = (geometryArrays.decompressedPositions.length > 0 && geometryArrays.geometryIndices.length > 0);
|
|
535
535
|
break;
|
|
536
536
|
default:
|
|
@@ -542,12 +542,12 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
542
542
|
}
|
|
543
543
|
|
|
544
544
|
if (geometryArrays) {
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
545
|
+
if (geometryReuseCount > 1000) { // TODO: Heuristic to force batching of instanced geometry beyond a certain reuse count (or budget)?
|
|
546
|
+
// geometryArrays.batchThisMesh = true;
|
|
547
|
+
}
|
|
548
|
+
if (geometryArrays.geometryPositions && geometryArrays.geometryPositions.length > 1000) { // TODO: Heuristic to force batching on instanced geometry above certain vertex size?
|
|
549
|
+
// geometryArrays.batchThisMesh = true;
|
|
550
|
+
}
|
|
551
551
|
if (geometryArrays.batchThisMesh) {
|
|
552
552
|
if(primitiveType === 7) {
|
|
553
553
|
geometryArrays.transformedAndRecompressedPositions = new Uint16Array(geometryArrays.decompressedPositions.length);
|
|
@@ -564,7 +564,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
564
564
|
}
|
|
565
565
|
geometryArrays.geometryPositions = null;
|
|
566
566
|
}
|
|
567
|
-
|
|
567
|
+
|
|
568
568
|
geometryArraysCache[geometryId] = geometryArrays;
|
|
569
569
|
}
|
|
570
570
|
}
|
|
@@ -723,7 +723,7 @@ function load(viewer, options, inflatedData, sceneModel, metaModel, manifestCtx)
|
|
|
723
723
|
text: axisLabel,
|
|
724
724
|
size: 2
|
|
725
725
|
});
|
|
726
|
-
|
|
726
|
+
|
|
727
727
|
geometryPositions = ifcLabel.positions;
|
|
728
728
|
geometryIndices = ifcLabel.indices;
|
|
729
729
|
|
|
@@ -724,6 +724,7 @@ const Renderer = function (scene, options) {
|
|
|
724
724
|
|
|
725
725
|
if (normalFillTransparentBinLen > 0) {
|
|
726
726
|
const eye = frameCtx.pickOrigin || scene.camera.eye;
|
|
727
|
+
normalFillTransparentBin.length = normalFillTransparentBinLen; // normalFillTransparentBin reused by renderDrawables calls, so needs to be truncated if necessary
|
|
727
728
|
const byDist = normalFillTransparentBin.map(d => ({ drawable: d, distSq: math.distVec3(d.origin || vec3_0, eye) }));
|
|
728
729
|
byDist.sort((a, b) => b.distSq - a.distSq);
|
|
729
730
|
for (i = 0; i < normalFillTransparentBinLen; i++) {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xeokit-sdk.es5.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"xeokit-sdk.min.es5.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|