@xeokit/xeokit-sdk 2.5.2-beta-13 → 2.5.2-beta-17

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 (418) hide show
  1. package/dist/xeokit-sdk.cjs.js +31 -10
  2. package/dist/xeokit-sdk.es.js +31 -10
  3. package/dist/xeokit-sdk.es5.js +68 -66
  4. package/dist/xeokit-sdk.min.cjs.js +1 -1
  5. package/dist/xeokit-sdk.min.es.js +1 -1
  6. package/dist/xeokit-sdk.min.es5.js +1 -1
  7. package/package.json +1 -1
  8. package/src/viewer/metadata/MetaModel.js +16 -1
  9. package/src/viewer/metadata/MetaScene.js +15 -9
  10. package/src/plugins/XKTLoaderPlugin/parsers/ParserV11.js +0 -663
  11. package/src/src/extras/ContextMenu/ContextMenu.js +0 -907
  12. package/src/src/extras/ContextMenu/index.js +0 -1
  13. package/src/src/extras/MarqueePicker/MarqueePicker.js +0 -352
  14. package/src/src/extras/MarqueePicker/MarqueePickerMouseControl.js +0 -174
  15. package/src/src/extras/MarqueePicker/index.js +0 -2
  16. package/src/src/extras/PointerLens/PointerLens.js +0 -312
  17. package/src/src/extras/PointerLens/index.js +0 -1
  18. package/src/src/extras/collision/ObjectsKdTree3.js +0 -149
  19. package/src/src/extras/collision/index.js +0 -1
  20. package/src/src/extras/index.js +0 -4
  21. package/src/src/index.js +0 -3
  22. package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurement.js +0 -731
  23. package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsControl.js +0 -84
  24. package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsMouseControl.js +0 -435
  25. package/src/src/plugins/AngleMeasurementsPlugin/AngleMeasurementsPlugin.js +0 -406
  26. package/src/src/plugins/AngleMeasurementsPlugin/index.js +0 -3
  27. package/src/src/plugins/AnnotationsPlugin/Annotation.js +0 -368
  28. package/src/src/plugins/AnnotationsPlugin/AnnotationsPlugin.js +0 -583
  29. package/src/src/plugins/AnnotationsPlugin/index.js +0 -1
  30. package/src/src/plugins/AxisGizmoPlugin/AxisGizmoPlugin.js +0 -333
  31. package/src/src/plugins/AxisGizmoPlugin/index.js +0 -1
  32. package/src/src/plugins/BCFViewpointsPlugin/BCFViewpointsPlugin.js +0 -977
  33. package/src/src/plugins/BCFViewpointsPlugin/index.js +0 -1
  34. package/src/src/plugins/CityJSONLoaderPlugin/CityJSONDefaultDataSource.js +0 -29
  35. package/src/src/plugins/CityJSONLoaderPlugin/CityJSONLoaderPlugin.js +0 -751
  36. package/src/src/plugins/CityJSONLoaderPlugin/index.js +0 -1
  37. package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurement.js +0 -963
  38. package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsControl.js +0 -84
  39. package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsMouseControl.js +0 -399
  40. package/src/src/plugins/DistanceMeasurementsPlugin/DistanceMeasurementsPlugin.js +0 -505
  41. package/src/src/plugins/DistanceMeasurementsPlugin/index.js +0 -3
  42. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesControl.js +0 -639
  43. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/FaceAlignedSectionPlanesPlugin.js +0 -436
  44. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/Overview.js +0 -247
  45. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/Plane.js +0 -167
  46. package/src/src/plugins/FaceAlignedSectionPlanesPlugin/index.js +0 -1
  47. package/src/src/plugins/FastNavPlugin/FastNavPlugin.js +0 -429
  48. package/src/src/plugins/FastNavPlugin/index.js +0 -1
  49. package/src/src/plugins/GLTFLoaderPlugin/GLTFDefaultDataSource.js +0 -140
  50. package/src/src/plugins/GLTFLoaderPlugin/GLTFLoaderPlugin.js +0 -421
  51. package/src/src/plugins/GLTFLoaderPlugin/GLTFSceneModelLoader.js +0 -669
  52. package/src/src/plugins/GLTFLoaderPlugin/index.js +0 -2
  53. package/src/src/plugins/LASLoaderPlugin/LASDefaultDataSource.js +0 -58
  54. package/src/src/plugins/LASLoaderPlugin/LASLoaderPlugin.js +0 -563
  55. package/src/src/plugins/LASLoaderPlugin/index.js +0 -1
  56. package/src/src/plugins/LASLoaderPlugin/loadLASHeader.js +0 -183
  57. package/src/src/plugins/NavCubePlugin/CubeTextureCanvas.js +0 -290
  58. package/src/src/plugins/NavCubePlugin/NavCubePlugin.js +0 -753
  59. package/src/src/plugins/NavCubePlugin/index.js +0 -1
  60. package/src/src/plugins/OBJLoaderPlugin/OBJLoaderPlugin.js +0 -145
  61. package/src/src/plugins/OBJLoaderPlugin/OBJSceneGraphLoader.js +0 -777
  62. package/src/src/plugins/OBJLoaderPlugin/index.js +0 -1
  63. package/src/src/plugins/STLLoaderPlugin/STLDefaultDataSource.js +0 -33
  64. package/src/src/plugins/STLLoaderPlugin/STLLoaderPlugin.js +0 -274
  65. package/src/src/plugins/STLLoaderPlugin/STLSceneGraphLoader.js +0 -313
  66. package/src/src/plugins/STLLoaderPlugin/index.js +0 -2
  67. package/src/src/plugins/SectionPlanesPlugin/Control.js +0 -1328
  68. package/src/src/plugins/SectionPlanesPlugin/Overview.js +0 -249
  69. package/src/src/plugins/SectionPlanesPlugin/Plane.js +0 -169
  70. package/src/src/plugins/SectionPlanesPlugin/SectionPlanesPlugin.js +0 -404
  71. package/src/src/plugins/SectionPlanesPlugin/index.js +0 -1
  72. package/src/src/plugins/SkyboxesPlugin/SkyboxesPlugin.js +0 -134
  73. package/src/src/plugins/SkyboxesPlugin/index.js +0 -1
  74. package/src/src/plugins/StoreyViewsPlugin/Storey.js +0 -84
  75. package/src/src/plugins/StoreyViewsPlugin/StoreyMap.js +0 -57
  76. package/src/src/plugins/StoreyViewsPlugin/StoreyViewsPlugin.js +0 -773
  77. package/src/src/plugins/StoreyViewsPlugin/index.js +0 -1
  78. package/src/src/plugins/TreeViewPlugin/RenderService.js +0 -169
  79. package/src/src/plugins/TreeViewPlugin/TreeViewNode.js +0 -101
  80. package/src/src/plugins/TreeViewPlugin/TreeViewPlugin.js +0 -1370
  81. package/src/src/plugins/TreeViewPlugin/index.js +0 -1
  82. package/src/src/plugins/ViewCullPlugin/ViewCullPlugin.js +0 -295
  83. package/src/src/plugins/ViewCullPlugin/index.js +0 -1
  84. package/src/src/plugins/WebIFCLoaderPlugin/WebIFCDefaultDataSource.js +0 -58
  85. package/src/src/plugins/WebIFCLoaderPlugin/WebIFCLoaderPlugin.js +0 -942
  86. package/src/src/plugins/WebIFCLoaderPlugin/index.js +0 -1
  87. package/src/src/plugins/XKTLoaderPlugin/XKTDefaultDataSource.js +0 -95
  88. package/src/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js +0 -1194
  89. package/src/src/plugins/XKTLoaderPlugin/index.js +0 -2
  90. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV1.js +0 -169
  91. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV10.js +0 -660
  92. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV11.js +0 -663
  93. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV2.js +0 -230
  94. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV3.js +0 -223
  95. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV4.js +0 -283
  96. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV5.js +0 -246
  97. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV6.js +0 -301
  98. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV7.js +0 -439
  99. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV8.js +0 -563
  100. package/src/src/plugins/XKTLoaderPlugin/parsers/ParserV9.js +0 -518
  101. package/src/src/plugins/XKTLoaderPlugin/parsers/lib/pako.js +0 -2
  102. package/src/src/plugins/XML3DLoaderPlugin/XML3DLoaderPlugin.js +0 -238
  103. package/src/src/plugins/XML3DLoaderPlugin/XML3DSceneGraphLoader.js +0 -1279
  104. package/src/src/plugins/XML3DLoaderPlugin/index.js +0 -1
  105. package/src/src/plugins/XML3DLoaderPlugin/zipjs/.jshintrc +0 -11
  106. package/src/src/plugins/XML3DLoaderPlugin/zipjs/deflate.js +0 -2060
  107. package/src/src/plugins/XML3DLoaderPlugin/zipjs/inflate.js +0 -2155
  108. package/src/src/plugins/XML3DLoaderPlugin/zipjs/mime-types.js +0 -1002
  109. package/src/src/plugins/XML3DLoaderPlugin/zipjs/pako/codecs.js +0 -64
  110. package/src/src/plugins/XML3DLoaderPlugin/zipjs/z-worker.js +0 -153
  111. package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip-ext.js +0 -267
  112. package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip-fs.js +0 -553
  113. package/src/src/plugins/XML3DLoaderPlugin/zipjs/zip.js +0 -991
  114. package/src/src/plugins/XML3DLoaderPlugin/zipjs/zlib-asm/codecs.js +0 -49
  115. package/src/src/plugins/index.js +0 -21
  116. package/src/src/plugins/lib/culling/ObjectCullStates.js +0 -208
  117. package/src/src/plugins/lib/earcut.js +0 -677
  118. package/src/src/plugins/lib/html/Dot.js +0 -179
  119. package/src/src/plugins/lib/html/Label.js +0 -174
  120. package/src/src/plugins/lib/html/Wire.js +0 -220
  121. package/src/src/viewer/Configs.js +0 -127
  122. package/src/src/viewer/Plugin.js +0 -233
  123. package/src/src/viewer/Viewer.js +0 -542
  124. package/src/src/viewer/index.js +0 -5
  125. package/src/src/viewer/localization/LocaleService.js +0 -475
  126. package/src/src/viewer/metadata/IFCObjectDefaultColors.js +0 -163
  127. package/src/src/viewer/metadata/IFCObjectDefaults.js +0 -17
  128. package/src/src/viewer/metadata/MetaModel.js +0 -414
  129. package/src/src/viewer/metadata/MetaObject.js +0 -223
  130. package/src/src/viewer/metadata/MetaScene.js +0 -336
  131. package/src/src/viewer/metadata/Property.js +0 -55
  132. package/src/src/viewer/metadata/PropertySet.js +0 -77
  133. package/src/src/viewer/scene/Bitmap/Bitmap.js +0 -473
  134. package/src/src/viewer/scene/Bitmap/index.js +0 -1
  135. package/src/src/viewer/scene/CameraControl/CameraControl.js +0 -1750
  136. package/src/src/viewer/scene/CameraControl/lib/CameraUpdater.js +0 -312
  137. package/src/src/viewer/scene/CameraControl/lib/controllers/PanController.js +0 -112
  138. package/src/src/viewer/scene/CameraControl/lib/controllers/PickController.js +0 -265
  139. package/src/src/viewer/scene/CameraControl/lib/controllers/PivotController.js +0 -384
  140. package/src/src/viewer/scene/CameraControl/lib/handlers/KeyboardAxisViewHandler.js +0 -122
  141. package/src/src/viewer/scene/CameraControl/lib/handlers/KeyboardPanRotateDollyHandler.js +0 -183
  142. package/src/src/viewer/scene/CameraControl/lib/handlers/MouseMiscHandler.js +0 -68
  143. package/src/src/viewer/scene/CameraControl/lib/handlers/MousePanRotateDollyHandler.js +0 -345
  144. package/src/src/viewer/scene/CameraControl/lib/handlers/MousePickHandler.js +0 -376
  145. package/src/src/viewer/scene/CameraControl/lib/handlers/TouchPanRotateAndDollyHandler.js +0 -288
  146. package/src/src/viewer/scene/CameraControl/lib/handlers/TouchPickHandler.js +0 -235
  147. package/src/src/viewer/scene/Component.js +0 -915
  148. package/src/src/viewer/scene/Entity.js +0 -502
  149. package/src/src/viewer/scene/ImagePlane/ImagePlane.js +0 -570
  150. package/src/src/viewer/scene/ImagePlane/index.js +0 -1
  151. package/src/src/viewer/scene/LineSet/LineSet.js +0 -163
  152. package/src/src/viewer/scene/LineSet/index.js +0 -1
  153. package/src/src/viewer/scene/camera/Camera.js +0 -912
  154. package/src/src/viewer/scene/camera/CameraFlightAnimation.js +0 -669
  155. package/src/src/viewer/scene/camera/CameraPath.js +0 -194
  156. package/src/src/viewer/scene/camera/CameraPathAnimation.js +0 -326
  157. package/src/src/viewer/scene/camera/CustomProjection.js +0 -149
  158. package/src/src/viewer/scene/camera/Frustum.js +0 -316
  159. package/src/src/viewer/scene/camera/Ortho.js +0 -286
  160. package/src/src/viewer/scene/camera/Perspective.js +0 -304
  161. package/src/src/viewer/scene/camera/index.js +0 -2
  162. package/src/src/viewer/scene/canvas/Canvas.js +0 -490
  163. package/src/src/viewer/scene/canvas/Spinner.js +0 -323
  164. package/src/src/viewer/scene/constants/constants.js +0 -371
  165. package/src/src/viewer/scene/core.js +0 -268
  166. package/src/src/viewer/scene/geometry/Geometry.js +0 -33
  167. package/src/src/viewer/scene/geometry/ReadableGeometry.js +0 -682
  168. package/src/src/viewer/scene/geometry/VBOGeometry.js +0 -319
  169. package/src/src/viewer/scene/geometry/builders/buildBoxGeometry.js +0 -238
  170. package/src/src/viewer/scene/geometry/builders/buildBoxLinesGeometry.js +0 -106
  171. package/src/src/viewer/scene/geometry/builders/buildCylinderGeometry.js +0 -271
  172. package/src/src/viewer/scene/geometry/builders/buildGridGeometry.js +0 -102
  173. package/src/src/viewer/scene/geometry/builders/buildPlaneGeometry.js +0 -168
  174. package/src/src/viewer/scene/geometry/builders/buildSphereGeometry.js +0 -161
  175. package/src/src/viewer/scene/geometry/builders/buildTorusGeometry.js +0 -172
  176. package/src/src/viewer/scene/geometry/builders/buildVectorTextGeometry.js +0 -1721
  177. package/src/src/viewer/scene/geometry/builders/index.js +0 -8
  178. package/src/src/viewer/scene/geometry/index.js +0 -4
  179. package/src/src/viewer/scene/geometry/loaders/index.js +0 -2
  180. package/src/src/viewer/scene/geometry/loaders/load3DSGeometry.js +0 -103
  181. package/src/src/viewer/scene/geometry/loaders/loadOBJGeometry.js +0 -130
  182. package/src/src/viewer/scene/index.js +0 -21
  183. package/src/src/viewer/scene/input/Input.js +0 -1333
  184. package/src/src/viewer/scene/libs/k3d.js +0 -1032
  185. package/src/src/viewer/scene/lights/AmbientLight.js +0 -175
  186. package/src/src/viewer/scene/lights/CubeTexture.js +0 -156
  187. package/src/src/viewer/scene/lights/DirLight.js +0 -314
  188. package/src/src/viewer/scene/lights/Light.js +0 -29
  189. package/src/src/viewer/scene/lights/LightMap.js +0 -77
  190. package/src/src/viewer/scene/lights/PointLight.js +0 -395
  191. package/src/src/viewer/scene/lights/ReflectionMap.js +0 -79
  192. package/src/src/viewer/scene/lights/Shadow.js +0 -138
  193. package/src/src/viewer/scene/lights/index.js +0 -5
  194. package/src/src/viewer/scene/marker/Marker.js +0 -383
  195. package/src/src/viewer/scene/marker/SpriteMarker.js +0 -356
  196. package/src/src/viewer/scene/marker/index.js +0 -2
  197. package/src/src/viewer/scene/materials/EdgeMaterial.js +0 -359
  198. package/src/src/viewer/scene/materials/EmphasisMaterial.js +0 -613
  199. package/src/src/viewer/scene/materials/Fresnel.js +0 -222
  200. package/src/src/viewer/scene/materials/LambertMaterial.js +0 -378
  201. package/src/src/viewer/scene/materials/LinesMaterial.js +0 -169
  202. package/src/src/viewer/scene/materials/Material.js +0 -39
  203. package/src/src/viewer/scene/materials/MetallicMaterial.js +0 -820
  204. package/src/src/viewer/scene/materials/PhongMaterial.js +0 -860
  205. package/src/src/viewer/scene/materials/PointsMaterial.js +0 -409
  206. package/src/src/viewer/scene/materials/SpecularMaterial.js +0 -807
  207. package/src/src/viewer/scene/materials/Texture.js +0 -513
  208. package/src/src/viewer/scene/materials/index.js +0 -8
  209. package/src/src/viewer/scene/math/Frustum.js +0 -118
  210. package/src/src/viewer/scene/math/buildEdgeIndices.js +0 -162
  211. package/src/src/viewer/scene/math/geometryCompressionUtils.js +0 -365
  212. package/src/src/viewer/scene/math/index.js +0 -3
  213. package/src/src/viewer/scene/math/math.js +0 -5386
  214. package/src/src/viewer/scene/math/rtcCoords.js +0 -139
  215. package/src/src/viewer/scene/mementos/CameraMemento.js +0 -200
  216. package/src/src/viewer/scene/mementos/ModelMemento.js +0 -263
  217. package/src/src/viewer/scene/mementos/ObjectsMemento.js +0 -259
  218. package/src/src/viewer/scene/mementos/index.js +0 -3
  219. package/src/src/viewer/scene/mesh/Mesh.js +0 -2202
  220. package/src/src/viewer/scene/mesh/draw/DrawRenderer.js +0 -996
  221. package/src/src/viewer/scene/mesh/draw/DrawShaderSource.js +0 -1570
  222. package/src/src/viewer/scene/mesh/emphasis/EmphasisEdgesRenderer.js +0 -259
  223. package/src/src/viewer/scene/mesh/emphasis/EmphasisEdgesShaderSource.js +0 -159
  224. package/src/src/viewer/scene/mesh/emphasis/EmphasisFillRenderer.js +0 -286
  225. package/src/src/viewer/scene/mesh/emphasis/EmphasisFillShaderSource.js +0 -262
  226. package/src/src/viewer/scene/mesh/index.js +0 -1
  227. package/src/src/viewer/scene/mesh/occlusion/OcclusionRenderer.js +0 -217
  228. package/src/src/viewer/scene/mesh/occlusion/OcclusionShaderSource.js +0 -157
  229. package/src/src/viewer/scene/mesh/pick/PickMeshRenderer.js +0 -223
  230. package/src/src/viewer/scene/mesh/pick/PickMeshShaderSource.js +0 -151
  231. package/src/src/viewer/scene/mesh/pick/PickTriangleRenderer.js +0 -200
  232. package/src/src/viewer/scene/mesh/pick/PickTriangleShaderSource.js +0 -124
  233. package/src/src/viewer/scene/mesh/shadow/ShadowRenderer.js +0 -214
  234. package/src/src/viewer/scene/mesh/shadow/ShadowShaderSource.js +0 -98
  235. package/src/src/viewer/scene/metriqs/Metriqs.js +0 -259
  236. package/src/src/viewer/scene/model/ENTITY_FLAGS.js +0 -21
  237. package/src/src/viewer/scene/model/PerformanceModel.js +0 -26
  238. package/src/src/viewer/scene/model/RENDER_PASSES.js +0 -34
  239. package/src/src/viewer/scene/model/SceneModel.js +0 -4018
  240. package/src/src/viewer/scene/model/SceneModelEntity.js +0 -715
  241. package/src/src/viewer/scene/model/SceneModelMesh.js +0 -341
  242. package/src/src/viewer/scene/model/SceneModelTexture.js +0 -38
  243. package/src/src/viewer/scene/model/SceneModelTextureSet.js +0 -59
  244. package/src/src/viewer/scene/model/SceneModelTransform.js +0 -404
  245. package/src/src/viewer/scene/model/VBOSceneModel.js +0 -26
  246. package/src/src/viewer/scene/model/calculateUniquePositions.js +0 -126
  247. package/src/src/viewer/scene/model/compression.js +0 -227
  248. package/src/src/viewer/scene/model/dtx/BindableDataTexture.js +0 -31
  249. package/src/src/viewer/scene/model/dtx/lines/DTXLinesBuffer.js +0 -27
  250. package/src/src/viewer/scene/model/dtx/lines/DTXLinesLayer.js +0 -891
  251. package/src/src/viewer/scene/model/dtx/lines/DTXLinesState.js +0 -46
  252. package/src/src/viewer/scene/model/dtx/lines/DTXLinesTextureFactory.js +0 -411
  253. package/src/src/viewer/scene/model/dtx/lines/dataTextureRamStats.js +0 -49
  254. package/src/src/viewer/scene/model/dtx/lines/rebucketPositions.js +0 -208
  255. package/src/src/viewer/scene/model/dtx/lines/renderers/DTXLinesColorRenderer.js +0 -389
  256. package/src/src/viewer/scene/model/dtx/lines/renderers/DTXLinesRenderers.js +0 -65
  257. package/src/src/viewer/scene/model/dtx/triangles/DTXTrianglesLayer.js +0 -1322
  258. package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesBuffer.js +0 -46
  259. package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesState.js +0 -250
  260. package/src/src/viewer/scene/model/dtx/triangles/lib/DTXTrianglesTextureFactory.js +0 -518
  261. package/src/src/viewer/scene/model/dtx/triangles/lib/dataTextureRamStats.js +0 -54
  262. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesColorRenderer.js +0 -619
  263. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesDepthRenderer.js +0 -464
  264. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesEdgesColorRenderer.js +0 -414
  265. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesEdgesRenderer.js +0 -422
  266. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesNormalsRenderer.js +0 -345
  267. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesOcclusionRenderer.js +0 -436
  268. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickDepthRenderer.js +0 -462
  269. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickMeshRenderer.js +0 -436
  270. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickNormalsFlatRenderer.js +0 -455
  271. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesPickNormalsRenderer.js +0 -440
  272. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesRenderers.js +0 -307
  273. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSilhouetteRenderer.js +0 -465
  274. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapInitRenderer.js +0 -466
  275. package/src/src/viewer/scene/model/dtx/triangles/renderers/DTXTrianglesSnapRenderer.js +0 -427
  276. package/src/src/viewer/scene/model/index.js +0 -5
  277. package/src/src/viewer/scene/model/rebucketPositions.js +0 -354
  278. package/src/src/viewer/scene/model/vbo/ScratchMemory.js +0 -63
  279. package/src/src/viewer/scene/model/vbo/VBORenderer.js +0 -646
  280. package/src/src/viewer/scene/model/vbo/batching/lines/VBOBatchingLinesLayer.js +0 -699
  281. package/src/src/viewer/scene/model/vbo/batching/lines/lib/VBOBatchingLinesBuffer.js +0 -19
  282. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLineSnapInitRenderer.js +0 -316
  283. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesColorRenderer.js +0 -114
  284. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesRenderers.js +0 -99
  285. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSilhouetteRenderer.js +0 -124
  286. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapInitRenderer.js +0 -311
  287. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOBatchingLinesSnapRenderer.js +0 -309
  288. package/src/src/viewer/scene/model/vbo/batching/lines/renderers/VBOSceneModelLineBatchingRenderer.js +0 -24
  289. package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsBuffer.js +0 -20
  290. package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsLayer.js +0 -718
  291. package/src/src/viewer/scene/model/vbo/batching/points/VBOBatchingPointsRenderer.js +0 -24
  292. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsColorRenderer.js +0 -168
  293. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsOcclusionRenderer.js +0 -136
  294. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsPickDepthRenderer.js +0 -156
  295. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsPickMeshRenderer.js +0 -148
  296. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsRenderers.js +0 -144
  297. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsShadowRenderer.js +0 -107
  298. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSilhouetteRenderer.js +0 -146
  299. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSnapInitRenderer.js +0 -309
  300. package/src/src/viewer/scene/model/vbo/batching/points/renderers/VBOBatchingPointsSnapRenderer.js +0 -303
  301. package/src/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesBuffer.js +0 -24
  302. package/src/src/viewer/scene/model/vbo/batching/triangles/VBOBatchingTrianglesLayer.js +0 -1257
  303. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesColorRenderer.js +0 -131
  304. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesEmphasisRenderer.js +0 -135
  305. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/EdgesRenderer.js +0 -12
  306. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/Renderers.js +0 -375
  307. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesBatchingRenderer.js +0 -34
  308. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorRenderer.js +0 -238
  309. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesColorTextureRenderer.js +0 -270
  310. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesDepthRenderer.js +0 -126
  311. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesFlatColorRenderer.js +0 -235
  312. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesNormalsRenderer.js +0 -139
  313. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesOcclusionRenderer.js +0 -125
  314. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPBRRenderer.js +0 -561
  315. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickDepthRenderer.js +0 -144
  316. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickMeshRenderer.js +0 -130
  317. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsFlatRenderer.js +0 -121
  318. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesPickNormalsRenderer.js +0 -131
  319. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesShadowRenderer.js +0 -107
  320. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSilhouetteRenderer.js +0 -136
  321. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapInitRenderer.js +0 -311
  322. package/src/src/viewer/scene/model/vbo/batching/triangles/renderers/TrianglesSnapRenderer.js +0 -308
  323. package/src/src/viewer/scene/model/vbo/float16.js +0 -760
  324. package/src/src/viewer/scene/model/vbo/instancing/lines/VBOInstancingLinesLayer.js +0 -704
  325. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesColorRenderer.js +0 -148
  326. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesRenderer.js +0 -26
  327. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesRenderers.js +0 -139
  328. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSilhouetteRenderer.js +0 -127
  329. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapInitRenderer.js +0 -331
  330. package/src/src/viewer/scene/model/vbo/instancing/lines/renderers/VBOInstancingLinesSnapRenderer.js +0 -316
  331. package/src/src/viewer/scene/model/vbo/instancing/points/VBOInstancingPointsLayer.js +0 -728
  332. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsColorRenderer.js +0 -174
  333. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsDepthRenderer.js +0 -156
  334. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsOcclusionRenderer.js +0 -149
  335. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsPickDepthRenderer.js +0 -170
  336. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsPickMeshRenderer.js +0 -152
  337. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsRenderer.js +0 -26
  338. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsRenderers.js +0 -174
  339. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsShadowRenderer.js +0 -119
  340. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSilhouetteRenderer.js +0 -154
  341. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSnapInitRenderer.js +0 -330
  342. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingPointsSnapRenderer.js +0 -311
  343. package/src/src/viewer/scene/model/vbo/instancing/points/renderers/VBOInstancingTrianglesRenderer.js +0 -150
  344. package/src/src/viewer/scene/model/vbo/instancing/triangles/VBOInstancingTrianglesLayer.js +0 -1190
  345. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesColorRenderer.js +0 -136
  346. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesEmphasisRenderer.js +0 -137
  347. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/EdgesRenderer.js +0 -12
  348. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/Renderers.js +0 -376
  349. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorRenderer.js +0 -253
  350. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesColorTextureRenderer.js +0 -278
  351. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesDepthRenderer.js +0 -126
  352. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatColorRenderer.js +0 -244
  353. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesFlatNormalsRenderer.js +0 -130
  354. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesInstancingRenderer.js +0 -29
  355. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesNormalsRenderer.js +0 -138
  356. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesOcclusionRenderer.js +0 -128
  357. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPBRRenderer.js +0 -561
  358. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickDepthRenderer.js +0 -149
  359. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickMeshRenderer.js +0 -136
  360. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsFlatRenderer.js +0 -130
  361. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesPickNormalsRenderer.js +0 -145
  362. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesShadowRenderer.js +0 -113
  363. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSilhouetteRenderer.js +0 -139
  364. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapInitRenderer.js +0 -342
  365. package/src/src/viewer/scene/model/vbo/instancing/triangles/renderers/TrianglesSnapRenderer.js +0 -325
  366. package/src/src/viewer/scene/nodes/Node.js +0 -1383
  367. package/src/src/viewer/scene/nodes/index.js +0 -1
  368. package/src/src/viewer/scene/paths/CubicBezierCurve.js +0 -194
  369. package/src/src/viewer/scene/paths/Curve.js +0 -183
  370. package/src/src/viewer/scene/paths/Path.js +0 -239
  371. package/src/src/viewer/scene/paths/QuadraticBezierCurve.js +0 -161
  372. package/src/src/viewer/scene/paths/SplineCurve.js +0 -133
  373. package/src/src/viewer/scene/paths/index.js +0 -5
  374. package/src/src/viewer/scene/postfx/SAO.js +0 -543
  375. package/src/src/viewer/scene/scene/Scene.js +0 -2802
  376. package/src/src/viewer/scene/sectionPlane/SectionPlane.js +0 -198
  377. package/src/src/viewer/scene/sectionPlane/SectionPlaneCache.js +0 -101
  378. package/src/src/viewer/scene/sectionPlane/index.js +0 -1
  379. package/src/src/viewer/scene/skybox/Skybox.js +0 -123
  380. package/src/src/viewer/scene/skybox/index.js +0 -1
  381. package/src/src/viewer/scene/stats.js +0 -44
  382. package/src/src/viewer/scene/utils/Cache.js +0 -29
  383. package/src/src/viewer/scene/utils/FileLoader.js +0 -161
  384. package/src/src/viewer/scene/utils/Loader.js +0 -55
  385. package/src/src/viewer/scene/utils/LoadingManager.js +0 -86
  386. package/src/src/viewer/scene/utils/Map.js +0 -45
  387. package/src/src/viewer/scene/utils/Queue.js +0 -56
  388. package/src/src/viewer/scene/utils/WorkerPool.js +0 -73
  389. package/src/src/viewer/scene/utils/index.js +0 -6
  390. package/src/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/KTX2TextureTranscoder.js +0 -650
  391. package/src/src/viewer/scene/utils/textureTranscoders/KTX2TextureTranscoder/index.js +0 -1
  392. package/src/src/viewer/scene/utils/textureTranscoders/TextureTranscoder.js +0 -31
  393. package/src/src/viewer/scene/utils/textureTranscoders/index.js +0 -2
  394. package/src/src/viewer/scene/utils.js +0 -453
  395. package/src/src/viewer/scene/viewport/Viewport.js +0 -212
  396. package/src/src/viewer/scene/webgl/ArrayBuf.js +0 -121
  397. package/src/src/viewer/scene/webgl/Attribute.js +0 -23
  398. package/src/src/viewer/scene/webgl/Drawable.js +0 -270
  399. package/src/src/viewer/scene/webgl/FrameContext.js +0 -313
  400. package/src/src/viewer/scene/webgl/PickResult.js +0 -364
  401. package/src/src/viewer/scene/webgl/Pickable.js +0 -69
  402. package/src/src/viewer/scene/webgl/Program.js +0 -181
  403. package/src/src/viewer/scene/webgl/RenderBuffer.js +0 -378
  404. package/src/src/viewer/scene/webgl/RenderBufferManager.js +0 -34
  405. package/src/src/viewer/scene/webgl/RenderFlags.js +0 -203
  406. package/src/src/viewer/scene/webgl/RenderState.js +0 -40
  407. package/src/src/viewer/scene/webgl/Renderer.js +0 -1781
  408. package/src/src/viewer/scene/webgl/Sampler.js +0 -18
  409. package/src/src/viewer/scene/webgl/Shader.js +0 -49
  410. package/src/src/viewer/scene/webgl/Texture2D.js +0 -442
  411. package/src/src/viewer/scene/webgl/convertConstant.js +0 -244
  412. package/src/src/viewer/scene/webgl/getExtension.js +0 -32
  413. package/src/src/viewer/scene/webgl/occlusion/OcclusionLayer.js +0 -214
  414. package/src/src/viewer/scene/webgl/occlusion/OcclusionTester.js +0 -426
  415. package/src/src/viewer/scene/webgl/sao/SAODepthLimitedBlurRenderer.js +0 -324
  416. package/src/src/viewer/scene/webgl/sao/SAOOcclusionRenderer.js +0 -376
  417. package/src/src/viewer/scene/webgl/webglEnums.js +0 -61
  418. package/src/src/viewer/scene/webglInfo.js +0 -47
@@ -1,18 +0,0 @@
1
- /**
2
- * @desc A low-level component that represents a WebGL Sampler.
3
- * @private
4
- */
5
- class Sampler {
6
-
7
- constructor(gl, location) {
8
- this.bindTexture = function (texture, unit) {
9
- if (texture.bind(unit)) {
10
- gl.uniform1i(location, unit);
11
- return true;
12
- }
13
- return false;
14
- };
15
- }
16
- }
17
-
18
- export {Sampler};
@@ -1,49 +0,0 @@
1
- /**
2
- * @desc Represents a vertex or fragment stage within a {@link Program}.
3
- * @private
4
- */
5
- class Shader {
6
-
7
- constructor(gl, type, source) {
8
-
9
- this.allocated = false;
10
- this.compiled = false;
11
- this.handle = gl.createShader(type);
12
-
13
- if (!this.handle) {
14
- this.errors = [
15
- "Failed to allocate"
16
- ];
17
- return;
18
- }
19
-
20
- this.allocated = true;
21
-
22
- gl.shaderSource(this.handle, source);
23
- gl.compileShader(this.handle);
24
-
25
- this.compiled = gl.getShaderParameter(this.handle, gl.COMPILE_STATUS);
26
-
27
- if (!this.compiled) {
28
-
29
- if (!gl.isContextLost()) { // Handled explicitly elsewhere, so won't re-handle here
30
-
31
- const lines = source.split("\n");
32
- const numberedLines = [];
33
- for (let i = 0; i < lines.length; i++) {
34
- numberedLines.push((i + 1) + ": " + lines[i] + "\n");
35
- }
36
- this.errors = [];
37
- this.errors.push("");
38
- this.errors.push(gl.getShaderInfoLog(this.handle));
39
- this.errors = this.errors.concat(numberedLines.join(""));
40
- }
41
- }
42
- }
43
-
44
- destroy() {
45
-
46
- }
47
- }
48
-
49
- export {Shader};
@@ -1,442 +0,0 @@
1
- import {utils} from '../utils.js';
2
- import {convertConstant} from "./convertConstant.js";
3
- import {
4
- NearestFilter,
5
- NearestMipmapLinearFilter,
6
- NearestMipMapNearestFilter,
7
- RGBAFormat,
8
- sRGBEncoding,
9
- UnsignedByteType,
10
- RepeatWrapping,
11
- ClampToEdgeWrapping,
12
- LinearFilter,
13
- NearestMipmapNearestFilter
14
- } from "../constants/constants.js";
15
- import {getExtension} from "./getExtension.js";
16
-
17
- const color = new Uint8Array([0, 0, 0, 1]);
18
-
19
- /**
20
- * @desc A low-level component that represents a 2D WebGL texture.
21
- *
22
- * @private
23
- */
24
- class Texture2D {
25
-
26
- constructor({gl, target, format, type, wrapS, wrapT, wrapR, encoding, preloadColor, premultiplyAlpha, flipY}) {
27
-
28
- this.gl = gl;
29
-
30
- this.target = target || gl.TEXTURE_2D;
31
- this.format = format || RGBAFormat;
32
- this.type = type || UnsignedByteType;
33
- this.internalFormat = null;
34
- this.premultiplyAlpha = !!premultiplyAlpha;
35
- this.flipY = !!flipY;
36
- this.unpackAlignment = 4;
37
- this.wrapS = wrapS || RepeatWrapping;
38
- this.wrapT = wrapT || RepeatWrapping;
39
- this.wrapR = wrapR || RepeatWrapping;
40
- this.encoding = encoding || sRGBEncoding;
41
- this.texture = gl.createTexture();
42
-
43
- if (preloadColor) {
44
- this.setPreloadColor(preloadColor); // Prevents "there is no texture bound to the unit 0" error
45
- }
46
-
47
- this.allocated = true;
48
- }
49
-
50
- setPreloadColor(value) {
51
- if (!value) {
52
- color[0] = 0;
53
- color[1] = 0;
54
- color[2] = 0;
55
- color[3] = 255;
56
- } else {
57
- color[0] = Math.floor(value[0] * 255);
58
- color[1] = Math.floor(value[1] * 255);
59
- color[2] = Math.floor(value[2] * 255);
60
- color[3] = Math.floor((value[3] !== undefined ? value[3] : 1) * 255);
61
- }
62
- const gl = this.gl;
63
- gl.bindTexture(this.target, this.texture);
64
- if (this.target === gl.TEXTURE_CUBE_MAP) {
65
- const faces = [
66
- gl.TEXTURE_CUBE_MAP_POSITIVE_X,
67
- gl.TEXTURE_CUBE_MAP_NEGATIVE_X,
68
- gl.TEXTURE_CUBE_MAP_POSITIVE_Y,
69
- gl.TEXTURE_CUBE_MAP_NEGATIVE_Y,
70
- gl.TEXTURE_CUBE_MAP_POSITIVE_Z,
71
- gl.TEXTURE_CUBE_MAP_NEGATIVE_Z
72
- ];
73
- for (let i = 0, len = faces.length; i < len; i++) {
74
- gl.texImage2D(faces[i], 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, color);
75
- }
76
- } else {
77
- gl.texImage2D(this.target, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, color);
78
- }
79
- gl.bindTexture(this.target, null);
80
- }
81
-
82
- setTarget(target) {
83
- this.target = target || this.gl.TEXTURE_2D;
84
- }
85
-
86
- setImage(image, props = {}) {
87
-
88
- const gl = this.gl;
89
-
90
- if (props.format !== undefined) {
91
- this.format = props.format;
92
- }
93
- if (props.internalFormat !== undefined) {
94
- this.internalFormat = props.internalFormat;
95
- }
96
- if (props.encoding !== undefined) {
97
- this.encoding = props.encoding;
98
- }
99
- if (props.type !== undefined) {
100
- this.type = props.type;
101
- }
102
- if (props.flipY !== undefined) {
103
- this.flipY = props.flipY;
104
- }
105
- if (props.premultiplyAlpha !== undefined) {
106
- this.premultiplyAlpha = props.premultiplyAlpha;
107
- }
108
- if (props.unpackAlignment !== undefined) {
109
- this.unpackAlignment = props.unpackAlignment;
110
- }
111
- if (props.minFilter !== undefined) {
112
- this.minFilter = props.minFilter;
113
- }
114
- if (props.magFilter !== undefined) {
115
- this.magFilter = props.magFilter;
116
- }
117
- if (props.wrapS !== undefined) {
118
- this.wrapS = props.wrapS;
119
- }
120
- if (props.wrapT !== undefined) {
121
- this.wrapT = props.wrapT;
122
- }
123
- if (props.wrapR !== undefined) {
124
- this.wrapR = props.wrapR;
125
- }
126
-
127
- let generateMipMap = false;
128
-
129
- gl.bindTexture(this.target, this.texture);
130
-
131
- const bak1 = gl.getParameter(gl.UNPACK_FLIP_Y_WEBGL);
132
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this.flipY);
133
-
134
- const bak2 = gl.getParameter(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL);
135
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.premultiplyAlpha);
136
-
137
- const bak3 = gl.getParameter(gl.UNPACK_ALIGNMENT);
138
- gl.pixelStorei(gl.UNPACK_ALIGNMENT, this.unpackAlignment);
139
-
140
- const bak4 = gl.getParameter(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL);;
141
- gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);
142
-
143
- const minFilter = convertConstant(gl, this.minFilter);
144
- gl.texParameteri(this.target, gl.TEXTURE_MIN_FILTER, minFilter);
145
-
146
- if (minFilter === gl.NEAREST_MIPMAP_NEAREST
147
- || minFilter === gl.LINEAR_MIPMAP_NEAREST
148
- || minFilter === gl.NEAREST_MIPMAP_LINEAR
149
- || minFilter === gl.LINEAR_MIPMAP_LINEAR) {
150
- generateMipMap = true;
151
- }
152
-
153
- const magFilter = convertConstant(gl, this.magFilter);
154
- if (magFilter) {
155
- gl.texParameteri(this.target, gl.TEXTURE_MAG_FILTER, magFilter);
156
- }
157
-
158
- const wrapS = convertConstant(gl, this.wrapS);
159
- if (wrapS) {
160
- gl.texParameteri(this.target, gl.TEXTURE_WRAP_S, wrapS);
161
- }
162
-
163
- const wrapT = convertConstant(gl, this.wrapT);
164
- if (wrapT) {
165
- gl.texParameteri(this.target, gl.TEXTURE_WRAP_T, wrapT);
166
- }
167
-
168
- const glFormat = convertConstant(gl, this.format, this.encoding);
169
- const glType = convertConstant(gl, this.type);
170
- const glInternalFormat = getInternalFormat(gl, this.internalFormat, glFormat, glType, this.encoding, false);
171
-
172
- if (this.target === gl.TEXTURE_CUBE_MAP) {
173
- if (utils.isArray(image)) {
174
- const images = image;
175
- const faces = [
176
- gl.TEXTURE_CUBE_MAP_POSITIVE_X,
177
- gl.TEXTURE_CUBE_MAP_NEGATIVE_X,
178
- gl.TEXTURE_CUBE_MAP_POSITIVE_Y,
179
- gl.TEXTURE_CUBE_MAP_NEGATIVE_Y,
180
- gl.TEXTURE_CUBE_MAP_POSITIVE_Z,
181
- gl.TEXTURE_CUBE_MAP_NEGATIVE_Z
182
- ];
183
- for (let i = 0, len = faces.length; i < len; i++) {
184
- gl.texImage2D(faces[i], 0, glInternalFormat, glFormat, glType, images[i]);
185
- }
186
- }
187
- } else {
188
- gl.texImage2D(gl.TEXTURE_2D, 0, glInternalFormat, glFormat, glType, image);
189
- }
190
-
191
- if (generateMipMap) {
192
- gl.generateMipmap(this.target);
193
- }
194
-
195
- gl.bindTexture(this.target, null);
196
-
197
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, bak1);
198
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, bak2);
199
- gl.pixelStorei(gl.UNPACK_ALIGNMENT, bak3);
200
- gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, bak4);
201
- }
202
-
203
- setCompressedData({mipmaps, props = {}}) {
204
-
205
- const gl = this.gl;
206
- const levels = mipmaps.length;
207
-
208
- // Cache props
209
-
210
- if (props.format !== undefined) {
211
- this.format = props.format;
212
- }
213
- if (props.internalFormat !== undefined) {
214
- this.internalFormat = props.internalFormat;
215
- }
216
- if (props.encoding !== undefined) {
217
- this.encoding = props.encoding;
218
- }
219
- if (props.type !== undefined) {
220
- this.type = props.type;
221
- }
222
- if (props.flipY !== undefined) {
223
- this.flipY = props.flipY;
224
- }
225
- if (props.premultiplyAlpha !== undefined) {
226
- this.premultiplyAlpha = props.premultiplyAlpha;
227
- }
228
- if (props.unpackAlignment !== undefined) {
229
- this.unpackAlignment = props.unpackAlignment;
230
- }
231
- if (props.minFilter !== undefined) {
232
- this.minFilter = props.minFilter;
233
- }
234
- if (props.magFilter !== undefined) {
235
- this.magFilter = props.magFilter;
236
- }
237
- if (props.wrapS !== undefined) {
238
- this.wrapS = props.wrapS;
239
- }
240
- if (props.wrapT !== undefined) {
241
- this.wrapT = props.wrapT;
242
- }
243
- if (props.wrapR !== undefined) {
244
- this.wrapR = props.wrapR;
245
- }
246
-
247
- gl.activeTexture(gl.TEXTURE0 + 0);
248
- gl.bindTexture(this.target, this.texture);
249
-
250
- let supportsMips = mipmaps.length > 1;
251
-
252
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, this.flipY);
253
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, this.premultiplyAlpha);
254
- gl.pixelStorei(gl.UNPACK_ALIGNMENT, this.unpackAlignment);
255
- gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);
256
-
257
- const wrapS = convertConstant(gl, this.wrapS);
258
- if (wrapS) {
259
- gl.texParameteri(this.target, gl.TEXTURE_WRAP_S, wrapS);
260
- }
261
-
262
- const wrapT = convertConstant(gl, this.wrapT);
263
- if (wrapT) {
264
- gl.texParameteri(this.target, gl.TEXTURE_WRAP_T, wrapT);
265
- }
266
-
267
- if (this.type === gl.TEXTURE_3D || this.type === gl.TEXTURE_2D_ARRAY) {
268
- const wrapR = convertConstant(gl, this.wrapR);
269
- if (wrapR) {
270
- gl.texParameteri(this.target, gl.TEXTURE_WRAP_R, wrapR);
271
- }
272
- gl.texParameteri(this.type, gl.TEXTURE_WRAP_R, wrapR);
273
- }
274
-
275
- if (supportsMips) {
276
- gl.texParameteri(this.target, gl.TEXTURE_MIN_FILTER, filterFallback(gl, this.minFilter));
277
- gl.texParameteri(this.target, gl.TEXTURE_MAG_FILTER, filterFallback(gl, this.magFilter));
278
-
279
- } else {
280
- gl.texParameteri(this.target, gl.TEXTURE_MIN_FILTER, convertConstant(gl, this.minFilter));
281
- gl.texParameteri(this.target, gl.TEXTURE_MAG_FILTER, convertConstant(gl, this.magFilter));
282
- }
283
-
284
- const glFormat = convertConstant(gl, this.format, this.encoding);
285
- const glType = convertConstant(gl, this.type);
286
- const glInternalFormat = getInternalFormat(gl, this.internalFormat, glFormat, glType, this.encoding, false);
287
-
288
- gl.texStorage2D(gl.TEXTURE_2D, levels, glInternalFormat, mipmaps[0].width, mipmaps[0].height);
289
-
290
- for (let i = 0, len = mipmaps.length; i < len; i++) {
291
-
292
- const mipmap = mipmaps[i];
293
-
294
- if (this.format !== RGBAFormat) {
295
- if (glFormat !== null) {
296
- gl.compressedTexSubImage2D(gl.TEXTURE_2D, i, 0, 0, mipmap.width, mipmap.height, glFormat, mipmap.data);
297
- } else {
298
- console.warn('Attempt to load unsupported compressed texture format in .setCompressedData()');
299
- }
300
- } else {
301
- gl.texSubImage2D(gl.TEXTURE_2D, i, 0, 0, mipmap.width, mipmap.height, glFormat, glType, mipmap.data);
302
- }
303
- }
304
-
305
- // if (generateMipMap) {
306
- // // gl.generateMipmap(this.target); // Only for roughness textures?
307
- // }
308
-
309
- gl.bindTexture(this.target, null);
310
- }
311
-
312
- setProps(props) {
313
- const gl = this.gl;
314
- gl.bindTexture(this.target, this.texture);
315
- this._uploadProps(props);
316
- gl.bindTexture(this.target, null);
317
- }
318
-
319
- _uploadProps(props) {
320
- const gl = this.gl;
321
- if (props.format !== undefined) {
322
- this.format = props.format;
323
- }
324
- if (props.internalFormat !== undefined) {
325
- this.internalFormat = props.internalFormat;
326
- }
327
- if (props.encoding !== undefined) {
328
- this.encoding = props.encoding;
329
- }
330
- if (props.type !== undefined) {
331
- this.type = props.type;
332
- }
333
- if (props.minFilter !== undefined) {
334
- const minFilter = convertConstant(gl, props.minFilter);
335
- if (minFilter) {
336
- this.minFilter = props.minFilter;
337
- gl.texParameteri(this.target, gl.TEXTURE_MIN_FILTER, minFilter);
338
- if (minFilter === gl.NEAREST_MIPMAP_NEAREST || minFilter === gl.LINEAR_MIPMAP_NEAREST || minFilter === gl.NEAREST_MIPMAP_LINEAR || minFilter === gl.LINEAR_MIPMAP_LINEAR) {
339
- gl.generateMipmap(this.target);
340
- }
341
- }
342
- }
343
- if (props.magFilter !== undefined) {
344
- const magFilter = convertConstant(gl, props.magFilter);
345
- if (magFilter) {
346
- this.magFilter = props.magFilter;
347
- gl.texParameteri(this.target, gl.TEXTURE_MAG_FILTER, magFilter);
348
- }
349
- }
350
- if (props.wrapS !== undefined) {
351
- const wrapS = convertConstant(gl, props.wrapS);
352
- if (wrapS) {
353
- this.wrapS = props.wrapS;
354
- gl.texParameteri(this.target, gl.TEXTURE_WRAP_S, wrapS);
355
- }
356
- }
357
- if (props.wrapT !== undefined) {
358
- const wrapT = convertConstant(gl, props.wrapT);
359
- if (wrapT) {
360
- this.wrapT = props.wrapT;
361
- gl.texParameteri(this.target, gl.TEXTURE_WRAP_T, wrapT);
362
- }
363
- }
364
- }
365
-
366
- bind(unit) {
367
- if (!this.allocated) {
368
- return;
369
- }
370
- if (this.texture) {
371
- const gl = this.gl;
372
- gl.activeTexture(gl["TEXTURE" + unit]);
373
- gl.bindTexture(this.target, this.texture);
374
- return true;
375
- }
376
- return false;
377
- }
378
-
379
- unbind(unit) {
380
- if (!this.allocated) {
381
- return;
382
- }
383
- if (this.texture) {
384
- const gl = this.gl;
385
- gl.activeTexture(gl["TEXTURE" + unit]);
386
- gl.bindTexture(this.target, null);
387
- }
388
- }
389
-
390
- destroy() {
391
- if (!this.allocated) {
392
- return;
393
- }
394
- if (this.texture) {
395
- this.gl.deleteTexture(this.texture);
396
- this.texture = null;
397
- }
398
- }
399
- }
400
-
401
- function getInternalFormat(gl, internalFormatName, glFormat, glType, encoding, isVideoTexture = false) {
402
- if (internalFormatName !== null) {
403
- if (gl[internalFormatName] !== undefined) {
404
- return gl[internalFormatName];
405
- }
406
- console.warn('Attempt to use non-existing WebGL internal format \'' + internalFormatName + '\'');
407
- }
408
- let internalFormat = glFormat;
409
- if (glFormat === gl.RED) {
410
- if (glType === gl.FLOAT) internalFormat = gl.R32F;
411
- if (glType === gl.HALF_FLOAT) internalFormat = gl.R16F;
412
- if (glType === gl.UNSIGNED_BYTE) internalFormat = gl.R8;
413
- }
414
- if (glFormat === gl.RG) {
415
- if (glType === gl.FLOAT) internalFormat = gl.RG32F;
416
- if (glType === gl.HALF_FLOAT) internalFormat = gl.RG16F;
417
- if (glType === gl.UNSIGNED_BYTE) internalFormat = gl.RG8;
418
- }
419
- if (glFormat === gl.RGBA) {
420
- if (glType === gl.FLOAT) internalFormat = gl.RGBA32F;
421
- if (glType === gl.HALF_FLOAT) internalFormat = gl.RGBA16F;
422
- if (glType === gl.UNSIGNED_BYTE) internalFormat = (encoding === sRGBEncoding && isVideoTexture === false) ? gl.SRGB8_ALPHA8 : gl.RGBA8;
423
- if (glType === gl.UNSIGNED_SHORT_4_4_4_4) internalFormat = gl.RGBA4;
424
- if (glType === gl.UNSIGNED_SHORT_5_5_5_1) internalFormat = gl.RGB5_A1;
425
- }
426
- if (internalFormat === gl.R16F || internalFormat === gl.R32F ||
427
- internalFormat === gl.RG16F || internalFormat === gl.RG32F ||
428
- internalFormat === gl.RGBA16F || internalFormat === gl.RGBA32F) {
429
- getExtension(gl, 'EXT_color_buffer_float');
430
- }
431
- return internalFormat;
432
- }
433
-
434
- function filterFallback(gl, f) {
435
- if (f === NearestFilter || f === NearestMipmapNearestFilter || f === NearestMipmapLinearFilter) {
436
- return gl.NEAREST;
437
- }
438
- return gl.LINEAR;
439
-
440
- }
441
-
442
- export {Texture2D};