@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.
- package/dist/xeokit-sdk.cjs.js +510 -429
- package/dist/xeokit-sdk.es.js +510 -429
- package/dist/xeokit-sdk.es5.js +315 -328
- package/dist/xeokit-sdk.min.cjs.js +4 -4
- package/dist/xeokit-sdk.min.es.js +4 -4
- package/dist/xeokit-sdk.min.es5.js +3 -3
- package/package.json +1 -1
- package/src/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.js +2 -110
- package/src/plugins/GLTFLoaderPlugin/GLTFSceneModelLoader.js +252 -222
- package/src/viewer/metadata/MetaScene.js +0 -2
- package/src/viewer/scene/model/SceneModel.js +9 -0
- package/src/viewer/scene/model/SceneModelTextureSet.js +5 -0
- package/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapInitRenderer.js +8 -0
- package/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapRenderer.js +8 -0
- package/src/viewer/scene/model/vbo/VBORenderer.js +10 -1
- package/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapRenderer.js +1 -1
- package/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesLayer.js +26 -6
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/Renderers.js +40 -12
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesBatchingRenderer.js +2 -3
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorTextureRenderer.js +25 -7
- package/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapRenderer.js +1 -1
- package/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapRenderer.js +1 -1
- package/src/viewer/scene/model/vbo/instancing/triangles/VBOInstancingTrianglesLayer.js +17 -4
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/Renderers.js +74 -47
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorTextureRenderer.js +29 -14
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesInstancingRenderer.js +5 -4
- package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapRenderer.js +1 -1
- package/src/viewer/scene/webgl/occlusion/OcclusionLayer.js +1 -1
- package/src/viewer/scene/webgl/occlusion/OcclusionTester.js +1 -4
package/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesInstancingRenderer.js
CHANGED
|
@@ -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(
|
|
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.
|
|
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
|
-
|
|
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
|
|