@xeokit/xeokit-sdk 2.4.2-beta-21 → 2.4.2-beta-22
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 +709 -588
- package/dist/xeokit-sdk.es.js +709 -588
- package/dist/xeokit-sdk.es5.js +203 -194
- 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 +21 -20
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureEdgesColorRenderer.js +6 -9
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureEdgesRenderer.js +21 -18
- 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 +58 -54
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickNormalsFlatRenderer.js +21 -19
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickNormalsRenderer.js +22 -18
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSilhouetteRenderer.js +21 -18
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSnapDepthBufInitRenderer.js +21 -18
- package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSnapDepthRenderer.js +21 -18
- 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 +24 -9
- package/src/viewer/scene/sectionPlane/SectionPlaneCache.js +101 -0
package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickDepthRenderer.js
CHANGED
|
@@ -8,7 +8,7 @@ class TrianglesBatchingPickDepthRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
8
8
|
_buildVertexShader() {
|
|
9
9
|
|
|
10
10
|
const scene = this._scene;
|
|
11
|
-
const clipping = scene._sectionPlanesState.
|
|
11
|
+
const clipping = scene._sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
12
12
|
const src = [];
|
|
13
13
|
src.push("#version 300 es");
|
|
14
14
|
src.push("// Triangles batching pick depth vertex shader");
|
|
@@ -78,7 +78,7 @@ class TrianglesBatchingPickDepthRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
78
78
|
|
|
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("// Triangles batching pick depth fragment shader");
|
|
@@ -105,7 +105,7 @@ class TrianglesBatchingPickDepthRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
105
105
|
if (clipping) {
|
|
106
106
|
src.push("in vec4 vWorldPosition;");
|
|
107
107
|
src.push("in float vFlags;");
|
|
108
|
-
for (var i = 0; i < sectionPlanesState.
|
|
108
|
+
for (var i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
109
109
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
110
110
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
111
111
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -125,7 +125,7 @@ class TrianglesBatchingPickDepthRenderer extends VBOSceneModelTriangleBatchingRe
|
|
|
125
125
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
126
126
|
src.push(" if (clippable) {");
|
|
127
127
|
src.push(" float dist = 0.0;");
|
|
128
|
-
for (let i = 0; i < sectionPlanesState.
|
|
128
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
129
129
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
130
130
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
131
131
|
src.push(" }");
|
package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickMeshRenderer.js
CHANGED
|
@@ -7,7 +7,7 @@ class TrianglesBatchingPickMeshRenderer extends VBOSceneModelTriangleBatchingRen
|
|
|
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 picking vertex shader");
|
|
@@ -79,7 +79,7 @@ class TrianglesBatchingPickMeshRenderer extends VBOSceneModelTriangleBatchingRen
|
|
|
79
79
|
_buildFragmentShader() {
|
|
80
80
|
const scene = this._scene;
|
|
81
81
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
82
|
-
const clipping = sectionPlanesState.
|
|
82
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
83
83
|
const src = [];
|
|
84
84
|
src.push("#version 300 es");
|
|
85
85
|
src.push("// Batched geometry picking fragment shader");
|
|
@@ -99,7 +99,7 @@ class TrianglesBatchingPickMeshRenderer extends VBOSceneModelTriangleBatchingRen
|
|
|
99
99
|
if (clipping) {
|
|
100
100
|
src.push("in vec4 vWorldPosition;");
|
|
101
101
|
src.push("in float vFlags;");
|
|
102
|
-
for (var i = 0; i < sectionPlanesState.
|
|
102
|
+
for (var i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
103
103
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
104
104
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
105
105
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -112,7 +112,7 @@ class TrianglesBatchingPickMeshRenderer extends VBOSceneModelTriangleBatchingRen
|
|
|
112
112
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
113
113
|
src.push(" if (clippable) {");
|
|
114
114
|
src.push(" float dist = 0.0;");
|
|
115
|
-
for (let i = 0; i < sectionPlanesState.
|
|
115
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
116
116
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
117
117
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
118
118
|
src.push(" }");
|
|
@@ -8,7 +8,7 @@ class TrianglesBatchingPickNormalsFlatRenderer extends VBOSceneModelTriangleBatc
|
|
|
8
8
|
|
|
9
9
|
_buildVertexShader() {
|
|
10
10
|
const scene = this._scene;
|
|
11
|
-
const clipping = scene._sectionPlanesState.
|
|
11
|
+
const clipping = scene._sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
12
12
|
const src = [];
|
|
13
13
|
src.push("#version 300 es");
|
|
14
14
|
src.push("// Triangles batching pick flat normals vertex shader");
|
|
@@ -67,7 +67,7 @@ class TrianglesBatchingPickNormalsFlatRenderer extends VBOSceneModelTriangleBatc
|
|
|
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 pick flat normals fragment shader");
|
|
@@ -87,7 +87,7 @@ class TrianglesBatchingPickNormalsFlatRenderer extends VBOSceneModelTriangleBatc
|
|
|
87
87
|
src.push("in vec4 vWorldPosition;");
|
|
88
88
|
if (clipping) {
|
|
89
89
|
src.push("in float vFlags;");
|
|
90
|
-
for (var i = 0; i < sectionPlanesState.
|
|
90
|
+
for (var i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
91
91
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
92
92
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
93
93
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -99,7 +99,7 @@ class TrianglesBatchingPickNormalsFlatRenderer extends VBOSceneModelTriangleBatc
|
|
|
99
99
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
100
100
|
src.push(" if (clippable) {");
|
|
101
101
|
src.push(" float dist = 0.0;");
|
|
102
|
-
for (let i = 0; i < sectionPlanesState.
|
|
102
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
103
103
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
104
104
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
105
105
|
src.push(" }");
|
|
@@ -8,7 +8,7 @@ class TrianglesBatchingPickNormalsRenderer extends VBOSceneModelTriangleBatching
|
|
|
8
8
|
|
|
9
9
|
_buildVertexShader() {
|
|
10
10
|
const scene = this._scene;
|
|
11
|
-
const clipping = scene._sectionPlanesState.
|
|
11
|
+
const clipping = scene._sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
12
12
|
const src = [];
|
|
13
13
|
src.push("#version 300 es");
|
|
14
14
|
src.push("// Triangles batching pick normals vertex shader");
|
|
@@ -79,7 +79,7 @@ class TrianglesBatchingPickNormalsRenderer extends VBOSceneModelTriangleBatching
|
|
|
79
79
|
_buildFragmentShader() {
|
|
80
80
|
const scene = this._scene;
|
|
81
81
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
82
|
-
const clipping = sectionPlanesState.
|
|
82
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
83
83
|
const src = [];
|
|
84
84
|
src.push("#version 300 es");
|
|
85
85
|
src.push("// Triangles batching pick normals fragment shader");
|
|
@@ -99,7 +99,7 @@ class TrianglesBatchingPickNormalsRenderer extends VBOSceneModelTriangleBatching
|
|
|
99
99
|
if (clipping) {
|
|
100
100
|
src.push("in vec4 vWorldPosition;");
|
|
101
101
|
src.push("in float vFlags;");
|
|
102
|
-
for (var i = 0; i < sectionPlanesState.
|
|
102
|
+
for (var i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
103
103
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
104
104
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
105
105
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -112,7 +112,7 @@ class TrianglesBatchingPickNormalsRenderer extends VBOSceneModelTriangleBatching
|
|
|
112
112
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
113
113
|
src.push(" if (clippable) {");
|
|
114
114
|
src.push(" float dist = 0.0;");
|
|
115
|
-
for (let i = 0; i < sectionPlanesState.
|
|
115
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
116
116
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
117
117
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
118
118
|
src.push(" }");
|
package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingShadowRenderer.js
CHANGED
|
@@ -9,7 +9,7 @@ class TrianglesBatchingShadowRenderer extends VBOSceneModelTriangleBatchingRende
|
|
|
9
9
|
|
|
10
10
|
_buildVertexShader() {
|
|
11
11
|
const scene = this._scene;
|
|
12
|
-
const clipping = scene._sectionPlanesState.
|
|
12
|
+
const clipping = scene._sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
13
13
|
const src = [];
|
|
14
14
|
src.push("#version 300 es");
|
|
15
15
|
src.push("// Batched geometry shadow vertex shader");
|
|
@@ -56,7 +56,7 @@ class TrianglesBatchingShadowRenderer extends VBOSceneModelTriangleBatchingRende
|
|
|
56
56
|
_buildFragmentShader() {
|
|
57
57
|
const scene = this._scene;
|
|
58
58
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
59
|
-
const clipping = (sectionPlanesState.
|
|
59
|
+
const clipping = (sectionPlanesState.getNumAllocatedSectionPlanes() > 0);
|
|
60
60
|
const src = [];
|
|
61
61
|
src.push("#version 300 es");
|
|
62
62
|
src.push("// Batched geometry shadow fragment shader");
|
|
@@ -70,7 +70,7 @@ class TrianglesBatchingShadowRenderer extends VBOSceneModelTriangleBatchingRende
|
|
|
70
70
|
if (clipping) {
|
|
71
71
|
src.push("in vec4 vWorldPosition;");
|
|
72
72
|
src.push("in float vFlags;");
|
|
73
|
-
for (let i = 0; i < sectionPlanesState.
|
|
73
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
74
74
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
75
75
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
76
76
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -91,7 +91,7 @@ class TrianglesBatchingShadowRenderer extends VBOSceneModelTriangleBatchingRende
|
|
|
91
91
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
92
92
|
src.push(" if (clippable) {");
|
|
93
93
|
src.push(" float dist = 0.0;");
|
|
94
|
-
for (var i = 0; i < sectionPlanesState.
|
|
94
|
+
for (var i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
95
95
|
src.push(" if (sectionPlaneActive" + i + ") {");
|
|
96
96
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
97
97
|
src.push(" }");
|
|
@@ -13,7 +13,7 @@ class TrianglesBatchingSilhouetteRenderer extends VBOSceneModelTriangleBatchingR
|
|
|
13
13
|
|
|
14
14
|
const scene = this._scene;
|
|
15
15
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
16
|
-
const clipping = sectionPlanesState.
|
|
16
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
17
17
|
|
|
18
18
|
const src = [];
|
|
19
19
|
src.push("#version 300 es");
|
|
@@ -84,7 +84,7 @@ class TrianglesBatchingSilhouetteRenderer extends VBOSceneModelTriangleBatchingR
|
|
|
84
84
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
85
85
|
let i;
|
|
86
86
|
let len;
|
|
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 silhouette fragment shader");
|
|
@@ -104,7 +104,7 @@ class TrianglesBatchingSilhouetteRenderer extends VBOSceneModelTriangleBatchingR
|
|
|
104
104
|
if (clipping) {
|
|
105
105
|
src.push("in vec4 vWorldPosition;");
|
|
106
106
|
src.push("in float vFlags;");
|
|
107
|
-
for (i = 0, len = sectionPlanesState.
|
|
107
|
+
for (i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
108
108
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
109
109
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
110
110
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -117,7 +117,7 @@ class TrianglesBatchingSilhouetteRenderer extends VBOSceneModelTriangleBatchingR
|
|
|
117
117
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
118
118
|
src.push(" if (clippable) {");
|
|
119
119
|
src.push(" float dist = 0.0;");
|
|
120
|
-
for (i = 0, len = sectionPlanesState.
|
|
120
|
+
for (i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
121
121
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
122
122
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
123
123
|
src.push("}");
|
package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingColorRenderer.js
CHANGED
|
@@ -17,7 +17,7 @@ class TrianglesInstancingColorRenderer extends VBOSceneModelTriangleInstancingRe
|
|
|
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 i;
|
|
22
22
|
let len;
|
|
23
23
|
let light;
|
|
@@ -169,7 +169,7 @@ class TrianglesInstancingColorRenderer extends VBOSceneModelTriangleInstancingRe
|
|
|
169
169
|
_buildFragmentShader() {
|
|
170
170
|
const scene = this._scene;
|
|
171
171
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
172
|
-
const clipping = sectionPlanesState.
|
|
172
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
173
173
|
const src = [];
|
|
174
174
|
src.push("#version 300 es");
|
|
175
175
|
src.push("// Instancing geometry drawing fragment shader");
|
|
@@ -202,7 +202,7 @@ class TrianglesInstancingColorRenderer extends VBOSceneModelTriangleInstancingRe
|
|
|
202
202
|
if (clipping) {
|
|
203
203
|
src.push("in vec4 vWorldPosition;");
|
|
204
204
|
src.push("in float vFlags;");
|
|
205
|
-
for (let i = 0, len = sectionPlanesState.
|
|
205
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
206
206
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
207
207
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
208
208
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -216,7 +216,7 @@ class TrianglesInstancingColorRenderer extends VBOSceneModelTriangleInstancingRe
|
|
|
216
216
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
217
217
|
src.push(" if (clippable) {");
|
|
218
218
|
src.push(" float dist = 0.0;");
|
|
219
|
-
for (let i = 0, len = sectionPlanesState.
|
|
219
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
220
220
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
221
221
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
222
222
|
src.push("}");
|
|
@@ -16,7 +16,7 @@ class TrianglesInstancingColorTextureRenderer extends VBOSceneModelTriangleInsta
|
|
|
16
16
|
_buildVertexShader() {
|
|
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 src = [];
|
|
21
21
|
src.push("#version 300 es");
|
|
22
22
|
src.push("// Instancing geometry drawing vertex shader");
|
|
@@ -103,7 +103,7 @@ class TrianglesInstancingColorTextureRenderer extends VBOSceneModelTriangleInsta
|
|
|
103
103
|
const lightsState = scene._lightsState;
|
|
104
104
|
let i;
|
|
105
105
|
let len;
|
|
106
|
-
const clipping = sectionPlanesState.
|
|
106
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
107
107
|
const src = [];
|
|
108
108
|
src.push("#version 300 es");
|
|
109
109
|
src.push("// Instancing geometry drawing fragment shader");
|
|
@@ -152,7 +152,7 @@ class TrianglesInstancingColorTextureRenderer extends VBOSceneModelTriangleInsta
|
|
|
152
152
|
if (clipping) {
|
|
153
153
|
src.push("in vec4 vWorldPosition;");
|
|
154
154
|
src.push("in float vFlags;");
|
|
155
|
-
for (let i = 0, len = sectionPlanesState.
|
|
155
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
156
156
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
157
157
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
158
158
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -190,7 +190,7 @@ class TrianglesInstancingColorTextureRenderer extends VBOSceneModelTriangleInsta
|
|
|
190
190
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
191
191
|
src.push(" if (clippable) {");
|
|
192
192
|
src.push(" float dist = 0.0;");
|
|
193
|
-
for (let i = 0, len = sectionPlanesState.
|
|
193
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
194
194
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
195
195
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
196
196
|
src.push("}");
|
package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingDepthRenderer.js
CHANGED
|
@@ -8,7 +8,7 @@ class TrianglesInstancingDepthRenderer extends VBOSceneModelTriangleInstancingRe
|
|
|
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("// Instancing geometry depth drawing vertex shader");
|
|
@@ -76,7 +76,7 @@ class TrianglesInstancingDepthRenderer extends VBOSceneModelTriangleInstancingRe
|
|
|
76
76
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
77
77
|
let i;
|
|
78
78
|
let len;
|
|
79
|
-
const clipping = sectionPlanesState.
|
|
79
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
80
80
|
const src = [];
|
|
81
81
|
src.push("#version 300 es");
|
|
82
82
|
src.push("// Instancing geometry depth drawing fragment shader");
|
|
@@ -91,7 +91,7 @@ class TrianglesInstancingDepthRenderer extends VBOSceneModelTriangleInstancingRe
|
|
|
91
91
|
if (clipping) {
|
|
92
92
|
src.push("in vec4 vWorldPosition;");
|
|
93
93
|
src.push("in float vFlags;");
|
|
94
|
-
for (i = 0, len = sectionPlanesState.
|
|
94
|
+
for (i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
95
95
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
96
96
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
97
97
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -104,7 +104,7 @@ class TrianglesInstancingDepthRenderer extends VBOSceneModelTriangleInstancingRe
|
|
|
104
104
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
105
105
|
src.push(" if (clippable) {");
|
|
106
106
|
src.push(" float dist = 0.0;");
|
|
107
|
-
for (i = 0, len = sectionPlanesState.
|
|
107
|
+
for (i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
108
108
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
109
109
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
110
110
|
src.push("}");
|
|
@@ -8,7 +8,7 @@ class TrianglesInstancingEdgesColorRenderer extends VBOSceneModelTriangleInstanc
|
|
|
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("// Triangles instancing edges vertex shader");
|
|
@@ -78,7 +78,7 @@ class TrianglesInstancingEdgesColorRenderer extends VBOSceneModelTriangleInstanc
|
|
|
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 edges drawing fragment shader");
|
|
@@ -98,7 +98,7 @@ class TrianglesInstancingEdgesColorRenderer extends VBOSceneModelTriangleInstanc
|
|
|
98
98
|
if (clipping) {
|
|
99
99
|
src.push("in vec4 vWorldPosition;");
|
|
100
100
|
src.push("in float vFlags;");
|
|
101
|
-
for (let i = 0, len = sectionPlanesState.
|
|
101
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
102
102
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
103
103
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
104
104
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -111,7 +111,7 @@ class TrianglesInstancingEdgesColorRenderer extends VBOSceneModelTriangleInstanc
|
|
|
111
111
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
112
112
|
src.push(" if (clippable) {");
|
|
113
113
|
src.push(" float dist = 0.0;");
|
|
114
|
-
for (let i = 0, len = sectionPlanesState.
|
|
114
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
115
115
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
116
116
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
117
117
|
src.push("}");
|
package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingEdgesRenderer.js
CHANGED
|
@@ -12,7 +12,7 @@ class TrianglesInstancingEdgesRenderer extends VBOSceneModelTriangleInstancingEd
|
|
|
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 instancing edges vertex shader");
|
|
@@ -81,7 +81,7 @@ class TrianglesInstancingEdgesRenderer extends VBOSceneModelTriangleInstancingEd
|
|
|
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 TrianglesInstancingEdgesRenderer extends VBOSceneModelTriangleInstancingEd
|
|
|
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 TrianglesInstancingEdgesRenderer extends VBOSceneModelTriangleInstancingEd
|
|
|
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("}");
|
|
@@ -12,7 +12,7 @@ class TrianglesInstancingFlatColorRenderer extends VBOSceneModelTriangleInstanci
|
|
|
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("// Instancing geometry flat-shading drawing vertex shader");
|
|
@@ -94,7 +94,7 @@ class TrianglesInstancingFlatColorRenderer extends VBOSceneModelTriangleInstanci
|
|
|
94
94
|
const lightsState = scene._lightsState;
|
|
95
95
|
let i;
|
|
96
96
|
let len;
|
|
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("// Instancing geometry flat-shading drawing fragment shader");
|
|
@@ -127,7 +127,7 @@ class TrianglesInstancingFlatColorRenderer extends VBOSceneModelTriangleInstanci
|
|
|
127
127
|
if (clipping) {
|
|
128
128
|
src.push("in vec4 vWorldPosition;");
|
|
129
129
|
src.push("in float vFlags;");
|
|
130
|
-
for (let i = 0, len = sectionPlanesState.
|
|
130
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
131
131
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
132
132
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
133
133
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -166,7 +166,7 @@ class TrianglesInstancingFlatColorRenderer extends VBOSceneModelTriangleInstanci
|
|
|
166
166
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
167
167
|
src.push(" if (clippable) {");
|
|
168
168
|
src.push(" float dist = 0.0;");
|
|
169
|
-
for (let i = 0, len = sectionPlanesState.
|
|
169
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
170
170
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
171
171
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
172
172
|
src.push("}");
|
|
@@ -8,7 +8,7 @@ class TrianglesInstancingFlatNormalsRenderer extends VBOSceneModelTriangleInstan
|
|
|
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("// Instancing geometry flat normals drawing vertex shader");
|
|
@@ -71,7 +71,7 @@ class TrianglesInstancingFlatNormalsRenderer extends VBOSceneModelTriangleInstan
|
|
|
71
71
|
_buildFragmentShader() {
|
|
72
72
|
const scene = this._scene;
|
|
73
73
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
74
|
-
const clipping = sectionPlanesState.
|
|
74
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
75
75
|
const src = [];
|
|
76
76
|
src.push("#version 300 es");
|
|
77
77
|
src.push("// Instancing geometry flat nornals drawing fragment shader");
|
|
@@ -91,7 +91,7 @@ class TrianglesInstancingFlatNormalsRenderer extends VBOSceneModelTriangleInstan
|
|
|
91
91
|
if (clipping) {
|
|
92
92
|
src.push("in vec4 vWorldPosition;");
|
|
93
93
|
src.push("in float vFlags;");
|
|
94
|
-
for (let i = 0, len = sectionPlanesState.
|
|
94
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
95
95
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
96
96
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
97
97
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -107,7 +107,7 @@ class TrianglesInstancingFlatNormalsRenderer extends VBOSceneModelTriangleInstan
|
|
|
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, len = sectionPlanesState.
|
|
110
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; 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("}");
|
|
@@ -8,7 +8,7 @@ class TrianglesInstancingNormalsRenderer extends VBOSceneModelTriangleInstancing
|
|
|
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("// Instancing geometry normals drawing vertex shader");
|
|
@@ -84,7 +84,7 @@ class TrianglesInstancingNormalsRenderer extends VBOSceneModelTriangleInstancing
|
|
|
84
84
|
_buildFragmentShader() {
|
|
85
85
|
const scene = this._scene;
|
|
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("// Instancing geometry depth drawing fragment shader");
|
|
@@ -104,7 +104,7 @@ class TrianglesInstancingNormalsRenderer extends VBOSceneModelTriangleInstancing
|
|
|
104
104
|
if (clipping) {
|
|
105
105
|
src.push("in vec4 vWorldPosition;");
|
|
106
106
|
src.push("in float vFlags;");
|
|
107
|
-
for (let i = 0, len = sectionPlanesState.
|
|
107
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
108
108
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
109
109
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
110
110
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -120,7 +120,7 @@ class TrianglesInstancingNormalsRenderer extends VBOSceneModelTriangleInstancing
|
|
|
120
120
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
121
121
|
src.push(" if (clippable) {");
|
|
122
122
|
src.push(" float dist = 0.0;");
|
|
123
|
-
for (let i = 0, len = sectionPlanesState.
|
|
123
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
124
124
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
125
125
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
126
126
|
src.push("}");
|
|
@@ -14,7 +14,7 @@ class TrianglesInstancingOcclusionRenderer extends VBOSceneModelTriangleInstanci
|
|
|
14
14
|
_buildVertexShader() {
|
|
15
15
|
const scene = this._scene;
|
|
16
16
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
17
|
-
const clipping = sectionPlanesState.
|
|
17
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
18
18
|
const src = [];
|
|
19
19
|
src.push("#version 300 es");
|
|
20
20
|
src.push("// TrianglesInstancingOcclusionRenderer vertex shader");
|
|
@@ -78,7 +78,7 @@ class TrianglesInstancingOcclusionRenderer extends VBOSceneModelTriangleInstanci
|
|
|
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("// TrianglesInstancingOcclusionRenderer fragment shader");
|
|
@@ -98,7 +98,7 @@ class TrianglesInstancingOcclusionRenderer extends VBOSceneModelTriangleInstanci
|
|
|
98
98
|
if (clipping) {
|
|
99
99
|
src.push("in vec4 vWorldPosition;");
|
|
100
100
|
src.push("in float vFlags;");
|
|
101
|
-
for (let i = 0; i < sectionPlanesState.
|
|
101
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
102
102
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
103
103
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
104
104
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -110,7 +110,7 @@ class TrianglesInstancingOcclusionRenderer extends VBOSceneModelTriangleInstanci
|
|
|
110
110
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
111
111
|
src.push(" if (clippable) {");
|
|
112
112
|
src.push(" float dist = 0.0;");
|
|
113
|
-
for (let i = 0; i < sectionPlanesState.
|
|
113
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
114
114
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
115
115
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
116
116
|
src.push("}");
|
package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPBRRenderer.js
CHANGED
|
@@ -23,7 +23,7 @@ class TrianglesInstancingPBRRenderer extends VBOSceneModelTriangleInstancingRend
|
|
|
23
23
|
const scene = this._scene;
|
|
24
24
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
25
25
|
const lightsState = scene._lightsState;
|
|
26
|
-
const clipping = sectionPlanesState.
|
|
26
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
27
27
|
const clippingCaps = sectionPlanesState.clippingCaps;
|
|
28
28
|
const src = [];
|
|
29
29
|
src.push("#version 300 es");
|
|
@@ -149,7 +149,7 @@ class TrianglesInstancingPBRRenderer extends VBOSceneModelTriangleInstancingRend
|
|
|
149
149
|
const gammaOutput = scene.gammaOutput; // If set, then it expects that all textures and colors need to be outputted in premultiplied gamma. Default is false.
|
|
150
150
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
151
151
|
const lightsState = scene._lightsState;
|
|
152
|
-
const clipping = sectionPlanesState.
|
|
152
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
153
153
|
const clippingCaps = sectionPlanesState.clippingCaps;
|
|
154
154
|
const src = [];
|
|
155
155
|
src.push("#version 300 es");
|
|
@@ -239,7 +239,7 @@ class TrianglesInstancingPBRRenderer extends VBOSceneModelTriangleInstancingRend
|
|
|
239
239
|
if (clippingCaps) {
|
|
240
240
|
src.push("in vec4 vClipPosition;");
|
|
241
241
|
}
|
|
242
|
-
for (let i = 0, len = sectionPlanesState.
|
|
242
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
243
243
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
244
244
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
245
245
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -428,7 +428,7 @@ class TrianglesInstancingPBRRenderer extends VBOSceneModelTriangleInstancingRend
|
|
|
428
428
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
429
429
|
src.push(" if (clippable) {");
|
|
430
430
|
src.push(" float dist = 0.0;");
|
|
431
|
-
for (let i = 0, len = sectionPlanesState.
|
|
431
|
+
for (let i = 0, len = sectionPlanesState.getNumAllocatedSectionPlanes(); i < len; i++) {
|
|
432
432
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
433
433
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
434
434
|
src.push("}");
|
|
@@ -7,7 +7,7 @@ class TrianglesInstancingPickDepthRenderer extends VBOSceneModelTriangleInstanci
|
|
|
7
7
|
_buildVertexShader() {
|
|
8
8
|
const scene = this._scene;
|
|
9
9
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
10
|
-
const clipping = sectionPlanesState.
|
|
10
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
11
11
|
const src = [];
|
|
12
12
|
src.push("#version 300 es");
|
|
13
13
|
src.push("// Instancing geometry depth vertex shader");
|
|
@@ -83,7 +83,7 @@ class TrianglesInstancingPickDepthRenderer extends VBOSceneModelTriangleInstanci
|
|
|
83
83
|
_buildFragmentShader() {
|
|
84
84
|
const scene = this._scene;
|
|
85
85
|
const sectionPlanesState = scene._sectionPlanesState;
|
|
86
|
-
const clipping = sectionPlanesState.
|
|
86
|
+
const clipping = sectionPlanesState.getNumAllocatedSectionPlanes() > 0;
|
|
87
87
|
const src = [];
|
|
88
88
|
src.push("#version 300 es");
|
|
89
89
|
src.push("// Batched geometry depth fragment shader");
|
|
@@ -109,7 +109,7 @@ class TrianglesInstancingPickDepthRenderer extends VBOSceneModelTriangleInstanci
|
|
|
109
109
|
if (clipping) {
|
|
110
110
|
src.push("in vec4 vWorldPosition;");
|
|
111
111
|
src.push("in float vFlags;");
|
|
112
|
-
for (let i = 0; i < sectionPlanesState.
|
|
112
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
113
113
|
src.push("uniform bool sectionPlaneActive" + i + ";");
|
|
114
114
|
src.push("uniform vec3 sectionPlanePos" + i + ";");
|
|
115
115
|
src.push("uniform vec3 sectionPlaneDir" + i + ";");
|
|
@@ -129,7 +129,7 @@ class TrianglesInstancingPickDepthRenderer extends VBOSceneModelTriangleInstanci
|
|
|
129
129
|
src.push(" bool clippable = (int(vFlags) >> 16 & 0xF) == 1;");
|
|
130
130
|
src.push(" if (clippable) {");
|
|
131
131
|
src.push(" float dist = 0.0;");
|
|
132
|
-
for (let i = 0; i < sectionPlanesState.
|
|
132
|
+
for (let i = 0; i < sectionPlanesState.getNumAllocatedSectionPlanes(); i++) {
|
|
133
133
|
src.push("if (sectionPlaneActive" + i + ") {");
|
|
134
134
|
src.push(" dist += clamp(dot(-sectionPlaneDir" + i + ".xyz, vWorldPosition.xyz - sectionPlanePos" + i + ".xyz), 0.0, 1000.0);");
|
|
135
135
|
src.push("}");
|