@xeokit/xeokit-sdk 2.4.2-beta-21 → 2.4.2-beta-23
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 +750 -598
- package/dist/xeokit-sdk.es.js +750 -598
- package/dist/xeokit-sdk.es5.js +227 -198
- 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/viewer/Viewer.js +7 -1
- package/src/viewer/scene/mesh/draw/DrawRenderer.js +18 -8
- package/src/viewer/scene/mesh/draw/DrawShaderSource.js +8 -8
- package/src/viewer/scene/mesh/emphasis/EmphasisEdgesRenderer.js +19 -9
- package/src/viewer/scene/mesh/emphasis/EmphasisEdgesShaderSource.js +3 -3
- package/src/viewer/scene/mesh/emphasis/EmphasisFillRenderer.js +19 -9
- package/src/viewer/scene/mesh/emphasis/EmphasisFillShaderSource.js +3 -3
- package/src/viewer/scene/mesh/occlusion/OcclusionRenderer.js +18 -8
- package/src/viewer/scene/mesh/occlusion/OcclusionShaderSource.js +3 -3
- package/src/viewer/scene/mesh/pick/PickMeshRenderer.js +18 -8
- package/src/viewer/scene/mesh/pick/PickMeshShaderSource.js +3 -3
- package/src/viewer/scene/mesh/pick/PickTriangleRenderer.js +18 -8
- package/src/viewer/scene/mesh/pick/PickTriangleShaderSource.js +3 -3
- package/src/viewer/scene/mesh/shadow/ShadowRenderer.js +1 -1
- package/src/viewer/scene/mesh/shadow/ShadowShaderSource.js +3 -3
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureColorRenderer.js +22 -17
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureDepthRenderer.js +22 -21
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureEdgesColorRenderer.js +7 -10
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureEdgesRenderer.js +22 -19
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureNormalsRenderer.js +22 -18
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureOcclusionRenderer.js +22 -17
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickDepthRenderer.js +22 -18
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickMeshRenderer.js +59 -55
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickNormalsFlatRenderer.js +22 -20
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickNormalsRenderer.js +22 -18
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSilhouetteRenderer.js +22 -19
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSnapDepthBufInitRenderer.js +22 -19
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSnapDepthRenderer.js +22 -19
- package/src/viewer/scene/model/vbo/VBOSceneModelRenderers.js +21 -16
- package/src/viewer/scene/model/vbo/linesBatching/renderers/LinesBatchingColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/linesBatching/renderers/LinesBatchingSilhouetteRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/linesInstancing/renderers/LinesInstancingColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/linesInstancing/renderers/LinesInstancingSilhouetteRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingOcclusionRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingPickDepthRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingPickMeshRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingShadowRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingSilhouetteRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingDepthRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingOcclusionRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingPickDepthRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingPickMeshRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingShadowRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingSilhouetteRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/snapBatching/SnapBatchingDepthBufInitRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/snapBatching/SnapBatchingDepthRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/snapInstancing/SnapInstancingDepthBufInitRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/snapInstancing/SnapInstancingDepthRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingColorTextureRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingDepthRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingEdgesColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingEdgesRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingFlatColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingNormalsRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingOcclusionRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPBRRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickDepthRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickMeshRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickNormalsFlatRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickNormalsRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingShadowRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingSilhouetteRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingColorTextureRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingDepthRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingEdgesColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingEdgesRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingFlatColorRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingFlatNormalsRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingNormalsRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingOcclusionRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPBRRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPickDepthRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPickMeshRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPickNormalsFlatRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPickNormalsRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingShadowRenderer.js +4 -4
- package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingSilhouetteRenderer.js +4 -4
- package/src/viewer/scene/scene/Scene.js +57 -11
- package/src/viewer/scene/sectionPlane/SectionPlaneCache.js +101 -0
package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingOcclusionRenderer.js
CHANGED
|
@@ -12,7 +12,7 @@ class PointsInstancingOcclusionRenderer extends VBOSceneModelPointInstancingRend
|
|
|
12
12
|
|
|
13
13
|
const scene = this._scene;
|
|
14
14
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
15
|
-
const clipping = sectionPlanesState.
|
|
15
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
16
16
|
const pointsMaterial = scene.pointsMaterial._state;
|
|
17
17
|
const src = [];
|
|
18
18
|
|
|
@@ -94,7 +94,7 @@ class PointsInstancingOcclusionRenderer extends VBOSceneModelPointInstancingRend
|
|
|
94
94
|
_buildFragmentShader() {
|
|
95
95
|
const scene = this._scene;
|
|
96
96
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
97
|
-
const clipping = sectionPlanesState.
|
|
97
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
98
98
|
const src = [];
|
|
99
99
|
src.push ('#version 300 es');
|
|
100
100
|
src.push("// Points instancing occlusion vertex shader");
|
|
@@ -112,7 +112,7 @@ class PointsInstancingOcclusionRenderer extends VBOSceneModelPointInstancingRend
|
|
|
112
112
|
if (clipping) {
|
|
113
113
|
src.push("in vec4 vWorldPosition;");
|
|
114
114
|
src.push("in float vFlags;");
|
|
115
|
-
for (let i = 0; i < sectionPlanesState.
|
|
115
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
116
116
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
117
117
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
118
118
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -131,7 +131,7 @@ class PointsInstancingOcclusionRenderer extends VBOSceneModelPointInstancingRend
|
|
|
131
131
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
132
132
|
src.push(" if (clippable) {");
|
|
133
133
|
src.push(" float dist = 0.0;");
|
|
134
|
-
for (let i = 0; i < sectionPlanesState.
|
|
134
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
135
135
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
136
136
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
137
137
|
src.push("}");
|
package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingPickDepthRenderer.js
CHANGED
|
@@ -11,7 +11,7 @@ class PointsInstancingPickDepthRenderer extends VBOSceneModelPointInstancingRend
|
|
|
11
11
|
_buildVertexShader() {
|
|
12
12
|
const scene = this._scene;
|
|
13
13
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
14
|
-
const clipping = sectionPlanesState.
|
|
14
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
15
15
|
const pointsMaterial = scene.pointsMaterial._state;
|
|
16
16
|
const src = [];
|
|
17
17
|
|
|
@@ -96,7 +96,7 @@ class PointsInstancingPickDepthRenderer extends VBOSceneModelPointInstancingRend
|
|
|
96
96
|
_buildFragmentShader() {
|
|
97
97
|
const scene = this._scene;
|
|
98
98
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
99
|
-
const clipping = sectionPlanesState.
|
|
99
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
100
100
|
const src = [];
|
|
101
101
|
src.push ('#version 300 es');
|
|
102
102
|
src.push("// Points instancing pick depth fragment shader");
|
|
@@ -120,7 +120,7 @@ class PointsInstancingPickDepthRenderer extends VBOSceneModelPointInstancingRend
|
|
|
120
120
|
if (clipping) {
|
|
121
121
|
src.push("in vec4 vWorldPosition;");
|
|
122
122
|
src.push("in float vFlags;");
|
|
123
|
-
for (let i = 0; i < sectionPlanesState.
|
|
123
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
124
124
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
125
125
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
126
126
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -149,7 +149,7 @@ class PointsInstancingPickDepthRenderer extends VBOSceneModelPointInstancingRend
|
|
|
149
149
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
150
150
|
src.push(" if (clippable) {");
|
|
151
151
|
src.push(" float dist = 0.0;");
|
|
152
|
-
for (let i = 0; i < sectionPlanesState.
|
|
152
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
153
153
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
154
154
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
155
155
|
src.push("}");
|
package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingPickMeshRenderer.js
CHANGED
|
@@ -11,7 +11,7 @@ class PointsInstancingPickMeshRenderer extends VBOSceneModelPointInstancingRende
|
|
|
11
11
|
_buildVertexShader() {
|
|
12
12
|
const scene = this._scene;
|
|
13
13
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
14
|
-
const clipping = sectionPlanesState.
|
|
14
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
15
15
|
const pointsMaterial = scene.pointsMaterial._state;
|
|
16
16
|
const src = [];
|
|
17
17
|
src.push ('#version 300 es');
|
|
@@ -94,7 +94,7 @@ class PointsInstancingPickMeshRenderer extends VBOSceneModelPointInstancingRende
|
|
|
94
94
|
_buildFragmentShader() {
|
|
95
95
|
const scene = this._scene;
|
|
96
96
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
97
|
-
const clipping = sectionPlanesState.
|
|
97
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
98
98
|
const src = [];
|
|
99
99
|
src.push ('#version 300 es');
|
|
100
100
|
src.push("// Points instancing pick mesh fragment shader");
|
|
@@ -112,7 +112,7 @@ class PointsInstancingPickMeshRenderer extends VBOSceneModelPointInstancingRende
|
|
|
112
112
|
if (clipping) {
|
|
113
113
|
src.push("in vec4 vWorldPosition;");
|
|
114
114
|
src.push("in float vFlags;");
|
|
115
|
-
for (let i = 0; i < sectionPlanesState.
|
|
115
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
116
116
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
117
117
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
118
118
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -134,7 +134,7 @@ class PointsInstancingPickMeshRenderer extends VBOSceneModelPointInstancingRende
|
|
|
134
134
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
135
135
|
src.push(" if (clippable) {");
|
|
136
136
|
src.push(" float dist = 0.0;");
|
|
137
|
-
for (let i = 0; i < sectionPlanesState.
|
|
137
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
138
138
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
139
139
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
140
140
|
src.push("}");
|
package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingShadowRenderer.js
CHANGED
|
@@ -10,7 +10,7 @@ class PointsInstancingShadowRenderer extends VBOSceneModelPointInstancingRendere
|
|
|
10
10
|
_buildVertexShader() {
|
|
11
11
|
const scene = this._scene;
|
|
12
12
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
13
|
-
const clipping = sectionPlanesState.
|
|
13
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
14
14
|
const src = [];
|
|
15
15
|
src.push ('#version 300 es');
|
|
16
16
|
src.push("// Instancing geometry shadow drawing vertex shader");
|
|
@@ -61,7 +61,7 @@ class PointsInstancingShadowRenderer extends VBOSceneModelPointInstancingRendere
|
|
|
61
61
|
_buildFragmentShader() {
|
|
62
62
|
const scene = this._scene;
|
|
63
63
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
64
|
-
const clipping = sectionPlanesState.
|
|
64
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
65
65
|
const src = [];
|
|
66
66
|
src.push ('#version 300 es');
|
|
67
67
|
src.push("// Instancing geometry depth drawing fragment shader");
|
|
@@ -80,7 +80,7 @@ class PointsInstancingShadowRenderer extends VBOSceneModelPointInstancingRendere
|
|
|
80
80
|
if (clipping) {
|
|
81
81
|
src.push("in vec4 vWorldPosition;");
|
|
82
82
|
src.push("in float vFlags;");
|
|
83
|
-
for (let i = 0, len = sectionPlanesState.
|
|
83
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
84
84
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
85
85
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
86
86
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -101,7 +101,7 @@ class PointsInstancingShadowRenderer extends VBOSceneModelPointInstancingRendere
|
|
|
101
101
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
102
102
|
src.push(" if (clippable) {");
|
|
103
103
|
src.push(" float dist = 0.0;");
|
|
104
|
-
for (let i = 0, len = sectionPlanesState.
|
|
104
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
105
105
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
106
106
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
107
107
|
src.push("}");
|
package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingSilhouetteRenderer.js
CHANGED
|
@@ -16,7 +16,7 @@ class PointsInstancingSilhouetteRenderer extends VBOSceneModelPointInstancingRen
|
|
|
16
16
|
|
|
17
17
|
const scene = this._scene;
|
|
18
18
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
19
|
-
const clipping = sectionPlanesState.
|
|
19
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
20
20
|
const pointsMaterial = scene.pointsMaterial._state;
|
|
21
21
|
const src = [];
|
|
22
22
|
src.push ('#version 300 es');
|
|
@@ -98,7 +98,7 @@ class PointsInstancingSilhouetteRenderer extends VBOSceneModelPointInstancingRen
|
|
|
98
98
|
_buildFragmentShader() {
|
|
99
99
|
const scene = this._scene;
|
|
100
100
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
101
|
-
const clipping = sectionPlanesState.
|
|
101
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
102
102
|
const src = [];
|
|
103
103
|
src.push ('#version 300 es');
|
|
104
104
|
src.push("// Points instancing silhouette fragment shader");
|
|
@@ -116,7 +116,7 @@ class PointsInstancingSilhouetteRenderer extends VBOSceneModelPointInstancingRen
|
|
|
116
116
|
if (clipping) {
|
|
117
117
|
src.push("in vec4 vWorldPosition;");
|
|
118
118
|
src.push("in float vFlags;");
|
|
119
|
-
for (let i = 0, len = sectionPlanesState.
|
|
119
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
120
120
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
121
121
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
122
122
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -136,7 +136,7 @@ class PointsInstancingSilhouetteRenderer extends VBOSceneModelPointInstancingRen
|
|
|
136
136
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
137
137
|
src.push(" if (clippable) {");
|
|
138
138
|
src.push(" float dist = 0.0;");
|
|
139
|
-
for (let i = 0, len = sectionPlanesState.
|
|
139
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
140
140
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
141
141
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
142
142
|
src.push("}");
|
|
@@ -148,7 +148,7 @@ export class SnapBatchingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
148
148
|
|
|
149
149
|
_buildVertexShader() {
|
|
150
150
|
const scene = this._scene;
|
|
151
|
-
const clipping = scene._sectionPlanesState.
|
|
151
|
+
const clipping = scene._sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
152
152
|
const src = [];
|
|
153
153
|
src.push ('#version 300 es');
|
|
154
154
|
src.push("// VBO SnapBatchingDepthBufInitRenderer vertex shader");
|
|
@@ -235,7 +235,7 @@ export class SnapBatchingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
235
235
|
_buildFragmentShader() {
|
|
236
236
|
const scene = this._scene;
|
|
237
237
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
238
|
-
const clipping = sectionPlanesState.
|
|
238
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
239
239
|
const src = [];
|
|
240
240
|
src.push ('#version 300 es');
|
|
241
241
|
src.push("// VBO SnapBatchingDepthBufInitRenderer fragment shader");
|
|
@@ -257,7 +257,7 @@ export class SnapBatchingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
257
257
|
src.push("flat in vec4 vPickColor;");
|
|
258
258
|
if (clipping) {
|
|
259
259
|
src.push("in float vFlags;");
|
|
260
|
-
for (let i = 0; i < sectionPlanesState.
|
|
260
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
261
261
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
262
262
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
263
263
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -272,7 +272,7 @@ export class SnapBatchingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
272
272
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
273
273
|
src.push(" if (clippable) {");
|
|
274
274
|
src.push(" float dist = 0.0;");
|
|
275
|
-
for (var i = 0; i < sectionPlanesState.
|
|
275
|
+
for (var i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
276
276
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
277
277
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
278
278
|
src.push(" }");
|
|
@@ -158,7 +158,7 @@ export class SnapBatchingDepthRenderer extends VBOSceneModelRenderer{
|
|
|
158
158
|
|
|
159
159
|
_buildVertexShader() {
|
|
160
160
|
const scene = this._scene;
|
|
161
|
-
const clipping = scene._sectionPlanesState.
|
|
161
|
+
const clipping = scene._sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
162
162
|
const pointsMaterial = scene.pointsMaterial._state;
|
|
163
163
|
const src = [];
|
|
164
164
|
src.push ('#version 300 es');
|
|
@@ -245,7 +245,7 @@ export class SnapBatchingDepthRenderer extends VBOSceneModelRenderer{
|
|
|
245
245
|
_buildFragmentShader() {
|
|
246
246
|
const scene = this._scene;
|
|
247
247
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
248
|
-
const clipping = sectionPlanesState.
|
|
248
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
249
249
|
const src = [];
|
|
250
250
|
src.push ('#version 300 es');
|
|
251
251
|
src.push("// SnapBatchingDepthRenderer fragment shader");
|
|
@@ -266,7 +266,7 @@ export class SnapBatchingDepthRenderer extends VBOSceneModelRenderer{
|
|
|
266
266
|
if (clipping) {
|
|
267
267
|
src.push("in vec4 vWorldPosition;");
|
|
268
268
|
src.push("in float vFlags;");
|
|
269
|
-
for (let i = 0; i < sectionPlanesState.
|
|
269
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
270
270
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
271
271
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
272
272
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -279,7 +279,7 @@ export class SnapBatchingDepthRenderer extends VBOSceneModelRenderer{
|
|
|
279
279
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
280
280
|
src.push(" if (clippable) {");
|
|
281
281
|
src.push(" float dist = 0.0;");
|
|
282
|
-
for (var i = 0; i < sectionPlanesState.
|
|
282
|
+
for (var i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
283
283
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
284
284
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
285
285
|
src.push(" }");
|
|
@@ -176,7 +176,7 @@ class SnapInstancingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
176
176
|
_buildVertexShader() {
|
|
177
177
|
const scene = this._scene;
|
|
178
178
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
179
|
-
const clipping = sectionPlanesState.
|
|
179
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
180
180
|
const src = [];
|
|
181
181
|
src.push ('#version 300 es');
|
|
182
182
|
src.push("// SnapInstancingDepthBufInitRenderer vertex shader");
|
|
@@ -266,7 +266,7 @@ class SnapInstancingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
266
266
|
_buildFragmentShader() {
|
|
267
267
|
const scene = this._scene;
|
|
268
268
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
269
|
-
const clipping = sectionPlanesState.
|
|
269
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
270
270
|
const src = [];
|
|
271
271
|
src.push ('#version 300 es');
|
|
272
272
|
src.push("// Points instancing pick depth fragment shader");
|
|
@@ -288,7 +288,7 @@ class SnapInstancingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
288
288
|
src.push("flat in vec4 vPickColor;");
|
|
289
289
|
if (clipping) {
|
|
290
290
|
src.push("in float vFlags;");
|
|
291
|
-
for (let i = 0; i < sectionPlanesState.
|
|
291
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
292
292
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
293
293
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
294
294
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -303,7 +303,7 @@ class SnapInstancingDepthBufInitRenderer extends VBOSceneModelRenderer {
|
|
|
303
303
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
304
304
|
src.push(" if (clippable) {");
|
|
305
305
|
src.push(" float dist = 0.0;");
|
|
306
|
-
for (let i = 0; i < sectionPlanesState.
|
|
306
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
307
307
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
308
308
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
309
309
|
src.push("}");
|
|
@@ -174,7 +174,7 @@ class SnapInstancingDepthRenderer extends VBOSceneModelRenderer {
|
|
|
174
174
|
_buildVertexShader() {
|
|
175
175
|
const scene = this._scene;
|
|
176
176
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
177
|
-
const clipping = sectionPlanesState.
|
|
177
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
178
178
|
const src = [];
|
|
179
179
|
src.push ('#version 300 es');
|
|
180
180
|
src.push("// SnapInstancingDepthRenderer vertex shader");
|
|
@@ -262,7 +262,7 @@ class SnapInstancingDepthRenderer extends VBOSceneModelRenderer {
|
|
|
262
262
|
_buildFragmentShader() {
|
|
263
263
|
const scene = this._scene;
|
|
264
264
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
265
|
-
const clipping = sectionPlanesState.
|
|
265
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
266
266
|
const src = [];
|
|
267
267
|
src.push ('#version 300 es');
|
|
268
268
|
src.push("// SnapInstancingDepthRenderer fragment shader");
|
|
@@ -283,7 +283,7 @@ class SnapInstancingDepthRenderer extends VBOSceneModelRenderer {
|
|
|
283
283
|
if (clipping) {
|
|
284
284
|
src.push("in vec4 vWorldPosition;");
|
|
285
285
|
src.push("in float vFlags;");
|
|
286
|
-
for (let i = 0; i < sectionPlanesState.
|
|
286
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
287
287
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
288
288
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
289
289
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -296,7 +296,7 @@ class SnapInstancingDepthRenderer extends VBOSceneModelRenderer {
|
|
|
296
296
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
297
297
|
src.push(" if (clippable) {");
|
|
298
298
|
src.push(" float dist = 0.0;");
|
|
299
|
-
for (let i = 0; i < sectionPlanesState.
|
|
299
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
300
300
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
301
301
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
302
302
|
src.push("}");
|
package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingColorRenderer.js
CHANGED
|
@@ -17,7 +17,7 @@ class TrianglesBatchingColorRenderer extends VBOSceneModelTriangleBatchingRender
|
|
|
17
17
|
const scene = this._scene;
|
|
18
18
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
19
19
|
const lightsState = scene._lightsState;
|
|
20
|
-
const clipping = sectionPlanesState.
|
|
20
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
21
21
|
let light;
|
|
22
22
|
const src = [];
|
|
23
23
|
src.push("#version 300 es");
|
|
@@ -156,7 +156,7 @@ class TrianglesBatchingColorRenderer extends VBOSceneModelTriangleBatchingRender
|
|
|
156
156
|
_buildFragmentShader() {
|
|
157
157
|
const scene = this._scene;
|
|
158
158
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
159
|
-
const clipping = sectionPlanesState.
|
|
159
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
160
160
|
const src = [];
|
|
161
161
|
src.push("#version 300 es");
|
|
162
162
|
src.push("// Triangles batching draw fragment shader");
|
|
@@ -189,7 +189,7 @@ class TrianglesBatchingColorRenderer extends VBOSceneModelTriangleBatchingRender
|
|
|
189
189
|
if (clipping) {
|
|
190
190
|
src.push("in vec4 vWorldPosition;");
|
|
191
191
|
src.push("in float vFlags;");
|
|
192
|
-
for (let i = 0, len = sectionPlanesState.
|
|
192
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
193
193
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
194
194
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
195
195
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -203,7 +203,7 @@ class TrianglesBatchingColorRenderer extends VBOSceneModelTriangleBatchingRender
|
|
|
203
203
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
204
204
|
src.push(" if (clippable) {");
|
|
205
205
|
src.push(" float dist = 0.0;");
|
|
206
|
-
for (let i = 0, len = sectionPlanesState.
|
|
206
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
207
207
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
208
208
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
209
209
|
src.push("}");
|
|
@@ -17,7 +17,7 @@ class TrianglesBatchingColorTextureRenderer extends VBOSceneModelTriangleBatchin
|
|
|
17
17
|
|
|
18
18
|
const scene = this._scene;
|
|
19
19
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
20
|
-
const clipping = sectionPlanesState.
|
|
20
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
21
21
|
const src = [];
|
|
22
22
|
src.push("#version 300 es");
|
|
23
23
|
src.push("// Triangles batching color texture vertex shader");
|
|
@@ -94,7 +94,7 @@ class TrianglesBatchingColorTextureRenderer extends VBOSceneModelTriangleBatchin
|
|
|
94
94
|
const gammaOutput = scene.gammaOutput; // If set, then it expects that all textures and colors need to be outputted in premultiplied gamma. Default is false.
|
|
95
95
|
const lightsState = scene._lightsState;
|
|
96
96
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
97
|
-
const clipping = sectionPlanesState.
|
|
97
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
98
98
|
const src = [];
|
|
99
99
|
src.push("#version 300 es");
|
|
100
100
|
src.push("// Triangles batching color texture fragment shader");
|
|
@@ -144,7 +144,7 @@ class TrianglesBatchingColorTextureRenderer extends VBOSceneModelTriangleBatchin
|
|
|
144
144
|
if (clipping) {
|
|
145
145
|
src.push("in vec4 vWorldPosition;");
|
|
146
146
|
src.push("in float vFlags;");
|
|
147
|
-
for (let i = 0, len = sectionPlanesState.
|
|
147
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
148
148
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
149
149
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
150
150
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -181,7 +181,7 @@ class TrianglesBatchingColorTextureRenderer extends VBOSceneModelTriangleBatchin
|
|
|
181
181
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
182
182
|
src.push(" if (clippable) {");
|
|
183
183
|
src.push(" float dist = 0.0;");
|
|
184
|
-
for (let i = 0, len = sectionPlanesState.
|
|
184
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
185
185
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
186
186
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
187
187
|
src.push("}");
|
package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingDepthRenderer.js
CHANGED
|
@@ -7,7 +7,7 @@ class TrianglesBatchingDepthRenderer extends VBOSceneModelTriangleBatchingRender
|
|
|
7
7
|
|
|
8
8
|
_buildVertexShader() {
|
|
9
9
|
const scene = this._scene;
|
|
10
|
-
const clipping = scene._sectionPlanesState.
|
|
10
|
+
const clipping = scene._sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
11
11
|
const src = [];
|
|
12
12
|
src.push("#version 300 es");
|
|
13
13
|
src.push("// Triangles batching depth vertex shader");
|
|
@@ -67,7 +67,7 @@ class TrianglesBatchingDepthRenderer extends VBOSceneModelTriangleBatchingRender
|
|
|
67
67
|
_buildFragmentShader() {
|
|
68
68
|
const scene = this._scene;
|
|
69
69
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
70
|
-
const clipping = (sectionPlanesState.
|
|
70
|
+
const clipping = (sectionPlanesState.getNumAllocatedSectionPlanes() > 0);
|
|
71
71
|
const src = [];
|
|
72
72
|
src.push("#version 300 es");
|
|
73
73
|
src.push("// Triangles batching depth fragment shader");
|
|
@@ -82,7 +82,7 @@ class TrianglesBatchingDepthRenderer extends VBOSceneModelTriangleBatchingRender
|
|
|
82
82
|
if (clipping) {
|
|
83
83
|
src.push("in vec4 vWorldPosition;");
|
|
84
84
|
src.push("in float vFlags;");
|
|
85
|
-
for (let i = 0; i < sectionPlanesState.
|
|
85
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
86
86
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
87
87
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
88
88
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -106,7 +106,7 @@ class TrianglesBatchingDepthRenderer extends VBOSceneModelTriangleBatchingRender
|
|
|
106
106
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
107
107
|
src.push(" if (clippable) {");
|
|
108
108
|
src.push(" float dist = 0.0;");
|
|
109
|
-
for (var i = 0; i < sectionPlanesState.
|
|
109
|
+
for (var i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
110
110
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
111
111
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
112
112
|
src.push(" }");
|
|
@@ -8,7 +8,7 @@ class TrianglesBatchingEdgesColorRenderer extends VBOSceneModelTriangleBatchingE
|
|
|
8
8
|
_buildVertexShader() {
|
|
9
9
|
const scene = this._scene;
|
|
10
10
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
11
|
-
const clipping = sectionPlanesState.
|
|
11
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
12
12
|
const src = [];
|
|
13
13
|
src.push("#version 300 es");
|
|
14
14
|
src.push("// Batched geometry edges drawing vertex shader");
|
|
@@ -77,7 +77,7 @@ class TrianglesBatchingEdgesColorRenderer extends VBOSceneModelTriangleBatchingE
|
|
|
77
77
|
_buildFragmentShader() {
|
|
78
78
|
const scene = this._scene;
|
|
79
79
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
80
|
-
const clipping = sectionPlanesState.
|
|
80
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
81
81
|
const src = [];
|
|
82
82
|
src.push("#version 300 es");
|
|
83
83
|
src.push("// Batched geometry edges drawing fragment shader");
|
|
@@ -96,7 +96,7 @@ class TrianglesBatchingEdgesColorRenderer extends VBOSceneModelTriangleBatchingE
|
|
|
96
96
|
if (clipping) {
|
|
97
97
|
src.push("in vec4 vWorldPosition;");
|
|
98
98
|
src.push("in float vFlags;");
|
|
99
|
-
for (let i = 0, len = sectionPlanesState.
|
|
99
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
100
100
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
101
101
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
102
102
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -109,7 +109,7 @@ class TrianglesBatchingEdgesColorRenderer extends VBOSceneModelTriangleBatchingE
|
|
|
109
109
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
110
110
|
src.push(" if (clippable) {");
|
|
111
111
|
src.push(" float dist = 0.0;");
|
|
112
|
-
for (let i = 0, len = sectionPlanesState.
|
|
112
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
113
113
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
114
114
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
115
115
|
src.push("}");
|
package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingEdgesRenderer.js
CHANGED
|
@@ -12,7 +12,7 @@ class TrianglesBatchingEdgesRenderer extends VBOSceneModelTriangleBatchingEdgesR
|
|
|
12
12
|
_buildVertexShader() {
|
|
13
13
|
const scene = this._scene;
|
|
14
14
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
15
|
-
const clipping = sectionPlanesState.
|
|
15
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
16
16
|
const src = [];
|
|
17
17
|
|
|
18
18
|
src.push("#version 300 es");
|
|
@@ -81,7 +81,7 @@ class TrianglesBatchingEdgesRenderer extends VBOSceneModelTriangleBatchingEdgesR
|
|
|
81
81
|
_buildFragmentShader() {
|
|
82
82
|
const scene = this._scene;
|
|
83
83
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
84
|
-
const clipping = sectionPlanesState.
|
|
84
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
85
85
|
const src = [];
|
|
86
86
|
src.push("#version 300 es");
|
|
87
87
|
src.push("// Batched geometry edges drawing fragment shader");
|
|
@@ -101,7 +101,7 @@ class TrianglesBatchingEdgesRenderer extends VBOSceneModelTriangleBatchingEdgesR
|
|
|
101
101
|
if (clipping) {
|
|
102
102
|
src.push("in vec4 vWorldPosition;");
|
|
103
103
|
src.push("in float vFlags;");
|
|
104
|
-
for (let i = 0, len = sectionPlanesState.
|
|
104
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
105
105
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
106
106
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
107
107
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -114,7 +114,7 @@ class TrianglesBatchingEdgesRenderer extends VBOSceneModelTriangleBatchingEdgesR
|
|
|
114
114
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
115
115
|
src.push(" if (clippable) {");
|
|
116
116
|
src.push(" float dist = 0.0;");
|
|
117
|
-
for (let i = 0, len = sectionPlanesState.
|
|
117
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
118
118
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
119
119
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
120
120
|
src.push("}");
|
package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingFlatColorRenderer.js
CHANGED
|
@@ -12,7 +12,7 @@ class TrianglesBatchingFlatColorRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
12
12
|
_buildVertexShader() {
|
|
13
13
|
const scene = this._scene;
|
|
14
14
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
15
|
-
const clipping = sectionPlanesState.
|
|
15
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
16
16
|
const src = [];
|
|
17
17
|
src.push("#version 300 es");
|
|
18
18
|
src.push("// Triangles batching flat-shading draw vertex shader");
|
|
@@ -84,7 +84,7 @@ class TrianglesBatchingFlatColorRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
84
84
|
const scene = this._scene;
|
|
85
85
|
const lightsState = scene._lightsState;
|
|
86
86
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
87
|
-
const clipping = sectionPlanesState.
|
|
87
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
88
88
|
const src = [];
|
|
89
89
|
src.push("#version 300 es");
|
|
90
90
|
src.push("// Triangles batching flat-shading draw fragment shader");
|
|
@@ -120,7 +120,7 @@ class TrianglesBatchingFlatColorRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
120
120
|
if (clipping) {
|
|
121
121
|
src.push("in vec4 vWorldPosition;");
|
|
122
122
|
src.push("in float vFlags;");
|
|
123
|
-
for (let i = 0, len = sectionPlanesState.
|
|
123
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
124
124
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
125
125
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
126
126
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -158,7 +158,7 @@ class TrianglesBatchingFlatColorRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
158
158
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
159
159
|
src.push(" if (clippable) {");
|
|
160
160
|
src.push(" float dist = 0.0;");
|
|
161
|
-
for (let i = 0, len = sectionPlanesState.
|
|
161
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
162
162
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
163
163
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
164
164
|
src.push("}");
|
package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingNormalsRenderer.js
CHANGED
|
@@ -7,7 +7,7 @@ class TrianglesBatchingNormalsRenderer extends VBOSceneModelTriangleBatchingRend
|
|
|
7
7
|
|
|
8
8
|
_buildVertexShader() {
|
|
9
9
|
const scene = this._scene;
|
|
10
|
-
const clipping = scene._sectionPlanesState.
|
|
10
|
+
const clipping = scene._sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
11
11
|
const src = [];
|
|
12
12
|
src.push("#version 300 es");
|
|
13
13
|
src.push("// Batched geometry normals vertex shader");
|
|
@@ -78,7 +78,7 @@ class TrianglesBatchingNormalsRenderer extends VBOSceneModelTriangleBatchingRend
|
|
|
78
78
|
_buildFragmentShader() {
|
|
79
79
|
const scene = this._scene;
|
|
80
80
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
81
|
-
const clipping = (sectionPlanesState.
|
|
81
|
+
const clipping = (sectionPlanesState.getNumAllocatedSectionPlanes() > 0);
|
|
82
82
|
const src = [];
|
|
83
83
|
src.push("#version 300 es");
|
|
84
84
|
src.push("// Batched geometry normals fragment shader");
|
|
@@ -102,7 +102,7 @@ class TrianglesBatchingNormalsRenderer extends VBOSceneModelTriangleBatchingRend
|
|
|
102
102
|
if (clipping) {
|
|
103
103
|
src.push("in vec4 vWorldPosition;");
|
|
104
104
|
src.push("in float vFlags;");
|
|
105
|
-
for (let i = 0; i < sectionPlanesState.
|
|
105
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
106
106
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
107
107
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
108
108
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -119,7 +119,7 @@ class TrianglesBatchingNormalsRenderer extends VBOSceneModelTriangleBatchingRend
|
|
|
119
119
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
120
120
|
src.push(" if (clippable) {");
|
|
121
121
|
src.push(" float dist = 0.0;");
|
|
122
|
-
for (var i = 0; i < sectionPlanesState.
|
|
122
|
+
for (var i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
123
123
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
124
124
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
125
125
|
src.push(" }");
|
package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingOcclusionRenderer.js
CHANGED
|
@@ -13,7 +13,7 @@ class TrianglesBatchingOcclusionRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
13
13
|
|
|
14
14
|
_buildVertexShader() {
|
|
15
15
|
const scene = this._scene;
|
|
16
|
-
const clipping = scene._sectionPlanesState.
|
|
16
|
+
const clipping = scene._sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
17
17
|
const src = [];
|
|
18
18
|
src.push("#version 300 es");
|
|
19
19
|
src.push("// Triangles batching occlusion vertex shader");
|
|
@@ -75,7 +75,7 @@ class TrianglesBatchingOcclusionRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
75
75
|
_buildFragmentShader() {
|
|
76
76
|
const scene = this._scene;
|
|
77
77
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
78
|
-
const clipping = sectionPlanesState.
|
|
78
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
79
79
|
const src = [];
|
|
80
80
|
src.push("#version 300 es");
|
|
81
81
|
src.push("// Triangles batching occlusion fragment shader");
|
|
@@ -95,7 +95,7 @@ class TrianglesBatchingOcclusionRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
95
95
|
if (clipping) {
|
|
96
96
|
src.push("in vec4 vWorldPosition;");
|
|
97
97
|
src.push("in float vFlags;");
|
|
98
|
-
for (let i = 0; i < sectionPlanesState.
|
|
98
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
99
99
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
100
100
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
101
101
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -107,7 +107,7 @@ class TrianglesBatchingOcclusionRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
107
107
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
108
108
|
src.push(" if (clippable) {");
|
|
109
109
|
src.push(" float dist = 0.0;");
|
|
110
|
-
for (let i = 0; i < sectionPlanesState.
|
|
110
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
111
111
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
112
112
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
113
113
|
src.push(" }");
|