@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.
Files changed (90) hide show
  1. package/dist/xeokit-sdk.cjs.js +709 -588
  2. package/dist/xeokit-sdk.es.js +709 -588
  3. package/dist/xeokit-sdk.es5.js +203 -194
  4. package/dist/xeokit-sdk.min.cjs.js +4 -4
  5. package/dist/xeokit-sdk.min.es.js +4 -4
  6. package/dist/xeokit-sdk.min.es5.js +3 -3
  7. package/package.json +1 -1
  8. package/src/viewer/Viewer.js +7 -1
  9. package/src/viewer/scene/mesh/draw/DrawRenderer.js +18 -8
  10. package/src/viewer/scene/mesh/draw/DrawShaderSource.js +8 -8
  11. package/src/viewer/scene/mesh/emphasis/EmphasisEdgesRenderer.js +19 -9
  12. package/src/viewer/scene/mesh/emphasis/EmphasisEdgesShaderSource.js +3 -3
  13. package/src/viewer/scene/mesh/emphasis/EmphasisFillRenderer.js +19 -9
  14. package/src/viewer/scene/mesh/emphasis/EmphasisFillShaderSource.js +3 -3
  15. package/src/viewer/scene/mesh/occlusion/OcclusionRenderer.js +18 -8
  16. package/src/viewer/scene/mesh/occlusion/OcclusionShaderSource.js +3 -3
  17. package/src/viewer/scene/mesh/pick/PickMeshRenderer.js +18 -8
  18. package/src/viewer/scene/mesh/pick/PickMeshShaderSource.js +3 -3
  19. package/src/viewer/scene/mesh/pick/PickTriangleRenderer.js +18 -8
  20. package/src/viewer/scene/mesh/pick/PickTriangleShaderSource.js +3 -3
  21. package/src/viewer/scene/mesh/shadow/ShadowRenderer.js +1 -1
  22. package/src/viewer/scene/mesh/shadow/ShadowShaderSource.js +3 -3
  23. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureColorRenderer.js +22 -17
  24. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureDepthRenderer.js +21 -20
  25. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureEdgesColorRenderer.js +6 -9
  26. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureEdgesRenderer.js +21 -18
  27. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureNormalsRenderer.js +22 -18
  28. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureOcclusionRenderer.js +22 -17
  29. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickDepthRenderer.js +22 -18
  30. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickMeshRenderer.js +58 -54
  31. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickNormalsFlatRenderer.js +21 -19
  32. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTexturePickNormalsRenderer.js +22 -18
  33. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSilhouetteRenderer.js +21 -18
  34. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSnapDepthBufInitRenderer.js +21 -18
  35. package/src/viewer/scene/model/dtx/triangles/renderers/TrianglesDataTextureSnapDepthRenderer.js +21 -18
  36. package/src/viewer/scene/model/vbo/VBOSceneModelRenderers.js +21 -16
  37. package/src/viewer/scene/model/vbo/linesBatching/renderers/LinesBatchingColorRenderer.js +4 -4
  38. package/src/viewer/scene/model/vbo/linesBatching/renderers/LinesBatchingSilhouetteRenderer.js +4 -4
  39. package/src/viewer/scene/model/vbo/linesInstancing/renderers/LinesInstancingColorRenderer.js +4 -4
  40. package/src/viewer/scene/model/vbo/linesInstancing/renderers/LinesInstancingSilhouetteRenderer.js +4 -4
  41. package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingColorRenderer.js +4 -4
  42. package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingOcclusionRenderer.js +4 -4
  43. package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingPickDepthRenderer.js +4 -4
  44. package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingPickMeshRenderer.js +4 -4
  45. package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingShadowRenderer.js +4 -4
  46. package/src/viewer/scene/model/vbo/pointsBatching/renderers/PointsBatchingSilhouetteRenderer.js +4 -4
  47. package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingColorRenderer.js +4 -4
  48. package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingDepthRenderer.js +4 -4
  49. package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingOcclusionRenderer.js +4 -4
  50. package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingPickDepthRenderer.js +4 -4
  51. package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingPickMeshRenderer.js +4 -4
  52. package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingShadowRenderer.js +4 -4
  53. package/src/viewer/scene/model/vbo/pointsInstancing/renderers/PointsInstancingSilhouetteRenderer.js +4 -4
  54. package/src/viewer/scene/model/vbo/snapBatching/SnapBatchingDepthBufInitRenderer.js +4 -4
  55. package/src/viewer/scene/model/vbo/snapBatching/SnapBatchingDepthRenderer.js +4 -4
  56. package/src/viewer/scene/model/vbo/snapInstancing/SnapInstancingDepthBufInitRenderer.js +4 -4
  57. package/src/viewer/scene/model/vbo/snapInstancing/SnapInstancingDepthRenderer.js +4 -4
  58. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingColorRenderer.js +4 -4
  59. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingColorTextureRenderer.js +4 -4
  60. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingDepthRenderer.js +4 -4
  61. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingEdgesColorRenderer.js +4 -4
  62. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingEdgesRenderer.js +4 -4
  63. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingFlatColorRenderer.js +4 -4
  64. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingNormalsRenderer.js +4 -4
  65. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingOcclusionRenderer.js +4 -4
  66. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPBRRenderer.js +4 -4
  67. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickDepthRenderer.js +4 -4
  68. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickMeshRenderer.js +4 -4
  69. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickNormalsFlatRenderer.js +4 -4
  70. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingPickNormalsRenderer.js +4 -4
  71. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingShadowRenderer.js +4 -4
  72. package/src/viewer/scene/model/vbo/trianglesBatching/renderers/TrianglesBatchingSilhouetteRenderer.js +4 -4
  73. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingColorRenderer.js +4 -4
  74. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingColorTextureRenderer.js +4 -4
  75. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingDepthRenderer.js +4 -4
  76. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingEdgesColorRenderer.js +4 -4
  77. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingEdgesRenderer.js +4 -4
  78. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingFlatColorRenderer.js +4 -4
  79. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingFlatNormalsRenderer.js +4 -4
  80. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingNormalsRenderer.js +4 -4
  81. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingOcclusionRenderer.js +4 -4
  82. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPBRRenderer.js +4 -4
  83. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPickDepthRenderer.js +4 -4
  84. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPickMeshRenderer.js +4 -4
  85. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPickNormalsFlatRenderer.js +4 -4
  86. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingPickNormalsRenderer.js +4 -4
  87. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingShadowRenderer.js +4 -4
  88. package/src/viewer/scene/model/vbo/trianglesInstancing/renderers/TrianglesInstancingSilhouetteRenderer.js +4 -4
  89. package/src/viewer/scene/scene/Scene.js +24 -9
  90. package/src/viewer/scene/sectionPlane/SectionPlaneCache.js +101 -0
@@ -8,7 +8,7 @@ class TrianglesBatchingPickDepthRenderer extends VBOSceneModelTriangleBatchingRe
8
8
  _buildVertexShader() {
9
9
 
10
10
  const scene = this._scene;
11
- const clipping = scene._sectionPlanesState.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i++) {
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.sectionPlanes.length; i++) {
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(" }");
@@ -7,7 +7,7 @@ class TrianglesBatchingPickMeshRenderer extends VBOSceneModelTriangleBatchingRen
7
7
 
8
8
  _buildVertexShader() {
9
9
  const scene = this._scene;
10
- const clipping = scene._sectionPlanesState.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i++) {
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.sectionPlanes.length; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i++) {
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.sectionPlanes.length; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i++) {
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.sectionPlanes.length; i++) {
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(" }");
@@ -9,7 +9,7 @@ class TrianglesBatchingShadowRenderer extends VBOSceneModelTriangleBatchingRende
9
9
 
10
10
  _buildVertexShader() {
11
11
  const scene = this._scene;
12
- const clipping = scene._sectionPlanesState.sectionPlanes.length > 0;
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.sectionPlanes.length > 0);
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.sectionPlanes.length; i++) {
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.sectionPlanes.length; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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("}");
@@ -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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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("}");
@@ -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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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("}");
@@ -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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i++) {
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.sectionPlanes.length; i++) {
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("}");
@@ -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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length; i < len; i++) {
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.sectionPlanes.length > 0;
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.sectionPlanes.length > 0;
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.sectionPlanes.length; i++) {
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.sectionPlanes.length; i++) {
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("}");