@xeokit/xeokit-sdk 2.6.29 → 2.6.30

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.
Files changed (29) hide show
  1. package/dist/xeokit-sdk.cjs.js +510 -429
  2. package/dist/xeokit-sdk.es.js +510 -429
  3. package/dist/xeokit-sdk.es5.js +315 -328
  4. package/dist/xeokit-sdk.min.cjs.js +4 -4
  5. package/dist/xeokit-sdk.min.es.js +4 -4
  6. package/dist/xeokit-sdk.min.es5.js +3 -3
  7. package/package.json +1 -1
  8. package/src/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.js +2 -110
  9. package/src/plugins/GLTFLoaderPlugin/GLTFSceneModelLoader.js +252 -222
  10. package/src/viewer/metadata/MetaScene.js +0 -2
  11. package/src/viewer/scene/model/SceneModel.js +9 -0
  12. package/src/viewer/scene/model/SceneModelTextureSet.js +5 -0
  13. package/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapInitRenderer.js +8 -0
  14. package/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapRenderer.js +8 -0
  15. package/src/viewer/scene/model/vbo/VBORenderer.js +10 -1
  16. package/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapRenderer.js +1 -1
  17. package/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesLayer.js +26 -6
  18. package/src/viewer/scene/model/vbo/batching/triangles/renderers/Renderers.js +40 -12
  19. package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesBatchingRenderer.js +2 -3
  20. package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorTextureRenderer.js +25 -7
  21. package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapRenderer.js +1 -1
  22. package/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapRenderer.js +1 -1
  23. package/src/viewer/scene/model/vbo/instancing/triangles/VBOInstancingTrianglesLayer.js +17 -4
  24. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/Renderers.js +74 -47
  25. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorTextureRenderer.js +29 -14
  26. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesInstancingRenderer.js +5 -4
  27. package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapRenderer.js +1 -1
  28. package/src/viewer/scene/webgl/occlusion/OcclusionLayer.js +1 -1
  29. package/src/viewer/scene/webgl/occlusion/OcclusionTester.js +1 -4
@@ -4,8 +4,8 @@ import {VBORenderer} from "./../../../VBORenderer.js";
4
4
  * @private
5
5
  */
6
6
  export class TrianglesInstancingRenderer extends VBORenderer {
7
- constructor(scene, withSAO, {edges = false} = {}) {
8
- super(scene, withSAO, {instancing: true, edges});
7
+ constructor(scene, withSAO, {edges = false, useAlphaCutoff = false} = {}) {
8
+ super(scene, withSAO, {instancing: true, edges, useAlphaCutoff});
9
9
  }
10
10
 
11
11
  _draw(drawCfg) {
@@ -14,16 +14,17 @@ export class TrianglesInstancingRenderer extends VBORenderer {
14
14
  const {
15
15
  state,
16
16
  frameCtx,
17
- incrementDrawState,
17
+ incrementDrawState
18
18
  } = drawCfg;
19
19
 
20
20
  if (this._edges) {
21
21
  gl.drawElementsInstanced(gl.LINES, state.edgeIndicesBuf.numItems, state.edgeIndicesBuf.itemType, 0, state.numInstances);
22
22
  } else {
23
23
  gl.drawElementsInstanced(gl.TRIANGLES, state.indicesBuf.numItems, state.indicesBuf.itemType, 0, state.numInstances);
24
+
24
25
  if (incrementDrawState) {
25
26
  frameCtx.drawElements++;
26
27
  }
27
28
  }
28
29
  }
29
- }
30
+ }
@@ -230,7 +230,7 @@ export class TrianglesSnapRenderer extends VBORenderer {
230
230
  // renderPass = PICK
231
231
  src.push(`int pickFlag = int(flags) >> 12 & 0xF;`);
232
232
  src.push(`if (pickFlag != renderPass) {`);
233
- src.push(" gl_Position = vec4(0.0, 0.0, 0.0, 0.0);"); // Cull vertex
233
+ src.push(" gl_Position = vec4(2.0, 0.0, 0.0, 0.0);"); // Cull vertex
234
234
  src.push("} else {");
235
235
  src.push(" vec4 worldPosition = positionsDecodeMatrix * vec4(position, 1.0); ");
236
236
  src.push(" worldPosition = worldMatrix * vec4(dot(worldPosition, modelMatrixCol0), dot(worldPosition, modelMatrixCol1), dot(worldPosition, modelMatrixCol2), 1.0);");
@@ -99,7 +99,7 @@ class OcclusionLayer {
99
99
  for (let i = 0; i < this.numMarkers; i++) {
100
100
  if (this.markerList[i]) {
101
101
  const marker = this.markerList[i];
102
- const worldPos = marker.worldPos;
102
+ const worldPos = marker.rtcPos;
103
103
  this.positions[j++] = worldPos[0];
104
104
  this.positions[j++] = worldPos[1];
105
105
  this.positions[j++] = worldPos[2];
@@ -332,10 +332,7 @@ class OcclusionTester {
332
332
  continue;
333
333
  }
334
334
 
335
- // The `origin` has been changed from `occlusionLayer.origin` to `[ 0, 0, 0 ]`
336
- // because OcclusionLayer markers' transformation is being applied through the
337
- // OcclusionLayer::positions array. See XEOK-33
338
- const origin = [ 0, 0, 0 ];
335
+ const origin = occlusionLayer.origin;
339
336
 
340
337
  gl.uniformMatrix4fv(this._uViewMatrix, false, createRTCViewMat(camera.viewMatrix, origin));
341
338