super-three 0.136.1 → 0.144.0

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 (842) hide show
  1. package/README.md +31 -33
  2. package/build/three.cjs +36413 -0
  3. package/build/three.js +5108 -5809
  4. package/build/three.min.js +2 -2
  5. package/build/three.module.js +7877 -8586
  6. package/examples/js/animation/CCDIKSolver.js +3 -2
  7. package/examples/js/animation/MMDAnimationHelper.js +3 -1
  8. package/examples/js/animation/MMDPhysics.js +3 -18
  9. package/examples/js/controls/ArcballControls.js +19 -4
  10. package/examples/js/controls/FirstPersonControls.js +0 -7
  11. package/examples/js/controls/FlyControls.js +0 -8
  12. package/examples/js/controls/OrbitControls.js +0 -4
  13. package/examples/js/controls/PointerLockControls.js +3 -10
  14. package/examples/js/controls/TrackballControls.js +1 -6
  15. package/examples/js/controls/TransformControls.js +25 -22
  16. package/examples/js/csm/CSMFrustum.js +1 -1
  17. package/examples/js/csm/CSMShader.js +51 -35
  18. package/examples/js/curves/CurveExtras.js +14 -18
  19. package/examples/js/effects/AnaglyphEffect.js +9 -6
  20. package/examples/js/effects/AsciiEffect.js +10 -29
  21. package/examples/js/effects/OutlineEffect.js +4 -24
  22. package/examples/js/effects/ParallaxBarrierEffect.js +2 -2
  23. package/examples/js/effects/PeppersGhostEffect.js +2 -2
  24. package/examples/js/effects/StereoEffect.js +2 -2
  25. package/examples/js/environments/RoomEnvironment.js +22 -0
  26. package/examples/js/exporters/ColladaExporter.js +33 -20
  27. package/examples/js/exporters/DRACOExporter.js +0 -12
  28. package/examples/js/exporters/EXRExporter.js +458 -0
  29. package/examples/js/exporters/GLTFExporter.js +246 -119
  30. package/examples/js/exporters/OBJExporter.js +14 -41
  31. package/examples/js/exporters/PLYExporter.js +27 -44
  32. package/examples/js/exporters/STLExporter.js +0 -7
  33. package/examples/js/exporters/USDZExporter.js +19 -0
  34. package/examples/js/geometries/ConvexGeometry.js +1 -1
  35. package/examples/js/geometries/DecalGeometry.js +0 -7
  36. package/examples/js/geometries/LightningStrike.js +2 -2
  37. package/examples/js/geometries/ParametricGeometries.js +3 -3
  38. package/examples/js/geometries/ParametricGeometry.js +1 -8
  39. package/examples/js/geometries/TextGeometry.js +12 -10
  40. package/examples/js/helpers/OctreeHelper.js +74 -0
  41. package/examples/js/helpers/VertexNormalsHelper.js +4 -23
  42. package/examples/js/helpers/VertexTangentsHelper.js +3 -13
  43. package/examples/js/helpers/ViewHelper.js +266 -0
  44. package/examples/js/interactive/HTMLMesh.js +249 -42
  45. package/examples/js/interactive/SelectionHelper.js +3 -1
  46. package/examples/js/libs/ktx-parse.umd.js +1 -0
  47. package/examples/js/libs/meshopt_decoder.js +98 -32
  48. package/examples/js/libs/opentype.min.js +1 -118
  49. package/examples/js/lines/Line2.js +1 -2
  50. package/examples/js/lines/LineGeometry.js +10 -21
  51. package/examples/js/lines/LineMaterial.js +2 -3
  52. package/examples/js/lines/LineSegments2.js +214 -140
  53. package/examples/js/lines/LineSegmentsGeometry.js +3 -14
  54. package/examples/js/lines/Wireframe.js +2 -3
  55. package/examples/js/lines/WireframeGeometry2.js +1 -2
  56. package/examples/js/loaders/3MFLoader.js +21 -17
  57. package/examples/js/loaders/AMFLoader.js +1 -1
  58. package/examples/js/loaders/ColladaLoader.js +34 -12
  59. package/examples/js/loaders/DDSLoader.js +23 -30
  60. package/examples/js/loaders/DRACOLoader.js +2 -25
  61. package/examples/js/loaders/EXRLoader.js +279 -276
  62. package/examples/js/loaders/FBXLoader.js +21 -3
  63. package/examples/js/loaders/FontLoader.js +4 -18
  64. package/examples/js/loaders/GCodeLoader.js +0 -1
  65. package/examples/js/loaders/GLTFLoader.js +300 -95
  66. package/examples/js/loaders/HDRCubeTextureLoader.js +0 -11
  67. package/examples/js/loaders/KMZLoader.js +1 -1
  68. package/examples/js/loaders/LDrawLoader.js +653 -480
  69. package/examples/js/loaders/LUT3dlLoader.js +1 -1
  70. package/examples/js/loaders/LUTCubeLoader.js +1 -1
  71. package/examples/js/loaders/LWOLoader.js +4 -2
  72. package/examples/js/loaders/LogLuvLoader.js +1 -2
  73. package/examples/js/loaders/MD2Loader.js +5 -5
  74. package/examples/js/loaders/MMDLoader.js +18 -4
  75. package/examples/js/loaders/MTLLoader.js +10 -3
  76. package/examples/js/loaders/NRRDLoader.js +1 -1
  77. package/examples/js/loaders/OBJLoader.js +16 -18
  78. package/examples/js/loaders/PCDLoader.js +81 -27
  79. package/examples/js/loaders/PDBLoader.js +11 -11
  80. package/examples/js/loaders/PLYLoader.js +8 -4
  81. package/examples/js/loaders/RGBELoader.js +3 -11
  82. package/examples/js/loaders/RGBMLoader.js +12 -15
  83. package/examples/js/loaders/STLLoader.js +1 -1
  84. package/examples/js/loaders/SVGLoader.js +23 -14
  85. package/examples/js/loaders/TIFFLoader.js +31 -0
  86. package/examples/js/loaders/VOXLoader.js +3 -4
  87. package/examples/js/loaders/VRMLLoader.js +33 -24
  88. package/examples/js/loaders/VTKLoader.js +261 -296
  89. package/examples/js/loaders/lwo/LWO2Parser.js +12 -11
  90. package/examples/js/loaders/lwo/LWO3Parser.js +12 -11
  91. package/examples/js/materials/MeshGouraudMaterial.js +385 -0
  92. package/examples/js/math/ColorConverter.js +0 -50
  93. package/examples/js/math/ConvexHull.js +6 -15
  94. package/examples/js/math/Lut.js +27 -26
  95. package/examples/js/misc/GPUComputationRenderer.js +23 -0
  96. package/examples/js/misc/MorphAnimMesh.js +2 -2
  97. package/examples/js/misc/ProgressiveLightMap.js +1 -1
  98. package/examples/js/misc/Volume.js +233 -234
  99. package/examples/js/misc/VolumeSlice.js +108 -106
  100. package/examples/js/modifiers/EdgeSplitModifier.js +0 -13
  101. package/examples/js/modifiers/SimplifyModifier.js +2 -19
  102. package/examples/js/modifiers/TessellateModifier.js +0 -7
  103. package/examples/js/objects/GroundProjectedEnv.js +193 -0
  104. package/examples/js/objects/Lensflare.js +4 -4
  105. package/examples/js/objects/LightningStorm.js +4 -5
  106. package/examples/js/objects/MarchingCubes.js +6 -11
  107. package/examples/js/objects/Reflector.js +18 -5
  108. package/examples/js/objects/ReflectorForSSRPass.js +4 -5
  109. package/examples/js/objects/Refractor.js +19 -7
  110. package/examples/js/objects/ShadowMesh.js +6 -3
  111. package/examples/js/objects/Sky.js +1 -1
  112. package/examples/js/objects/Water.js +1 -2
  113. package/examples/js/objects/Water2.js +1 -1
  114. package/examples/js/postprocessing/AdaptiveToneMappingPass.js +6 -10
  115. package/examples/js/postprocessing/AfterimagePass.js +2 -6
  116. package/examples/js/postprocessing/BloomPass.js +50 -19
  117. package/examples/js/postprocessing/DotScreenPass.js +1 -1
  118. package/examples/js/postprocessing/EffectComposer.js +1 -6
  119. package/examples/js/postprocessing/LUTPass.js +2 -2
  120. package/examples/js/postprocessing/OutlinePass.js +13 -20
  121. package/examples/js/postprocessing/SAOPass.js +2 -7
  122. package/examples/js/postprocessing/SSAARenderPass.js +1 -6
  123. package/examples/js/postprocessing/SSRPass.js +3 -8
  124. package/examples/js/postprocessing/TAARenderPass.js +4 -4
  125. package/examples/js/postprocessing/UnrealBloomPass.js +3 -12
  126. package/examples/js/renderers/CSS2DRenderer.js +22 -21
  127. package/examples/js/renderers/CSS3DRenderer.js +42 -38
  128. package/examples/js/renderers/Projector.js +99 -147
  129. package/examples/js/renderers/SVGRenderer.js +3 -4
  130. package/examples/js/shaders/BlendShader.js +2 -1
  131. package/examples/js/shaders/CopyShader.js +4 -3
  132. package/examples/js/shaders/FXAAShader.js +239 -1069
  133. package/examples/js/shaders/FreiChenShader.js +1 -1
  134. package/examples/js/shaders/HorizontalBlurShader.js +1 -1
  135. package/examples/js/shaders/HorizontalTiltShiftShader.js +1 -1
  136. package/examples/js/shaders/LuminosityShader.js +1 -1
  137. package/examples/js/shaders/MMDToonShader.js +6 -2
  138. package/examples/js/shaders/SSRShader.js +3 -3
  139. package/examples/js/shaders/ToneMapShader.js +2 -2
  140. package/examples/js/utils/BufferGeometryUtils.js +282 -22
  141. package/examples/js/utils/GPUStatsPanel.js +1 -1
  142. package/examples/js/utils/GeometryUtils.js +2 -18
  143. package/examples/js/utils/LDrawUtils.js +182 -0
  144. package/examples/js/utils/PackedPhongMaterial.js +1 -1
  145. package/examples/js/utils/SceneUtils.js +57 -14
  146. package/examples/js/utils/SkeletonUtils.js +1 -1
  147. package/examples/js/utils/UVsDebug.js +23 -33
  148. package/examples/jsm/animation/CCDIKSolver.js +3 -9
  149. package/examples/jsm/animation/MMDPhysics.js +4 -23
  150. package/examples/jsm/capabilities/WebGPU.js +6 -0
  151. package/examples/jsm/controls/ArcballControls.js +19 -2
  152. package/examples/jsm/controls/FirstPersonControls.js +0 -7
  153. package/examples/jsm/controls/FlyControls.js +0 -7
  154. package/examples/jsm/controls/OrbitControls.js +0 -5
  155. package/examples/jsm/controls/PointerLockControls.js +4 -9
  156. package/examples/jsm/controls/TrackballControls.js +1 -7
  157. package/examples/jsm/controls/TransformControls.js +24 -22
  158. package/examples/jsm/csm/CSMFrustum.js +1 -1
  159. package/examples/jsm/csm/CSMShader.js +51 -35
  160. package/examples/jsm/curves/CurveExtras.js +15 -17
  161. package/examples/jsm/effects/AnaglyphEffect.js +6 -6
  162. package/examples/jsm/effects/AsciiEffect.js +9 -22
  163. package/examples/jsm/effects/OutlineEffect.js +4 -25
  164. package/examples/jsm/effects/ParallaxBarrierEffect.js +2 -2
  165. package/examples/jsm/effects/PeppersGhostEffect.js +2 -2
  166. package/examples/jsm/effects/StereoEffect.js +2 -2
  167. package/examples/jsm/environments/RoomEnvironment.js +23 -0
  168. package/examples/jsm/exporters/ColladaExporter.js +35 -19
  169. package/examples/jsm/exporters/DRACOExporter.js +0 -13
  170. package/examples/jsm/exporters/EXRExporter.js +507 -0
  171. package/examples/jsm/exporters/GLTFExporter.js +276 -104
  172. package/examples/jsm/exporters/KTX2Exporter.js +281 -0
  173. package/examples/jsm/exporters/OBJExporter.js +11 -36
  174. package/examples/jsm/exporters/PLYExporter.js +37 -43
  175. package/examples/jsm/exporters/STLExporter.js +1 -9
  176. package/examples/jsm/exporters/USDZExporter.js +26 -3
  177. package/examples/jsm/geometries/ConvexGeometry.js +1 -1
  178. package/examples/jsm/geometries/DecalGeometry.js +0 -7
  179. package/examples/jsm/geometries/LightningStrike.js +2 -2
  180. package/examples/jsm/geometries/ParametricGeometries.js +3 -3
  181. package/examples/jsm/geometries/ParametricGeometry.js +0 -6
  182. package/examples/jsm/geometries/TextGeometry.js +13 -13
  183. package/examples/jsm/helpers/OctreeHelper.js +58 -0
  184. package/examples/jsm/helpers/VertexNormalsHelper.js +4 -25
  185. package/examples/jsm/helpers/VertexTangentsHelper.js +3 -15
  186. package/examples/jsm/helpers/ViewHelper.js +295 -0
  187. package/examples/jsm/interactive/HTMLMesh.js +268 -36
  188. package/examples/jsm/interactive/SelectionHelper.js +6 -4
  189. package/examples/jsm/libs/flow.module.js +947 -183
  190. package/examples/jsm/libs/ktx-parse.module.js +1 -1
  191. package/examples/jsm/libs/meshopt_decoder.module.js +97 -32
  192. package/examples/jsm/libs/mikktspace.module.js +128 -0
  193. package/examples/jsm/libs/opentype.module.js +14568 -0
  194. package/examples/jsm/libs/utif.module.js +1579 -0
  195. package/examples/jsm/libs/zstddec.module.js +1 -0
  196. package/examples/jsm/lines/Line2.js +2 -2
  197. package/examples/jsm/lines/LineGeometry.js +11 -19
  198. package/examples/jsm/lines/LineMaterial.js +3 -3
  199. package/examples/jsm/lines/LineSegments2.js +210 -145
  200. package/examples/jsm/lines/LineSegmentsGeometry.js +3 -12
  201. package/examples/jsm/lines/Wireframe.js +3 -3
  202. package/examples/jsm/lines/WireframeGeometry2.js +2 -2
  203. package/examples/jsm/loaders/3DMLoader.js +3 -2
  204. package/examples/jsm/loaders/3MFLoader.js +21 -17
  205. package/examples/jsm/loaders/AMFLoader.js +1 -1
  206. package/examples/jsm/loaders/ColladaLoader.js +41 -12
  207. package/examples/jsm/loaders/DDSLoader.js +21 -28
  208. package/examples/jsm/loaders/DRACOLoader.js +2 -28
  209. package/examples/jsm/loaders/EXRLoader.js +278 -275
  210. package/examples/jsm/loaders/FBXLoader.js +21 -3
  211. package/examples/jsm/loaders/FontLoader.js +5 -18
  212. package/examples/jsm/loaders/GCodeLoader.js +0 -1
  213. package/examples/jsm/loaders/GLTFLoader.js +314 -101
  214. package/examples/jsm/loaders/HDRCubeTextureLoader.js +0 -13
  215. package/examples/jsm/loaders/KMZLoader.js +1 -1
  216. package/examples/jsm/loaders/KTX2Loader.js +193 -40
  217. package/examples/jsm/loaders/LDrawLoader.js +641 -495
  218. package/examples/jsm/loaders/LUT3dlLoader.js +2 -2
  219. package/examples/jsm/loaders/LUTCubeLoader.js +2 -2
  220. package/examples/jsm/loaders/LWOLoader.js +5 -3
  221. package/examples/jsm/loaders/LogLuvLoader.js +2 -2
  222. package/examples/jsm/loaders/MD2Loader.js +5 -5
  223. package/examples/jsm/loaders/MMDLoader.js +21 -3
  224. package/examples/jsm/loaders/MTLLoader.js +11 -4
  225. package/examples/jsm/loaders/NRRDLoader.js +1 -2
  226. package/examples/jsm/loaders/OBJLoader.js +17 -21
  227. package/examples/jsm/loaders/PCDLoader.js +82 -28
  228. package/examples/jsm/loaders/PDBLoader.js +11 -11
  229. package/examples/jsm/loaders/PLYLoader.js +13 -5
  230. package/examples/jsm/loaders/RGBELoader.js +4 -12
  231. package/examples/jsm/loaders/RGBMLoader.js +14 -11
  232. package/examples/jsm/loaders/STLLoader.js +1 -1
  233. package/examples/jsm/loaders/SVGLoader.js +24 -13
  234. package/examples/jsm/loaders/TIFFLoader.js +36 -0
  235. package/examples/jsm/loaders/TTFLoader.js +1 -1
  236. package/examples/jsm/loaders/USDZLoader.js +393 -0
  237. package/examples/jsm/loaders/VOXLoader.js +5 -5
  238. package/examples/jsm/loaders/VRMLLoader.js +23 -26
  239. package/examples/jsm/loaders/VTKLoader.js +257 -285
  240. package/examples/jsm/loaders/ifc/web-ifc-api.js +9 -8
  241. package/examples/jsm/loaders/lwo/LWO2Parser.js +10 -12
  242. package/examples/jsm/loaders/lwo/LWO3Parser.js +10 -12
  243. package/examples/jsm/materials/MeshGouraudMaterial.js +423 -0
  244. package/examples/jsm/math/ColorConverter.js +1 -49
  245. package/examples/jsm/math/ConvexHull.js +6 -15
  246. package/examples/jsm/math/Lut.js +35 -25
  247. package/examples/jsm/misc/GPUComputationRenderer.js +43 -0
  248. package/examples/jsm/misc/MorphAnimMesh.js +2 -2
  249. package/examples/jsm/misc/ProgressiveLightMap.js +1 -1
  250. package/examples/jsm/misc/Volume.js +204 -213
  251. package/examples/jsm/misc/VolumeSlice.js +96 -98
  252. package/examples/jsm/modifiers/EdgeSplitModifier.js +0 -13
  253. package/examples/jsm/modifiers/SimplifyModifier.js +2 -19
  254. package/examples/jsm/modifiers/TessellateModifier.js +0 -7
  255. package/examples/jsm/node-editor/NodeEditor.js +505 -182
  256. package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +14 -0
  257. package/examples/jsm/node-editor/accessors/NormalEditor.js +9 -9
  258. package/examples/jsm/node-editor/accessors/PositionEditor.js +9 -9
  259. package/examples/jsm/node-editor/accessors/UVEditor.js +7 -8
  260. package/examples/jsm/node-editor/core/BaseNode.js +89 -0
  261. package/examples/jsm/node-editor/core/DataFile.js +59 -0
  262. package/examples/jsm/node-editor/core/FileEditor.js +20 -0
  263. package/examples/jsm/node-editor/core/FileURLEditor.js +29 -0
  264. package/examples/jsm/node-editor/display/BlendEditor.js +10 -9
  265. package/examples/jsm/node-editor/display/NormalMapEditor.js +49 -0
  266. package/examples/jsm/node-editor/examples/animate-uv.json +1 -1
  267. package/examples/jsm/node-editor/examples/fake-top-light.json +1 -1
  268. package/examples/jsm/node-editor/examples/matcap.json +1 -0
  269. package/examples/jsm/node-editor/examples/oscillator-color.json +1 -1
  270. package/examples/jsm/node-editor/examples/rim.json +1 -1
  271. package/examples/jsm/node-editor/inputs/ColorEditor.js +18 -13
  272. package/examples/jsm/node-editor/inputs/FloatEditor.js +8 -9
  273. package/examples/jsm/node-editor/inputs/SliderEditor.js +6 -7
  274. package/examples/jsm/node-editor/inputs/TextureEditor.js +155 -0
  275. package/examples/jsm/node-editor/inputs/Vector2Editor.js +9 -9
  276. package/examples/jsm/node-editor/inputs/Vector3Editor.js +11 -11
  277. package/examples/jsm/node-editor/inputs/Vector4Editor.js +12 -12
  278. package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +87 -0
  279. package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +102 -0
  280. package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +31 -18
  281. package/examples/jsm/node-editor/math/AngleEditor.js +40 -0
  282. package/examples/jsm/node-editor/math/DotEditor.js +8 -9
  283. package/examples/jsm/node-editor/math/InvertEditor.js +8 -7
  284. package/examples/jsm/node-editor/math/LimiterEditor.js +28 -14
  285. package/examples/jsm/node-editor/math/NormalizeEditor.js +9 -7
  286. package/examples/jsm/node-editor/math/OperatorEditor.js +29 -16
  287. package/examples/jsm/node-editor/math/PowerEditor.js +20 -10
  288. package/examples/jsm/node-editor/math/TrigonometryEditor.js +15 -9
  289. package/examples/jsm/node-editor/procedural/CheckerEditor.js +7 -6
  290. package/examples/jsm/node-editor/scene/MeshEditor.js +99 -0
  291. package/examples/jsm/node-editor/scene/Object3DEditor.js +160 -0
  292. package/examples/jsm/node-editor/scene/PointsEditor.js +99 -0
  293. package/examples/jsm/node-editor/utils/JoinEditor.js +58 -0
  294. package/examples/jsm/node-editor/utils/OscillatorEditor.js +9 -8
  295. package/examples/jsm/node-editor/utils/PreviewEditor.js +166 -0
  296. package/examples/jsm/node-editor/utils/SplitEditor.js +39 -0
  297. package/examples/jsm/node-editor/utils/TimerEditor.js +7 -6
  298. package/examples/jsm/nodes/Nodes.js +313 -94
  299. package/examples/jsm/nodes/accessors/BufferNode.js +24 -0
  300. package/examples/jsm/nodes/accessors/CameraNode.js +27 -196
  301. package/examples/jsm/nodes/accessors/CubeTextureNode.js +107 -0
  302. package/examples/jsm/nodes/accessors/InstanceNode.js +58 -0
  303. package/examples/jsm/{renderers/nodes → nodes}/accessors/MaterialNode.js +49 -11
  304. package/examples/jsm/{renderers/nodes → nodes}/accessors/MaterialReferenceNode.js +0 -0
  305. package/examples/jsm/{renderers/nodes → nodes}/accessors/ModelNode.js +8 -0
  306. package/examples/jsm/{renderers/nodes → nodes}/accessors/ModelViewProjectionNode.js +0 -0
  307. package/examples/jsm/nodes/accessors/NormalNode.js +39 -99
  308. package/examples/jsm/{renderers/nodes → nodes}/accessors/Object3DNode.js +34 -17
  309. package/examples/jsm/{renderers/nodes → nodes}/accessors/PointUVNode.js +2 -2
  310. package/examples/jsm/nodes/accessors/PositionNode.js +41 -110
  311. package/examples/jsm/nodes/accessors/ReferenceNode.js +65 -0
  312. package/examples/jsm/nodes/accessors/ReflectVectorNode.js +31 -0
  313. package/examples/jsm/nodes/accessors/SkinningNode.js +102 -0
  314. package/examples/jsm/nodes/accessors/StorageBufferNode.js +21 -0
  315. package/examples/jsm/nodes/accessors/TextureNode.js +100 -0
  316. package/examples/jsm/nodes/accessors/UVNode.js +17 -43
  317. package/examples/jsm/nodes/accessors/UserDataNode.js +23 -0
  318. package/examples/jsm/nodes/core/ArrayUniformNode.js +23 -0
  319. package/examples/jsm/nodes/core/AttributeNode.js +33 -30
  320. package/examples/jsm/{renderers/nodes → nodes}/core/BypassNode.js +2 -2
  321. package/examples/jsm/nodes/core/CodeNode.js +50 -0
  322. package/examples/jsm/nodes/core/ConstNode.js +10 -106
  323. package/examples/jsm/{renderers/nodes → nodes}/core/ContextNode.js +17 -3
  324. package/examples/jsm/nodes/core/ExpressionNode.js +24 -7
  325. package/examples/jsm/nodes/core/FunctionCallNode.js +33 -59
  326. package/examples/jsm/nodes/core/FunctionNode.js +43 -216
  327. package/examples/jsm/nodes/core/InputNode.js +28 -60
  328. package/examples/jsm/nodes/core/InstanceIndexNode.js +21 -0
  329. package/examples/jsm/nodes/core/Node.js +230 -94
  330. package/examples/jsm/{renderers/nodes → nodes}/core/NodeAttribute.js +2 -2
  331. package/examples/jsm/nodes/core/NodeBuilder.js +388 -560
  332. package/examples/jsm/{renderers/nodes → nodes}/core/NodeCode.js +0 -0
  333. package/examples/jsm/nodes/core/NodeFrame.js +30 -23
  334. package/examples/jsm/{renderers/nodes → nodes}/core/NodeFunction.js +0 -0
  335. package/examples/jsm/{renderers/nodes → nodes}/core/NodeFunctionInput.js +0 -0
  336. package/examples/jsm/{renderers/nodes → nodes}/core/NodeKeywords.js +0 -0
  337. package/examples/jsm/{renderers/nodes → nodes}/core/NodeParser.js +0 -0
  338. package/examples/jsm/nodes/core/NodeUniform.js +8 -6
  339. package/examples/jsm/nodes/core/NodeUtils.js +90 -36
  340. package/examples/jsm/{renderers/nodes → nodes}/core/NodeVar.js +2 -2
  341. package/examples/jsm/{renderers/nodes/core/NodeVary.js → nodes/core/NodeVarying.js} +4 -4
  342. package/examples/jsm/{renderers/nodes → nodes}/core/PropertyNode.js +0 -0
  343. package/examples/jsm/nodes/core/TempNode.js +20 -112
  344. package/examples/jsm/nodes/core/UniformNode.js +46 -0
  345. package/examples/jsm/nodes/core/VarNode.js +58 -27
  346. package/examples/jsm/{renderers/nodes/core/VaryNode.js → nodes/core/VaryingNode.js} +7 -7
  347. package/examples/jsm/{renderers/nodes → nodes}/core/constants.js +0 -0
  348. package/examples/jsm/nodes/display/ColorAdjustmentNode.js +94 -0
  349. package/examples/jsm/{renderers/nodes → nodes}/display/ColorSpaceNode.js +10 -11
  350. package/examples/jsm/nodes/display/FrontFacingNode.js +21 -0
  351. package/examples/jsm/nodes/display/NormalMapNode.js +86 -0
  352. package/examples/jsm/nodes/display/ToneMappingNode.js +51 -0
  353. package/examples/jsm/nodes/fog/FogNode.js +31 -0
  354. package/examples/jsm/nodes/fog/FogRangeNode.js +27 -0
  355. package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +33 -0
  356. package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +9 -0
  357. package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +27 -0
  358. package/examples/jsm/nodes/functions/BSDF/D_GGX.js +18 -0
  359. package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +18 -0
  360. package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +18 -0
  361. package/examples/jsm/nodes/functions/PhysicalLightingModel.js +94 -0
  362. package/examples/jsm/nodes/functions/light/getDistanceAttenuation.js +22 -0
  363. package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +12 -0
  364. package/examples/jsm/nodes/functions/material/getRoughness.js +18 -0
  365. package/examples/jsm/nodes/geometry/RangeNode.js +109 -0
  366. package/examples/jsm/nodes/gpgpu/ComputeNode.js +65 -0
  367. package/examples/jsm/nodes/lighting/AONode.js +25 -0
  368. package/examples/jsm/nodes/lighting/AnalyticLightNode.js +37 -0
  369. package/examples/jsm/nodes/lighting/EnvironmentNode.js +66 -0
  370. package/examples/jsm/nodes/lighting/HemisphereLightNode.js +50 -0
  371. package/examples/jsm/nodes/lighting/LightingContextNode.js +75 -0
  372. package/examples/jsm/nodes/lighting/LightingNode.js +19 -0
  373. package/examples/jsm/nodes/lighting/LightsNode.js +120 -0
  374. package/examples/jsm/nodes/lighting/PunctualLightNode.js +68 -0
  375. package/examples/jsm/nodes/loaders/NodeLoader.js +107 -0
  376. package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +73 -0
  377. package/examples/jsm/nodes/loaders/NodeObjectLoader.js +70 -0
  378. package/examples/jsm/{renderers/nodes → nodes}/materials/LineBasicNodeMaterial.js +11 -4
  379. package/examples/jsm/nodes/materials/Materials.js +53 -0
  380. package/examples/jsm/{renderers/nodes → nodes}/materials/MeshBasicNodeMaterial.js +13 -4
  381. package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +70 -0
  382. package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +159 -22
  383. package/examples/jsm/nodes/materials/NodeMaterial.js +128 -113
  384. package/examples/jsm/{renderers/nodes → nodes}/materials/PointsNodeMaterial.js +13 -4
  385. package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +95 -16
  386. package/examples/jsm/nodes/materialx/Disclaimer.md +199 -0
  387. package/examples/jsm/nodes/materialx/functions/lib/mx_hsv.js +56 -0
  388. package/examples/jsm/nodes/materialx/functions/lib/mx_noise.js +607 -0
  389. package/examples/jsm/nodes/math/CondNode.js +26 -95
  390. package/examples/jsm/nodes/math/MathNode.js +156 -189
  391. package/examples/jsm/nodes/math/OperatorNode.js +161 -41
  392. package/examples/jsm/{renderers/nodes → nodes}/parsers/GLSLNodeFunction.js +23 -8
  393. package/examples/jsm/{renderers/nodes → nodes}/parsers/GLSLNodeParser.js +0 -0
  394. package/examples/jsm/{renderers/nodes → nodes}/parsers/WGSLNodeFunction.js +20 -5
  395. package/examples/jsm/{renderers/nodes → nodes}/parsers/WGSLNodeParser.js +0 -0
  396. package/examples/jsm/nodes/procedural/CheckerNode.js +16 -57
  397. package/examples/jsm/nodes/shadernode/ShaderNode.js +262 -0
  398. package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +277 -0
  399. package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +120 -0
  400. package/examples/jsm/{renderers/nodes → nodes}/utils/ArrayElementNode.js +3 -3
  401. package/examples/jsm/nodes/utils/ConvertNode.js +46 -0
  402. package/examples/jsm/nodes/utils/JoinNode.js +15 -87
  403. package/examples/jsm/nodes/utils/MatcapUVNode.js +25 -0
  404. package/examples/jsm/nodes/utils/MaxMipLevelNode.js +33 -0
  405. package/examples/jsm/{renderers/nodes → nodes}/utils/OscNode.js +18 -2
  406. package/examples/jsm/nodes/utils/RotateUVNode.js +32 -0
  407. package/examples/jsm/nodes/utils/SplitNode.js +102 -0
  408. package/examples/jsm/{renderers/nodes → nodes}/utils/SpriteSheetUVNode.js +3 -3
  409. package/examples/jsm/nodes/utils/TimerNode.js +30 -65
  410. package/examples/jsm/objects/GroundProjectedEnv.js +186 -0
  411. package/examples/jsm/objects/Lensflare.js +2 -2
  412. package/examples/jsm/objects/LightningStorm.js +4 -4
  413. package/examples/jsm/objects/MarchingCubes.js +5 -9
  414. package/examples/jsm/objects/Reflector.js +19 -8
  415. package/examples/jsm/objects/ReflectorForSSRPass.js +5 -7
  416. package/examples/jsm/objects/Refractor.js +19 -9
  417. package/examples/jsm/objects/ShadowMesh.js +10 -4
  418. package/examples/jsm/objects/Sky.js +2 -2
  419. package/examples/jsm/objects/Water.js +2 -2
  420. package/examples/jsm/objects/Water2.js +2 -2
  421. package/examples/jsm/offscreen/jank.js +5 -5
  422. package/examples/jsm/offscreen/offscreen.js +1 -1
  423. package/examples/jsm/offscreen/scene.js +11 -11
  424. package/examples/jsm/postprocessing/AdaptiveToneMappingPass.js +5 -7
  425. package/examples/jsm/postprocessing/AfterimagePass.js +0 -10
  426. package/examples/jsm/postprocessing/BloomPass.js +48 -20
  427. package/examples/jsm/postprocessing/DotScreenPass.js +1 -1
  428. package/examples/jsm/postprocessing/EffectComposer.js +1 -9
  429. package/examples/jsm/postprocessing/LUTPass.js +2 -2
  430. package/examples/jsm/postprocessing/OutlinePass.js +13 -18
  431. package/examples/jsm/postprocessing/SAOPass.js +2 -9
  432. package/examples/jsm/postprocessing/SSAARenderPass.js +1 -4
  433. package/examples/jsm/postprocessing/SSRPass.js +3 -9
  434. package/examples/jsm/postprocessing/TAARenderPass.js +4 -4
  435. package/examples/jsm/postprocessing/UnrealBloomPass.js +3 -8
  436. package/examples/jsm/renderers/CSS2DRenderer.js +23 -21
  437. package/examples/jsm/renderers/CSS3DRenderer.js +41 -36
  438. package/examples/jsm/renderers/Projector.js +103 -152
  439. package/examples/jsm/renderers/SVGRenderer.js +4 -4
  440. package/examples/jsm/renderers/webgl/nodes/SlotNode.js +9 -5
  441. package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +398 -183
  442. package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +19 -4
  443. package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +4 -4
  444. package/examples/jsm/renderers/webgpu/WebGPUBackground.js +55 -13
  445. package/examples/jsm/renderers/webgpu/WebGPUBindings.js +8 -7
  446. package/examples/jsm/renderers/webgpu/WebGPUBuffer.js +43 -0
  447. package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +20 -7
  448. package/examples/jsm/renderers/webgpu/WebGPUGeometries.js +6 -0
  449. package/examples/jsm/renderers/webgpu/WebGPUInfo.js +1 -1
  450. package/examples/jsm/renderers/webgpu/WebGPUObjects.js +1 -7
  451. package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +37 -39
  452. package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +18 -15
  453. package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +66 -0
  454. package/examples/jsm/renderers/webgpu/WebGPURenderer.js +103 -95
  455. package/examples/jsm/renderers/webgpu/WebGPUSampledTexture.js +14 -14
  456. package/examples/jsm/renderers/webgpu/WebGPUSampler.js +2 -2
  457. package/examples/jsm/renderers/webgpu/WebGPUStorageBuffer.js +5 -8
  458. package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +25 -20
  459. package/examples/jsm/renderers/webgpu/WebGPUTextures.js +37 -18
  460. package/examples/jsm/renderers/webgpu/WebGPUUniform.js +14 -14
  461. package/examples/jsm/renderers/webgpu/WebGPUUniformBuffer.js +5 -32
  462. package/examples/jsm/renderers/webgpu/WebGPUUniformsGroup.js +2 -2
  463. package/examples/jsm/renderers/webgpu/WebGPUUtils.js +81 -0
  464. package/examples/jsm/renderers/webgpu/constants.js +3 -2
  465. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +287 -300
  466. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeSampledTexture.js +20 -2
  467. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +24 -14
  468. package/examples/jsm/shaders/BlendShader.js +2 -1
  469. package/examples/jsm/shaders/CopyShader.js +4 -3
  470. package/examples/jsm/shaders/FXAAShader.js +219 -1051
  471. package/examples/jsm/shaders/FreiChenShader.js +1 -1
  472. package/examples/jsm/shaders/HorizontalBlurShader.js +1 -1
  473. package/examples/jsm/shaders/HorizontalTiltShiftShader.js +1 -1
  474. package/examples/jsm/shaders/LuminosityShader.js +1 -1
  475. package/examples/jsm/shaders/MMDToonShader.js +2 -2
  476. package/examples/jsm/shaders/SSRShader.js +3 -3
  477. package/examples/jsm/shaders/ToneMapShader.js +2 -2
  478. package/examples/jsm/utils/BufferGeometryUtils.js +293 -22
  479. package/examples/jsm/utils/GPUStatsPanel.js +1 -1
  480. package/examples/jsm/utils/GeometryUtils.js +17 -25
  481. package/examples/jsm/utils/LDrawUtils.js +24 -17
  482. package/examples/jsm/utils/PackedPhongMaterial.js +0 -1
  483. package/examples/jsm/utils/SceneUtils.js +73 -19
  484. package/examples/jsm/utils/SkeletonUtils.js +1 -1
  485. package/examples/jsm/utils/UVsDebug.js +23 -32
  486. package/examples/jsm/webxr/ARButton.js +14 -4
  487. package/examples/jsm/webxr/OculusHandPointerModel.js +9 -4
  488. package/examples/jsm/webxr/Text2D.js +1 -1
  489. package/examples/jsm/webxr/VRButton.js +16 -8
  490. package/examples/jsm/webxr/XRHandMeshModel.js +3 -7
  491. package/examples/jsm/webxr/XRHandModelFactory.js +3 -0
  492. package/package.json +57 -28
  493. package/src/Three.Legacy.js +164 -1809
  494. package/src/Three.js +9 -5
  495. package/src/animation/AnimationAction.js +6 -5
  496. package/src/animation/AnimationClip.js +2 -2
  497. package/src/animation/AnimationMixer.js +5 -3
  498. package/src/animation/AnimationObjectGroup.js +2 -2
  499. package/src/animation/AnimationUtils.js +204 -199
  500. package/src/animation/KeyframeTrack.js +1 -1
  501. package/src/animation/PropertyBinding.js +32 -23
  502. package/src/audio/PositionalAudio.js +8 -0
  503. package/src/cameras/ArrayCamera.js +2 -3
  504. package/src/cameras/Camera.js +2 -2
  505. package/src/cameras/CubeCamera.js +6 -8
  506. package/src/cameras/OrthographicCamera.js +2 -2
  507. package/src/cameras/PerspectiveCamera.js +2 -2
  508. package/src/constants.js +7 -6
  509. package/src/core/BufferAttribute.js +88 -123
  510. package/src/core/BufferGeometry.js +9 -47
  511. package/src/core/GLBufferAttribute.js +2 -2
  512. package/src/core/InstancedBufferAttribute.js +2 -12
  513. package/src/core/InstancedBufferGeometry.js +2 -2
  514. package/src/core/InstancedInterleavedBuffer.js +2 -2
  515. package/src/core/InterleavedBuffer.js +3 -3
  516. package/src/core/InterleavedBufferAttribute.js +61 -18
  517. package/src/core/Object3D.js +28 -8
  518. package/src/core/Raycaster.js +2 -2
  519. package/src/core/Uniform.js +0 -7
  520. package/src/core/UniformsGroup.js +92 -0
  521. package/src/extras/DataUtils.js +144 -41
  522. package/src/extras/Earcut.js +2 -2
  523. package/src/extras/PMREMGenerator.js +132 -104
  524. package/src/extras/core/CurvePath.js +3 -3
  525. package/src/extras/core/Path.js +1 -0
  526. package/src/extras/core/ShapePath.js +6 -10
  527. package/src/extras/curves/ArcCurve.js +2 -2
  528. package/src/extras/curves/CatmullRomCurve3.js +6 -4
  529. package/src/extras/curves/CubicBezierCurve.js +2 -2
  530. package/src/extras/curves/CubicBezierCurve3.js +2 -2
  531. package/src/extras/curves/EllipseCurve.js +2 -2
  532. package/src/extras/curves/LineCurve.js +2 -2
  533. package/src/extras/curves/LineCurve3.js +2 -1
  534. package/src/extras/curves/QuadraticBezierCurve.js +2 -2
  535. package/src/extras/curves/QuadraticBezierCurve3.js +2 -2
  536. package/src/extras/curves/SplineCurve.js +2 -2
  537. package/src/geometries/BoxGeometry.js +1 -1
  538. package/src/geometries/CapsuleGeometry.js +33 -0
  539. package/src/geometries/CircleGeometry.js +1 -1
  540. package/src/geometries/ConeGeometry.js +1 -1
  541. package/src/geometries/CylinderGeometry.js +2 -1
  542. package/src/geometries/DodecahedronGeometry.js +1 -1
  543. package/src/geometries/EdgesGeometry.js +5 -4
  544. package/src/geometries/ExtrudeGeometry.js +4 -11
  545. package/src/geometries/Geometries.js +1 -0
  546. package/src/geometries/IcosahedronGeometry.js +1 -1
  547. package/src/geometries/LatheGeometry.js +3 -3
  548. package/src/geometries/OctahedronGeometry.js +1 -1
  549. package/src/geometries/PlaneGeometry.js +2 -1
  550. package/src/geometries/PolyhedronGeometry.js +1 -1
  551. package/src/geometries/RingGeometry.js +1 -1
  552. package/src/geometries/ShapeGeometry.js +2 -1
  553. package/src/geometries/SphereGeometry.js +2 -1
  554. package/src/geometries/TetrahedronGeometry.js +1 -1
  555. package/src/geometries/TorusGeometry.js +2 -1
  556. package/src/geometries/TorusKnotGeometry.js +4 -3
  557. package/src/geometries/TubeGeometry.js +2 -1
  558. package/src/geometries/WireframeGeometry.js +4 -2
  559. package/src/helpers/BoxHelper.js +2 -2
  560. package/src/helpers/CameraHelper.js +97 -38
  561. package/src/helpers/DirectionalLightHelper.js +1 -0
  562. package/src/helpers/HemisphereLightHelper.js +1 -0
  563. package/src/helpers/PlaneHelper.js +6 -9
  564. package/src/helpers/PointLightHelper.js +1 -1
  565. package/src/helpers/PolarGridHelper.js +18 -14
  566. package/src/helpers/SkeletonHelper.js +3 -2
  567. package/src/helpers/SpotLightHelper.js +1 -0
  568. package/src/lights/AmbientLight.js +2 -2
  569. package/src/lights/AmbientLightProbe.js +2 -2
  570. package/src/lights/DirectionalLight.js +2 -2
  571. package/src/lights/DirectionalLightShadow.js +2 -2
  572. package/src/lights/HemisphereLight.js +4 -4
  573. package/src/lights/HemisphereLightProbe.js +2 -2
  574. package/src/lights/Light.js +4 -4
  575. package/src/lights/LightProbe.js +2 -2
  576. package/src/lights/PointLight.js +4 -4
  577. package/src/lights/PointLightShadow.js +2 -2
  578. package/src/lights/RectAreaLight.js +2 -2
  579. package/src/lights/SpotLight.js +6 -4
  580. package/src/lights/SpotLightShadow.js +2 -2
  581. package/src/loaders/FileLoader.js +35 -5
  582. package/src/loaders/ImageBitmapLoader.js +2 -2
  583. package/src/loaders/ImageLoader.js +1 -1
  584. package/src/loaders/LoaderUtils.js +1 -1
  585. package/src/loaders/LoadingManager.js +1 -1
  586. package/src/loaders/MaterialLoader.js +55 -8
  587. package/src/loaders/ObjectLoader.js +27 -66
  588. package/src/materials/LineBasicMaterial.js +6 -13
  589. package/src/materials/LineDashedMaterial.js +2 -15
  590. package/src/materials/Material.js +26 -24
  591. package/src/materials/Materials.js +39 -18
  592. package/src/materials/MeshBasicMaterial.js +6 -31
  593. package/src/materials/MeshDepthMaterial.js +2 -22
  594. package/src/materials/MeshDistanceMaterial.js +2 -22
  595. package/src/materials/MeshLambertMaterial.js +34 -35
  596. package/src/materials/MeshMatcapMaterial.js +6 -28
  597. package/src/materials/MeshNormalMaterial.js +2 -26
  598. package/src/materials/MeshPhongMaterial.js +6 -48
  599. package/src/materials/MeshPhysicalMaterial.js +32 -35
  600. package/src/materials/MeshStandardMaterial.js +6 -54
  601. package/src/materials/MeshToonMaterial.js +6 -38
  602. package/src/materials/PointsMaterial.js +6 -15
  603. package/src/materials/RawShaderMaterial.js +2 -2
  604. package/src/materials/ShaderMaterial.js +6 -24
  605. package/src/materials/ShadowMaterial.js +6 -8
  606. package/src/materials/SpriteMaterial.js +6 -12
  607. package/src/math/Box2.js +2 -2
  608. package/src/math/Box3.js +29 -15
  609. package/src/math/Color.js +87 -48
  610. package/src/math/ColorManagement.js +74 -0
  611. package/src/math/Euler.js +16 -14
  612. package/src/math/Interpolant.js +4 -9
  613. package/src/math/MathUtils.js +77 -14
  614. package/src/math/Matrix3.js +2 -8
  615. package/src/math/Matrix4.js +3 -28
  616. package/src/math/Plane.js +2 -2
  617. package/src/math/Quaternion.js +12 -23
  618. package/src/math/Spherical.js +1 -1
  619. package/src/math/SphericalHarmonics3.js +2 -2
  620. package/src/math/Vector2.js +5 -25
  621. package/src/math/Vector3.js +17 -47
  622. package/src/math/Vector4.js +5 -25
  623. package/src/math/interpolants/DiscreteInterpolant.js +1 -1
  624. package/src/objects/Bone.js +2 -2
  625. package/src/objects/Group.js +2 -2
  626. package/src/objects/InstancedMesh.js +4 -4
  627. package/src/objects/Line.js +76 -107
  628. package/src/objects/LineLoop.js +2 -2
  629. package/src/objects/LineSegments.js +15 -23
  630. package/src/objects/Mesh.js +82 -104
  631. package/src/objects/Points.js +32 -54
  632. package/src/objects/SkinnedMesh.js +5 -8
  633. package/src/objects/Sprite.js +4 -4
  634. package/src/renderers/WebGL3DRenderTarget.js +22 -0
  635. package/src/renderers/WebGLArrayRenderTarget.js +22 -0
  636. package/src/renderers/WebGLCubeRenderTarget.js +7 -14
  637. package/src/renderers/WebGLMultipleRenderTargets.js +8 -5
  638. package/src/renderers/WebGLRenderTarget.js +19 -18
  639. package/src/renderers/WebGLRenderer.js +195 -74
  640. package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +46 -0
  641. package/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +3 -5
  642. package/src/renderers/shaders/ShaderChunk/common.glsl.js +7 -5
  643. package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +35 -36
  644. package/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js +1 -1
  645. package/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +1 -1
  646. package/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +1 -1
  647. package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +3 -19
  648. package/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +2 -1
  649. package/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js +121 -0
  650. package/src/renderers/shaders/ShaderChunk/iridescence_pars_fragment.glsl.js +14 -0
  651. package/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -6
  652. package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +48 -1
  653. package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +0 -6
  654. package/src/renderers/shaders/ShaderChunk/lights_lambert_fragment.glsl.js +5 -0
  655. package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +30 -0
  656. package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +26 -1
  657. package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +56 -6
  658. package/src/renderers/shaders/ShaderChunk/morphcolor_vertex.glsl.js +24 -0
  659. package/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +1 -1
  660. package/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +7 -7
  661. package/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +1 -9
  662. package/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +2 -4
  663. package/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +1 -1
  664. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +18 -7
  665. package/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +8 -3
  666. package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +9 -6
  667. package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
  668. package/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js +16 -31
  669. package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +14 -10
  670. package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +1 -1
  671. package/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +1 -1
  672. package/src/renderers/shaders/ShaderChunk.js +10 -2
  673. package/src/renderers/shaders/ShaderLib/background.glsl.js +8 -0
  674. package/src/renderers/shaders/ShaderLib/linedashed.glsl.js +1 -0
  675. package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +3 -3
  676. package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +23 -50
  677. package/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +1 -0
  678. package/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +6 -0
  679. package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +1 -1
  680. package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +10 -0
  681. package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +1 -0
  682. package/src/renderers/shaders/ShaderLib/points.glsl.js +1 -0
  683. package/src/renderers/shaders/ShaderLib.js +37 -31
  684. package/src/renderers/shaders/UniformsLib.js +14 -13
  685. package/src/renderers/shaders/UniformsUtils.js +14 -0
  686. package/src/renderers/webgl/WebGLAttributes.js +6 -6
  687. package/src/renderers/webgl/WebGLBackground.js +7 -4
  688. package/src/renderers/webgl/WebGLBindingStates.js +57 -29
  689. package/src/renderers/webgl/WebGLGeometries.js +2 -2
  690. package/src/renderers/webgl/WebGLLights.js +37 -14
  691. package/src/renderers/webgl/WebGLMaterials.js +72 -187
  692. package/src/renderers/webgl/WebGLMorphtargets.js +43 -39
  693. package/src/renderers/webgl/WebGLProgram.js +63 -30
  694. package/src/renderers/webgl/WebGLPrograms.js +97 -104
  695. package/src/renderers/webgl/WebGLRenderLists.js +5 -4
  696. package/src/renderers/webgl/WebGLRenderStates.js +5 -4
  697. package/src/renderers/webgl/WebGLShaderCache.js +12 -8
  698. package/src/renderers/webgl/WebGLShadowMap.js +13 -20
  699. package/src/renderers/webgl/WebGLState.js +49 -2
  700. package/src/renderers/webgl/WebGLTextures.js +576 -386
  701. package/src/renderers/webgl/WebGLUniforms.js +81 -82
  702. package/src/renderers/webgl/WebGLUniformsGroups.js +372 -0
  703. package/src/renderers/webgl/WebGLUtils.js +14 -3
  704. package/src/renderers/webvr/WebVRManager.js +42 -9
  705. package/src/renderers/webvr/WebVRUtils.js +1 -1
  706. package/src/renderers/webxr/WebXRController.js +45 -37
  707. package/src/renderers/webxr/WebXRManager.js +110 -68
  708. package/src/scenes/Fog.js +2 -2
  709. package/src/scenes/FogExp2.js +2 -2
  710. package/src/scenes/Scene.js +18 -5
  711. package/src/textures/CanvasTexture.js +2 -2
  712. package/src/textures/CompressedTexture.js +2 -2
  713. package/src/textures/CubeTexture.js +2 -2
  714. package/src/textures/{DataTexture3D.js → Data3DTexture.js} +4 -4
  715. package/src/textures/{DataTexture2DArray.js → DataArrayTexture.js} +4 -4
  716. package/src/textures/DataTexture.js +2 -5
  717. package/src/textures/DepthTexture.js +5 -5
  718. package/src/textures/FramebufferTexture.js +2 -2
  719. package/src/textures/Source.js +123 -0
  720. package/src/textures/Texture.js +27 -97
  721. package/src/textures/VideoTexture.js +2 -2
  722. package/src/utils.js +15 -1
  723. package/examples/js/controls/experimental/CameraControls.js +0 -1044
  724. package/examples/js/csm/Frustum.js +0 -133
  725. package/examples/js/deprecated/Geometry.js +0 -1656
  726. package/examples/js/loaders/KTX2Loader.js +0 -566
  727. package/examples/js/loaders/VRMLoader.js +0 -72
  728. package/examples/js/objects/ReflectorRTT.js +0 -16
  729. package/examples/js/postprocessing/SSRrPass.js +0 -494
  730. package/examples/js/shaders/SSRrShader.js +0 -336
  731. package/examples/jsm/controls/experimental/CameraControls.js +0 -1248
  732. package/examples/jsm/deprecated/Geometry.js +0 -1869
  733. package/examples/jsm/libs/opentype.module.min.js +0 -119
  734. package/examples/jsm/loaders/NodeMaterialLoader.js +0 -263
  735. package/examples/jsm/loaders/VRMLoader.js +0 -78
  736. package/examples/jsm/nodes/accessors/ColorsNode.js +0 -56
  737. package/examples/jsm/nodes/accessors/LightNode.js +0 -60
  738. package/examples/jsm/nodes/accessors/ReflectNode.js +0 -157
  739. package/examples/jsm/nodes/accessors/ResolutionNode.js +0 -64
  740. package/examples/jsm/nodes/accessors/ScreenUVNode.js +0 -64
  741. package/examples/jsm/nodes/core/NodeLib.js +0 -64
  742. package/examples/jsm/nodes/core/StructNode.js +0 -106
  743. package/examples/jsm/nodes/effects/BlurNode.js +0 -171
  744. package/examples/jsm/nodes/effects/ColorAdjustmentNode.js +0 -140
  745. package/examples/jsm/nodes/effects/LuminanceNode.js +0 -75
  746. package/examples/jsm/nodes/inputs/BoolNode.js +0 -51
  747. package/examples/jsm/nodes/inputs/ColorNode.js +0 -58
  748. package/examples/jsm/nodes/inputs/CubeTextureNode.js +0 -108
  749. package/examples/jsm/nodes/inputs/FloatNode.js +0 -51
  750. package/examples/jsm/nodes/inputs/IntNode.js +0 -51
  751. package/examples/jsm/nodes/inputs/Matrix3Node.js +0 -63
  752. package/examples/jsm/nodes/inputs/Matrix4Node.js +0 -63
  753. package/examples/jsm/nodes/inputs/PropertyNode.js +0 -47
  754. package/examples/jsm/nodes/inputs/RTTNode.js +0 -157
  755. package/examples/jsm/nodes/inputs/ReflectorNode.js +0 -90
  756. package/examples/jsm/nodes/inputs/ScreenNode.js +0 -28
  757. package/examples/jsm/nodes/inputs/TextureNode.js +0 -116
  758. package/examples/jsm/nodes/inputs/Vector2Node.js +0 -57
  759. package/examples/jsm/nodes/inputs/Vector3Node.js +0 -58
  760. package/examples/jsm/nodes/inputs/Vector4Node.js +0 -59
  761. package/examples/jsm/nodes/materials/BasicNodeMaterial.js +0 -26
  762. package/examples/jsm/nodes/materials/PhongNodeMaterial.js +0 -36
  763. package/examples/jsm/nodes/materials/StandardNodeMaterial.js +0 -40
  764. package/examples/jsm/nodes/materials/nodes/BasicNode.js +0 -154
  765. package/examples/jsm/nodes/materials/nodes/MeshStandardNode.js +0 -116
  766. package/examples/jsm/nodes/materials/nodes/PhongNode.js +0 -409
  767. package/examples/jsm/nodes/materials/nodes/RawNode.js +0 -62
  768. package/examples/jsm/nodes/materials/nodes/SpriteNode.js +0 -236
  769. package/examples/jsm/nodes/materials/nodes/StandardNode.js +0 -609
  770. package/examples/jsm/nodes/misc/BumpMapNode.js +0 -163
  771. package/examples/jsm/nodes/misc/NormalMapNode.js +0 -138
  772. package/examples/jsm/nodes/misc/TextureCubeNode.js +0 -86
  773. package/examples/jsm/nodes/misc/TextureCubeUVNode.js +0 -280
  774. package/examples/jsm/nodes/postprocessing/NodePass.js +0 -93
  775. package/examples/jsm/nodes/postprocessing/NodePostProcessing.js +0 -148
  776. package/examples/jsm/nodes/procedural/Fractal3DNode.js +0 -104
  777. package/examples/jsm/nodes/procedural/Noise2DNode.js +0 -149
  778. package/examples/jsm/nodes/procedural/Noise3DNode.js +0 -141
  779. package/examples/jsm/nodes/utils/BypassNode.js +0 -85
  780. package/examples/jsm/nodes/utils/ColorSpaceNode.js +0 -145
  781. package/examples/jsm/nodes/utils/MaxMIPLevelNode.js +0 -56
  782. package/examples/jsm/nodes/utils/RemapNode.js +0 -155
  783. package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +0 -101
  784. package/examples/jsm/nodes/utils/SubSlotNode.js +0 -77
  785. package/examples/jsm/nodes/utils/SwitchNode.js +0 -103
  786. package/examples/jsm/nodes/utils/UVTransformNode.js +0 -66
  787. package/examples/jsm/nodes/utils/VelocityNode.js +0 -170
  788. package/examples/jsm/objects/ReflectorRTT.js +0 -15
  789. package/examples/jsm/package.json +0 -3
  790. package/examples/jsm/postprocessing/SSRrPass.js +0 -579
  791. package/examples/jsm/renderers/nodes/Nodes.js +0 -166
  792. package/examples/jsm/renderers/nodes/ShaderNode.js +0 -373
  793. package/examples/jsm/renderers/nodes/accessors/CameraNode.js +0 -68
  794. package/examples/jsm/renderers/nodes/accessors/NormalNode.js +0 -63
  795. package/examples/jsm/renderers/nodes/accessors/PositionNode.js +0 -67
  796. package/examples/jsm/renderers/nodes/accessors/ReferenceNode.js +0 -91
  797. package/examples/jsm/renderers/nodes/accessors/SkinningNode.js +0 -107
  798. package/examples/jsm/renderers/nodes/accessors/UVNode.js +0 -25
  799. package/examples/jsm/renderers/nodes/core/ArrayInputNode.js +0 -23
  800. package/examples/jsm/renderers/nodes/core/AttributeNode.js +0 -54
  801. package/examples/jsm/renderers/nodes/core/CodeNode.js +0 -78
  802. package/examples/jsm/renderers/nodes/core/ExpressionNode.js +0 -32
  803. package/examples/jsm/renderers/nodes/core/FunctionCallNode.js +0 -67
  804. package/examples/jsm/renderers/nodes/core/FunctionNode.js +0 -87
  805. package/examples/jsm/renderers/nodes/core/InputNode.js +0 -66
  806. package/examples/jsm/renderers/nodes/core/Node.js +0 -104
  807. package/examples/jsm/renderers/nodes/core/NodeBuilder.js +0 -633
  808. package/examples/jsm/renderers/nodes/core/NodeFrame.js +0 -59
  809. package/examples/jsm/renderers/nodes/core/NodeUniform.js +0 -28
  810. package/examples/jsm/renderers/nodes/core/TempNode.js +0 -43
  811. package/examples/jsm/renderers/nodes/core/VarNode.js +0 -51
  812. package/examples/jsm/renderers/nodes/display/NormalMapNode.js +0 -87
  813. package/examples/jsm/renderers/nodes/functions/BSDFs.js +0 -122
  814. package/examples/jsm/renderers/nodes/functions/PhysicalMaterialFunctions.js +0 -27
  815. package/examples/jsm/renderers/nodes/inputs/BufferNode.js +0 -25
  816. package/examples/jsm/renderers/nodes/inputs/ColorNode.js +0 -18
  817. package/examples/jsm/renderers/nodes/inputs/FloatNode.js +0 -17
  818. package/examples/jsm/renderers/nodes/inputs/IntNode.js +0 -17
  819. package/examples/jsm/renderers/nodes/inputs/Matrix3Node.js +0 -18
  820. package/examples/jsm/renderers/nodes/inputs/Matrix4Node.js +0 -18
  821. package/examples/jsm/renderers/nodes/inputs/TextureNode.js +0 -74
  822. package/examples/jsm/renderers/nodes/inputs/Vector2Node.js +0 -18
  823. package/examples/jsm/renderers/nodes/inputs/Vector3Node.js +0 -18
  824. package/examples/jsm/renderers/nodes/inputs/Vector4Node.js +0 -18
  825. package/examples/jsm/renderers/nodes/lights/LightContextNode.js +0 -59
  826. package/examples/jsm/renderers/nodes/lights/LightNode.js +0 -79
  827. package/examples/jsm/renderers/nodes/lights/LightsNode.js +0 -44
  828. package/examples/jsm/renderers/nodes/materials/Materials.js +0 -11
  829. package/examples/jsm/renderers/nodes/materials/MeshStandardNodeMaterial.js +0 -63
  830. package/examples/jsm/renderers/nodes/math/CondNode.js +0 -60
  831. package/examples/jsm/renderers/nodes/math/MathNode.js +0 -242
  832. package/examples/jsm/renderers/nodes/math/OperatorNode.js +0 -174
  833. package/examples/jsm/renderers/nodes/procedural/CheckerNode.js +0 -36
  834. package/examples/jsm/renderers/nodes/utils/ConvertNode.js +0 -33
  835. package/examples/jsm/renderers/nodes/utils/JoinNode.js +0 -42
  836. package/examples/jsm/renderers/nodes/utils/SplitNode.js +0 -55
  837. package/examples/jsm/renderers/nodes/utils/TimerNode.js +0 -47
  838. package/examples/jsm/renderers/webgl/nodes/WebGLPhysicalContextNode.js +0 -45
  839. package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +0 -20
  840. package/examples/jsm/shaders/SSRrShader.js +0 -307
  841. package/src/renderers/WebGLMultisampleRenderTarget.js +0 -33
  842. package/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
@@ -130,9 +130,9 @@ class EXRLoader extends DataTextureLoader {
130
130
 
131
131
  function reverseLutFromBitmap( bitmap, lut ) {
132
132
 
133
- var k = 0;
133
+ let k = 0;
134
134
 
135
- for ( var i = 0; i < USHORT_RANGE; ++ i ) {
135
+ for ( let i = 0; i < USHORT_RANGE; ++ i ) {
136
136
 
137
137
  if ( ( i == 0 ) || ( bitmap[ i >> 3 ] & ( 1 << ( i & 7 ) ) ) ) {
138
138
 
@@ -142,7 +142,7 @@ class EXRLoader extends DataTextureLoader {
142
142
 
143
143
  }
144
144
 
145
- var n = k - 1;
145
+ const n = k - 1;
146
146
 
147
147
  while ( k < USHORT_RANGE ) lut[ k ++ ] = 0;
148
148
 
@@ -152,7 +152,7 @@ class EXRLoader extends DataTextureLoader {
152
152
 
153
153
  function hufClearDecTable( hdec ) {
154
154
 
155
- for ( var i = 0; i < HUF_DECSIZE; i ++ ) {
155
+ for ( let i = 0; i < HUF_DECSIZE; i ++ ) {
156
156
 
157
157
  hdec[ i ] = {};
158
158
  hdec[ i ].len = 0;
@@ -186,33 +186,33 @@ class EXRLoader extends DataTextureLoader {
186
186
 
187
187
  function hufCanonicalCodeTable( hcode ) {
188
188
 
189
- for ( var i = 0; i <= 58; ++ i ) hufTableBuffer[ i ] = 0;
190
- for ( var i = 0; i < HUF_ENCSIZE; ++ i ) hufTableBuffer[ hcode[ i ] ] += 1;
189
+ for ( let i = 0; i <= 58; ++ i ) hufTableBuffer[ i ] = 0;
190
+ for ( let i = 0; i < HUF_ENCSIZE; ++ i ) hufTableBuffer[ hcode[ i ] ] += 1;
191
191
 
192
- var c = 0;
192
+ let c = 0;
193
193
 
194
- for ( var i = 58; i > 0; -- i ) {
194
+ for ( let i = 58; i > 0; -- i ) {
195
195
 
196
- var nc = ( ( c + hufTableBuffer[ i ] ) >> 1 );
196
+ const nc = ( ( c + hufTableBuffer[ i ] ) >> 1 );
197
197
  hufTableBuffer[ i ] = c;
198
198
  c = nc;
199
199
 
200
200
  }
201
201
 
202
- for ( var i = 0; i < HUF_ENCSIZE; ++ i ) {
202
+ for ( let i = 0; i < HUF_ENCSIZE; ++ i ) {
203
203
 
204
- var l = hcode[ i ];
204
+ const l = hcode[ i ];
205
205
  if ( l > 0 ) hcode[ i ] = l | ( hufTableBuffer[ l ] ++ << 6 );
206
206
 
207
207
  }
208
208
 
209
209
  }
210
210
 
211
- function hufUnpackEncTable( uInt8Array, inDataView, inOffset, ni, im, iM, hcode ) {
211
+ function hufUnpackEncTable( uInt8Array, inOffset, ni, im, iM, hcode ) {
212
212
 
213
- var p = inOffset;
214
- var c = 0;
215
- var lc = 0;
213
+ const p = inOffset;
214
+ let c = 0;
215
+ let lc = 0;
216
216
 
217
217
  for ( ; im <= iM; im ++ ) {
218
218
 
@@ -220,7 +220,7 @@ class EXRLoader extends DataTextureLoader {
220
220
 
221
221
  getBits( 6, c, lc, uInt8Array, p );
222
222
 
223
- var l = getBitsReturn.l;
223
+ const l = getBitsReturn.l;
224
224
  c = getBitsReturn.c;
225
225
  lc = getBitsReturn.lc;
226
226
 
@@ -236,7 +236,7 @@ class EXRLoader extends DataTextureLoader {
236
236
 
237
237
  getBits( 8, c, lc, uInt8Array, p );
238
238
 
239
- var zerun = getBitsReturn.l + SHORTEST_LONG_RUN;
239
+ let zerun = getBitsReturn.l + SHORTEST_LONG_RUN;
240
240
  c = getBitsReturn.c;
241
241
  lc = getBitsReturn.lc;
242
242
 
@@ -252,7 +252,7 @@ class EXRLoader extends DataTextureLoader {
252
252
 
253
253
  } else if ( l >= SHORT_ZEROCODE_RUN ) {
254
254
 
255
- var zerun = l - SHORT_ZEROCODE_RUN + 2;
255
+ let zerun = l - SHORT_ZEROCODE_RUN + 2;
256
256
 
257
257
  if ( im + zerun > iM + 1 ) {
258
258
 
@@ -288,8 +288,8 @@ class EXRLoader extends DataTextureLoader {
288
288
 
289
289
  for ( ; im <= iM; im ++ ) {
290
290
 
291
- var c = hufCode( hcode[ im ] );
292
- var l = hufLength( hcode[ im ] );
291
+ const c = hufCode( hcode[ im ] );
292
+ const l = hufLength( hcode[ im ] );
293
293
 
294
294
  if ( c >> l ) {
295
295
 
@@ -299,7 +299,7 @@ class EXRLoader extends DataTextureLoader {
299
299
 
300
300
  if ( l > HUF_DECBITS ) {
301
301
 
302
- var pl = hdecod[ ( c >> ( l - HUF_DECBITS ) ) ];
302
+ const pl = hdecod[ ( c >> ( l - HUF_DECBITS ) ) ];
303
303
 
304
304
  if ( pl.len ) {
305
305
 
@@ -311,10 +311,10 @@ class EXRLoader extends DataTextureLoader {
311
311
 
312
312
  if ( pl.p ) {
313
313
 
314
- var p = pl.p;
314
+ const p = pl.p;
315
315
  pl.p = new Array( pl.lit );
316
316
 
317
- for ( var i = 0; i < pl.lit - 1; ++ i ) {
317
+ for ( let i = 0; i < pl.lit - 1; ++ i ) {
318
318
 
319
319
  pl.p[ i ] = p[ i ];
320
320
 
@@ -330,11 +330,11 @@ class EXRLoader extends DataTextureLoader {
330
330
 
331
331
  } else if ( l ) {
332
332
 
333
- var plOffset = 0;
333
+ let plOffset = 0;
334
334
 
335
- for ( var i = 1 << ( HUF_DECBITS - l ); i > 0; i -- ) {
335
+ for ( let i = 1 << ( HUF_DECBITS - l ); i > 0; i -- ) {
336
336
 
337
- var pl = hdecod[ ( c << ( HUF_DECBITS - l ) ) + plOffset ];
337
+ const pl = hdecod[ ( c << ( HUF_DECBITS - l ) ) + plOffset ];
338
338
 
339
339
  if ( pl.len || pl.p ) {
340
340
 
@@ -371,7 +371,7 @@ class EXRLoader extends DataTextureLoader {
371
371
 
372
372
  const getCodeReturn = { c: 0, lc: 0 };
373
373
 
374
- function getCode( po, rlc, c, lc, uInt8Array, inDataView, inOffset, outBuffer, outBufferOffset, outBufferEndOffset ) {
374
+ function getCode( po, rlc, c, lc, uInt8Array, inOffset, outBuffer, outBufferOffset, outBufferEndOffset ) {
375
375
 
376
376
  if ( po == rlc ) {
377
377
 
@@ -385,8 +385,8 @@ class EXRLoader extends DataTextureLoader {
385
385
 
386
386
  lc -= 8;
387
387
 
388
- var cs = ( c >> lc );
389
- var cs = new Uint8Array( [ cs ] )[ 0 ];
388
+ let cs = ( c >> lc );
389
+ cs = new Uint8Array( [ cs ] )[ 0 ];
390
390
 
391
391
  if ( outBufferOffset.value + cs > outBufferEndOffset ) {
392
392
 
@@ -394,7 +394,7 @@ class EXRLoader extends DataTextureLoader {
394
394
 
395
395
  }
396
396
 
397
- var s = outBuffer[ outBufferOffset.value - 1 ];
397
+ const s = outBuffer[ outBufferOffset.value - 1 ];
398
398
 
399
399
  while ( cs -- > 0 ) {
400
400
 
@@ -425,7 +425,7 @@ class EXRLoader extends DataTextureLoader {
425
425
 
426
426
  function Int16( value ) {
427
427
 
428
- var ref = UInt16( value );
428
+ const ref = UInt16( value );
429
429
  return ( ref > 0x7FFF ) ? ref - 0x10000 : ref;
430
430
 
431
431
  }
@@ -434,14 +434,14 @@ class EXRLoader extends DataTextureLoader {
434
434
 
435
435
  function wdec14( l, h ) {
436
436
 
437
- var ls = Int16( l );
438
- var hs = Int16( h );
437
+ const ls = Int16( l );
438
+ const hs = Int16( h );
439
439
 
440
- var hi = hs;
441
- var ai = ls + ( hi & 1 ) + ( hi >> 1 );
440
+ const hi = hs;
441
+ const ai = ls + ( hi & 1 ) + ( hi >> 1 );
442
442
 
443
- var as = ai;
444
- var bs = ai - hi;
443
+ const as = ai;
444
+ const bs = ai - hi;
445
445
 
446
446
  wdec14Return.a = as;
447
447
  wdec14Return.b = bs;
@@ -450,11 +450,11 @@ class EXRLoader extends DataTextureLoader {
450
450
 
451
451
  function wdec16( l, h ) {
452
452
 
453
- var m = UInt16( l );
454
- var d = UInt16( h );
453
+ const m = UInt16( l );
454
+ const d = UInt16( h );
455
455
 
456
- var bb = ( m - ( d >> 1 ) ) & MOD_MASK;
457
- var aa = ( d + bb - A_OFFSET ) & MOD_MASK;
456
+ const bb = ( m - ( d >> 1 ) ) & MOD_MASK;
457
+ const aa = ( d + bb - A_OFFSET ) & MOD_MASK;
458
458
 
459
459
  wdec14Return.a = aa;
460
460
  wdec14Return.b = bb;
@@ -463,10 +463,11 @@ class EXRLoader extends DataTextureLoader {
463
463
 
464
464
  function wav2Decode( buffer, j, nx, ox, ny, oy, mx ) {
465
465
 
466
- var w14 = mx < ( 1 << 14 );
467
- var n = ( nx > ny ) ? ny : nx;
468
- var p = 1;
469
- var p2;
466
+ const w14 = mx < ( 1 << 14 );
467
+ const n = ( nx > ny ) ? ny : nx;
468
+ let p = 1;
469
+ let p2;
470
+ let py;
470
471
 
471
472
  while ( p <= n ) p <<= 1;
472
473
 
@@ -476,24 +477,24 @@ class EXRLoader extends DataTextureLoader {
476
477
 
477
478
  while ( p >= 1 ) {
478
479
 
479
- var py = 0;
480
- var ey = py + oy * ( ny - p2 );
481
- var oy1 = oy * p;
482
- var oy2 = oy * p2;
483
- var ox1 = ox * p;
484
- var ox2 = ox * p2;
485
- var i00, i01, i10, i11;
480
+ py = 0;
481
+ const ey = py + oy * ( ny - p2 );
482
+ const oy1 = oy * p;
483
+ const oy2 = oy * p2;
484
+ const ox1 = ox * p;
485
+ const ox2 = ox * p2;
486
+ let i00, i01, i10, i11;
486
487
 
487
488
  for ( ; py <= ey; py += oy2 ) {
488
489
 
489
- var px = py;
490
- var ex = py + ox * ( nx - p2 );
490
+ let px = py;
491
+ const ex = py + ox * ( nx - p2 );
491
492
 
492
493
  for ( ; px <= ex; px += ox2 ) {
493
494
 
494
- var p01 = px + ox1;
495
- var p10 = px + oy1;
496
- var p11 = p10 + ox1;
495
+ const p01 = px + ox1;
496
+ const p10 = px + oy1;
497
+ const p11 = p10 + ox1;
497
498
 
498
499
  if ( w14 ) {
499
500
 
@@ -546,7 +547,7 @@ class EXRLoader extends DataTextureLoader {
546
547
 
547
548
  if ( nx & p ) {
548
549
 
549
- var p10 = px + oy1;
550
+ const p10 = px + oy1;
550
551
 
551
552
  if ( w14 )
552
553
  wdec14( buffer[ px + j ], buffer[ p10 + j ] );
@@ -564,12 +565,12 @@ class EXRLoader extends DataTextureLoader {
564
565
 
565
566
  if ( ny & p ) {
566
567
 
567
- var px = py;
568
- var ex = py + ox * ( nx - p2 );
568
+ let px = py;
569
+ const ex = py + ox * ( nx - p2 );
569
570
 
570
571
  for ( ; px <= ex; px += ox2 ) {
571
572
 
572
- var p01 = px + ox1;
573
+ const p01 = px + ox1;
573
574
 
574
575
  if ( w14 )
575
576
  wdec14( buffer[ px + j ], buffer[ p01 + j ] );
@@ -594,12 +595,12 @@ class EXRLoader extends DataTextureLoader {
594
595
 
595
596
  }
596
597
 
597
- function hufDecode( encodingTable, decodingTable, uInt8Array, inDataView, inOffset, ni, rlc, no, outBuffer, outOffset ) {
598
+ function hufDecode( encodingTable, decodingTable, uInt8Array, inOffset, ni, rlc, no, outBuffer, outOffset ) {
598
599
 
599
- var c = 0;
600
- var lc = 0;
601
- var outBufferEndOffset = no;
602
- var inOffsetEnd = Math.trunc( inOffset.value + ( ni + 7 ) / 8 );
600
+ let c = 0;
601
+ let lc = 0;
602
+ const outBufferEndOffset = no;
603
+ const inOffsetEnd = Math.trunc( inOffset.value + ( ni + 7 ) / 8 );
603
604
 
604
605
  while ( inOffset.value < inOffsetEnd ) {
605
606
 
@@ -610,14 +611,14 @@ class EXRLoader extends DataTextureLoader {
610
611
 
611
612
  while ( lc >= HUF_DECBITS ) {
612
613
 
613
- var index = ( c >> ( lc - HUF_DECBITS ) ) & HUF_DECMASK;
614
- var pl = decodingTable[ index ];
614
+ const index = ( c >> ( lc - HUF_DECBITS ) ) & HUF_DECMASK;
615
+ const pl = decodingTable[ index ];
615
616
 
616
617
  if ( pl.len ) {
617
618
 
618
619
  lc -= pl.len;
619
620
 
620
- getCode( pl.lit, rlc, c, lc, uInt8Array, inDataView, inOffset, outBuffer, outOffset, outBufferEndOffset );
621
+ getCode( pl.lit, rlc, c, lc, uInt8Array, inOffset, outBuffer, outOffset, outBufferEndOffset );
621
622
 
622
623
  c = getCodeReturn.c;
623
624
  lc = getCodeReturn.lc;
@@ -630,11 +631,11 @@ class EXRLoader extends DataTextureLoader {
630
631
 
631
632
  }
632
633
 
633
- var j;
634
+ let j;
634
635
 
635
636
  for ( j = 0; j < pl.lit; j ++ ) {
636
637
 
637
- var l = hufLength( encodingTable[ pl.p[ j ] ] );
638
+ const l = hufLength( encodingTable[ pl.p[ j ] ] );
638
639
 
639
640
  while ( lc < l && inOffset.value < inOffsetEnd ) {
640
641
 
@@ -651,7 +652,7 @@ class EXRLoader extends DataTextureLoader {
651
652
 
652
653
  lc -= l;
653
654
 
654
- getCode( pl.p[ j ], rlc, c, lc, uInt8Array, inDataView, inOffset, outBuffer, outOffset, outBufferEndOffset );
655
+ getCode( pl.p[ j ], rlc, c, lc, uInt8Array, inOffset, outBuffer, outOffset, outBufferEndOffset );
655
656
 
656
657
  c = getCodeReturn.c;
657
658
  lc = getCodeReturn.lc;
@@ -676,20 +677,20 @@ class EXRLoader extends DataTextureLoader {
676
677
 
677
678
  }
678
679
 
679
- var i = ( 8 - ni ) & 7;
680
+ const i = ( 8 - ni ) & 7;
680
681
 
681
682
  c >>= i;
682
683
  lc -= i;
683
684
 
684
685
  while ( lc > 0 ) {
685
686
 
686
- var pl = decodingTable[ ( c << ( HUF_DECBITS - lc ) ) & HUF_DECMASK ];
687
+ const pl = decodingTable[ ( c << ( HUF_DECBITS - lc ) ) & HUF_DECMASK ];
687
688
 
688
689
  if ( pl.len ) {
689
690
 
690
691
  lc -= pl.len;
691
692
 
692
- getCode( pl.lit, rlc, c, lc, uInt8Array, inDataView, inOffset, outBuffer, outOffset, outBufferEndOffset );
693
+ getCode( pl.lit, rlc, c, lc, uInt8Array, inOffset, outBuffer, outOffset, outBufferEndOffset );
693
694
 
694
695
  c = getCodeReturn.c;
695
696
  lc = getCodeReturn.lc;
@@ -708,15 +709,15 @@ class EXRLoader extends DataTextureLoader {
708
709
 
709
710
  function hufUncompress( uInt8Array, inDataView, inOffset, nCompressed, outBuffer, nRaw ) {
710
711
 
711
- var outOffset = { value: 0 };
712
- var initialInOffset = inOffset.value;
712
+ const outOffset = { value: 0 };
713
+ const initialInOffset = inOffset.value;
713
714
 
714
- var im = parseUint32( inDataView, inOffset );
715
- var iM = parseUint32( inDataView, inOffset );
715
+ const im = parseUint32( inDataView, inOffset );
716
+ const iM = parseUint32( inDataView, inOffset );
716
717
 
717
718
  inOffset.value += 4;
718
719
 
719
- var nBits = parseUint32( inDataView, inOffset );
720
+ const nBits = parseUint32( inDataView, inOffset );
720
721
 
721
722
  inOffset.value += 4;
722
723
 
@@ -726,14 +727,14 @@ class EXRLoader extends DataTextureLoader {
726
727
 
727
728
  }
728
729
 
729
- var freq = new Array( HUF_ENCSIZE );
730
- var hdec = new Array( HUF_DECSIZE );
730
+ const freq = new Array( HUF_ENCSIZE );
731
+ const hdec = new Array( HUF_DECSIZE );
731
732
 
732
733
  hufClearDecTable( hdec );
733
734
 
734
- var ni = nCompressed - ( inOffset.value - initialInOffset );
735
+ const ni = nCompressed - ( inOffset.value - initialInOffset );
735
736
 
736
- hufUnpackEncTable( uInt8Array, inDataView, inOffset, ni, im, iM, freq );
737
+ hufUnpackEncTable( uInt8Array, inOffset, ni, im, iM, freq );
737
738
 
738
739
  if ( nBits > 8 * ( nCompressed - ( inOffset.value - initialInOffset ) ) ) {
739
740
 
@@ -743,13 +744,13 @@ class EXRLoader extends DataTextureLoader {
743
744
 
744
745
  hufBuildDecTable( freq, im, iM, hdec );
745
746
 
746
- hufDecode( freq, hdec, uInt8Array, inDataView, inOffset, nBits, iM, nRaw, outBuffer, outOffset );
747
+ hufDecode( freq, hdec, uInt8Array, inOffset, nBits, iM, nRaw, outBuffer, outOffset );
747
748
 
748
749
  }
749
750
 
750
751
  function applyLut( lut, data, nData ) {
751
752
 
752
- for ( var i = 0; i < nData; ++ i ) {
753
+ for ( let i = 0; i < nData; ++ i ) {
753
754
 
754
755
  data[ i ] = lut[ data[ i ] ];
755
756
 
@@ -759,9 +760,9 @@ class EXRLoader extends DataTextureLoader {
759
760
 
760
761
  function predictor( source ) {
761
762
 
762
- for ( var t = 1; t < source.length; t ++ ) {
763
+ for ( let t = 1; t < source.length; t ++ ) {
763
764
 
764
- var d = source[ t - 1 ] + source[ t ] - 128;
765
+ const d = source[ t - 1 ] + source[ t ] - 128;
765
766
  source[ t ] = d;
766
767
 
767
768
  }
@@ -770,10 +771,10 @@ class EXRLoader extends DataTextureLoader {
770
771
 
771
772
  function interleaveScalar( source, out ) {
772
773
 
773
- var t1 = 0;
774
- var t2 = Math.floor( ( source.length + 1 ) / 2 );
775
- var s = 0;
776
- var stop = source.length - 1;
774
+ let t1 = 0;
775
+ let t2 = Math.floor( ( source.length + 1 ) / 2 );
776
+ let s = 0;
777
+ const stop = source.length - 1;
777
778
 
778
779
  while ( true ) {
779
780
 
@@ -789,22 +790,22 @@ class EXRLoader extends DataTextureLoader {
789
790
 
790
791
  function decodeRunLength( source ) {
791
792
 
792
- var size = source.byteLength;
793
- var out = new Array();
794
- var p = 0;
793
+ let size = source.byteLength;
794
+ const out = new Array();
795
+ let p = 0;
795
796
 
796
- var reader = new DataView( source );
797
+ const reader = new DataView( source );
797
798
 
798
799
  while ( size > 0 ) {
799
800
 
800
- var l = reader.getInt8( p ++ );
801
+ const l = reader.getInt8( p ++ );
801
802
 
802
803
  if ( l < 0 ) {
803
804
 
804
- var count = - l;
805
+ const count = - l;
805
806
  size -= count + 1;
806
807
 
807
- for ( var i = 0; i < count; i ++ ) {
808
+ for ( let i = 0; i < count; i ++ ) {
808
809
 
809
810
  out.push( reader.getUint8( p ++ ) );
810
811
 
@@ -813,12 +814,12 @@ class EXRLoader extends DataTextureLoader {
813
814
 
814
815
  } else {
815
816
 
816
- var count = l;
817
+ const count = l;
817
818
  size -= 2;
818
819
 
819
- var value = reader.getUint8( p ++ );
820
+ const value = reader.getUint8( p ++ );
820
821
 
821
- for ( var i = 0; i < count + 1; i ++ ) {
822
+ for ( let i = 0; i < count + 1; i ++ ) {
822
823
 
823
824
  out.push( value );
824
825
 
@@ -834,25 +835,25 @@ class EXRLoader extends DataTextureLoader {
834
835
 
835
836
  function lossyDctDecode( cscSet, rowPtrs, channelData, acBuffer, dcBuffer, outBuffer ) {
836
837
 
837
- var dataView = new DataView( outBuffer.buffer );
838
+ let dataView = new DataView( outBuffer.buffer );
838
839
 
839
- var width = channelData[ cscSet.idx[ 0 ] ].width;
840
- var height = channelData[ cscSet.idx[ 0 ] ].height;
840
+ const width = channelData[ cscSet.idx[ 0 ] ].width;
841
+ const height = channelData[ cscSet.idx[ 0 ] ].height;
841
842
 
842
- var numComp = 3;
843
+ const numComp = 3;
843
844
 
844
- var numFullBlocksX = Math.floor( width / 8.0 );
845
- var numBlocksX = Math.ceil( width / 8.0 );
846
- var numBlocksY = Math.ceil( height / 8.0 );
847
- var leftoverX = width - ( numBlocksX - 1 ) * 8;
848
- var leftoverY = height - ( numBlocksY - 1 ) * 8;
845
+ const numFullBlocksX = Math.floor( width / 8.0 );
846
+ const numBlocksX = Math.ceil( width / 8.0 );
847
+ const numBlocksY = Math.ceil( height / 8.0 );
848
+ const leftoverX = width - ( numBlocksX - 1 ) * 8;
849
+ const leftoverY = height - ( numBlocksY - 1 ) * 8;
849
850
 
850
- var currAcComp = { value: 0 };
851
- var currDcComp = new Array( numComp );
852
- var dctData = new Array( numComp );
853
- var halfZigBlock = new Array( numComp );
854
- var rowBlock = new Array( numComp );
855
- var rowOffsets = new Array( numComp );
851
+ const currAcComp = { value: 0 };
852
+ const currDcComp = new Array( numComp );
853
+ const dctData = new Array( numComp );
854
+ const halfZigBlock = new Array( numComp );
855
+ const rowBlock = new Array( numComp );
856
+ const rowOffsets = new Array( numComp );
856
857
 
857
858
  for ( let comp = 0; comp < numComp; ++ comp ) {
858
859
 
@@ -866,12 +867,12 @@ class EXRLoader extends DataTextureLoader {
866
867
 
867
868
  for ( let blocky = 0; blocky < numBlocksY; ++ blocky ) {
868
869
 
869
- var maxY = 8;
870
+ let maxY = 8;
870
871
 
871
872
  if ( blocky == numBlocksY - 1 )
872
873
  maxY = leftoverY;
873
874
 
874
- var maxX = 8;
875
+ let maxX = 8;
875
876
 
876
877
  for ( let blockx = 0; blockx < numBlocksX; ++ blockx ) {
877
878
 
@@ -960,28 +961,28 @@ class EXRLoader extends DataTextureLoader {
960
961
 
961
962
  } // blocky
962
963
 
963
- var halfRow = new Uint16Array( width );
964
- var dataView = new DataView( outBuffer.buffer );
964
+ const halfRow = new Uint16Array( width );
965
+ dataView = new DataView( outBuffer.buffer );
965
966
 
966
967
  // convert channels back to float, if needed
967
- for ( var comp = 0; comp < numComp; ++ comp ) {
968
+ for ( let comp = 0; comp < numComp; ++ comp ) {
968
969
 
969
970
  channelData[ cscSet.idx[ comp ] ].decoded = true;
970
- var type = channelData[ cscSet.idx[ comp ] ].type;
971
+ const type = channelData[ cscSet.idx[ comp ] ].type;
971
972
 
972
973
  if ( channelData[ comp ].type != 2 ) continue;
973
974
 
974
- for ( var y = 0; y < height; ++ y ) {
975
+ for ( let y = 0; y < height; ++ y ) {
975
976
 
976
977
  const offset = rowOffsets[ comp ][ y ];
977
978
 
978
- for ( var x = 0; x < width; ++ x ) {
979
+ for ( let x = 0; x < width; ++ x ) {
979
980
 
980
981
  halfRow[ x ] = dataView.getUint16( offset + x * INT16_SIZE * type, true );
981
982
 
982
983
  }
983
984
 
984
- for ( var x = 0; x < width; ++ x ) {
985
+ for ( let x = 0; x < width; ++ x ) {
985
986
 
986
987
  dataView.setFloat32( offset + x * INT16_SIZE * type, decodeFloat16( halfRow[ x ] ), true );
987
988
 
@@ -995,8 +996,8 @@ class EXRLoader extends DataTextureLoader {
995
996
 
996
997
  function unRleAC( currAcComp, acBuffer, halfZigBlock ) {
997
998
 
998
- var acValue;
999
- var dctComp = 1;
999
+ let acValue;
1000
+ let dctComp = 1;
1000
1001
 
1001
1002
  while ( dctComp < 64 ) {
1002
1003
 
@@ -1108,14 +1109,14 @@ class EXRLoader extends DataTextureLoader {
1108
1109
  const f = 0.5 * Math.cos( 3.0 * 3.14159 / 8.0 );
1109
1110
  const g = 0.5 * Math.cos( 7.0 * 3.14159 / 16.0 );
1110
1111
 
1111
- var alpha = new Array( 4 );
1112
- var beta = new Array( 4 );
1113
- var theta = new Array( 4 );
1114
- var gamma = new Array( 4 );
1112
+ const alpha = new Array( 4 );
1113
+ const beta = new Array( 4 );
1114
+ const theta = new Array( 4 );
1115
+ const gamma = new Array( 4 );
1115
1116
 
1116
- for ( var row = 0; row < 8; ++ row ) {
1117
+ for ( let row = 0; row < 8; ++ row ) {
1117
1118
 
1118
- var rowPtr = row * 8;
1119
+ const rowPtr = row * 8;
1119
1120
 
1120
1121
  alpha[ 0 ] = c * data[ rowPtr + 2 ];
1121
1122
  alpha[ 1 ] = f * data[ rowPtr + 2 ];
@@ -1149,7 +1150,7 @@ class EXRLoader extends DataTextureLoader {
1149
1150
 
1150
1151
  }
1151
1152
 
1152
- for ( var column = 0; column < 8; ++ column ) {
1153
+ for ( let column = 0; column < 8; ++ column ) {
1153
1154
 
1154
1155
  alpha[ 0 ] = c * data[ 16 + column ];
1155
1156
  alpha[ 1 ] = f * data[ 16 + column ];
@@ -1188,11 +1189,11 @@ class EXRLoader extends DataTextureLoader {
1188
1189
 
1189
1190
  function csc709Inverse( data ) {
1190
1191
 
1191
- for ( var i = 0; i < 64; ++ i ) {
1192
+ for ( let i = 0; i < 64; ++ i ) {
1192
1193
 
1193
- var y = data[ 0 ][ i ];
1194
- var cb = data[ 1 ][ i ];
1195
- var cr = data[ 2 ][ i ];
1194
+ const y = data[ 0 ][ i ];
1195
+ const cb = data[ 1 ][ i ];
1196
+ const cr = data[ 2 ][ i ];
1196
1197
 
1197
1198
  data[ 0 ][ i ] = y + 1.5747 * cr;
1198
1199
  data[ 1 ][ i ] = y - 0.1873 * cb - 0.4682 * cr;
@@ -1204,7 +1205,7 @@ class EXRLoader extends DataTextureLoader {
1204
1205
 
1205
1206
  function convertToHalf( src, dst, idx ) {
1206
1207
 
1207
- for ( var i = 0; i < 64; ++ i ) {
1208
+ for ( let i = 0; i < 64; ++ i ) {
1208
1209
 
1209
1210
  dst[ idx + i ] = DataUtils.toHalfFloat( toLinear( src[ i ] ) );
1210
1211
 
@@ -1234,10 +1235,10 @@ class EXRLoader extends DataTextureLoader {
1234
1235
 
1235
1236
  function uncompressRLE( info ) {
1236
1237
 
1237
- var compressed = info.viewer.buffer.slice( info.offset.value, info.offset.value + info.size );
1238
+ const compressed = info.viewer.buffer.slice( info.offset.value, info.offset.value + info.size );
1238
1239
 
1239
- var rawBuffer = new Uint8Array( decodeRunLength( compressed ) );
1240
- var tmpBuffer = new Uint8Array( rawBuffer.length );
1240
+ const rawBuffer = new Uint8Array( decodeRunLength( compressed ) );
1241
+ const tmpBuffer = new Uint8Array( rawBuffer.length );
1241
1242
 
1242
1243
  predictor( rawBuffer ); // revert predictor
1243
1244
 
@@ -1249,7 +1250,7 @@ class EXRLoader extends DataTextureLoader {
1249
1250
 
1250
1251
  function uncompressZIP( info ) {
1251
1252
 
1252
- var compressed = info.array.slice( info.offset.value, info.offset.value + info.size );
1253
+ const compressed = info.array.slice( info.offset.value, info.offset.value + info.size );
1253
1254
 
1254
1255
  if ( typeof fflate === 'undefined' ) {
1255
1256
 
@@ -1257,8 +1258,8 @@ class EXRLoader extends DataTextureLoader {
1257
1258
 
1258
1259
  }
1259
1260
 
1260
- var rawBuffer = fflate.unzlibSync( compressed ); // eslint-disable-line no-undef
1261
- var tmpBuffer = new Uint8Array( rawBuffer.length );
1261
+ const rawBuffer = fflate.unzlibSync( compressed ); // eslint-disable-line no-undef
1262
+ const tmpBuffer = new Uint8Array( rawBuffer.length );
1262
1263
 
1263
1264
  predictor( rawBuffer ); // revert predictor
1264
1265
 
@@ -1270,16 +1271,16 @@ class EXRLoader extends DataTextureLoader {
1270
1271
 
1271
1272
  function uncompressPIZ( info ) {
1272
1273
 
1273
- var inDataView = info.viewer;
1274
- var inOffset = { value: info.offset.value };
1274
+ const inDataView = info.viewer;
1275
+ const inOffset = { value: info.offset.value };
1275
1276
 
1276
- var outBuffer = new Uint16Array( info.width * info.scanlineBlockSize * ( info.channels * info.type ) );
1277
- var bitmap = new Uint8Array( BITMAP_SIZE );
1277
+ const outBuffer = new Uint16Array( info.width * info.scanlineBlockSize * ( info.channels * info.type ) );
1278
+ const bitmap = new Uint8Array( BITMAP_SIZE );
1278
1279
 
1279
1280
  // Setup channel info
1280
- var outBufferEnd = 0;
1281
- var pizChannelData = new Array( info.channels );
1282
- for ( var i = 0; i < info.channels; i ++ ) {
1281
+ let outBufferEnd = 0;
1282
+ const pizChannelData = new Array( info.channels );
1283
+ for ( let i = 0; i < info.channels; i ++ ) {
1283
1284
 
1284
1285
  pizChannelData[ i ] = {};
1285
1286
  pizChannelData[ i ][ 'start' ] = outBufferEnd;
@@ -1294,8 +1295,8 @@ class EXRLoader extends DataTextureLoader {
1294
1295
 
1295
1296
  // Read range compression data
1296
1297
 
1297
- var minNonZero = parseUint16( inDataView, inOffset );
1298
- var maxNonZero = parseUint16( inDataView, inOffset );
1298
+ const minNonZero = parseUint16( inDataView, inOffset );
1299
+ const maxNonZero = parseUint16( inDataView, inOffset );
1299
1300
 
1300
1301
  if ( maxNonZero >= BITMAP_SIZE ) {
1301
1302
 
@@ -1305,7 +1306,7 @@ class EXRLoader extends DataTextureLoader {
1305
1306
 
1306
1307
  if ( minNonZero <= maxNonZero ) {
1307
1308
 
1308
- for ( var i = 0; i < maxNonZero - minNonZero + 1; i ++ ) {
1309
+ for ( let i = 0; i < maxNonZero - minNonZero + 1; i ++ ) {
1309
1310
 
1310
1311
  bitmap[ i + minNonZero ] = parseUint8( inDataView, inOffset );
1311
1312
 
@@ -1314,20 +1315,20 @@ class EXRLoader extends DataTextureLoader {
1314
1315
  }
1315
1316
 
1316
1317
  // Reverse LUT
1317
- var lut = new Uint16Array( USHORT_RANGE );
1318
- var maxValue = reverseLutFromBitmap( bitmap, lut );
1318
+ const lut = new Uint16Array( USHORT_RANGE );
1319
+ const maxValue = reverseLutFromBitmap( bitmap, lut );
1319
1320
 
1320
- var length = parseUint32( inDataView, inOffset );
1321
+ const length = parseUint32( inDataView, inOffset );
1321
1322
 
1322
1323
  // Huffman decoding
1323
1324
  hufUncompress( info.array, inDataView, inOffset, length, outBuffer, outBufferEnd );
1324
1325
 
1325
1326
  // Wavelet decoding
1326
- for ( var i = 0; i < info.channels; ++ i ) {
1327
+ for ( let i = 0; i < info.channels; ++ i ) {
1327
1328
 
1328
- var cd = pizChannelData[ i ];
1329
+ const cd = pizChannelData[ i ];
1329
1330
 
1330
- for ( var j = 0; j < pizChannelData[ i ].size; ++ j ) {
1331
+ for ( let j = 0; j < pizChannelData[ i ].size; ++ j ) {
1331
1332
 
1332
1333
  wav2Decode(
1333
1334
  outBuffer,
@@ -1347,16 +1348,16 @@ class EXRLoader extends DataTextureLoader {
1347
1348
  applyLut( lut, outBuffer, outBufferEnd );
1348
1349
 
1349
1350
  // Rearrange the pixel data into the format expected by the caller.
1350
- var tmpOffset = 0;
1351
- var tmpBuffer = new Uint8Array( outBuffer.buffer.byteLength );
1352
- for ( var y = 0; y < info.lines; y ++ ) {
1351
+ let tmpOffset = 0;
1352
+ const tmpBuffer = new Uint8Array( outBuffer.buffer.byteLength );
1353
+ for ( let y = 0; y < info.lines; y ++ ) {
1353
1354
 
1354
- for ( var c = 0; c < info.channels; c ++ ) {
1355
+ for ( let c = 0; c < info.channels; c ++ ) {
1355
1356
 
1356
- var cd = pizChannelData[ c ];
1357
+ const cd = pizChannelData[ c ];
1357
1358
 
1358
- var n = cd.nx * cd.size;
1359
- var cp = new Uint8Array( outBuffer.buffer, cd.end * INT16_SIZE, n * INT16_SIZE );
1359
+ const n = cd.nx * cd.size;
1360
+ const cp = new Uint8Array( outBuffer.buffer, cd.end * INT16_SIZE, n * INT16_SIZE );
1360
1361
 
1361
1362
  tmpBuffer.set( cp, tmpOffset );
1362
1363
  tmpOffset += n * INT16_SIZE;
@@ -1372,7 +1373,7 @@ class EXRLoader extends DataTextureLoader {
1372
1373
 
1373
1374
  function uncompressPXR( info ) {
1374
1375
 
1375
- var compressed = info.array.slice( info.offset.value, info.offset.value + info.size );
1376
+ const compressed = info.array.slice( info.offset.value, info.offset.value + info.size );
1376
1377
 
1377
1378
  if ( typeof fflate === 'undefined' ) {
1378
1379
 
@@ -1380,7 +1381,7 @@ class EXRLoader extends DataTextureLoader {
1380
1381
 
1381
1382
  }
1382
1383
 
1383
- var rawBuffer = fflate.unzlibSync( compressed ); // eslint-disable-line no-undef
1384
+ const rawBuffer = fflate.unzlibSync( compressed ); // eslint-disable-line no-undef
1384
1385
 
1385
1386
  const sz = info.lines * info.channels * info.width;
1386
1387
  const tmpBuffer = ( info.type == 1 ) ? new Uint16Array( sz ) : new Uint32Array( sz );
@@ -1448,12 +1449,12 @@ class EXRLoader extends DataTextureLoader {
1448
1449
 
1449
1450
  function uncompressDWA( info ) {
1450
1451
 
1451
- var inDataView = info.viewer;
1452
- var inOffset = { value: info.offset.value };
1453
- var outBuffer = new Uint8Array( info.width * info.lines * ( info.channels * info.type * INT16_SIZE ) );
1452
+ const inDataView = info.viewer;
1453
+ const inOffset = { value: info.offset.value };
1454
+ const outBuffer = new Uint8Array( info.width * info.lines * ( info.channels * info.type * INT16_SIZE ) );
1454
1455
 
1455
1456
  // Read compression header information
1456
- var dwaHeader = {
1457
+ const dwaHeader = {
1457
1458
 
1458
1459
  version: parseInt64( inDataView, inOffset ),
1459
1460
  unknownUncompressedSize: parseInt64( inDataView, inOffset ),
@@ -1473,17 +1474,17 @@ class EXRLoader extends DataTextureLoader {
1473
1474
  throw new Error( 'EXRLoader.parse: ' + EXRHeader.compression + ' version ' + dwaHeader.version + ' is unsupported' );
1474
1475
 
1475
1476
  // Read channel ruleset information
1476
- var channelRules = new Array();
1477
- var ruleSize = parseUint16( inDataView, inOffset ) - INT16_SIZE;
1477
+ const channelRules = new Array();
1478
+ let ruleSize = parseUint16( inDataView, inOffset ) - INT16_SIZE;
1478
1479
 
1479
1480
  while ( ruleSize > 0 ) {
1480
1481
 
1481
- var name = parseNullTerminatedString( inDataView.buffer, inOffset );
1482
- var value = parseUint8( inDataView, inOffset );
1483
- var compression = ( value >> 2 ) & 3;
1484
- var csc = ( value >> 4 ) - 1;
1485
- var index = new Int8Array( [ csc ] )[ 0 ];
1486
- var type = parseUint8( inDataView, inOffset );
1482
+ const name = parseNullTerminatedString( inDataView.buffer, inOffset );
1483
+ const value = parseUint8( inDataView, inOffset );
1484
+ const compression = ( value >> 2 ) & 3;
1485
+ const csc = ( value >> 4 ) - 1;
1486
+ const index = new Int8Array( [ csc ] )[ 0 ];
1487
+ const type = parseUint8( inDataView, inOffset );
1487
1488
 
1488
1489
  channelRules.push( {
1489
1490
  name: name,
@@ -1497,13 +1498,13 @@ class EXRLoader extends DataTextureLoader {
1497
1498
  }
1498
1499
 
1499
1500
  // Classify channels
1500
- var channels = EXRHeader.channels;
1501
- var channelData = new Array( info.channels );
1501
+ const channels = EXRHeader.channels;
1502
+ const channelData = new Array( info.channels );
1502
1503
 
1503
- for ( var i = 0; i < info.channels; ++ i ) {
1504
+ for ( let i = 0; i < info.channels; ++ i ) {
1504
1505
 
1505
- var cd = channelData[ i ] = {};
1506
- var channel = channels[ i ];
1506
+ const cd = channelData[ i ] = {};
1507
+ const channel = channels[ i ];
1507
1508
 
1508
1509
  cd.name = channel.name;
1509
1510
  cd.compression = UNKNOWN;
@@ -1515,17 +1516,17 @@ class EXRLoader extends DataTextureLoader {
1515
1516
 
1516
1517
  }
1517
1518
 
1518
- var cscSet = {
1519
+ const cscSet = {
1519
1520
  idx: new Array( 3 )
1520
1521
  };
1521
1522
 
1522
- for ( var offset = 0; offset < info.channels; ++ offset ) {
1523
+ for ( let offset = 0; offset < info.channels; ++ offset ) {
1523
1524
 
1524
- var cd = channelData[ offset ];
1525
+ const cd = channelData[ offset ];
1525
1526
 
1526
- for ( var i = 0; i < channelRules.length; ++ i ) {
1527
+ for ( let i = 0; i < channelRules.length; ++ i ) {
1527
1528
 
1528
- var rule = channelRules[ i ];
1529
+ const rule = channelRules[ i ];
1529
1530
 
1530
1531
  if ( cd.name == rule.name ) {
1531
1532
 
@@ -1545,6 +1546,8 @@ class EXRLoader extends DataTextureLoader {
1545
1546
 
1546
1547
  }
1547
1548
 
1549
+ let acBuffer, dcBuffer, rleBuffer;
1550
+
1548
1551
  // Read DCT - AC component data
1549
1552
  if ( dwaHeader.acCompressedSize > 0 ) {
1550
1553
 
@@ -1552,15 +1555,15 @@ class EXRLoader extends DataTextureLoader {
1552
1555
 
1553
1556
  case STATIC_HUFFMAN:
1554
1557
 
1555
- var acBuffer = new Uint16Array( dwaHeader.totalAcUncompressedCount );
1558
+ acBuffer = new Uint16Array( dwaHeader.totalAcUncompressedCount );
1556
1559
  hufUncompress( info.array, inDataView, inOffset, dwaHeader.acCompressedSize, acBuffer, dwaHeader.totalAcUncompressedCount );
1557
1560
  break;
1558
1561
 
1559
1562
  case DEFLATE:
1560
1563
 
1561
- var compressed = info.array.slice( inOffset.value, inOffset.value + dwaHeader.totalAcUncompressedCount );
1562
- var data = fflate.unzlibSync( compressed ); // eslint-disable-line no-undef
1563
- var acBuffer = new Uint16Array( data.buffer );
1564
+ const compressed = info.array.slice( inOffset.value, inOffset.value + dwaHeader.totalAcUncompressedCount );
1565
+ const data = fflate.unzlibSync( compressed ); // eslint-disable-line no-undef
1566
+ acBuffer = new Uint16Array( data.buffer );
1564
1567
  inOffset.value += dwaHeader.totalAcUncompressedCount;
1565
1568
  break;
1566
1569
 
@@ -1572,12 +1575,12 @@ class EXRLoader extends DataTextureLoader {
1572
1575
  // Read DCT - DC component data
1573
1576
  if ( dwaHeader.dcCompressedSize > 0 ) {
1574
1577
 
1575
- var zlibInfo = {
1578
+ const zlibInfo = {
1576
1579
  array: info.array,
1577
1580
  offset: inOffset,
1578
1581
  size: dwaHeader.dcCompressedSize
1579
1582
  };
1580
- var dcBuffer = new Uint16Array( uncompressZIP( zlibInfo ).buffer );
1583
+ dcBuffer = new Uint16Array( uncompressZIP( zlibInfo ).buffer );
1581
1584
  inOffset.value += dwaHeader.dcCompressedSize;
1582
1585
 
1583
1586
  }
@@ -1585,26 +1588,26 @@ class EXRLoader extends DataTextureLoader {
1585
1588
  // Read RLE compressed data
1586
1589
  if ( dwaHeader.rleRawSize > 0 ) {
1587
1590
 
1588
- var compressed = info.array.slice( inOffset.value, inOffset.value + dwaHeader.rleCompressedSize );
1589
- var data = fflate.unzlibSync( compressed ); // eslint-disable-line no-undef
1590
- var rleBuffer = decodeRunLength( data.buffer );
1591
+ const compressed = info.array.slice( inOffset.value, inOffset.value + dwaHeader.rleCompressedSize );
1592
+ const data = fflate.unzlibSync( compressed ); // eslint-disable-line no-undef
1593
+ rleBuffer = decodeRunLength( data.buffer );
1591
1594
 
1592
1595
  inOffset.value += dwaHeader.rleCompressedSize;
1593
1596
 
1594
1597
  }
1595
1598
 
1596
1599
  // Prepare outbuffer data offset
1597
- var outBufferEnd = 0;
1598
- var rowOffsets = new Array( channelData.length );
1599
- for ( var i = 0; i < rowOffsets.length; ++ i ) {
1600
+ let outBufferEnd = 0;
1601
+ const rowOffsets = new Array( channelData.length );
1602
+ for ( let i = 0; i < rowOffsets.length; ++ i ) {
1600
1603
 
1601
1604
  rowOffsets[ i ] = new Array();
1602
1605
 
1603
1606
  }
1604
1607
 
1605
- for ( var y = 0; y < info.lines; ++ y ) {
1608
+ for ( let y = 0; y < info.lines; ++ y ) {
1606
1609
 
1607
- for ( var chan = 0; chan < channelData.length; ++ chan ) {
1610
+ for ( let chan = 0; chan < channelData.length; ++ chan ) {
1608
1611
 
1609
1612
  rowOffsets[ chan ].push( outBufferEnd );
1610
1613
  outBufferEnd += channelData[ chan ].width * info.type * INT16_SIZE;
@@ -1617,9 +1620,9 @@ class EXRLoader extends DataTextureLoader {
1617
1620
  lossyDctDecode( cscSet, rowOffsets, channelData, acBuffer, dcBuffer, outBuffer );
1618
1621
 
1619
1622
  // Decode other channels
1620
- for ( var i = 0; i < channelData.length; ++ i ) {
1623
+ for ( let i = 0; i < channelData.length; ++ i ) {
1621
1624
 
1622
- var cd = channelData[ i ];
1625
+ const cd = channelData[ i ];
1623
1626
 
1624
1627
  if ( cd.decoded ) continue;
1625
1628
 
@@ -1627,16 +1630,16 @@ class EXRLoader extends DataTextureLoader {
1627
1630
 
1628
1631
  case RLE:
1629
1632
 
1630
- var row = 0;
1631
- var rleOffset = 0;
1633
+ let row = 0;
1634
+ let rleOffset = 0;
1632
1635
 
1633
- for ( var y = 0; y < info.lines; ++ y ) {
1636
+ for ( let y = 0; y < info.lines; ++ y ) {
1634
1637
 
1635
- var rowOffsetBytes = rowOffsets[ i ][ row ];
1638
+ let rowOffsetBytes = rowOffsets[ i ][ row ];
1636
1639
 
1637
- for ( var x = 0; x < cd.width; ++ x ) {
1640
+ for ( let x = 0; x < cd.width; ++ x ) {
1638
1641
 
1639
- for ( var byte = 0; byte < INT16_SIZE * cd.type; ++ byte ) {
1642
+ for ( let byte = 0; byte < INT16_SIZE * cd.type; ++ byte ) {
1640
1643
 
1641
1644
  outBuffer[ rowOffsetBytes ++ ] = rleBuffer[ rleOffset + byte * cd.width * cd.height ];
1642
1645
 
@@ -1667,8 +1670,8 @@ class EXRLoader extends DataTextureLoader {
1667
1670
 
1668
1671
  function parseNullTerminatedString( buffer, offset ) {
1669
1672
 
1670
- var uintBuffer = new Uint8Array( buffer );
1671
- var endOffset = 0;
1673
+ const uintBuffer = new Uint8Array( buffer );
1674
+ let endOffset = 0;
1672
1675
 
1673
1676
  while ( uintBuffer[ offset.value + endOffset ] != 0 ) {
1674
1677
 
@@ -1676,7 +1679,7 @@ class EXRLoader extends DataTextureLoader {
1676
1679
 
1677
1680
  }
1678
1681
 
1679
- var stringValue = new TextDecoder().decode(
1682
+ const stringValue = new TextDecoder().decode(
1680
1683
  uintBuffer.slice( offset.value, offset.value + endOffset )
1681
1684
  );
1682
1685
 
@@ -1688,7 +1691,7 @@ class EXRLoader extends DataTextureLoader {
1688
1691
 
1689
1692
  function parseFixedLengthString( buffer, offset, size ) {
1690
1693
 
1691
- var stringValue = new TextDecoder().decode(
1694
+ const stringValue = new TextDecoder().decode(
1692
1695
  new Uint8Array( buffer ).slice( offset.value, offset.value + size )
1693
1696
  );
1694
1697
 
@@ -1700,8 +1703,8 @@ class EXRLoader extends DataTextureLoader {
1700
1703
 
1701
1704
  function parseRational( dataView, offset ) {
1702
1705
 
1703
- var x = parseInt32( dataView, offset );
1704
- var y = parseUint32( dataView, offset );
1706
+ const x = parseInt32( dataView, offset );
1707
+ const y = parseUint32( dataView, offset );
1705
1708
 
1706
1709
  return [ x, y ];
1707
1710
 
@@ -1709,8 +1712,8 @@ class EXRLoader extends DataTextureLoader {
1709
1712
 
1710
1713
  function parseTimecode( dataView, offset ) {
1711
1714
 
1712
- var x = parseUint32( dataView, offset );
1713
- var y = parseUint32( dataView, offset );
1715
+ const x = parseUint32( dataView, offset );
1716
+ const y = parseUint32( dataView, offset );
1714
1717
 
1715
1718
  return [ x, y ];
1716
1719
 
@@ -1718,7 +1721,7 @@ class EXRLoader extends DataTextureLoader {
1718
1721
 
1719
1722
  function parseInt32( dataView, offset ) {
1720
1723
 
1721
- var Int32 = dataView.getInt32( offset.value, true );
1724
+ const Int32 = dataView.getInt32( offset.value, true );
1722
1725
 
1723
1726
  offset.value = offset.value + INT32_SIZE;
1724
1727
 
@@ -1728,7 +1731,7 @@ class EXRLoader extends DataTextureLoader {
1728
1731
 
1729
1732
  function parseUint32( dataView, offset ) {
1730
1733
 
1731
- var Uint32 = dataView.getUint32( offset.value, true );
1734
+ const Uint32 = dataView.getUint32( offset.value, true );
1732
1735
 
1733
1736
  offset.value = offset.value + INT32_SIZE;
1734
1737
 
@@ -1738,7 +1741,7 @@ class EXRLoader extends DataTextureLoader {
1738
1741
 
1739
1742
  function parseUint8Array( uInt8Array, offset ) {
1740
1743
 
1741
- var Uint8 = uInt8Array[ offset.value ];
1744
+ const Uint8 = uInt8Array[ offset.value ];
1742
1745
 
1743
1746
  offset.value = offset.value + INT8_SIZE;
1744
1747
 
@@ -1748,7 +1751,7 @@ class EXRLoader extends DataTextureLoader {
1748
1751
 
1749
1752
  function parseUint8( dataView, offset ) {
1750
1753
 
1751
- var Uint8 = dataView.getUint8( offset.value );
1754
+ const Uint8 = dataView.getUint8( offset.value );
1752
1755
 
1753
1756
  offset.value = offset.value + INT8_SIZE;
1754
1757
 
@@ -1756,19 +1759,19 @@ class EXRLoader extends DataTextureLoader {
1756
1759
 
1757
1760
  }
1758
1761
 
1759
- function parseInt64( dataView, offset ) {
1762
+ const parseInt64 = function ( dataView, offset ) {
1760
1763
 
1761
- var int = Number( dataView.getBigInt64( offset.value, true ) );
1764
+ const Int64 = Number( dataView.getBigInt64( offset.value, true ) );
1762
1765
 
1763
1766
  offset.value += ULONG_SIZE;
1764
1767
 
1765
- return int;
1768
+ return Int64;
1766
1769
 
1767
- }
1770
+ };
1768
1771
 
1769
1772
  function parseFloat32( dataView, offset ) {
1770
1773
 
1771
- var float = dataView.getFloat32( offset.value, true );
1774
+ const float = dataView.getFloat32( offset.value, true );
1772
1775
 
1773
1776
  offset.value += FLOAT32_SIZE;
1774
1777
 
@@ -1785,7 +1788,7 @@ class EXRLoader extends DataTextureLoader {
1785
1788
  // https://stackoverflow.com/questions/5678432/decompressing-half-precision-floats-in-javascript
1786
1789
  function decodeFloat16( binary ) {
1787
1790
 
1788
- var exponent = ( binary & 0x7C00 ) >> 10,
1791
+ const exponent = ( binary & 0x7C00 ) >> 10,
1789
1792
  fraction = binary & 0x03FF;
1790
1793
 
1791
1794
  return ( binary >> 15 ? - 1 : 1 ) * (
@@ -1802,7 +1805,7 @@ class EXRLoader extends DataTextureLoader {
1802
1805
 
1803
1806
  function parseUint16( dataView, offset ) {
1804
1807
 
1805
- var Uint16 = dataView.getUint16( offset.value, true );
1808
+ const Uint16 = dataView.getUint16( offset.value, true );
1806
1809
 
1807
1810
  offset.value += INT16_SIZE;
1808
1811
 
@@ -1818,17 +1821,17 @@ class EXRLoader extends DataTextureLoader {
1818
1821
 
1819
1822
  function parseChlist( dataView, buffer, offset, size ) {
1820
1823
 
1821
- var startOffset = offset.value;
1822
- var channels = [];
1824
+ const startOffset = offset.value;
1825
+ const channels = [];
1823
1826
 
1824
1827
  while ( offset.value < ( startOffset + size - 1 ) ) {
1825
1828
 
1826
- var name = parseNullTerminatedString( buffer, offset );
1827
- var pixelType = parseInt32( dataView, offset );
1828
- var pLinear = parseUint8( dataView, offset );
1829
+ const name = parseNullTerminatedString( buffer, offset );
1830
+ const pixelType = parseInt32( dataView, offset );
1831
+ const pLinear = parseUint8( dataView, offset );
1829
1832
  offset.value += 3; // reserved, three chars
1830
- var xSampling = parseInt32( dataView, offset );
1831
- var ySampling = parseInt32( dataView, offset );
1833
+ const xSampling = parseInt32( dataView, offset );
1834
+ const ySampling = parseInt32( dataView, offset );
1832
1835
 
1833
1836
  channels.push( {
1834
1837
  name: name,
@@ -1848,14 +1851,14 @@ class EXRLoader extends DataTextureLoader {
1848
1851
 
1849
1852
  function parseChromaticities( dataView, offset ) {
1850
1853
 
1851
- var redX = parseFloat32( dataView, offset );
1852
- var redY = parseFloat32( dataView, offset );
1853
- var greenX = parseFloat32( dataView, offset );
1854
- var greenY = parseFloat32( dataView, offset );
1855
- var blueX = parseFloat32( dataView, offset );
1856
- var blueY = parseFloat32( dataView, offset );
1857
- var whiteX = parseFloat32( dataView, offset );
1858
- var whiteY = parseFloat32( dataView, offset );
1854
+ const redX = parseFloat32( dataView, offset );
1855
+ const redY = parseFloat32( dataView, offset );
1856
+ const greenX = parseFloat32( dataView, offset );
1857
+ const greenY = parseFloat32( dataView, offset );
1858
+ const blueX = parseFloat32( dataView, offset );
1859
+ const blueY = parseFloat32( dataView, offset );
1860
+ const whiteX = parseFloat32( dataView, offset );
1861
+ const whiteY = parseFloat32( dataView, offset );
1859
1862
 
1860
1863
  return { redX: redX, redY: redY, greenX: greenX, greenY: greenY, blueX: blueX, blueY: blueY, whiteX: whiteX, whiteY: whiteY };
1861
1864
 
@@ -1863,7 +1866,7 @@ class EXRLoader extends DataTextureLoader {
1863
1866
 
1864
1867
  function parseCompression( dataView, offset ) {
1865
1868
 
1866
- var compressionCodes = [
1869
+ const compressionCodes = [
1867
1870
  'NO_COMPRESSION',
1868
1871
  'RLE_COMPRESSION',
1869
1872
  'ZIPS_COMPRESSION',
@@ -1876,7 +1879,7 @@ class EXRLoader extends DataTextureLoader {
1876
1879
  'DWAB_COMPRESSION'
1877
1880
  ];
1878
1881
 
1879
- var compression = parseUint8( dataView, offset );
1882
+ const compression = parseUint8( dataView, offset );
1880
1883
 
1881
1884
  return compressionCodes[ compression ];
1882
1885
 
@@ -1884,10 +1887,10 @@ class EXRLoader extends DataTextureLoader {
1884
1887
 
1885
1888
  function parseBox2i( dataView, offset ) {
1886
1889
 
1887
- var xMin = parseUint32( dataView, offset );
1888
- var yMin = parseUint32( dataView, offset );
1889
- var xMax = parseUint32( dataView, offset );
1890
- var yMax = parseUint32( dataView, offset );
1890
+ const xMin = parseUint32( dataView, offset );
1891
+ const yMin = parseUint32( dataView, offset );
1892
+ const xMax = parseUint32( dataView, offset );
1893
+ const yMax = parseUint32( dataView, offset );
1891
1894
 
1892
1895
  return { xMin: xMin, yMin: yMin, xMax: xMax, yMax: yMax };
1893
1896
 
@@ -1895,11 +1898,11 @@ class EXRLoader extends DataTextureLoader {
1895
1898
 
1896
1899
  function parseLineOrder( dataView, offset ) {
1897
1900
 
1898
- var lineOrders = [
1901
+ const lineOrders = [
1899
1902
  'INCREASING_Y'
1900
1903
  ];
1901
1904
 
1902
- var lineOrder = parseUint8( dataView, offset );
1905
+ const lineOrder = parseUint8( dataView, offset );
1903
1906
 
1904
1907
  return lineOrders[ lineOrder ];
1905
1908
 
@@ -1907,8 +1910,8 @@ class EXRLoader extends DataTextureLoader {
1907
1910
 
1908
1911
  function parseV2f( dataView, offset ) {
1909
1912
 
1910
- var x = parseFloat32( dataView, offset );
1911
- var y = parseFloat32( dataView, offset );
1913
+ const x = parseFloat32( dataView, offset );
1914
+ const y = parseFloat32( dataView, offset );
1912
1915
 
1913
1916
  return [ x, y ];
1914
1917
 
@@ -1916,9 +1919,9 @@ class EXRLoader extends DataTextureLoader {
1916
1919
 
1917
1920
  function parseV3f( dataView, offset ) {
1918
1921
 
1919
- var x = parseFloat32( dataView, offset );
1920
- var y = parseFloat32( dataView, offset );
1921
- var z = parseFloat32( dataView, offset );
1922
+ const x = parseFloat32( dataView, offset );
1923
+ const y = parseFloat32( dataView, offset );
1924
+ const z = parseFloat32( dataView, offset );
1922
1925
 
1923
1926
  return [ x, y, z ];
1924
1927
 
@@ -1998,26 +2001,26 @@ class EXRLoader extends DataTextureLoader {
1998
2001
 
1999
2002
  }
2000
2003
 
2001
- EXRHeader.version = dataView.getUint8( 4, true );
2004
+ EXRHeader.version = dataView.getUint8( 4 );
2002
2005
 
2003
- const spec = dataView.getUint8( 5, true ); // fullMask
2006
+ const spec = dataView.getUint8( 5 ); // fullMask
2004
2007
 
2005
2008
  EXRHeader.spec = {
2006
- singleTile: !! ( spec & 1 ),
2007
- longName: !! ( spec & 2 ),
2008
- deepFormat: !! ( spec & 4 ),
2009
- multiPart: !! ( spec & 8 ),
2009
+ singleTile: !! ( spec & 2 ),
2010
+ longName: !! ( spec & 4 ),
2011
+ deepFormat: !! ( spec & 8 ),
2012
+ multiPart: !! ( spec & 16 ),
2010
2013
  };
2011
2014
 
2012
2015
  // start of header
2013
2016
 
2014
2017
  offset.value = 8; // start at 8 - after pre-amble
2015
2018
 
2016
- var keepReading = true;
2019
+ let keepReading = true;
2017
2020
 
2018
2021
  while ( keepReading ) {
2019
2022
 
2020
- var attributeName = parseNullTerminatedString( buffer, offset );
2023
+ const attributeName = parseNullTerminatedString( buffer, offset );
2021
2024
 
2022
2025
  if ( attributeName == 0 ) {
2023
2026
 
@@ -2025,9 +2028,9 @@ class EXRLoader extends DataTextureLoader {
2025
2028
 
2026
2029
  } else {
2027
2030
 
2028
- var attributeType = parseNullTerminatedString( buffer, offset );
2029
- var attributeSize = parseUint32( dataView, offset );
2030
- var attributeValue = parseValue( dataView, buffer, offset, attributeType, attributeSize );
2031
+ const attributeType = parseNullTerminatedString( buffer, offset );
2032
+ const attributeSize = parseUint32( dataView, offset );
2033
+ const attributeValue = parseValue( dataView, buffer, offset, attributeType, attributeSize );
2031
2034
 
2032
2035
  if ( attributeValue === undefined ) {
2033
2036
 
@@ -2043,7 +2046,7 @@ class EXRLoader extends DataTextureLoader {
2043
2046
 
2044
2047
  }
2045
2048
 
2046
- if ( spec != 0 ) {
2049
+ if ( ( spec & ~ 0x04 ) != 0 ) { // unsupported tiled, deep-image, multi-part
2047
2050
 
2048
2051
  console.error( 'EXRHeader:', EXRHeader );
2049
2052
  throw new Error( 'THREE.EXRLoader: provided file is currently unsupported.' );
@@ -2164,7 +2167,7 @@ class EXRLoader extends DataTextureLoader {
2164
2167
 
2165
2168
  EXRDecoder.blockCount = ( EXRHeader.dataWindow.yMax + 1 ) / EXRDecoder.scanlineBlockSize;
2166
2169
 
2167
- for ( var i = 0; i < EXRDecoder.blockCount; i ++ )
2170
+ for ( let i = 0; i < EXRDecoder.blockCount; i ++ )
2168
2171
  parseInt64( dataView, offset ); // scanlineOffset
2169
2172
 
2170
2173
  // we should be passed the scanline offset table, ready to start reading pixel data.