three-stdlib 2.15.0 → 2.15.2

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 (1222) hide show
  1. package/animation/AnimationClipCreator.js +32 -52
  2. package/animation/AnimationClipCreator.mjs +57 -0
  3. package/animation/CCDIKSolver.js +66 -161
  4. package/animation/CCDIKSolver.mjs +234 -0
  5. package/animation/MMDAnimationHelper.js +150 -341
  6. package/animation/MMDAnimationHelper.mjs +514 -0
  7. package/animation/MMDPhysics.js +154 -361
  8. package/animation/MMDPhysics.mjs +769 -0
  9. package/cameras/CinematicCamera.js +67 -77
  10. package/cameras/CinematicCamera.mjs +129 -0
  11. package/controls/ArcballControls.js +544 -1449
  12. package/controls/ArcballControls.mjs +1737 -0
  13. package/controls/DeviceOrientationControls.js +52 -97
  14. package/controls/DeviceOrientationControls.mjs +74 -0
  15. package/controls/DragControls.js +85 -187
  16. package/controls/DragControls.mjs +172 -0
  17. package/controls/FirstPersonControls.js +123 -193
  18. package/controls/FirstPersonControls.mjs +220 -0
  19. package/controls/FlyControls.js +82 -152
  20. package/controls/FlyControls.mjs +239 -0
  21. package/controls/OrbitControls.js +232 -481
  22. package/controls/OrbitControls.mjs +731 -0
  23. package/controls/PointerLockControls.js +63 -99
  24. package/controls/PointerLockControls.mjs +88 -0
  25. package/controls/TrackballControls.js +211 -383
  26. package/controls/TrackballControls.mjs +481 -0
  27. package/controls/TransformControls.js +575 -782
  28. package/controls/TransformControls.mjs +1068 -0
  29. package/controls/experimental/CameraControls.js +329 -609
  30. package/controls/experimental/CameraControls.mjs +673 -0
  31. package/csm/CSM.js +47 -108
  32. package/csm/CSM.mjs +244 -0
  33. package/csm/CSMFrustum.js +14 -29
  34. package/csm/CSMFrustum.mjs +75 -0
  35. package/csm/CSMHelper.js +20 -34
  36. package/csm/CSMHelper.mjs +114 -0
  37. package/csm/CSMShader.js +7 -11
  38. package/csm/CSMShader.mjs +251 -0
  39. package/curves/CurveExtras.js +73 -115
  40. package/curves/CurveExtras.mjs +224 -0
  41. package/curves/NURBSCurve.js +15 -43
  42. package/curves/NURBSCurve.mjs +35 -0
  43. package/curves/NURBSSurface.js +11 -27
  44. package/curves/NURBSSurface.mjs +28 -0
  45. package/curves/NURBSUtils.js +54 -203
  46. package/curves/NURBSUtils.mjs +226 -0
  47. package/deprecated/Geometry.js +191 -486
  48. package/deprecated/Geometry.mjs +966 -0
  49. package/effects/AnaglyphEffect.js +95 -60
  50. package/effects/AnaglyphEffect.mjs +120 -0
  51. package/effects/AsciiEffect.js +80 -110
  52. package/effects/AsciiEffect.mjs +173 -0
  53. package/effects/OutlineEffect.js +121 -204
  54. package/effects/OutlineEffect.mjs +295 -0
  55. package/effects/ParallaxBarrierEffect.js +39 -38
  56. package/effects/ParallaxBarrierEffect.mjs +64 -0
  57. package/effects/PeppersGhostEffect.js +19 -68
  58. package/effects/PeppersGhostEffect.mjs +85 -0
  59. package/effects/StereoEffect.js +12 -16
  60. package/effects/StereoEffect.mjs +32 -0
  61. package/environments/RoomEnvironment.js +52 -47
  62. package/environments/RoomEnvironment.mjs +78 -0
  63. package/exporters/ColladaExporter.js +115 -241
  64. package/exporters/ColladaExporter.mjs +299 -0
  65. package/exporters/DRACOExporter.js +67 -121
  66. package/exporters/DRACOExporter.mjs +132 -0
  67. package/exporters/GLTFExporter.js +463 -1014
  68. package/exporters/GLTFExporter.mjs +1381 -0
  69. package/exporters/MMDExporter.js +44 -102
  70. package/exporters/MMDExporter.mjs +102 -0
  71. package/exporters/OBJExporter.js +78 -140
  72. package/exporters/OBJExporter.mjs +166 -0
  73. package/exporters/PLYExporter.js +93 -154
  74. package/exporters/PLYExporter.mjs +278 -0
  75. package/exporters/STLExporter.js +30 -81
  76. package/exporters/STLExporter.mjs +129 -0
  77. package/exporters/USDZExporter.js +84 -144
  78. package/exporters/USDZExporter.mjs +328 -0
  79. package/geometries/BoxLineGeometry.js +7 -14
  80. package/geometries/BoxLineGeometry.mjs +45 -0
  81. package/geometries/ConvexGeometry.js +15 -24
  82. package/geometries/ConvexGeometry.mjs +29 -0
  83. package/geometries/DecalGeometry.js +108 -162
  84. package/geometries/DecalGeometry.mjs +184 -0
  85. package/geometries/LightningStrike.js +101 -294
  86. package/geometries/LightningStrike.mjs +547 -0
  87. package/geometries/ParametricGeometries.js +26 -76
  88. package/geometries/ParametricGeometries.mjs +129 -0
  89. package/geometries/ParametricGeometry.js +24 -48
  90. package/geometries/ParametricGeometry.mjs +63 -0
  91. package/geometries/RoundedBoxGeometry.js +33 -64
  92. package/geometries/RoundedBoxGeometry.mjs +91 -0
  93. package/geometries/TeapotGeometry.js +1434 -174
  94. package/geometries/TeapotGeometry.mjs +1557 -0
  95. package/geometries/TextGeometry.js +9 -17
  96. package/geometries/TextGeometry.mjs +23 -0
  97. package/helpers/LightProbeHelper.js +53 -21
  98. package/helpers/LightProbeHelper.mjs +72 -0
  99. package/helpers/PositionalAudioHelper.js +23 -30
  100. package/helpers/PositionalAudioHelper.mjs +68 -0
  101. package/helpers/RectAreaLightHelper.js +17 -33
  102. package/helpers/RectAreaLightHelper.mjs +44 -0
  103. package/helpers/VertexNormalsHelper.js +20 -41
  104. package/helpers/VertexNormalsHelper.mjs +54 -0
  105. package/helpers/VertexTangentsHelper.js +18 -36
  106. package/helpers/VertexTangentsHelper.mjs +45 -0
  107. package/index.d.ts +54 -0
  108. package/index.js +968 -333
  109. package/index.mjs +968 -0
  110. package/interactive/SelectionBox.js +31 -46
  111. package/interactive/SelectionBox.mjs +137 -0
  112. package/interactive/SelectionHelper.js +16 -21
  113. package/interactive/SelectionHelper.mjs +54 -0
  114. package/libs/MeshoptDecoder.js +147 -58
  115. package/libs/MeshoptDecoder.mjs +210 -0
  116. package/libs/MotionControllers.js +66 -208
  117. package/libs/MotionControllers.mjs +261 -0
  118. package/lights/LightProbeGenerator.js +40 -96
  119. package/lights/LightProbeGenerator.mjs +145 -0
  120. package/lights/RectAreaLightUniformsLib.js +32842 -9
  121. package/lights/RectAreaLightUniformsLib.mjs +32842 -0
  122. package/lines/Line2.js +9 -12
  123. package/lines/Line2.mjs +13 -0
  124. package/lines/LineGeometry.js +7 -19
  125. package/lines/LineGeometry.mjs +44 -0
  126. package/lines/LineMaterial.js +51 -89
  127. package/lines/LineMaterial.mjs +539 -0
  128. package/lines/LineSegments2.js +56 -165
  129. package/lines/LineSegments2.mjs +202 -0
  130. package/lines/LineSegmentsGeometry.js +29 -71
  131. package/lines/LineSegmentsGeometry.mjs +124 -0
  132. package/lines/Wireframe.js +15 -29
  133. package/lines/Wireframe.mjs +31 -0
  134. package/lines/WireframeGeometry2.js +8 -9
  135. package/lines/WireframeGeometry2.mjs +13 -0
  136. package/loaders/3DMLoader.js +234 -469
  137. package/loaders/3DMLoader.mjs +802 -0
  138. package/loaders/3MFLoader.js +340 -555
  139. package/loaders/3MFLoader.mjs +837 -0
  140. package/loaders/AMFLoader.js +114 -219
  141. package/loaders/AMFLoader.mjs +284 -0
  142. package/loaders/AssimpLoader.js +328 -725
  143. package/loaders/AssimpLoader.mjs +1396 -0
  144. package/loaders/BVHLoader.js +94 -200
  145. package/loaders/BVHLoader.mjs +207 -0
  146. package/loaders/BasisTextureLoader.js +229 -357
  147. package/loaders/BasisTextureLoader.mjs +474 -0
  148. package/loaders/ColladaLoader.js +932 -1522
  149. package/loaders/ColladaLoader.mjs +2403 -0
  150. package/loaders/DDSLoader.js +42 -108
  151. package/loaders/DDSLoader.mjs +148 -0
  152. package/loaders/DRACOLoader.js +103 -210
  153. package/loaders/DRACOLoader.mjs +340 -0
  154. package/loaders/EXRLoader.js +461 -809
  155. package/loaders/EXRLoader.mjs +1351 -0
  156. package/loaders/FBXLoader.js +842 -1397
  157. package/loaders/FBXLoader.mjs +2362 -0
  158. package/loaders/FontLoader.js +33 -66
  159. package/loaders/FontLoader.mjs +111 -0
  160. package/loaders/GCodeLoader.js +63 -111
  161. package/loaders/GCodeLoader.mjs +141 -0
  162. package/loaders/GLTFLoader.js +771 -1484
  163. package/loaders/GLTFLoader.mjs +2316 -0
  164. package/loaders/HDRCubeTextureLoader.js +45 -50
  165. package/loaders/HDRCubeTextureLoader.mjs +77 -0
  166. package/loaders/KMZLoader.js +42 -55
  167. package/loaders/KMZLoader.mjs +75 -0
  168. package/loaders/KTX2Loader.js +229 -362
  169. package/loaders/KTX2Loader.mjs +427 -0
  170. package/loaders/KTXLoader.js +37 -99
  171. package/loaders/KTXLoader.mjs +87 -0
  172. package/loaders/LDrawLoader.js +313 -746
  173. package/loaders/LDrawLoader.mjs +1409 -0
  174. package/loaders/LUT3dlLoader.js +50 -62
  175. package/loaders/LUT3dlLoader.mjs +100 -0
  176. package/loaders/LUTCubeLoader.js +45 -56
  177. package/loaders/LUTCubeLoader.mjs +104 -0
  178. package/loaders/LWOLoader.js +227 -339
  179. package/loaders/LWOLoader.mjs +625 -0
  180. package/loaders/LottieLoader.js +36 -38
  181. package/loaders/LottieLoader.mjs +47 -0
  182. package/loaders/MD2Loader.js +248 -91
  183. package/loaders/MD2Loader.mjs +359 -0
  184. package/loaders/MDDLoader.js +25 -45
  185. package/loaders/MDDLoader.mjs +58 -0
  186. package/loaders/MMDLoader.js +359 -795
  187. package/loaders/MMDLoader.mjs +998 -0
  188. package/loaders/MTLLoader.js +91 -201
  189. package/loaders/MTLLoader.mjs +280 -0
  190. package/loaders/NRRDLoader.js +182 -263
  191. package/loaders/NRRDLoader.mjs +401 -0
  192. package/loaders/NodeMaterialLoader.js +121 -14
  193. package/loaders/NodeMaterialLoader.mjs +146 -0
  194. package/loaders/OBJLoader.js +161 -283
  195. package/loaders/OBJLoader.mjs +487 -0
  196. package/loaders/PCDLoader.js +145 -164
  197. package/loaders/PCDLoader.mjs +248 -0
  198. package/loaders/PDBLoader.js +45 -63
  199. package/loaders/PDBLoader.mjs +246 -0
  200. package/loaders/PLYLoader.js +106 -203
  201. package/loaders/PLYLoader.mjs +317 -0
  202. package/loaders/PRWMLoader.js +73 -110
  203. package/loaders/PRWMLoader.mjs +160 -0
  204. package/loaders/PVRLoader.js +32 -93
  205. package/loaders/PVRLoader.mjs +131 -0
  206. package/loaders/RGBELoader.js +96 -233
  207. package/loaders/RGBELoader.mjs +244 -0
  208. package/loaders/RGBMLoader.js +344 -514
  209. package/loaders/RGBMLoader.mjs +998 -0
  210. package/loaders/STLLoader.js +59 -165
  211. package/loaders/STLLoader.mjs +190 -0
  212. package/loaders/SVGLoader.js +481 -851
  213. package/loaders/SVGLoader.mjs +1709 -0
  214. package/loaders/TDSLoader.js +137 -527
  215. package/loaders/TDSLoader.mjs +480 -0
  216. package/loaders/TGALoader.js +94 -205
  217. package/loaders/TGALoader.mjs +285 -0
  218. package/loaders/TTFLoader.js +58 -79
  219. package/loaders/TTFLoader.mjs +131 -0
  220. package/loaders/TiltLoader.js +129 -167
  221. package/loaders/TiltLoader.mjs +373 -0
  222. package/loaders/VOXLoader.js +320 -84
  223. package/loaders/VOXLoader.mjs +431 -0
  224. package/loaders/VRMLLoader.js +786 -1268
  225. package/loaders/VRMLLoader.mjs +2093 -0
  226. package/loaders/VRMLoader.js +23 -31
  227. package/loaders/VRMLoader.mjs +38 -0
  228. package/loaders/VTKLoader.js +219 -407
  229. package/loaders/VTKLoader.mjs +646 -0
  230. package/loaders/XLoader.js +1083 -1259
  231. package/loaders/XLoader.mjs +1258 -0
  232. package/loaders/XYZLoader.js +28 -34
  233. package/loaders/XYZLoader.mjs +60 -0
  234. package/loaders/lwo/IFFParser.js +238 -492
  235. package/loaders/lwo/IFFParser.mjs +697 -0
  236. package/loaders/lwo/LWO2Parser.js +176 -279
  237. package/loaders/lwo/LWO2Parser.mjs +327 -0
  238. package/loaders/lwo/LWO3Parser.js +160 -247
  239. package/loaders/lwo/LWO3Parser.mjs +298 -0
  240. package/math/Capsule.js +56 -43
  241. package/math/Capsule.mjs +100 -0
  242. package/math/ColorConverter.js +18 -32
  243. package/math/ColorConverter.mjs +51 -0
  244. package/math/ConvexHull.js +515 -739
  245. package/math/ConvexHull.mjs +574 -0
  246. package/math/ImprovedNoise.js +282 -32
  247. package/math/ImprovedNoise.mjs +302 -0
  248. package/math/Lut.js +51 -35
  249. package/math/Lut.mjs +135 -0
  250. package/math/MeshSurfaceSampler.js +25 -68
  251. package/math/MeshSurfaceSampler.mjs +107 -0
  252. package/math/OBB.js +91 -152
  253. package/math/OBB.mjs +235 -0
  254. package/math/Octree.js +76 -139
  255. package/math/Octree.mjs +278 -0
  256. package/math/SimplexNoise.js +217 -238
  257. package/math/SimplexNoise.mjs +425 -0
  258. package/misc/ConvexObjectBreaker.js +79 -185
  259. package/misc/ConvexObjectBreaker.mjs +292 -0
  260. package/misc/GPUComputationRenderer.js +69 -194
  261. package/misc/GPUComputationRenderer.mjs +171 -0
  262. package/misc/Gyroscope.js +16 -22
  263. package/misc/Gyroscope.mjs +35 -0
  264. package/misc/MD2Character.js +52 -74
  265. package/misc/MD2Character.mjs +162 -0
  266. package/misc/MD2CharacterComplex.js +112 -163
  267. package/misc/MD2CharacterComplex.mjs +328 -0
  268. package/misc/MorphAnimMesh.js +20 -28
  269. package/misc/MorphAnimMesh.mjs +40 -0
  270. package/misc/MorphBlendMesh.js +45 -69
  271. package/misc/MorphBlendMesh.mjs +179 -0
  272. package/misc/ProgressiveLightmap.js +70 -187
  273. package/misc/ProgressiveLightmap.mjs +166 -0
  274. package/misc/RollerCoaster.js +106 -135
  275. package/misc/RollerCoaster.mjs +346 -0
  276. package/misc/TubePainter.js +74 -92
  277. package/misc/TubePainter.mjs +123 -0
  278. package/misc/Volume.js +108 -270
  279. package/misc/Volume.mjs +244 -0
  280. package/misc/VolumeSlice.js +34 -122
  281. package/misc/VolumeSlice.mjs +106 -0
  282. package/misc/WebGL.js +37 -34
  283. package/misc/WebGL.mjs +74 -0
  284. package/modifiers/CurveModifier.js +46 -151
  285. package/modifiers/CurveModifier.mjs +182 -0
  286. package/modifiers/EdgeSplitModifier.js +46 -90
  287. package/modifiers/EdgeSplitModifier.mjs +162 -0
  288. package/modifiers/SimplifyModifier.js +77 -202
  289. package/modifiers/SimplifyModifier.mjs +282 -0
  290. package/modifiers/TessellateModifier.js +65 -90
  291. package/modifiers/TessellateModifier.mjs +206 -0
  292. package/nodes/Nodes.js +274 -140
  293. package/nodes/Nodes.mjs +400 -0
  294. package/nodes/ShaderNode.js +296 -196
  295. package/nodes/ShaderNode.mjs +408 -0
  296. package/nodes/accessors/BufferNode.js +4 -8
  297. package/nodes/accessors/BufferNode.mjs +15 -0
  298. package/nodes/accessors/CameraNode.js +20 -25
  299. package/nodes/accessors/CameraNode.mjs +44 -0
  300. package/nodes/accessors/CubeTextureNode.js +14 -26
  301. package/nodes/accessors/CubeTextureNode.mjs +42 -0
  302. package/nodes/accessors/MaterialNode.js +43 -53
  303. package/nodes/accessors/MaterialNode.mjs +71 -0
  304. package/nodes/accessors/MaterialReferenceNode.js +3 -6
  305. package/nodes/accessors/MaterialReferenceNode.mjs +14 -0
  306. package/nodes/accessors/ModelNode.js +3 -5
  307. package/nodes/accessors/ModelNode.mjs +9 -0
  308. package/nodes/accessors/ModelViewProjectionNode.js +14 -13
  309. package/nodes/accessors/ModelViewProjectionNode.mjs +24 -0
  310. package/nodes/accessors/NormalNode.js +40 -39
  311. package/nodes/accessors/NormalNode.mjs +62 -0
  312. package/nodes/accessors/Object3DNode.js +40 -50
  313. package/nodes/accessors/Object3DNode.mjs +76 -0
  314. package/nodes/accessors/PointUVNode.js +5 -9
  315. package/nodes/accessors/PointUVNode.mjs +13 -0
  316. package/nodes/accessors/PositionNode.js +42 -41
  317. package/nodes/accessors/PositionNode.mjs +65 -0
  318. package/nodes/accessors/ReferenceNode.js +10 -17
  319. package/nodes/accessors/ReferenceNode.mjs +37 -0
  320. package/nodes/accessors/ReflectNode.js +23 -26
  321. package/nodes/accessors/ReflectNode.mjs +43 -0
  322. package/nodes/accessors/SkinningNode.js +46 -48
  323. package/nodes/accessors/SkinningNode.mjs +58 -0
  324. package/nodes/accessors/TextureNode.js +14 -29
  325. package/nodes/accessors/TextureNode.mjs +54 -0
  326. package/nodes/accessors/UVNode.js +5 -11
  327. package/nodes/accessors/UVNode.mjs +23 -0
  328. package/nodes/core/ArrayUniformNode.js +3 -7
  329. package/nodes/core/ArrayUniformNode.mjs +14 -0
  330. package/nodes/core/AttributeNode.js +5 -12
  331. package/nodes/core/AttributeNode.mjs +30 -0
  332. package/nodes/core/BypassNode.js +5 -12
  333. package/nodes/core/BypassNode.mjs +22 -0
  334. package/nodes/core/CodeNode.js +4 -12
  335. package/nodes/core/CodeNode.mjs +28 -0
  336. package/nodes/core/ConstNode.js +3 -7
  337. package/nodes/core/ConstNode.mjs +14 -0
  338. package/nodes/core/ContextNode.js +3 -8
  339. package/nodes/core/ContextNode.mjs +22 -0
  340. package/nodes/core/ExpressionNode.js +5 -9
  341. package/nodes/core/ExpressionNode.mjs +19 -0
  342. package/nodes/core/FunctionCallNode.js +6 -15
  343. package/nodes/core/FunctionCallNode.mjs +37 -0
  344. package/nodes/core/FunctionNode.js +10 -25
  345. package/nodes/core/FunctionNode.mjs +56 -0
  346. package/nodes/core/InputNode.js +12 -23
  347. package/nodes/core/InputNode.mjs +38 -0
  348. package/nodes/core/Node.js +35 -75
  349. package/nodes/core/Node.mjs +139 -0
  350. package/nodes/core/NodeAttribute.js +2 -4
  351. package/nodes/core/NodeAttribute.mjs +10 -0
  352. package/nodes/core/NodeBuilder.js +110 -224
  353. package/nodes/core/NodeBuilder.mjs +395 -0
  354. package/nodes/core/NodeCode.js +4 -7
  355. package/nodes/core/NodeCode.mjs +11 -0
  356. package/nodes/core/NodeFrame.js +9 -12
  357. package/nodes/core/NodeFrame.mjs +35 -0
  358. package/nodes/core/NodeFunctionInput.js +3 -5
  359. package/nodes/core/NodeFunctionInput.mjs +13 -0
  360. package/nodes/core/NodeKeywords.js +5 -16
  361. package/nodes/core/NodeKeywords.mjs +44 -0
  362. package/nodes/core/NodeUniform.js +3 -7
  363. package/nodes/core/NodeUniform.mjs +18 -0
  364. package/nodes/core/NodeUtils.js +39 -43
  365. package/nodes/core/NodeUtils.mjs +57 -0
  366. package/nodes/core/NodeVar.js +2 -4
  367. package/nodes/core/NodeVar.mjs +10 -0
  368. package/nodes/core/NodeVary.js +2 -4
  369. package/nodes/core/NodeVary.mjs +10 -0
  370. package/nodes/core/PropertyNode.js +4 -10
  371. package/nodes/core/PropertyNode.mjs +21 -0
  372. package/nodes/core/TempNode.js +5 -11
  373. package/nodes/core/TempNode.mjs +25 -0
  374. package/nodes/core/UniformNode.js +4 -10
  375. package/nodes/core/UniformNode.mjs +23 -0
  376. package/nodes/core/VarNode.js +3 -11
  377. package/nodes/core/VarNode.mjs +31 -0
  378. package/nodes/core/VaryNode.js +6 -15
  379. package/nodes/core/VaryNode.mjs +30 -0
  380. package/nodes/core/constants.js +20 -7
  381. package/nodes/core/constants.mjs +24 -0
  382. package/nodes/display/ColorSpaceNode.js +34 -38
  383. package/nodes/display/ColorSpaceNode.mjs +63 -0
  384. package/nodes/display/NormalMapNode.js +35 -53
  385. package/nodes/display/NormalMapNode.mjs +54 -0
  386. package/nodes/fog/FogNode.js +5 -9
  387. package/nodes/fog/FogNode.mjs +15 -0
  388. package/nodes/fog/FogRangeNode.js +5 -9
  389. package/nodes/fog/FogRangeNode.mjs +17 -0
  390. package/nodes/functions/BSDFs.js +61 -118
  391. package/nodes/functions/BSDFs.mjs +64 -0
  392. package/nodes/lights/LightContextNode.js +14 -23
  393. package/nodes/lights/LightContextNode.mjs +35 -0
  394. package/nodes/lights/LightNode.js +27 -31
  395. package/nodes/lights/LightNode.mjs +58 -0
  396. package/nodes/lights/LightsNode.js +9 -28
  397. package/nodes/lights/LightsNode.mjs +59 -0
  398. package/nodes/loaders/NodeLoader.js +27 -42
  399. package/nodes/loaders/NodeLoader.mjs +66 -0
  400. package/nodes/loaders/NodeMaterialLoader.js +4 -10
  401. package/nodes/loaders/NodeMaterialLoader.mjs +24 -0
  402. package/nodes/loaders/NodeObjectLoader.js +9 -19
  403. package/nodes/loaders/NodeObjectLoader.mjs +40 -0
  404. package/nodes/materials/LineBasicNodeMaterial.js +5 -10
  405. package/nodes/materials/LineBasicNodeMaterial.mjs +27 -0
  406. package/nodes/materials/Materials.js +14 -17
  407. package/nodes/materials/Materials.mjs +28 -0
  408. package/nodes/materials/MeshBasicNodeMaterial.js +5 -10
  409. package/nodes/materials/MeshBasicNodeMaterial.mjs +28 -0
  410. package/nodes/materials/MeshStandardNodeMaterial.js +5 -8
  411. package/nodes/materials/MeshStandardNodeMaterial.mjs +41 -0
  412. package/nodes/materials/NodeMaterial.js +20 -36
  413. package/nodes/materials/NodeMaterial.mjs +64 -0
  414. package/nodes/materials/PointsNodeMaterial.js +5 -10
  415. package/nodes/materials/PointsNodeMaterial.mjs +30 -0
  416. package/nodes/math/CondNode.js +11 -23
  417. package/nodes/math/CondNode.mjs +38 -0
  418. package/nodes/math/MathNode.js +98 -142
  419. package/nodes/math/MathNode.mjs +163 -0
  420. package/nodes/math/OperatorNode.js +24 -46
  421. package/nodes/math/OperatorNode.mjs +103 -0
  422. package/nodes/procedural/CheckerNode.js +13 -19
  423. package/nodes/procedural/CheckerNode.mjs +21 -0
  424. package/nodes/utils/ArrayElementNode.js +4 -8
  425. package/nodes/utils/ArrayElementNode.mjs +19 -0
  426. package/nodes/utils/ConvertNode.js +3 -8
  427. package/nodes/utils/ConvertNode.mjs +25 -0
  428. package/nodes/utils/JoinNode.js +7 -11
  429. package/nodes/utils/JoinNode.mjs +26 -0
  430. package/nodes/utils/MatcapUVNode.js +8 -11
  431. package/nodes/utils/MatcapUVNode.mjs +16 -0
  432. package/nodes/utils/OscNode.js +27 -33
  433. package/nodes/utils/OscNode.mjs +50 -0
  434. package/nodes/utils/SplitNode.js +6 -20
  435. package/nodes/utils/SplitNode.mjs +45 -0
  436. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  437. package/nodes/utils/SpriteSheetUVNode.mjs +40 -0
  438. package/nodes/utils/TimerNode.js +20 -24
  439. package/nodes/utils/TimerNode.mjs +44 -0
  440. package/objects/GroundProjectedEnv.js +22 -37
  441. package/objects/GroundProjectedEnv.mjs +130 -0
  442. package/objects/Lensflare.js +86 -156
  443. package/objects/Lensflare.mjs +262 -0
  444. package/objects/LightningStorm.js +38 -102
  445. package/objects/LightningStorm.mjs +110 -0
  446. package/objects/MarchingCubes.js +150 -303
  447. package/objects/MarchingCubes.mjs +457 -0
  448. package/objects/Reflector.js +50 -72
  449. package/objects/Reflector.mjs +166 -0
  450. package/objects/ReflectorForSSRPass.js +80 -131
  451. package/objects/ReflectorForSSRPass.mjs +247 -0
  452. package/objects/ReflectorRTT.js +6 -7
  453. package/objects/ReflectorRTT.mjs +10 -0
  454. package/objects/Refractor.js +64 -106
  455. package/objects/Refractor.mjs +178 -0
  456. package/objects/ShadowMesh.js +8 -17
  457. package/objects/ShadowMesh.mjs +41 -0
  458. package/objects/Sky.js +119 -80
  459. package/objects/Sky.mjs +124 -0
  460. package/objects/Water.js +83 -127
  461. package/objects/Water.mjs +235 -0
  462. package/objects/Water2.js +72 -108
  463. package/objects/Water2.mjs +252 -0
  464. package/offscreen/jank.js +10 -14
  465. package/offscreen/jank.mjs +27 -0
  466. package/offscreen/offscreen.js +4 -5
  467. package/offscreen/offscreen.mjs +5 -0
  468. package/offscreen/scene.js +45 -48
  469. package/offscreen/scene.mjs +52 -0
  470. package/package.json +3 -3
  471. package/physics/AmmoPhysics.js +30 -71
  472. package/physics/AmmoPhysics.mjs +165 -0
  473. package/postprocessing/AdaptiveToneMappingPass.js +97 -123
  474. package/postprocessing/AdaptiveToneMappingPass.mjs +221 -0
  475. package/postprocessing/AfterimagePass.js +28 -49
  476. package/postprocessing/AfterimagePass.mjs +55 -0
  477. package/postprocessing/BloomPass.js +43 -69
  478. package/postprocessing/BloomPass.mjs +90 -0
  479. package/postprocessing/BokehPass.js +39 -69
  480. package/postprocessing/BokehPass.mjs +76 -0
  481. package/postprocessing/ClearPass.js +10 -25
  482. package/postprocessing/ClearPass.mjs +27 -0
  483. package/postprocessing/CubeTexturePass.js +28 -27
  484. package/postprocessing/CubeTexturePass.mjs +49 -0
  485. package/postprocessing/DotScreenPass.js +24 -32
  486. package/postprocessing/DotScreenPass.mjs +40 -0
  487. package/postprocessing/EffectComposer.js +39 -86
  488. package/postprocessing/EffectComposer.mjs +139 -0
  489. package/postprocessing/FilmPass.js +25 -30
  490. package/postprocessing/FilmPass.mjs +42 -0
  491. package/postprocessing/GlitchPass.js +38 -61
  492. package/postprocessing/GlitchPass.mjs +75 -0
  493. package/postprocessing/HalftonePass.js +19 -39
  494. package/postprocessing/HalftonePass.mjs +44 -0
  495. package/postprocessing/LUTPass.js +13 -38
  496. package/postprocessing/LUTPass.mjs +136 -0
  497. package/postprocessing/MaskPass.js +19 -38
  498. package/postprocessing/MaskPass.mjs +60 -0
  499. package/postprocessing/OutlinePass.js +135 -277
  500. package/postprocessing/OutlinePass.mjs +438 -0
  501. package/postprocessing/Pass.js +20 -44
  502. package/postprocessing/Pass.mjs +37 -0
  503. package/postprocessing/RenderPass.js +13 -36
  504. package/postprocessing/RenderPass.mjs +48 -0
  505. package/postprocessing/RenderPixelatedPass.js +44 -58
  506. package/postprocessing/RenderPixelatedPass.mjs +199 -0
  507. package/postprocessing/SAOPass.js +154 -189
  508. package/postprocessing/SAOPass.mjs +282 -0
  509. package/postprocessing/SMAAPass.js +64 -84
  510. package/postprocessing/SMAAPass.mjs +112 -0
  511. package/postprocessing/SSAARenderPass.js +121 -69
  512. package/postprocessing/SSAARenderPass.mjs +170 -0
  513. package/postprocessing/SSAOPass.js +123 -172
  514. package/postprocessing/SSAOPass.mjs +265 -0
  515. package/postprocessing/SSRPass.js +211 -280
  516. package/postprocessing/SSRPass.mjs +432 -0
  517. package/postprocessing/SavePass.js +20 -25
  518. package/postprocessing/SavePass.mjs +37 -0
  519. package/postprocessing/ShaderPass.js +14 -30
  520. package/postprocessing/ShaderPass.mjs +39 -0
  521. package/postprocessing/TAARenderPass.js +42 -61
  522. package/postprocessing/TAARenderPass.mjs +88 -0
  523. package/postprocessing/TexturePass.js +21 -22
  524. package/postprocessing/TexturePass.mjs +39 -0
  525. package/postprocessing/UnrealBloomPass.js +105 -213
  526. package/postprocessing/UnrealBloomPass.mjs +220 -0
  527. package/renderers/CSS2DRenderer.js +44 -56
  528. package/renderers/CSS2DRenderer.mjs +112 -0
  529. package/renderers/CSS3DRenderer.js +53 -86
  530. package/renderers/CSS3DRenderer.mjs +133 -0
  531. package/renderers/Projector.js +107 -274
  532. package/renderers/Projector.mjs +511 -0
  533. package/renderers/SVGRenderer.js +72 -182
  534. package/renderers/SVGRenderer.mjs +306 -0
  535. package/renderers/nodes/accessors/CameraNode.js +29 -40
  536. package/renderers/nodes/accessors/CameraNode.mjs +63 -0
  537. package/renderers/nodes/accessors/ModelNode.js +28 -37
  538. package/renderers/nodes/accessors/ModelNode.mjs +61 -0
  539. package/renderers/nodes/accessors/ModelViewProjectionNode.js +10 -23
  540. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +21 -0
  541. package/renderers/nodes/accessors/NormalNode.js +35 -45
  542. package/renderers/nodes/accessors/NormalNode.mjs +61 -0
  543. package/renderers/nodes/accessors/PositionNode.js +18 -19
  544. package/renderers/nodes/accessors/PositionNode.mjs +30 -0
  545. package/renderers/nodes/accessors/UVNode.js +5 -10
  546. package/renderers/nodes/accessors/UVNode.mjs +13 -0
  547. package/renderers/nodes/core/AttributeNode.js +5 -14
  548. package/renderers/nodes/core/AttributeNode.mjs +35 -0
  549. package/renderers/nodes/core/InputNode.js +4 -14
  550. package/renderers/nodes/core/InputNode.mjs +31 -0
  551. package/renderers/nodes/core/Node.js +7 -17
  552. package/renderers/nodes/core/Node.mjs +34 -0
  553. package/renderers/nodes/core/NodeAttribute.js +3 -6
  554. package/renderers/nodes/core/NodeAttribute.mjs +10 -0
  555. package/renderers/nodes/core/NodeBuilder.js +87 -154
  556. package/renderers/nodes/core/NodeBuilder.mjs +243 -0
  557. package/renderers/nodes/core/NodeFrame.js +9 -12
  558. package/renderers/nodes/core/NodeFrame.mjs +35 -0
  559. package/renderers/nodes/core/NodeSlot.js +2 -3
  560. package/renderers/nodes/core/NodeSlot.mjs +10 -0
  561. package/renderers/nodes/core/NodeUniform.js +4 -9
  562. package/renderers/nodes/core/NodeUniform.mjs +18 -0
  563. package/renderers/nodes/core/NodeVary.js +4 -7
  564. package/renderers/nodes/core/NodeVary.mjs +11 -0
  565. package/renderers/nodes/core/VaryNode.js +6 -12
  566. package/renderers/nodes/core/VaryNode.mjs +22 -0
  567. package/renderers/nodes/core/constants.js +16 -13
  568. package/renderers/nodes/core/constants.mjs +22 -0
  569. package/renderers/nodes/inputs/ColorNode.js +5 -11
  570. package/renderers/nodes/inputs/ColorNode.mjs +11 -0
  571. package/renderers/nodes/inputs/FloatNode.js +5 -11
  572. package/renderers/nodes/inputs/FloatNode.mjs +11 -0
  573. package/renderers/nodes/inputs/Matrix3Node.js +7 -13
  574. package/renderers/nodes/inputs/Matrix3Node.mjs +12 -0
  575. package/renderers/nodes/inputs/Matrix4Node.js +7 -13
  576. package/renderers/nodes/inputs/Matrix4Node.mjs +12 -0
  577. package/renderers/nodes/inputs/TextureNode.js +7 -15
  578. package/renderers/nodes/inputs/TextureNode.mjs +20 -0
  579. package/renderers/nodes/inputs/Vector2Node.js +5 -11
  580. package/renderers/nodes/inputs/Vector2Node.mjs +11 -0
  581. package/renderers/nodes/inputs/Vector3Node.js +7 -13
  582. package/renderers/nodes/inputs/Vector3Node.mjs +12 -0
  583. package/renderers/nodes/inputs/Vector4Node.js +7 -13
  584. package/renderers/nodes/inputs/Vector4Node.mjs +12 -0
  585. package/renderers/nodes/math/MathNode.js +20 -30
  586. package/renderers/nodes/math/MathNode.mjs +55 -0
  587. package/renderers/nodes/math/OperatorNode.js +4 -20
  588. package/renderers/nodes/math/OperatorNode.mjs +42 -0
  589. package/renderers/nodes/utils/SwitchNode.js +4 -9
  590. package/renderers/nodes/utils/SwitchNode.mjs +20 -0
  591. package/renderers/nodes/utils/TimerNode.js +5 -10
  592. package/renderers/nodes/utils/TimerNode.mjs +14 -0
  593. package/renderers/webgpu/WebGPU.js +14 -16
  594. package/renderers/webgpu/WebGPU.mjs +24 -0
  595. package/renderers/webgpu/WebGPUAttributes.js +16 -23
  596. package/renderers/webgpu/WebGPUAttributes.mjs +69 -0
  597. package/renderers/webgpu/WebGPUBackground.js +13 -30
  598. package/renderers/webgpu/WebGPUBackground.mjs +61 -0
  599. package/renderers/webgpu/WebGPUBinding.js +4 -7
  600. package/renderers/webgpu/WebGPUBinding.mjs +14 -0
  601. package/renderers/webgpu/WebGPUBindings.js +21 -57
  602. package/renderers/webgpu/WebGPUBindings.mjs +155 -0
  603. package/renderers/webgpu/WebGPUComputePipelines.js +14 -25
  604. package/renderers/webgpu/WebGPUComputePipelines.mjs +44 -0
  605. package/renderers/webgpu/WebGPUGeometries.js +5 -15
  606. package/renderers/webgpu/WebGPUGeometries.mjs +41 -0
  607. package/renderers/webgpu/WebGPUInfo.js +3 -8
  608. package/renderers/webgpu/WebGPUInfo.mjs +46 -0
  609. package/renderers/webgpu/WebGPUObjects.js +5 -10
  610. package/renderers/webgpu/WebGPUObjects.mjs +25 -0
  611. package/renderers/webgpu/WebGPUProperties.js +5 -11
  612. package/renderers/webgpu/WebGPUProperties.mjs +22 -0
  613. package/renderers/webgpu/WebGPURenderLists.js +20 -36
  614. package/renderers/webgpu/WebGPURenderLists.mjs +119 -0
  615. package/renderers/webgpu/WebGPURenderPipelines.js +260 -387
  616. package/renderers/webgpu/WebGPURenderPipelines.mjs +545 -0
  617. package/renderers/webgpu/WebGPURenderer.js +124 -262
  618. package/renderers/webgpu/WebGPURenderer.mjs +574 -0
  619. package/renderers/webgpu/WebGPUSampledTexture.js +18 -31
  620. package/renderers/webgpu/WebGPUSampledTexture.mjs +40 -0
  621. package/renderers/webgpu/WebGPUSampler.js +7 -12
  622. package/renderers/webgpu/WebGPUSampler.mjs +15 -0
  623. package/renderers/webgpu/WebGPUStorageBuffer.js +7 -12
  624. package/renderers/webgpu/WebGPUStorageBuffer.mjs +15 -0
  625. package/renderers/webgpu/WebGPUTextureRenderer.js +5 -11
  626. package/renderers/webgpu/WebGPUTextureRenderer.mjs +23 -0
  627. package/renderers/webgpu/WebGPUTextureUtils.js +29 -40
  628. package/renderers/webgpu/WebGPUTextureUtils.mjs +98 -0
  629. package/renderers/webgpu/WebGPUTextures.js +186 -333
  630. package/renderers/webgpu/WebGPUTextures.mjs +484 -0
  631. package/renderers/webgpu/WebGPUUniform.js +25 -51
  632. package/renderers/webgpu/WebGPUUniform.mjs +81 -0
  633. package/renderers/webgpu/WebGPUUniformsGroup.js +32 -72
  634. package/renderers/webgpu/WebGPUUniformsGroup.mjs +176 -0
  635. package/renderers/webgpu/constants.js +190 -181
  636. package/renderers/webgpu/constants.mjs +230 -0
  637. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  638. package/renderers/webgpu/nodes/ShaderLib.mjs +42 -0
  639. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +53 -124
  640. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +165 -0
  641. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +17 -31
  642. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +73 -0
  643. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +8 -9
  644. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +15 -0
  645. package/renderers/webgpu/nodes/WebGPUNodes.js +7 -45
  646. package/renderers/webgpu/nodes/WebGPUNodes.mjs +40 -0
  647. package/shaders/ACESFilmicToneMappingShader.js +44 -24
  648. package/shaders/ACESFilmicToneMappingShader.mjs +48 -0
  649. package/shaders/AfterimageShader.js +28 -18
  650. package/shaders/AfterimageShader.mjs +32 -0
  651. package/shaders/BasicShader.js +9 -7
  652. package/shaders/BasicShader.mjs +12 -0
  653. package/shaders/BleachBypassShader.js +31 -15
  654. package/shaders/BleachBypassShader.mjs +35 -0
  655. package/shaders/BlendShader.js +26 -19
  656. package/shaders/BlendShader.mjs +30 -0
  657. package/shaders/BokehShader.js +98 -36
  658. package/shaders/BokehShader.mjs +106 -0
  659. package/shaders/BokehShader2.js +261 -90
  660. package/shaders/BokehShader2.mjs +269 -0
  661. package/shaders/BrightnessContrastShader.js +28 -19
  662. package/shaders/BrightnessContrastShader.mjs +32 -0
  663. package/shaders/ColorCorrectionShader.js +26 -22
  664. package/shaders/ColorCorrectionShader.mjs +30 -0
  665. package/shaders/ColorifyShader.js +24 -16
  666. package/shaders/ColorifyShader.mjs +28 -0
  667. package/shaders/ConvolutionShader.js +40 -36
  668. package/shaders/ConvolutionShader.mjs +55 -0
  669. package/shaders/CopyShader.js +21 -13
  670. package/shaders/CopyShader.mjs +25 -0
  671. package/shaders/DOFMipMapShader.js +28 -21
  672. package/shaders/DOFMipMapShader.mjs +32 -0
  673. package/shaders/DepthLimitedBlurShader.js +85 -40
  674. package/shaders/DepthLimitedBlurShader.mjs +114 -0
  675. package/shaders/DigitalGlitch.js +74 -46
  676. package/shaders/DigitalGlitch.mjs +78 -0
  677. package/shaders/DotScreenShader.js +35 -27
  678. package/shaders/DotScreenShader.mjs +39 -0
  679. package/shaders/FXAAShader.js +1094 -19
  680. package/shaders/FXAAShader.mjs +1098 -0
  681. package/shaders/FilmShader.js +38 -52
  682. package/shaders/FilmShader.mjs +42 -0
  683. package/shaders/FocusShader.js +51 -24
  684. package/shaders/FocusShader.mjs +55 -0
  685. package/shaders/FreiChenShader.js +57 -24
  686. package/shaders/FreiChenShader.mjs +61 -0
  687. package/shaders/FresnelShader.js +43 -22
  688. package/shaders/FresnelShader.mjs +47 -0
  689. package/shaders/GammaCorrectionShader.js +19 -11
  690. package/shaders/GammaCorrectionShader.mjs +23 -0
  691. package/shaders/GodRaysShader.js +103 -94
  692. package/shaders/GodRaysShader.mjs +146 -0
  693. package/shaders/HalftoneShader.js +208 -65
  694. package/shaders/HalftoneShader.mjs +212 -0
  695. package/shaders/HorizontalBlurShader.js +7 -23
  696. package/shaders/HorizontalBlurShader.mjs +43 -0
  697. package/shaders/HorizontalTiltShiftShader.js +33 -21
  698. package/shaders/HorizontalTiltShiftShader.mjs +37 -0
  699. package/shaders/HueSaturationShader.js +37 -21
  700. package/shaders/HueSaturationShader.mjs +41 -0
  701. package/shaders/KaleidoShader.js +30 -22
  702. package/shaders/KaleidoShader.mjs +34 -0
  703. package/shaders/LuminosityHighPassShader.js +33 -27
  704. package/shaders/LuminosityHighPassShader.mjs +37 -0
  705. package/shaders/LuminosityShader.js +21 -11
  706. package/shaders/LuminosityShader.mjs +25 -0
  707. package/shaders/MirrorShader.js +31 -16
  708. package/shaders/MirrorShader.mjs +35 -0
  709. package/shaders/NormalMapShader.js +27 -23
  710. package/shaders/NormalMapShader.mjs +31 -0
  711. package/shaders/ParallaxShader.js +107 -48
  712. package/shaders/ParallaxShader.mjs +113 -0
  713. package/shaders/PixelShader.js +24 -16
  714. package/shaders/PixelShader.mjs +28 -0
  715. package/shaders/RGBShiftShader.js +26 -22
  716. package/shaders/RGBShiftShader.mjs +30 -0
  717. package/shaders/SAOShader.js +132 -48
  718. package/shaders/SAOShader.mjs +144 -0
  719. package/shaders/SMAAShader.js +256 -135
  720. package/shaders/SMAAShader.mjs +272 -0
  721. package/shaders/SSAOShader.js +153 -81
  722. package/shaders/SSAOShader.mjs +172 -0
  723. package/shaders/SSRShader.js +32 -87
  724. package/shaders/SSRShader.mjs +324 -0
  725. package/shaders/SepiaShader.js +25 -15
  726. package/shaders/SepiaShader.mjs +29 -0
  727. package/shaders/SobelOperatorShader.js +40 -29
  728. package/shaders/SobelOperatorShader.mjs +44 -0
  729. package/shaders/SubsurfaceScatteringShader.js +53 -39
  730. package/shaders/SubsurfaceScatteringShader.mjs +59 -0
  731. package/shaders/TechnicolorShader.js +20 -13
  732. package/shaders/TechnicolorShader.mjs +24 -0
  733. package/shaders/ToneMapShader.js +44 -28
  734. package/shaders/ToneMapShader.mjs +48 -0
  735. package/shaders/ToonShader.js +172 -96
  736. package/shaders/ToonShader.mjs +188 -0
  737. package/shaders/TriangleBlurShader.js +32 -23
  738. package/shaders/TriangleBlurShader.mjs +36 -0
  739. package/shaders/UnpackDepthRGBAShader.js +22 -14
  740. package/shaders/UnpackDepthRGBAShader.mjs +26 -0
  741. package/shaders/VerticalBlurShader.js +7 -23
  742. package/shaders/VerticalBlurShader.mjs +44 -0
  743. package/shaders/VerticalTiltShiftShader.js +33 -21
  744. package/shaders/VerticalTiltShiftShader.mjs +37 -0
  745. package/shaders/VignetteShader.js +24 -28
  746. package/shaders/VignetteShader.mjs +28 -0
  747. package/shaders/VolumeShader.js +174 -77
  748. package/shaders/VolumeShader.mjs +178 -0
  749. package/shaders/WaterRefractionShader.js +38 -6
  750. package/shaders/WaterRefractionShader.mjs +57 -0
  751. package/shaders/types.js +1 -1
  752. package/{custom.d.js → shaders/types.mjs} +0 -0
  753. package/textures/FlakesTexture.js +8 -10
  754. package/textures/FlakesTexture.mjs +30 -0
  755. package/types/helpers.js +3 -2
  756. package/types/helpers.mjs +4 -0
  757. package/utils/BufferGeometryUtils.js +251 -325
  758. package/utils/BufferGeometryUtils.mjs +570 -0
  759. package/utils/GeometryCompressionUtils.js +241 -239
  760. package/utils/GeometryCompressionUtils.mjs +547 -0
  761. package/utils/GeometryUtils.js +41 -94
  762. package/utils/GeometryUtils.mjs +108 -0
  763. package/utils/RoughnessMipmapper.js +38 -82
  764. package/utils/RoughnessMipmapper.mjs +213 -0
  765. package/utils/SceneUtils.js +15 -20
  766. package/utils/SceneUtils.mjs +36 -0
  767. package/utils/ShadowMapViewer.js +49 -95
  768. package/utils/ShadowMapViewer.mjs +114 -0
  769. package/utils/SkeletonUtils.js +74 -165
  770. package/utils/SkeletonUtils.mjs +292 -0
  771. package/utils/UVsDebug.js +32 -62
  772. package/utils/UVsDebug.mjs +85 -0
  773. package/utils/WorkerPool.js +13 -33
  774. package/utils/WorkerPool.mjs +62 -0
  775. package/webxr/ARButton.js +72 -98
  776. package/webxr/ARButton.mjs +119 -0
  777. package/webxr/OculusHandModel.js +18 -37
  778. package/webxr/OculusHandModel.mjs +71 -0
  779. package/webxr/OculusHandPointerModel.js +58 -80
  780. package/webxr/OculusHandPointerModel.mjs +207 -0
  781. package/webxr/Text2D.js +37 -19
  782. package/webxr/Text2D.mjs +31 -0
  783. package/webxr/VRButton.js +59 -90
  784. package/webxr/VRButton.mjs +105 -0
  785. package/webxr/XRControllerModelFactory.js +58 -116
  786. package/webxr/XRControllerModelFactory.mjs +146 -0
  787. package/webxr/XREstimatedLight.js +39 -66
  788. package/webxr/XREstimatedLight.mjs +126 -0
  789. package/webxr/XRHandMeshModel.js +40 -29
  790. package/webxr/XRHandMeshModel.mjs +73 -0
  791. package/webxr/XRHandModelFactory.js +28 -31
  792. package/webxr/XRHandModelFactory.mjs +61 -0
  793. package/webxr/XRHandPrimitiveModel.js +41 -27
  794. package/webxr/XRHandPrimitiveModel.mjs +68 -0
  795. package/BufferGeometryUtils-1a7a235c.js +0 -655
  796. package/BufferGeometryUtils-971dfde3.js +0 -1
  797. package/Nodes-4f766d71.js +0 -471
  798. package/Nodes-9aa16d74.js +0 -1
  799. package/animation/AnimationClipCreator.cjs.js +0 -1
  800. package/animation/CCDIKSolver.cjs.js +0 -1
  801. package/animation/MMDAnimationHelper.cjs.js +0 -1
  802. package/animation/MMDPhysics.cjs.js +0 -1
  803. package/cameras/CinematicCamera.cjs.js +0 -1
  804. package/controls/ArcballControls.cjs.js +0 -1
  805. package/controls/DeviceOrientationControls.cjs.js +0 -1
  806. package/controls/DragControls.cjs.js +0 -1
  807. package/controls/FirstPersonControls.cjs.js +0 -1
  808. package/controls/FlyControls.cjs.js +0 -1
  809. package/controls/OrbitControls.cjs.js +0 -1
  810. package/controls/PointerLockControls.cjs.js +0 -1
  811. package/controls/TrackballControls.cjs.js +0 -1
  812. package/controls/TransformControls.cjs.js +0 -1
  813. package/controls/experimental/CameraControls.cjs.js +0 -1
  814. package/csm/CSM.cjs.js +0 -1
  815. package/csm/CSMFrustum.cjs.js +0 -1
  816. package/csm/CSMHelper.cjs.js +0 -1
  817. package/csm/CSMShader.cjs.js +0 -1
  818. package/curves/CurveExtras.cjs.js +0 -1
  819. package/curves/NURBSCurve.cjs.js +0 -1
  820. package/curves/NURBSSurface.cjs.js +0 -1
  821. package/curves/NURBSUtils.cjs.js +0 -1
  822. package/custom.d.cjs.js +0 -1
  823. package/deprecated/Geometry.cjs.js +0 -1
  824. package/effects/AnaglyphEffect.cjs.js +0 -1
  825. package/effects/AsciiEffect.cjs.js +0 -1
  826. package/effects/OutlineEffect.cjs.js +0 -1
  827. package/effects/ParallaxBarrierEffect.cjs.js +0 -1
  828. package/effects/PeppersGhostEffect.cjs.js +0 -1
  829. package/effects/StereoEffect.cjs.js +0 -1
  830. package/environments/RoomEnvironment.cjs.js +0 -1
  831. package/exporters/ColladaExporter.cjs.js +0 -1
  832. package/exporters/DRACOExporter.cjs.js +0 -1
  833. package/exporters/GLTFExporter.cjs.js +0 -1
  834. package/exporters/MMDExporter.cjs.js +0 -1
  835. package/exporters/OBJExporter.cjs.js +0 -1
  836. package/exporters/PLYExporter.cjs.js +0 -1
  837. package/exporters/STLExporter.cjs.js +0 -1
  838. package/exporters/USDZExporter.cjs.js +0 -1
  839. package/geometries/BoxLineGeometry.cjs.js +0 -1
  840. package/geometries/ConvexGeometry.cjs.js +0 -1
  841. package/geometries/DecalGeometry.cjs.js +0 -1
  842. package/geometries/LightningStrike.cjs.js +0 -1
  843. package/geometries/ParametricGeometries.cjs.js +0 -1
  844. package/geometries/ParametricGeometry.cjs.js +0 -1
  845. package/geometries/RoundedBoxGeometry.cjs.js +0 -1
  846. package/geometries/TeapotGeometry.cjs.js +0 -1
  847. package/geometries/TextGeometry.cjs.js +0 -1
  848. package/helpers/LightProbeHelper.cjs.js +0 -1
  849. package/helpers/PositionalAudioHelper.cjs.js +0 -1
  850. package/helpers/RectAreaLightHelper.cjs.js +0 -1
  851. package/helpers/VertexNormalsHelper.cjs.js +0 -1
  852. package/helpers/VertexTangentsHelper.cjs.js +0 -1
  853. package/index.cjs.js +0 -1
  854. package/interactive/InteractiveGroup.cjs.js +0 -1
  855. package/interactive/InteractiveGroup.d.ts +0 -5
  856. package/interactive/InteractiveGroup.js +0 -87
  857. package/interactive/SelectionBox.cjs.js +0 -1
  858. package/interactive/SelectionHelper.cjs.js +0 -1
  859. package/libs/MeshoptDecoder.cjs.js +0 -1
  860. package/libs/MotionControllers.cjs.js +0 -1
  861. package/lights/LightProbeGenerator.cjs.js +0 -1
  862. package/lights/RectAreaLightUniformsLib.cjs.js +0 -1
  863. package/lines/Line2.cjs.js +0 -1
  864. package/lines/LineGeometry.cjs.js +0 -1
  865. package/lines/LineMaterial.cjs.js +0 -1
  866. package/lines/LineSegments2.cjs.js +0 -1
  867. package/lines/LineSegmentsGeometry.cjs.js +0 -1
  868. package/lines/Wireframe.cjs.js +0 -1
  869. package/lines/WireframeGeometry2.cjs.js +0 -1
  870. package/loaders/3DMLoader.cjs.js +0 -1
  871. package/loaders/3MFLoader.cjs.js +0 -1
  872. package/loaders/AMFLoader.cjs.js +0 -1
  873. package/loaders/AssimpLoader.cjs.js +0 -1
  874. package/loaders/BVHLoader.cjs.js +0 -1
  875. package/loaders/BasisTextureLoader.cjs.js +0 -1
  876. package/loaders/ColladaLoader.cjs.js +0 -1
  877. package/loaders/DDSLoader.cjs.js +0 -1
  878. package/loaders/DRACOLoader.cjs.js +0 -1
  879. package/loaders/EXRLoader.cjs.js +0 -1
  880. package/loaders/FBXLoader.cjs.js +0 -1
  881. package/loaders/FontLoader.cjs.js +0 -1
  882. package/loaders/GCodeLoader.cjs.js +0 -1
  883. package/loaders/GLTFLoader.cjs.js +0 -1
  884. package/loaders/HDRCubeTextureLoader.cjs.js +0 -1
  885. package/loaders/KMZLoader.cjs.js +0 -1
  886. package/loaders/KTX2Loader.cjs.js +0 -1
  887. package/loaders/KTXLoader.cjs.js +0 -1
  888. package/loaders/LDrawLoader.cjs.js +0 -1
  889. package/loaders/LUT3dlLoader.cjs.js +0 -1
  890. package/loaders/LUTCubeLoader.cjs.js +0 -1
  891. package/loaders/LWOLoader.cjs.js +0 -1
  892. package/loaders/LottieLoader.cjs.js +0 -1
  893. package/loaders/MD2Loader.cjs.js +0 -1
  894. package/loaders/MDDLoader.cjs.js +0 -1
  895. package/loaders/MMDLoader.cjs.js +0 -1
  896. package/loaders/MTLLoader.cjs.js +0 -1
  897. package/loaders/NRRDLoader.cjs.js +0 -1
  898. package/loaders/NodeMaterialLoader.cjs.js +0 -1
  899. package/loaders/OBJLoader.cjs.js +0 -1
  900. package/loaders/PCDLoader.cjs.js +0 -1
  901. package/loaders/PDBLoader.cjs.js +0 -1
  902. package/loaders/PLYLoader.cjs.js +0 -1
  903. package/loaders/PRWMLoader.cjs.js +0 -1
  904. package/loaders/PVRLoader.cjs.js +0 -1
  905. package/loaders/RGBELoader.cjs.js +0 -1
  906. package/loaders/RGBMLoader.cjs.js +0 -1
  907. package/loaders/STLLoader.cjs.js +0 -1
  908. package/loaders/SVGLoader.cjs.js +0 -1
  909. package/loaders/TDSLoader.cjs.js +0 -1
  910. package/loaders/TGALoader.cjs.js +0 -1
  911. package/loaders/TTFLoader.cjs.js +0 -1
  912. package/loaders/TiltLoader.cjs.js +0 -1
  913. package/loaders/VOXLoader.cjs.js +0 -1
  914. package/loaders/VRMLLoader.cjs.js +0 -1
  915. package/loaders/VRMLoader.cjs.js +0 -1
  916. package/loaders/VTKLoader.cjs.js +0 -1
  917. package/loaders/XLoader.cjs.js +0 -1
  918. package/loaders/XYZLoader.cjs.js +0 -1
  919. package/loaders/lwo/IFFParser.cjs.js +0 -1
  920. package/loaders/lwo/LWO2Parser.cjs.js +0 -1
  921. package/loaders/lwo/LWO3Parser.cjs.js +0 -1
  922. package/math/Capsule.cjs.js +0 -1
  923. package/math/ColorConverter.cjs.js +0 -1
  924. package/math/ConvexHull.cjs.js +0 -1
  925. package/math/ImprovedNoise.cjs.js +0 -1
  926. package/math/Lut.cjs.js +0 -1
  927. package/math/MeshSurfaceSampler.cjs.js +0 -1
  928. package/math/OBB.cjs.js +0 -1
  929. package/math/Octree.cjs.js +0 -1
  930. package/math/SimplexNoise.cjs.js +0 -1
  931. package/misc/ConvexObjectBreaker.cjs.js +0 -1
  932. package/misc/GPUComputationRenderer.cjs.js +0 -1
  933. package/misc/Gyroscope.cjs.js +0 -1
  934. package/misc/MD2Character.cjs.js +0 -1
  935. package/misc/MD2CharacterComplex.cjs.js +0 -1
  936. package/misc/MorphAnimMesh.cjs.js +0 -1
  937. package/misc/MorphBlendMesh.cjs.js +0 -1
  938. package/misc/ProgressiveLightmap.cjs.js +0 -1
  939. package/misc/RollerCoaster.cjs.js +0 -1
  940. package/misc/TubePainter.cjs.js +0 -1
  941. package/misc/Volume.cjs.js +0 -1
  942. package/misc/VolumeSlice.cjs.js +0 -1
  943. package/misc/WebGL.cjs.js +0 -1
  944. package/modifiers/CurveModifier.cjs.js +0 -1
  945. package/modifiers/EdgeSplitModifier.cjs.js +0 -1
  946. package/modifiers/SimplifyModifier.cjs.js +0 -1
  947. package/modifiers/TessellateModifier.cjs.js +0 -1
  948. package/nodes/Nodes.cjs.js +0 -1
  949. package/nodes/ShaderNode.cjs.js +0 -1
  950. package/nodes/accessors/BufferNode.cjs.js +0 -1
  951. package/nodes/accessors/CameraNode.cjs.js +0 -1
  952. package/nodes/accessors/CubeTextureNode.cjs.js +0 -1
  953. package/nodes/accessors/MaterialNode.cjs.js +0 -1
  954. package/nodes/accessors/MaterialReferenceNode.cjs.js +0 -1
  955. package/nodes/accessors/ModelNode.cjs.js +0 -1
  956. package/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  957. package/nodes/accessors/NormalNode.cjs.js +0 -1
  958. package/nodes/accessors/Object3DNode.cjs.js +0 -1
  959. package/nodes/accessors/PointUVNode.cjs.js +0 -1
  960. package/nodes/accessors/PositionNode.cjs.js +0 -1
  961. package/nodes/accessors/ReferenceNode.cjs.js +0 -1
  962. package/nodes/accessors/ReflectNode.cjs.js +0 -1
  963. package/nodes/accessors/SkinningNode.cjs.js +0 -1
  964. package/nodes/accessors/TextureNode.cjs.js +0 -1
  965. package/nodes/accessors/UVNode.cjs.js +0 -1
  966. package/nodes/core/ArrayUniformNode.cjs.js +0 -1
  967. package/nodes/core/AttributeNode.cjs.js +0 -1
  968. package/nodes/core/BypassNode.cjs.js +0 -1
  969. package/nodes/core/CodeNode.cjs.js +0 -1
  970. package/nodes/core/ConstNode.cjs.js +0 -1
  971. package/nodes/core/ContextNode.cjs.js +0 -1
  972. package/nodes/core/ExpressionNode.cjs.js +0 -1
  973. package/nodes/core/FunctionCallNode.cjs.js +0 -1
  974. package/nodes/core/FunctionNode.cjs.js +0 -1
  975. package/nodes/core/InputNode.cjs.js +0 -1
  976. package/nodes/core/Node.cjs.js +0 -1
  977. package/nodes/core/NodeAttribute.cjs.js +0 -1
  978. package/nodes/core/NodeBuilder.cjs.js +0 -1
  979. package/nodes/core/NodeCode.cjs.js +0 -1
  980. package/nodes/core/NodeFrame.cjs.js +0 -1
  981. package/nodes/core/NodeFunction.cjs.js +0 -1
  982. package/nodes/core/NodeFunction.js +0 -17
  983. package/nodes/core/NodeFunctionInput.cjs.js +0 -1
  984. package/nodes/core/NodeKeywords.cjs.js +0 -1
  985. package/nodes/core/NodeParser.cjs.js +0 -1
  986. package/nodes/core/NodeParser.js +0 -8
  987. package/nodes/core/NodeUniform.cjs.js +0 -1
  988. package/nodes/core/NodeUtils.cjs.js +0 -1
  989. package/nodes/core/NodeVar.cjs.js +0 -1
  990. package/nodes/core/NodeVary.cjs.js +0 -1
  991. package/nodes/core/PropertyNode.cjs.js +0 -1
  992. package/nodes/core/TempNode.cjs.js +0 -1
  993. package/nodes/core/UniformNode.cjs.js +0 -1
  994. package/nodes/core/VarNode.cjs.js +0 -1
  995. package/nodes/core/VaryNode.cjs.js +0 -1
  996. package/nodes/core/constants.cjs.js +0 -1
  997. package/nodes/display/ColorSpaceNode.cjs.js +0 -1
  998. package/nodes/display/NormalMapNode.cjs.js +0 -1
  999. package/nodes/fog/FogNode.cjs.js +0 -1
  1000. package/nodes/fog/FogRangeNode.cjs.js +0 -1
  1001. package/nodes/functions/BSDFs.cjs.js +0 -1
  1002. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +0 -1
  1003. package/nodes/functions/PhysicalMaterialFunctions.js +0 -57
  1004. package/nodes/lights/LightContextNode.cjs.js +0 -1
  1005. package/nodes/lights/LightNode.cjs.js +0 -1
  1006. package/nodes/lights/LightsNode.cjs.js +0 -1
  1007. package/nodes/loaders/NodeLoader.cjs.js +0 -1
  1008. package/nodes/loaders/NodeMaterialLoader.cjs.js +0 -1
  1009. package/nodes/loaders/NodeObjectLoader.cjs.js +0 -1
  1010. package/nodes/materials/LineBasicNodeMaterial.cjs.js +0 -1
  1011. package/nodes/materials/Materials.cjs.js +0 -1
  1012. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +0 -1
  1013. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +0 -1
  1014. package/nodes/materials/NodeMaterial.cjs.js +0 -1
  1015. package/nodes/materials/PointsNodeMaterial.cjs.js +0 -1
  1016. package/nodes/math/CondNode.cjs.js +0 -1
  1017. package/nodes/math/MathNode.cjs.js +0 -1
  1018. package/nodes/math/OperatorNode.cjs.js +0 -1
  1019. package/nodes/parsers/GLSLNodeFunction.cjs.js +0 -1
  1020. package/nodes/parsers/GLSLNodeFunction.js +0 -101
  1021. package/nodes/parsers/GLSLNodeParser.cjs.js +0 -1
  1022. package/nodes/parsers/GLSLNodeParser.js +0 -13
  1023. package/nodes/parsers/WGSLNodeFunction.cjs.js +0 -1
  1024. package/nodes/parsers/WGSLNodeFunction.js +0 -71
  1025. package/nodes/parsers/WGSLNodeParser.cjs.js +0 -1
  1026. package/nodes/parsers/WGSLNodeParser.js +0 -13
  1027. package/nodes/procedural/CheckerNode.cjs.js +0 -1
  1028. package/nodes/utils/ArrayElementNode.cjs.js +0 -1
  1029. package/nodes/utils/ConvertNode.cjs.js +0 -1
  1030. package/nodes/utils/JoinNode.cjs.js +0 -1
  1031. package/nodes/utils/MatcapUVNode.cjs.js +0 -1
  1032. package/nodes/utils/OscNode.cjs.js +0 -1
  1033. package/nodes/utils/SplitNode.cjs.js +0 -1
  1034. package/nodes/utils/SpriteSheetUVNode.cjs.js +0 -1
  1035. package/nodes/utils/TimerNode.cjs.js +0 -1
  1036. package/objects/GroundProjectedEnv.cjs.js +0 -1
  1037. package/objects/Lensflare.cjs.js +0 -1
  1038. package/objects/LightningStorm.cjs.js +0 -1
  1039. package/objects/MarchingCubes.cjs.js +0 -1
  1040. package/objects/Reflector.cjs.js +0 -1
  1041. package/objects/ReflectorForSSRPass.cjs.js +0 -1
  1042. package/objects/ReflectorRTT.cjs.js +0 -1
  1043. package/objects/Refractor.cjs.js +0 -1
  1044. package/objects/ShadowMesh.cjs.js +0 -1
  1045. package/objects/Sky.cjs.js +0 -1
  1046. package/objects/Water.cjs.js +0 -1
  1047. package/objects/Water2.cjs.js +0 -1
  1048. package/offscreen/jank.cjs.js +0 -1
  1049. package/offscreen/offscreen.cjs.js +0 -1
  1050. package/offscreen/scene.cjs.js +0 -1
  1051. package/physics/AmmoPhysics.cjs.js +0 -1
  1052. package/postprocessing/AdaptiveToneMappingPass.cjs.js +0 -1
  1053. package/postprocessing/AfterimagePass.cjs.js +0 -1
  1054. package/postprocessing/BloomPass.cjs.js +0 -1
  1055. package/postprocessing/BokehPass.cjs.js +0 -1
  1056. package/postprocessing/ClearPass.cjs.js +0 -1
  1057. package/postprocessing/CubeTexturePass.cjs.js +0 -1
  1058. package/postprocessing/DotScreenPass.cjs.js +0 -1
  1059. package/postprocessing/EffectComposer.cjs.js +0 -1
  1060. package/postprocessing/FilmPass.cjs.js +0 -1
  1061. package/postprocessing/GlitchPass.cjs.js +0 -1
  1062. package/postprocessing/HalftonePass.cjs.js +0 -1
  1063. package/postprocessing/LUTPass.cjs.js +0 -1
  1064. package/postprocessing/MaskPass.cjs.js +0 -1
  1065. package/postprocessing/OutlinePass.cjs.js +0 -1
  1066. package/postprocessing/Pass.cjs.js +0 -1
  1067. package/postprocessing/RenderPass.cjs.js +0 -1
  1068. package/postprocessing/RenderPixelatedPass.cjs.js +0 -1
  1069. package/postprocessing/SAOPass.cjs.js +0 -1
  1070. package/postprocessing/SMAAPass.cjs.js +0 -1
  1071. package/postprocessing/SSAARenderPass.cjs.js +0 -1
  1072. package/postprocessing/SSAOPass.cjs.js +0 -1
  1073. package/postprocessing/SSRPass.cjs.js +0 -1
  1074. package/postprocessing/SavePass.cjs.js +0 -1
  1075. package/postprocessing/ShaderPass.cjs.js +0 -1
  1076. package/postprocessing/TAARenderPass.cjs.js +0 -1
  1077. package/postprocessing/TexturePass.cjs.js +0 -1
  1078. package/postprocessing/UnrealBloomPass.cjs.js +0 -1
  1079. package/renderers/CSS2DRenderer.cjs.js +0 -1
  1080. package/renderers/CSS3DRenderer.cjs.js +0 -1
  1081. package/renderers/Projector.cjs.js +0 -1
  1082. package/renderers/SVGRenderer.cjs.js +0 -1
  1083. package/renderers/nodes/accessors/CameraNode.cjs.js +0 -1
  1084. package/renderers/nodes/accessors/ModelNode.cjs.js +0 -1
  1085. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  1086. package/renderers/nodes/accessors/NormalNode.cjs.js +0 -1
  1087. package/renderers/nodes/accessors/PositionNode.cjs.js +0 -1
  1088. package/renderers/nodes/accessors/UVNode.cjs.js +0 -1
  1089. package/renderers/nodes/core/AttributeNode.cjs.js +0 -1
  1090. package/renderers/nodes/core/InputNode.cjs.js +0 -1
  1091. package/renderers/nodes/core/Node.cjs.js +0 -1
  1092. package/renderers/nodes/core/NodeAttribute.cjs.js +0 -1
  1093. package/renderers/nodes/core/NodeBuilder.cjs.js +0 -1
  1094. package/renderers/nodes/core/NodeFrame.cjs.js +0 -1
  1095. package/renderers/nodes/core/NodeSlot.cjs.js +0 -1
  1096. package/renderers/nodes/core/NodeUniform.cjs.js +0 -1
  1097. package/renderers/nodes/core/NodeVary.cjs.js +0 -1
  1098. package/renderers/nodes/core/VaryNode.cjs.js +0 -1
  1099. package/renderers/nodes/core/constants.cjs.js +0 -1
  1100. package/renderers/nodes/inputs/ColorNode.cjs.js +0 -1
  1101. package/renderers/nodes/inputs/FloatNode.cjs.js +0 -1
  1102. package/renderers/nodes/inputs/Matrix3Node.cjs.js +0 -1
  1103. package/renderers/nodes/inputs/Matrix4Node.cjs.js +0 -1
  1104. package/renderers/nodes/inputs/TextureNode.cjs.js +0 -1
  1105. package/renderers/nodes/inputs/Vector2Node.cjs.js +0 -1
  1106. package/renderers/nodes/inputs/Vector3Node.cjs.js +0 -1
  1107. package/renderers/nodes/inputs/Vector4Node.cjs.js +0 -1
  1108. package/renderers/nodes/math/MathNode.cjs.js +0 -1
  1109. package/renderers/nodes/math/OperatorNode.cjs.js +0 -1
  1110. package/renderers/nodes/utils/SwitchNode.cjs.js +0 -1
  1111. package/renderers/nodes/utils/TimerNode.cjs.js +0 -1
  1112. package/renderers/webgpu/WebGPU.cjs.js +0 -1
  1113. package/renderers/webgpu/WebGPUAttributes.cjs.js +0 -1
  1114. package/renderers/webgpu/WebGPUBackground.cjs.js +0 -1
  1115. package/renderers/webgpu/WebGPUBinding.cjs.js +0 -1
  1116. package/renderers/webgpu/WebGPUBindings.cjs.js +0 -1
  1117. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +0 -1
  1118. package/renderers/webgpu/WebGPUGeometries.cjs.js +0 -1
  1119. package/renderers/webgpu/WebGPUInfo.cjs.js +0 -1
  1120. package/renderers/webgpu/WebGPUObjects.cjs.js +0 -1
  1121. package/renderers/webgpu/WebGPUProperties.cjs.js +0 -1
  1122. package/renderers/webgpu/WebGPURenderLists.cjs.js +0 -1
  1123. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +0 -1
  1124. package/renderers/webgpu/WebGPURenderer.cjs.js +0 -1
  1125. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +0 -1
  1126. package/renderers/webgpu/WebGPUSampler.cjs.js +0 -1
  1127. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +0 -1
  1128. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +0 -1
  1129. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +0 -1
  1130. package/renderers/webgpu/WebGPUTextures.cjs.js +0 -1
  1131. package/renderers/webgpu/WebGPUUniform.cjs.js +0 -1
  1132. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +0 -1
  1133. package/renderers/webgpu/constants.cjs.js +0 -1
  1134. package/renderers/webgpu/nodes/ShaderLib.cjs.js +0 -1
  1135. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +0 -1
  1136. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +0 -1
  1137. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +0 -1
  1138. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +0 -1
  1139. package/shaders/ACESFilmicToneMappingShader.cjs.js +0 -1
  1140. package/shaders/AfterimageShader.cjs.js +0 -1
  1141. package/shaders/BasicShader.cjs.js +0 -1
  1142. package/shaders/BleachBypassShader.cjs.js +0 -1
  1143. package/shaders/BlendShader.cjs.js +0 -1
  1144. package/shaders/BokehShader.cjs.js +0 -1
  1145. package/shaders/BokehShader2.cjs.js +0 -1
  1146. package/shaders/BrightnessContrastShader.cjs.js +0 -1
  1147. package/shaders/ColorCorrectionShader.cjs.js +0 -1
  1148. package/shaders/ColorifyShader.cjs.js +0 -1
  1149. package/shaders/ConvolutionShader.cjs.js +0 -1
  1150. package/shaders/CopyShader.cjs.js +0 -1
  1151. package/shaders/DOFMipMapShader.cjs.js +0 -1
  1152. package/shaders/DepthLimitedBlurShader.cjs.js +0 -1
  1153. package/shaders/DigitalGlitch.cjs.js +0 -1
  1154. package/shaders/DotScreenShader.cjs.js +0 -1
  1155. package/shaders/FXAAShader.cjs.js +0 -1
  1156. package/shaders/FilmShader.cjs.js +0 -1
  1157. package/shaders/FocusShader.cjs.js +0 -1
  1158. package/shaders/FreiChenShader.cjs.js +0 -1
  1159. package/shaders/FresnelShader.cjs.js +0 -1
  1160. package/shaders/GammaCorrectionShader.cjs.js +0 -1
  1161. package/shaders/GodRaysShader.cjs.js +0 -1
  1162. package/shaders/HalftoneShader.cjs.js +0 -1
  1163. package/shaders/HorizontalBlurShader.cjs.js +0 -1
  1164. package/shaders/HorizontalTiltShiftShader.cjs.js +0 -1
  1165. package/shaders/HueSaturationShader.cjs.js +0 -1
  1166. package/shaders/KaleidoShader.cjs.js +0 -1
  1167. package/shaders/LuminosityHighPassShader.cjs.js +0 -1
  1168. package/shaders/LuminosityShader.cjs.js +0 -1
  1169. package/shaders/MirrorShader.cjs.js +0 -1
  1170. package/shaders/NormalMapShader.cjs.js +0 -1
  1171. package/shaders/ParallaxShader.cjs.js +0 -1
  1172. package/shaders/PixelShader.cjs.js +0 -1
  1173. package/shaders/RGBShiftShader.cjs.js +0 -1
  1174. package/shaders/SAOShader.cjs.js +0 -1
  1175. package/shaders/SMAAShader.cjs.js +0 -1
  1176. package/shaders/SSAOShader.cjs.js +0 -1
  1177. package/shaders/SSRShader.cjs.js +0 -1
  1178. package/shaders/SepiaShader.cjs.js +0 -1
  1179. package/shaders/SobelOperatorShader.cjs.js +0 -1
  1180. package/shaders/SubsurfaceScatteringShader.cjs.js +0 -1
  1181. package/shaders/TechnicolorShader.cjs.js +0 -1
  1182. package/shaders/ToneMapShader.cjs.js +0 -1
  1183. package/shaders/ToonShader.cjs.js +0 -1
  1184. package/shaders/TriangleBlurShader.cjs.js +0 -1
  1185. package/shaders/UnpackDepthRGBAShader.cjs.js +0 -1
  1186. package/shaders/VerticalBlurShader.cjs.js +0 -1
  1187. package/shaders/VerticalTiltShiftShader.cjs.js +0 -1
  1188. package/shaders/VignetteShader.cjs.js +0 -1
  1189. package/shaders/VolumeShader.cjs.js +0 -1
  1190. package/shaders/WaterRefractionShader.cjs.js +0 -1
  1191. package/shaders/index.cjs.js +0 -1
  1192. package/shaders/index.d.ts +0 -54
  1193. package/shaders/index.js +0 -53
  1194. package/shaders/types.cjs.js +0 -1
  1195. package/textures/FlakesTexture.cjs.js +0 -1
  1196. package/types/helpers.cjs.js +0 -1
  1197. package/types/shared.cjs.js +0 -1
  1198. package/types/shared.js +0 -1
  1199. package/types/utils.cjs.js +0 -1
  1200. package/types/utils.js +0 -1
  1201. package/utils/BufferGeometryUtils.cjs.js +0 -1
  1202. package/utils/GeometryCompressionUtils.cjs.js +0 -1
  1203. package/utils/GeometryUtils.cjs.js +0 -1
  1204. package/utils/LDrawUtils.cjs.js +0 -1
  1205. package/utils/LDrawUtils.d.ts +0 -5
  1206. package/utils/LDrawUtils.js +0 -144
  1207. package/utils/RoughnessMipmapper.cjs.js +0 -1
  1208. package/utils/SceneUtils.cjs.js +0 -1
  1209. package/utils/ShadowMapViewer.cjs.js +0 -1
  1210. package/utils/SkeletonUtils.cjs.js +0 -1
  1211. package/utils/UVsDebug.cjs.js +0 -1
  1212. package/utils/WorkerPool.cjs.js +0 -1
  1213. package/webxr/ARButton.cjs.js +0 -1
  1214. package/webxr/OculusHandModel.cjs.js +0 -1
  1215. package/webxr/OculusHandPointerModel.cjs.js +0 -1
  1216. package/webxr/Text2D.cjs.js +0 -1
  1217. package/webxr/VRButton.cjs.js +0 -1
  1218. package/webxr/XRControllerModelFactory.cjs.js +0 -1
  1219. package/webxr/XREstimatedLight.cjs.js +0 -1
  1220. package/webxr/XRHandMeshModel.cjs.js +0 -1
  1221. package/webxr/XRHandModelFactory.cjs.js +0 -1
  1222. package/webxr/XRHandPrimitiveModel.cjs.js +0 -1
@@ -1,90 +1,19 @@
1
- import { DataTextureLoader, HalfFloatType, FloatType, RGBAFormat, LinearEncoding, RedFormat, LinearFilter, DataUtils } from 'three';
2
- import { unzlibSync } from 'fflate';
3
-
4
- /**
5
- * OpenEXR loader currently supports uncompressed, ZIP(S), RLE, PIZ and DWA/B compression.
6
- * Supports reading as UnsignedByte, HalfFloat and Float type data texture.
7
- *
8
- * Referred to the original Industrial Light & Magic OpenEXR implementation and the TinyEXR / Syoyo Fujita
9
- * implementation, so I have preserved their copyright notices.
10
- */
11
- // /*
12
- // Copyright (c) 2014 - 2017, Syoyo Fujita
13
- // All rights reserved.
14
- // Redistribution and use in source and binary forms, with or without
15
- // modification, are permitted provided that the following conditions are met:
16
- // * Redistributions of source code must retain the above copyright
17
- // notice, this list of conditions and the following disclaimer.
18
- // * Redistributions in binary form must reproduce the above copyright
19
- // notice, this list of conditions and the following disclaimer in the
20
- // documentation and/or other materials provided with the distribution.
21
- // * Neither the name of the Syoyo Fujita nor the
22
- // names of its contributors may be used to endorse or promote products
23
- // derived from this software without specific prior written permission.
24
- // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
25
- // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
- // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
- // DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
28
- // DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
- // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
- // LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
- // ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
- // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
33
- // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
- // */
35
- // // TinyEXR contains some OpenEXR code, which is licensed under ------------
36
- // ///////////////////////////////////////////////////////////////////////////
37
- // //
38
- // // Copyright (c) 2002, Industrial Light & Magic, a division of Lucas
39
- // // Digital Ltd. LLC
40
- // //
41
- // // All rights reserved.
42
- // //
43
- // // Redistribution and use in source and binary forms, with or without
44
- // // modification, are permitted provided that the following conditions are
45
- // // met:
46
- // // * Redistributions of source code must retain the above copyright
47
- // // notice, this list of conditions and the following disclaimer.
48
- // // * Redistributions in binary form must reproduce the above
49
- // // copyright notice, this list of conditions and the following disclaimer
50
- // // in the documentation and/or other materials provided with the
51
- // // distribution.
52
- // // * Neither the name of Industrial Light & Magic nor the names of
53
- // // its contributors may be used to endorse or promote products derived
54
- // // from this software without specific prior written permission.
55
- // //
56
- // // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
57
- // // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
58
- // // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
59
- // // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
60
- // // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
61
- // // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
62
- // // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
63
- // // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
64
- // // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
65
- // // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
66
- // // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
67
- // //
68
- // ///////////////////////////////////////////////////////////////////////////
69
- // // End of OpenEXR license -------------------------------------------------
70
-
71
- class EXRLoader extends DataTextureLoader {
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const THREE = require("three");
4
+ const fflate = require("fflate");
5
+ class EXRLoader extends THREE.DataTextureLoader {
72
6
  constructor(manager) {
73
7
  super(manager);
74
- this.type = HalfFloatType;
8
+ this.type = THREE.HalfFloatType;
75
9
  }
76
-
77
10
  parse(buffer) {
78
11
  const USHORT_RANGE = 1 << 16;
79
12
  const BITMAP_SIZE = USHORT_RANGE >> 3;
80
- const HUF_ENCBITS = 16; // literal (value) bit length
81
-
82
- const HUF_DECBITS = 14; // decoding bit size (>= 8)
83
-
84
- const HUF_ENCSIZE = (1 << HUF_ENCBITS) + 1; // encoding table size
85
-
86
- const HUF_DECSIZE = 1 << HUF_DECBITS; // decoding table size
87
-
13
+ const HUF_ENCBITS = 16;
14
+ const HUF_DECBITS = 14;
15
+ const HUF_ENCSIZE = (1 << HUF_ENCBITS) + 1;
16
+ const HUF_DECSIZE = 1 << HUF_DECBITS;
88
17
  const HUF_DECMASK = HUF_DECSIZE - 1;
89
18
  const NBITS = 16;
90
19
  const A_OFFSET = 1 << NBITS - 1;
@@ -103,23 +32,18 @@ class EXRLoader extends DataTextureLoader {
103
32
  const LOSSY_DCT = 1;
104
33
  const RLE = 2;
105
34
  const logBase = Math.pow(2.7182818, 2.2);
106
-
107
35
  function reverseLutFromBitmap(bitmap, lut) {
108
36
  var k = 0;
109
-
110
37
  for (var i = 0; i < USHORT_RANGE; ++i) {
111
38
  if (i == 0 || bitmap[i >> 3] & 1 << (i & 7)) {
112
39
  lut[k++] = i;
113
40
  }
114
41
  }
115
-
116
42
  var n = k - 1;
117
-
118
- while (k < USHORT_RANGE) lut[k++] = 0;
119
-
43
+ while (k < USHORT_RANGE)
44
+ lut[k++] = 0;
120
45
  return n;
121
46
  }
122
-
123
47
  function hufClearDecTable(hdec) {
124
48
  for (var i = 0; i < HUF_DECSIZE; i++) {
125
49
  hdec[i] = {};
@@ -128,185 +52,139 @@ class EXRLoader extends DataTextureLoader {
128
52
  hdec[i].p = null;
129
53
  }
130
54
  }
131
-
132
- const getBitsReturn = {
133
- l: 0,
134
- c: 0,
135
- lc: 0
136
- };
137
-
138
- function getBits(nBits, c, lc, uInt8Array, inOffset) {
55
+ const getBitsReturn = { l: 0, c: 0, lc: 0 };
56
+ function getBits(nBits, c, lc, uInt8Array2, inOffset) {
139
57
  while (lc < nBits) {
140
- c = c << 8 | parseUint8Array(uInt8Array, inOffset);
58
+ c = c << 8 | parseUint8Array(uInt8Array2, inOffset);
141
59
  lc += 8;
142
60
  }
143
-
144
61
  lc -= nBits;
145
62
  getBitsReturn.l = c >> lc & (1 << nBits) - 1;
146
63
  getBitsReturn.c = c;
147
64
  getBitsReturn.lc = lc;
148
65
  }
149
-
150
66
  const hufTableBuffer = new Array(59);
151
-
152
67
  function hufCanonicalCodeTable(hcode) {
153
- for (var i = 0; i <= 58; ++i) hufTableBuffer[i] = 0;
154
-
155
- for (var i = 0; i < HUF_ENCSIZE; ++i) hufTableBuffer[hcode[i]] += 1;
156
-
68
+ for (var i = 0; i <= 58; ++i)
69
+ hufTableBuffer[i] = 0;
70
+ for (var i = 0; i < HUF_ENCSIZE; ++i)
71
+ hufTableBuffer[hcode[i]] += 1;
157
72
  var c = 0;
158
-
159
73
  for (var i = 58; i > 0; --i) {
160
74
  var nc = c + hufTableBuffer[i] >> 1;
161
75
  hufTableBuffer[i] = c;
162
76
  c = nc;
163
77
  }
164
-
165
78
  for (var i = 0; i < HUF_ENCSIZE; ++i) {
166
79
  var l = hcode[i];
167
- if (l > 0) hcode[i] = l | hufTableBuffer[l]++ << 6;
80
+ if (l > 0)
81
+ hcode[i] = l | hufTableBuffer[l]++ << 6;
168
82
  }
169
83
  }
170
-
171
- function hufUnpackEncTable(uInt8Array, inDataView, inOffset, ni, im, iM, hcode) {
84
+ function hufUnpackEncTable(uInt8Array2, inDataView, inOffset, ni, im, iM, hcode) {
172
85
  var p = inOffset;
173
86
  var c = 0;
174
87
  var lc = 0;
175
-
176
88
  for (; im <= iM; im++) {
177
- if (p.value - inOffset.value > ni) return false;
178
- getBits(6, c, lc, uInt8Array, p);
89
+ if (p.value - inOffset.value > ni)
90
+ return false;
91
+ getBits(6, c, lc, uInt8Array2, p);
179
92
  var l = getBitsReturn.l;
180
93
  c = getBitsReturn.c;
181
94
  lc = getBitsReturn.lc;
182
95
  hcode[im] = l;
183
-
184
96
  if (l == LONG_ZEROCODE_RUN) {
185
97
  if (p.value - inOffset.value > ni) {
186
- throw 'Something wrong with hufUnpackEncTable';
98
+ throw "Something wrong with hufUnpackEncTable";
187
99
  }
188
-
189
- getBits(8, c, lc, uInt8Array, p);
100
+ getBits(8, c, lc, uInt8Array2, p);
190
101
  var zerun = getBitsReturn.l + SHORTEST_LONG_RUN;
191
102
  c = getBitsReturn.c;
192
103
  lc = getBitsReturn.lc;
193
-
194
104
  if (im + zerun > iM + 1) {
195
- throw 'Something wrong with hufUnpackEncTable';
105
+ throw "Something wrong with hufUnpackEncTable";
196
106
  }
197
-
198
- while (zerun--) hcode[im++] = 0;
199
-
107
+ while (zerun--)
108
+ hcode[im++] = 0;
200
109
  im--;
201
110
  } else if (l >= SHORT_ZEROCODE_RUN) {
202
111
  var zerun = l - SHORT_ZEROCODE_RUN + 2;
203
-
204
112
  if (im + zerun > iM + 1) {
205
- throw 'Something wrong with hufUnpackEncTable';
113
+ throw "Something wrong with hufUnpackEncTable";
206
114
  }
207
-
208
- while (zerun--) hcode[im++] = 0;
209
-
115
+ while (zerun--)
116
+ hcode[im++] = 0;
210
117
  im--;
211
118
  }
212
119
  }
213
-
214
120
  hufCanonicalCodeTable(hcode);
215
121
  }
216
-
217
122
  function hufLength(code) {
218
123
  return code & 63;
219
124
  }
220
-
221
125
  function hufCode(code) {
222
126
  return code >> 6;
223
127
  }
224
-
225
128
  function hufBuildDecTable(hcode, im, iM, hdecod) {
226
129
  for (; im <= iM; im++) {
227
130
  var c = hufCode(hcode[im]);
228
131
  var l = hufLength(hcode[im]);
229
-
230
132
  if (c >> l) {
231
- throw 'Invalid table entry';
133
+ throw "Invalid table entry";
232
134
  }
233
-
234
135
  if (l > HUF_DECBITS) {
235
136
  var pl = hdecod[c >> l - HUF_DECBITS];
236
-
237
137
  if (pl.len) {
238
- throw 'Invalid table entry';
138
+ throw "Invalid table entry";
239
139
  }
240
-
241
140
  pl.lit++;
242
-
243
141
  if (pl.p) {
244
142
  var p = pl.p;
245
143
  pl.p = new Array(pl.lit);
246
-
247
144
  for (var i = 0; i < pl.lit - 1; ++i) {
248
145
  pl.p[i] = p[i];
249
146
  }
250
147
  } else {
251
148
  pl.p = new Array(1);
252
149
  }
253
-
254
150
  pl.p[pl.lit - 1] = im;
255
151
  } else if (l) {
256
152
  var plOffset = 0;
257
-
258
153
  for (var i = 1 << HUF_DECBITS - l; i > 0; i--) {
259
154
  var pl = hdecod[(c << HUF_DECBITS - l) + plOffset];
260
-
261
155
  if (pl.len || pl.p) {
262
- throw 'Invalid table entry';
156
+ throw "Invalid table entry";
263
157
  }
264
-
265
158
  pl.len = l;
266
159
  pl.lit = im;
267
160
  plOffset++;
268
161
  }
269
162
  }
270
163
  }
271
-
272
164
  return true;
273
165
  }
274
-
275
- const getCharReturn = {
276
- c: 0,
277
- lc: 0
278
- };
279
-
280
- function getChar(c, lc, uInt8Array, inOffset) {
281
- c = c << 8 | parseUint8Array(uInt8Array, inOffset);
166
+ const getCharReturn = { c: 0, lc: 0 };
167
+ function getChar(c, lc, uInt8Array2, inOffset) {
168
+ c = c << 8 | parseUint8Array(uInt8Array2, inOffset);
282
169
  lc += 8;
283
170
  getCharReturn.c = c;
284
171
  getCharReturn.lc = lc;
285
172
  }
286
-
287
- const getCodeReturn = {
288
- c: 0,
289
- lc: 0
290
- };
291
-
292
- function getCode(po, rlc, c, lc, uInt8Array, inDataView, inOffset, outBuffer, outBufferOffset, outBufferEndOffset) {
173
+ const getCodeReturn = { c: 0, lc: 0 };
174
+ function getCode(po, rlc, c, lc, uInt8Array2, inDataView, inOffset, outBuffer, outBufferOffset, outBufferEndOffset) {
293
175
  if (po == rlc) {
294
176
  if (lc < 8) {
295
- getChar(c, lc, uInt8Array, inOffset);
177
+ getChar(c, lc, uInt8Array2, inOffset);
296
178
  c = getCharReturn.c;
297
179
  lc = getCharReturn.lc;
298
180
  }
299
-
300
181
  lc -= 8;
301
182
  var cs = c >> lc;
302
183
  var cs = new Uint8Array([cs])[0];
303
-
304
184
  if (outBufferOffset.value + cs > outBufferEndOffset) {
305
185
  return false;
306
186
  }
307
-
308
187
  var s = outBuffer[outBufferOffset.value - 1];
309
-
310
188
  while (cs-- > 0) {
311
189
  outBuffer[outBufferOffset.value++] = s;
312
190
  }
@@ -315,25 +193,17 @@ class EXRLoader extends DataTextureLoader {
315
193
  } else {
316
194
  return false;
317
195
  }
318
-
319
196
  getCodeReturn.c = c;
320
197
  getCodeReturn.lc = lc;
321
198
  }
322
-
323
199
  function UInt16(value) {
324
- return value & 0xffff;
200
+ return value & 65535;
325
201
  }
326
-
327
202
  function Int16(value) {
328
203
  var ref = UInt16(value);
329
- return ref > 0x7fff ? ref - 0x10000 : ref;
204
+ return ref > 32767 ? ref - 65536 : ref;
330
205
  }
331
-
332
- const wdec14Return = {
333
- a: 0,
334
- b: 0
335
- };
336
-
206
+ const wdec14Return = { a: 0, b: 0 };
337
207
  function wdec14(l, h) {
338
208
  var ls = Int16(l);
339
209
  var hs = Int16(h);
@@ -344,7 +214,6 @@ class EXRLoader extends DataTextureLoader {
344
214
  wdec14Return.a = as;
345
215
  wdec14Return.b = bs;
346
216
  }
347
-
348
217
  function wdec16(l, h) {
349
218
  var m = UInt16(l);
350
219
  var d = UInt16(h);
@@ -353,19 +222,16 @@ class EXRLoader extends DataTextureLoader {
353
222
  wdec14Return.a = aa;
354
223
  wdec14Return.b = bb;
355
224
  }
356
-
357
- function wav2Decode(buffer, j, nx, ox, ny, oy, mx) {
225
+ function wav2Decode(buffer2, j, nx, ox, ny, oy, mx) {
358
226
  var w14 = mx < 1 << 14;
359
227
  var n = nx > ny ? ny : nx;
360
228
  var p = 1;
361
229
  var p2;
362
-
363
- while (p <= n) p <<= 1;
364
-
230
+ while (p <= n)
231
+ p <<= 1;
365
232
  p >>= 1;
366
233
  p2 = p;
367
234
  p >>= 1;
368
-
369
235
  while (p >= 1) {
370
236
  var py = 0;
371
237
  var ey = py + oy * (ny - p2);
@@ -374,217 +240,200 @@ class EXRLoader extends DataTextureLoader {
374
240
  var ox1 = ox * p;
375
241
  var ox2 = ox * p2;
376
242
  var i00, i01, i10, i11;
377
-
378
243
  for (; py <= ey; py += oy2) {
379
244
  var px = py;
380
245
  var ex = py + ox * (nx - p2);
381
-
382
246
  for (; px <= ex; px += ox2) {
383
247
  var p01 = px + ox1;
384
248
  var p10 = px + oy1;
385
249
  var p11 = p10 + ox1;
386
-
387
250
  if (w14) {
388
- wdec14(buffer[px + j], buffer[p10 + j]);
251
+ wdec14(buffer2[px + j], buffer2[p10 + j]);
389
252
  i00 = wdec14Return.a;
390
253
  i10 = wdec14Return.b;
391
- wdec14(buffer[p01 + j], buffer[p11 + j]);
254
+ wdec14(buffer2[p01 + j], buffer2[p11 + j]);
392
255
  i01 = wdec14Return.a;
393
256
  i11 = wdec14Return.b;
394
257
  wdec14(i00, i01);
395
- buffer[px + j] = wdec14Return.a;
396
- buffer[p01 + j] = wdec14Return.b;
258
+ buffer2[px + j] = wdec14Return.a;
259
+ buffer2[p01 + j] = wdec14Return.b;
397
260
  wdec14(i10, i11);
398
- buffer[p10 + j] = wdec14Return.a;
399
- buffer[p11 + j] = wdec14Return.b;
261
+ buffer2[p10 + j] = wdec14Return.a;
262
+ buffer2[p11 + j] = wdec14Return.b;
400
263
  } else {
401
- wdec16(buffer[px + j], buffer[p10 + j]);
264
+ wdec16(buffer2[px + j], buffer2[p10 + j]);
402
265
  i00 = wdec14Return.a;
403
266
  i10 = wdec14Return.b;
404
- wdec16(buffer[p01 + j], buffer[p11 + j]);
267
+ wdec16(buffer2[p01 + j], buffer2[p11 + j]);
405
268
  i01 = wdec14Return.a;
406
269
  i11 = wdec14Return.b;
407
270
  wdec16(i00, i01);
408
- buffer[px + j] = wdec14Return.a;
409
- buffer[p01 + j] = wdec14Return.b;
271
+ buffer2[px + j] = wdec14Return.a;
272
+ buffer2[p01 + j] = wdec14Return.b;
410
273
  wdec16(i10, i11);
411
- buffer[p10 + j] = wdec14Return.a;
412
- buffer[p11 + j] = wdec14Return.b;
274
+ buffer2[p10 + j] = wdec14Return.a;
275
+ buffer2[p11 + j] = wdec14Return.b;
413
276
  }
414
277
  }
415
-
416
278
  if (nx & p) {
417
279
  var p10 = px + oy1;
418
- if (w14) wdec14(buffer[px + j], buffer[p10 + j]);else wdec16(buffer[px + j], buffer[p10 + j]);
280
+ if (w14)
281
+ wdec14(buffer2[px + j], buffer2[p10 + j]);
282
+ else
283
+ wdec16(buffer2[px + j], buffer2[p10 + j]);
419
284
  i00 = wdec14Return.a;
420
- buffer[p10 + j] = wdec14Return.b;
421
- buffer[px + j] = i00;
285
+ buffer2[p10 + j] = wdec14Return.b;
286
+ buffer2[px + j] = i00;
422
287
  }
423
288
  }
424
-
425
289
  if (ny & p) {
426
290
  var px = py;
427
291
  var ex = py + ox * (nx - p2);
428
-
429
292
  for (; px <= ex; px += ox2) {
430
293
  var p01 = px + ox1;
431
- if (w14) wdec14(buffer[px + j], buffer[p01 + j]);else wdec16(buffer[px + j], buffer[p01 + j]);
294
+ if (w14)
295
+ wdec14(buffer2[px + j], buffer2[p01 + j]);
296
+ else
297
+ wdec16(buffer2[px + j], buffer2[p01 + j]);
432
298
  i00 = wdec14Return.a;
433
- buffer[p01 + j] = wdec14Return.b;
434
- buffer[px + j] = i00;
299
+ buffer2[p01 + j] = wdec14Return.b;
300
+ buffer2[px + j] = i00;
435
301
  }
436
302
  }
437
-
438
303
  p2 = p;
439
304
  p >>= 1;
440
305
  }
441
-
442
306
  return py;
443
307
  }
444
-
445
- function hufDecode(encodingTable, decodingTable, uInt8Array, inDataView, inOffset, ni, rlc, no, outBuffer, outOffset) {
308
+ function hufDecode(encodingTable, decodingTable, uInt8Array2, inDataView, inOffset, ni, rlc, no, outBuffer, outOffset) {
446
309
  var c = 0;
447
310
  var lc = 0;
448
311
  var outBufferEndOffset = no;
449
312
  var inOffsetEnd = Math.trunc(inOffset.value + (ni + 7) / 8);
450
-
451
313
  while (inOffset.value < inOffsetEnd) {
452
- getChar(c, lc, uInt8Array, inOffset);
314
+ getChar(c, lc, uInt8Array2, inOffset);
453
315
  c = getCharReturn.c;
454
316
  lc = getCharReturn.lc;
455
-
456
317
  while (lc >= HUF_DECBITS) {
457
318
  var index = c >> lc - HUF_DECBITS & HUF_DECMASK;
458
319
  var pl = decodingTable[index];
459
-
460
320
  if (pl.len) {
461
321
  lc -= pl.len;
462
- getCode(pl.lit, rlc, c, lc, uInt8Array, inDataView, inOffset, outBuffer, outOffset, outBufferEndOffset);
322
+ getCode(pl.lit, rlc, c, lc, uInt8Array2, inDataView, inOffset, outBuffer, outOffset, outBufferEndOffset);
463
323
  c = getCodeReturn.c;
464
324
  lc = getCodeReturn.lc;
465
325
  } else {
466
326
  if (!pl.p) {
467
- throw 'hufDecode issues';
327
+ throw "hufDecode issues";
468
328
  }
469
-
470
329
  var j;
471
-
472
330
  for (j = 0; j < pl.lit; j++) {
473
331
  var l = hufLength(encodingTable[pl.p[j]]);
474
-
475
332
  while (lc < l && inOffset.value < inOffsetEnd) {
476
- getChar(c, lc, uInt8Array, inOffset);
333
+ getChar(c, lc, uInt8Array2, inOffset);
477
334
  c = getCharReturn.c;
478
335
  lc = getCharReturn.lc;
479
336
  }
480
-
481
337
  if (lc >= l) {
482
338
  if (hufCode(encodingTable[pl.p[j]]) == (c >> lc - l & (1 << l) - 1)) {
483
339
  lc -= l;
484
- getCode(pl.p[j], rlc, c, lc, uInt8Array, inDataView, inOffset, outBuffer, outOffset, outBufferEndOffset);
340
+ getCode(
341
+ pl.p[j],
342
+ rlc,
343
+ c,
344
+ lc,
345
+ uInt8Array2,
346
+ inDataView,
347
+ inOffset,
348
+ outBuffer,
349
+ outOffset,
350
+ outBufferEndOffset
351
+ );
485
352
  c = getCodeReturn.c;
486
353
  lc = getCodeReturn.lc;
487
354
  break;
488
355
  }
489
356
  }
490
357
  }
491
-
492
358
  if (j == pl.lit) {
493
- throw 'hufDecode issues';
359
+ throw "hufDecode issues";
494
360
  }
495
361
  }
496
362
  }
497
363
  }
498
-
499
364
  var i = 8 - ni & 7;
500
365
  c >>= i;
501
366
  lc -= i;
502
-
503
367
  while (lc > 0) {
504
368
  var pl = decodingTable[c << HUF_DECBITS - lc & HUF_DECMASK];
505
-
506
369
  if (pl.len) {
507
370
  lc -= pl.len;
508
- getCode(pl.lit, rlc, c, lc, uInt8Array, inDataView, inOffset, outBuffer, outOffset, outBufferEndOffset);
371
+ getCode(pl.lit, rlc, c, lc, uInt8Array2, inDataView, inOffset, outBuffer, outOffset, outBufferEndOffset);
509
372
  c = getCodeReturn.c;
510
373
  lc = getCodeReturn.lc;
511
374
  } else {
512
- throw 'hufDecode issues';
375
+ throw "hufDecode issues";
513
376
  }
514
377
  }
515
-
516
378
  return true;
517
379
  }
518
-
519
- function hufUncompress(uInt8Array, inDataView, inOffset, nCompressed, outBuffer, nRaw) {
520
- var outOffset = {
521
- value: 0
522
- };
380
+ function hufUncompress(uInt8Array2, inDataView, inOffset, nCompressed, outBuffer, nRaw) {
381
+ var outOffset = { value: 0 };
523
382
  var initialInOffset = inOffset.value;
524
383
  var im = parseUint32(inDataView, inOffset);
525
384
  var iM = parseUint32(inDataView, inOffset);
526
385
  inOffset.value += 4;
527
386
  var nBits = parseUint32(inDataView, inOffset);
528
387
  inOffset.value += 4;
529
-
530
388
  if (im < 0 || im >= HUF_ENCSIZE || iM < 0 || iM >= HUF_ENCSIZE) {
531
- throw 'Something wrong with HUF_ENCSIZE';
389
+ throw "Something wrong with HUF_ENCSIZE";
532
390
  }
533
-
534
391
  var freq = new Array(HUF_ENCSIZE);
535
392
  var hdec = new Array(HUF_DECSIZE);
536
393
  hufClearDecTable(hdec);
537
394
  var ni = nCompressed - (inOffset.value - initialInOffset);
538
- hufUnpackEncTable(uInt8Array, inDataView, inOffset, ni, im, iM, freq);
539
-
395
+ hufUnpackEncTable(uInt8Array2, inDataView, inOffset, ni, im, iM, freq);
540
396
  if (nBits > 8 * (nCompressed - (inOffset.value - initialInOffset))) {
541
- throw 'Something wrong with hufUncompress';
397
+ throw "Something wrong with hufUncompress";
542
398
  }
543
-
544
399
  hufBuildDecTable(freq, im, iM, hdec);
545
- hufDecode(freq, hdec, uInt8Array, inDataView, inOffset, nBits, iM, nRaw, outBuffer, outOffset);
400
+ hufDecode(freq, hdec, uInt8Array2, inDataView, inOffset, nBits, iM, nRaw, outBuffer, outOffset);
546
401
  }
547
-
548
402
  function applyLut(lut, data, nData) {
549
403
  for (var i = 0; i < nData; ++i) {
550
404
  data[i] = lut[data[i]];
551
405
  }
552
406
  }
553
-
554
407
  function predictor(source) {
555
408
  for (var t = 1; t < source.length; t++) {
556
409
  var d = source[t - 1] + source[t] - 128;
557
410
  source[t] = d;
558
411
  }
559
412
  }
560
-
561
413
  function interleaveScalar(source, out) {
562
414
  var t1 = 0;
563
415
  var t2 = Math.floor((source.length + 1) / 2);
564
416
  var s = 0;
565
417
  var stop = source.length - 1;
566
-
567
418
  while (true) {
568
- if (s > stop) break;
419
+ if (s > stop)
420
+ break;
569
421
  out[s++] = source[t1++];
570
- if (s > stop) break;
422
+ if (s > stop)
423
+ break;
571
424
  out[s++] = source[t2++];
572
425
  }
573
426
  }
574
-
575
427
  function decodeRunLength(source) {
576
428
  var size = source.byteLength;
577
429
  var out = new Array();
578
430
  var p = 0;
579
431
  var reader = new DataView(source);
580
-
581
432
  while (size > 0) {
582
433
  var l = reader.getInt8(p++);
583
-
584
434
  if (l < 0) {
585
435
  var count = -l;
586
436
  size -= count + 1;
587
-
588
437
  for (var i = 0; i < count; i++) {
589
438
  out.push(reader.getUint8(p++));
590
439
  }
@@ -592,153 +441,121 @@ class EXRLoader extends DataTextureLoader {
592
441
  var count = l;
593
442
  size -= 2;
594
443
  var value = reader.getUint8(p++);
595
-
596
444
  for (var i = 0; i < count + 1; i++) {
597
445
  out.push(value);
598
446
  }
599
447
  }
600
448
  }
601
-
602
449
  return out;
603
450
  }
604
-
605
451
  function lossyDctDecode(cscSet, rowPtrs, channelData, acBuffer, dcBuffer, outBuffer) {
606
452
  var dataView = new DataView(outBuffer.buffer);
607
453
  var width = channelData[cscSet.idx[0]].width;
608
454
  var height = channelData[cscSet.idx[0]].height;
609
455
  var numComp = 3;
610
- var numFullBlocksX = Math.floor(width / 8.0);
611
- var numBlocksX = Math.ceil(width / 8.0);
612
- var numBlocksY = Math.ceil(height / 8.0);
456
+ var numFullBlocksX = Math.floor(width / 8);
457
+ var numBlocksX = Math.ceil(width / 8);
458
+ var numBlocksY = Math.ceil(height / 8);
613
459
  var leftoverX = width - (numBlocksX - 1) * 8;
614
460
  var leftoverY = height - (numBlocksY - 1) * 8;
615
- var currAcComp = {
616
- value: 0
617
- };
461
+ var currAcComp = { value: 0 };
618
462
  var currDcComp = new Array(numComp);
619
463
  var dctData = new Array(numComp);
620
464
  var halfZigBlock = new Array(numComp);
621
465
  var rowBlock = new Array(numComp);
622
466
  var rowOffsets = new Array(numComp);
623
-
624
- for (let comp = 0; comp < numComp; ++comp) {
625
- rowOffsets[comp] = rowPtrs[cscSet.idx[comp]];
626
- currDcComp[comp] = comp < 1 ? 0 : currDcComp[comp - 1] + numBlocksX * numBlocksY;
627
- dctData[comp] = new Float32Array(64);
628
- halfZigBlock[comp] = new Uint16Array(64);
629
- rowBlock[comp] = new Uint16Array(numBlocksX * 64);
467
+ for (let comp2 = 0; comp2 < numComp; ++comp2) {
468
+ rowOffsets[comp2] = rowPtrs[cscSet.idx[comp2]];
469
+ currDcComp[comp2] = comp2 < 1 ? 0 : currDcComp[comp2 - 1] + numBlocksX * numBlocksY;
470
+ dctData[comp2] = new Float32Array(64);
471
+ halfZigBlock[comp2] = new Uint16Array(64);
472
+ rowBlock[comp2] = new Uint16Array(numBlocksX * 64);
630
473
  }
631
-
632
474
  for (let blocky = 0; blocky < numBlocksY; ++blocky) {
633
475
  var maxY = 8;
634
- if (blocky == numBlocksY - 1) maxY = leftoverY;
476
+ if (blocky == numBlocksY - 1)
477
+ maxY = leftoverY;
635
478
  var maxX = 8;
636
-
637
479
  for (let blockx = 0; blockx < numBlocksX; ++blockx) {
638
- if (blockx == numBlocksX - 1) maxX = leftoverX;
639
-
640
- for (let comp = 0; comp < numComp; ++comp) {
641
- halfZigBlock[comp].fill(0); // set block DC component
642
-
643
- halfZigBlock[comp][0] = dcBuffer[currDcComp[comp]++]; // set block AC components
644
-
645
- unRleAC(currAcComp, acBuffer, halfZigBlock[comp]); // UnZigZag block to float
646
-
647
- unZigZag(halfZigBlock[comp], dctData[comp]); // decode float dct
648
-
649
- dctInverse(dctData[comp]);
480
+ if (blockx == numBlocksX - 1)
481
+ maxX = leftoverX;
482
+ for (let comp2 = 0; comp2 < numComp; ++comp2) {
483
+ halfZigBlock[comp2].fill(0);
484
+ halfZigBlock[comp2][0] = dcBuffer[currDcComp[comp2]++];
485
+ unRleAC(currAcComp, acBuffer, halfZigBlock[comp2]);
486
+ unZigZag(halfZigBlock[comp2], dctData[comp2]);
487
+ dctInverse(dctData[comp2]);
650
488
  }
651
-
652
- {
489
+ if (numComp == 3) {
653
490
  csc709Inverse(dctData);
654
491
  }
655
-
656
- for (let comp = 0; comp < numComp; ++comp) {
657
- convertToHalf(dctData[comp], rowBlock[comp], blockx * 64);
492
+ for (let comp2 = 0; comp2 < numComp; ++comp2) {
493
+ convertToHalf(dctData[comp2], rowBlock[comp2], blockx * 64);
658
494
  }
659
- } // blockx
660
-
661
-
662
- let offset = 0;
663
-
664
- for (let comp = 0; comp < numComp; ++comp) {
665
- const type = channelData[cscSet.idx[comp]].type;
666
-
667
- for (let y = 8 * blocky; y < 8 * blocky + maxY; ++y) {
668
- offset = rowOffsets[comp][y];
669
-
495
+ }
496
+ let offset2 = 0;
497
+ for (let comp2 = 0; comp2 < numComp; ++comp2) {
498
+ const type2 = channelData[cscSet.idx[comp2]].type;
499
+ for (let y2 = 8 * blocky; y2 < 8 * blocky + maxY; ++y2) {
500
+ offset2 = rowOffsets[comp2][y2];
670
501
  for (let blockx = 0; blockx < numFullBlocksX; ++blockx) {
671
- const src = blockx * 64 + (y & 0x7) * 8;
672
- dataView.setUint16(offset + 0 * INT16_SIZE * type, rowBlock[comp][src + 0], true);
673
- dataView.setUint16(offset + 1 * INT16_SIZE * type, rowBlock[comp][src + 1], true);
674
- dataView.setUint16(offset + 2 * INT16_SIZE * type, rowBlock[comp][src + 2], true);
675
- dataView.setUint16(offset + 3 * INT16_SIZE * type, rowBlock[comp][src + 3], true);
676
- dataView.setUint16(offset + 4 * INT16_SIZE * type, rowBlock[comp][src + 4], true);
677
- dataView.setUint16(offset + 5 * INT16_SIZE * type, rowBlock[comp][src + 5], true);
678
- dataView.setUint16(offset + 6 * INT16_SIZE * type, rowBlock[comp][src + 6], true);
679
- dataView.setUint16(offset + 7 * INT16_SIZE * type, rowBlock[comp][src + 7], true);
680
- offset += 8 * INT16_SIZE * type;
502
+ const src = blockx * 64 + (y2 & 7) * 8;
503
+ dataView.setUint16(offset2 + 0 * INT16_SIZE * type2, rowBlock[comp2][src + 0], true);
504
+ dataView.setUint16(offset2 + 1 * INT16_SIZE * type2, rowBlock[comp2][src + 1], true);
505
+ dataView.setUint16(offset2 + 2 * INT16_SIZE * type2, rowBlock[comp2][src + 2], true);
506
+ dataView.setUint16(offset2 + 3 * INT16_SIZE * type2, rowBlock[comp2][src + 3], true);
507
+ dataView.setUint16(offset2 + 4 * INT16_SIZE * type2, rowBlock[comp2][src + 4], true);
508
+ dataView.setUint16(offset2 + 5 * INT16_SIZE * type2, rowBlock[comp2][src + 5], true);
509
+ dataView.setUint16(offset2 + 6 * INT16_SIZE * type2, rowBlock[comp2][src + 6], true);
510
+ dataView.setUint16(offset2 + 7 * INT16_SIZE * type2, rowBlock[comp2][src + 7], true);
511
+ offset2 += 8 * INT16_SIZE * type2;
681
512
  }
682
- } // handle partial X blocks
683
-
684
-
513
+ }
685
514
  if (numFullBlocksX != numBlocksX) {
686
- for (let y = 8 * blocky; y < 8 * blocky + maxY; ++y) {
687
- const offset = rowOffsets[comp][y] + 8 * numFullBlocksX * INT16_SIZE * type;
688
- const src = numFullBlocksX * 64 + (y & 0x7) * 8;
689
-
690
- for (let x = 0; x < maxX; ++x) {
691
- dataView.setUint16(offset + x * INT16_SIZE * type, rowBlock[comp][src + x], true);
515
+ for (let y2 = 8 * blocky; y2 < 8 * blocky + maxY; ++y2) {
516
+ const offset3 = rowOffsets[comp2][y2] + 8 * numFullBlocksX * INT16_SIZE * type2;
517
+ const src = numFullBlocksX * 64 + (y2 & 7) * 8;
518
+ for (let x2 = 0; x2 < maxX; ++x2) {
519
+ dataView.setUint16(offset3 + x2 * INT16_SIZE * type2, rowBlock[comp2][src + x2], true);
692
520
  }
693
521
  }
694
522
  }
695
- } // comp
696
-
697
- } // blocky
698
-
699
-
523
+ }
524
+ }
700
525
  var halfRow = new Uint16Array(width);
701
- var dataView = new DataView(outBuffer.buffer); // convert channels back to float, if needed
702
-
526
+ var dataView = new DataView(outBuffer.buffer);
703
527
  for (var comp = 0; comp < numComp; ++comp) {
704
528
  channelData[cscSet.idx[comp]].decoded = true;
705
529
  var type = channelData[cscSet.idx[comp]].type;
706
- if (channelData[comp].type != 2) continue;
707
-
530
+ if (channelData[comp].type != 2)
531
+ continue;
708
532
  for (var y = 0; y < height; ++y) {
709
- const offset = rowOffsets[comp][y];
710
-
533
+ const offset2 = rowOffsets[comp][y];
711
534
  for (var x = 0; x < width; ++x) {
712
- halfRow[x] = dataView.getUint16(offset + x * INT16_SIZE * type, true);
535
+ halfRow[x] = dataView.getUint16(offset2 + x * INT16_SIZE * type, true);
713
536
  }
714
-
715
537
  for (var x = 0; x < width; ++x) {
716
- dataView.setFloat32(offset + x * INT16_SIZE * type, decodeFloat16(halfRow[x]), true);
538
+ dataView.setFloat32(offset2 + x * INT16_SIZE * type, decodeFloat16(halfRow[x]), true);
717
539
  }
718
540
  }
719
541
  }
720
542
  }
721
-
722
543
  function unRleAC(currAcComp, acBuffer, halfZigBlock) {
723
544
  var acValue;
724
545
  var dctComp = 1;
725
-
726
546
  while (dctComp < 64) {
727
547
  acValue = acBuffer[currAcComp.value];
728
-
729
- if (acValue == 0xff00) {
548
+ if (acValue == 65280) {
730
549
  dctComp = 64;
731
- } else if (acValue >> 8 == 0xff) {
732
- dctComp += acValue & 0xff;
550
+ } else if (acValue >> 8 == 255) {
551
+ dctComp += acValue & 255;
733
552
  } else {
734
553
  halfZigBlock[dctComp] = acValue;
735
554
  dctComp++;
736
555
  }
737
-
738
556
  currAcComp.value++;
739
557
  }
740
558
  }
741
-
742
559
  function unZigZag(src, dst) {
743
560
  dst[0] = decodeFloat16(src[0]);
744
561
  dst[1] = decodeFloat16(src[1]);
@@ -805,20 +622,18 @@ class EXRLoader extends DataTextureLoader {
805
622
  dst[62] = decodeFloat16(src[62]);
806
623
  dst[63] = decodeFloat16(src[63]);
807
624
  }
808
-
809
625
  function dctInverse(data) {
810
- const a = 0.5 * Math.cos(3.14159 / 4.0);
811
- const b = 0.5 * Math.cos(3.14159 / 16.0);
812
- const c = 0.5 * Math.cos(3.14159 / 8.0);
813
- const d = 0.5 * Math.cos(3.0 * 3.14159 / 16.0);
814
- const e = 0.5 * Math.cos(5.0 * 3.14159 / 16.0);
815
- const f = 0.5 * Math.cos(3.0 * 3.14159 / 8.0);
816
- const g = 0.5 * Math.cos(7.0 * 3.14159 / 16.0);
626
+ const a = 0.5 * Math.cos(3.14159 / 4);
627
+ const b = 0.5 * Math.cos(3.14159 / 16);
628
+ const c = 0.5 * Math.cos(3.14159 / 8);
629
+ const d = 0.5 * Math.cos(3 * 3.14159 / 16);
630
+ const e = 0.5 * Math.cos(5 * 3.14159 / 16);
631
+ const f = 0.5 * Math.cos(3 * 3.14159 / 8);
632
+ const g = 0.5 * Math.cos(7 * 3.14159 / 16);
817
633
  var alpha = new Array(4);
818
634
  var beta = new Array(4);
819
635
  var theta = new Array(4);
820
636
  var gamma = new Array(4);
821
-
822
637
  for (var row = 0; row < 8; ++row) {
823
638
  var rowPtr = row * 8;
824
639
  alpha[0] = c * data[rowPtr + 2];
@@ -846,7 +661,6 @@ class EXRLoader extends DataTextureLoader {
846
661
  data[rowPtr + 6] = gamma[1] - beta[1];
847
662
  data[rowPtr + 7] = gamma[0] - beta[0];
848
663
  }
849
-
850
664
  for (var column = 0; column < 8; ++column) {
851
665
  alpha[0] = c * data[16 + column];
852
666
  alpha[1] = f * data[16 + column];
@@ -874,7 +688,6 @@ class EXRLoader extends DataTextureLoader {
874
688
  data[56 + column] = gamma[0] - beta[0];
875
689
  }
876
690
  }
877
-
878
691
  function csc709Inverse(data) {
879
692
  for (var i = 0; i < 64; ++i) {
880
693
  var y = data[0][i];
@@ -885,175 +698,132 @@ class EXRLoader extends DataTextureLoader {
885
698
  data[2][i] = y + 1.8556 * cb;
886
699
  }
887
700
  }
888
-
889
701
  function convertToHalf(src, dst, idx) {
890
702
  for (var i = 0; i < 64; ++i) {
891
- dst[idx + i] = DataUtils.toHalfFloat(toLinear(src[i]));
703
+ dst[idx + i] = THREE.DataUtils.toHalfFloat(toLinear(src[i]));
892
704
  }
893
705
  }
894
-
895
706
  function toLinear(float) {
896
707
  if (float <= 1) {
897
708
  return Math.sign(float) * Math.pow(Math.abs(float), 2.2);
898
709
  } else {
899
- return Math.sign(float) * Math.pow(logBase, Math.abs(float) - 1.0);
710
+ return Math.sign(float) * Math.pow(logBase, Math.abs(float) - 1);
900
711
  }
901
712
  }
902
-
903
713
  function uncompressRAW(info) {
904
714
  return new DataView(info.array.buffer, info.offset.value, info.size);
905
715
  }
906
-
907
716
  function uncompressRLE(info) {
908
717
  var compressed = info.viewer.buffer.slice(info.offset.value, info.offset.value + info.size);
909
718
  var rawBuffer = new Uint8Array(decodeRunLength(compressed));
910
719
  var tmpBuffer = new Uint8Array(rawBuffer.length);
911
- predictor(rawBuffer); // revert predictor
912
-
913
- interleaveScalar(rawBuffer, tmpBuffer); // interleave pixels
914
-
720
+ predictor(rawBuffer);
721
+ interleaveScalar(rawBuffer, tmpBuffer);
915
722
  return new DataView(tmpBuffer.buffer);
916
723
  }
917
-
918
724
  function uncompressZIP(info) {
919
725
  var compressed = info.array.slice(info.offset.value, info.offset.value + info.size);
920
- var rawBuffer = unzlibSync(compressed); // eslint-disable-line no-undef
921
-
726
+ var rawBuffer = fflate.unzlibSync(compressed);
922
727
  var tmpBuffer = new Uint8Array(rawBuffer.length);
923
- predictor(rawBuffer); // revert predictor
924
-
925
- interleaveScalar(rawBuffer, tmpBuffer); // interleave pixels
926
-
728
+ predictor(rawBuffer);
729
+ interleaveScalar(rawBuffer, tmpBuffer);
927
730
  return new DataView(tmpBuffer.buffer);
928
731
  }
929
-
930
732
  function uncompressPIZ(info) {
931
733
  var inDataView = info.viewer;
932
- var inOffset = {
933
- value: info.offset.value
934
- };
734
+ var inOffset = { value: info.offset.value };
935
735
  var outBuffer = new Uint16Array(info.width * info.scanlineBlockSize * (info.channels * info.type));
936
- var bitmap = new Uint8Array(BITMAP_SIZE); // Setup channel info
937
-
736
+ var bitmap = new Uint8Array(BITMAP_SIZE);
938
737
  var outBufferEnd = 0;
939
738
  var pizChannelData = new Array(info.channels);
940
-
941
739
  for (var i = 0; i < info.channels; i++) {
942
740
  pizChannelData[i] = {};
943
- pizChannelData[i]['start'] = outBufferEnd;
944
- pizChannelData[i]['end'] = pizChannelData[i]['start'];
945
- pizChannelData[i]['nx'] = info.width;
946
- pizChannelData[i]['ny'] = info.lines;
947
- pizChannelData[i]['size'] = info.type;
741
+ pizChannelData[i]["start"] = outBufferEnd;
742
+ pizChannelData[i]["end"] = pizChannelData[i]["start"];
743
+ pizChannelData[i]["nx"] = info.width;
744
+ pizChannelData[i]["ny"] = info.lines;
745
+ pizChannelData[i]["size"] = info.type;
948
746
  outBufferEnd += pizChannelData[i].nx * pizChannelData[i].ny * pizChannelData[i].size;
949
- } // Read range compression data
950
-
951
-
747
+ }
952
748
  var minNonZero = parseUint16(inDataView, inOffset);
953
749
  var maxNonZero = parseUint16(inDataView, inOffset);
954
-
955
750
  if (maxNonZero >= BITMAP_SIZE) {
956
- throw 'Something is wrong with PIZ_COMPRESSION BITMAP_SIZE';
751
+ throw "Something is wrong with PIZ_COMPRESSION BITMAP_SIZE";
957
752
  }
958
-
959
753
  if (minNonZero <= maxNonZero) {
960
754
  for (var i = 0; i < maxNonZero - minNonZero + 1; i++) {
961
755
  bitmap[i + minNonZero] = parseUint8(inDataView, inOffset);
962
756
  }
963
- } // Reverse LUT
964
-
965
-
757
+ }
966
758
  var lut = new Uint16Array(USHORT_RANGE);
967
759
  var maxValue = reverseLutFromBitmap(bitmap, lut);
968
- var length = parseUint32(inDataView, inOffset); // Huffman decoding
969
-
970
- hufUncompress(info.array, inDataView, inOffset, length, outBuffer, outBufferEnd); // Wavelet decoding
971
-
760
+ var length = parseUint32(inDataView, inOffset);
761
+ hufUncompress(info.array, inDataView, inOffset, length, outBuffer, outBufferEnd);
972
762
  for (var i = 0; i < info.channels; ++i) {
973
763
  var cd = pizChannelData[i];
974
-
975
764
  for (var j = 0; j < pizChannelData[i].size; ++j) {
976
765
  wav2Decode(outBuffer, cd.start + j, cd.nx, cd.size, cd.ny, cd.nx * cd.size, maxValue);
977
766
  }
978
- } // Expand the pixel data to their original range
979
-
980
-
981
- applyLut(lut, outBuffer, outBufferEnd); // Rearrange the pixel data into the format expected by the caller.
982
-
983
- var tmpOffset = 0;
767
+ }
768
+ applyLut(lut, outBuffer, outBufferEnd);
769
+ var tmpOffset2 = 0;
984
770
  var tmpBuffer = new Uint8Array(outBuffer.buffer.byteLength);
985
-
986
771
  for (var y = 0; y < info.lines; y++) {
987
772
  for (var c = 0; c < info.channels; c++) {
988
773
  var cd = pizChannelData[c];
989
774
  var n = cd.nx * cd.size;
990
775
  var cp = new Uint8Array(outBuffer.buffer, cd.end * INT16_SIZE, n * INT16_SIZE);
991
- tmpBuffer.set(cp, tmpOffset);
992
- tmpOffset += n * INT16_SIZE;
776
+ tmpBuffer.set(cp, tmpOffset2);
777
+ tmpOffset2 += n * INT16_SIZE;
993
778
  cd.end += n;
994
779
  }
995
780
  }
996
-
997
781
  return new DataView(tmpBuffer.buffer);
998
782
  }
999
-
1000
783
  function uncompressPXR(info) {
1001
784
  var compressed = info.array.slice(info.offset.value, info.offset.value + info.size);
1002
- var rawBuffer = unzlibSync(compressed); // eslint-disable-line no-undef
1003
-
785
+ var rawBuffer = fflate.unzlibSync(compressed);
1004
786
  const sz = info.lines * info.channels * info.width;
1005
787
  const tmpBuffer = info.type == 1 ? new Uint16Array(sz) : new Uint32Array(sz);
1006
788
  let tmpBufferEnd = 0;
1007
789
  let writePtr = 0;
1008
790
  const ptr = new Array(4);
1009
-
1010
791
  for (let y = 0; y < info.lines; y++) {
1011
792
  for (let c = 0; c < info.channels; c++) {
1012
793
  let pixel = 0;
1013
-
1014
794
  switch (info.type) {
1015
795
  case 1:
1016
796
  ptr[0] = tmpBufferEnd;
1017
797
  ptr[1] = ptr[0] + info.width;
1018
798
  tmpBufferEnd = ptr[1] + info.width;
1019
-
1020
799
  for (let j = 0; j < info.width; ++j) {
1021
800
  const diff = rawBuffer[ptr[0]++] << 8 | rawBuffer[ptr[1]++];
1022
801
  pixel += diff;
1023
802
  tmpBuffer[writePtr] = pixel;
1024
803
  writePtr++;
1025
804
  }
1026
-
1027
805
  break;
1028
-
1029
806
  case 2:
1030
807
  ptr[0] = tmpBufferEnd;
1031
808
  ptr[1] = ptr[0] + info.width;
1032
809
  ptr[2] = ptr[1] + info.width;
1033
810
  tmpBufferEnd = ptr[2] + info.width;
1034
-
1035
811
  for (let j = 0; j < info.width; ++j) {
1036
812
  const diff = rawBuffer[ptr[0]++] << 24 | rawBuffer[ptr[1]++] << 16 | rawBuffer[ptr[2]++] << 8;
1037
813
  pixel += diff;
1038
814
  tmpBuffer[writePtr] = pixel;
1039
815
  writePtr++;
1040
816
  }
1041
-
1042
817
  break;
1043
818
  }
1044
819
  }
1045
820
  }
1046
-
1047
821
  return new DataView(tmpBuffer.buffer);
1048
822
  }
1049
-
1050
823
  function uncompressDWA(info) {
1051
824
  var inDataView = info.viewer;
1052
- var inOffset = {
1053
- value: info.offset.value
1054
- };
1055
- var outBuffer = new Uint8Array(info.width * info.lines * (info.channels * info.type * INT16_SIZE)); // Read compression header information
1056
-
825
+ var inOffset = { value: info.offset.value };
826
+ var outBuffer = new Uint8Array(info.width * info.lines * (info.channels * info.type * INT16_SIZE));
1057
827
  var dwaHeader = {
1058
828
  version: parseInt64(inDataView, inOffset),
1059
829
  unknownUncompressedSize: parseInt64(inDataView, inOffset),
@@ -1067,15 +837,11 @@ class EXRLoader extends DataTextureLoader {
1067
837
  totalDcUncompressedCount: parseInt64(inDataView, inOffset),
1068
838
  acCompression: parseInt64(inDataView, inOffset)
1069
839
  };
1070
-
1071
840
  if (dwaHeader.version < 2) {
1072
- throw 'EXRLoader.parse: ' + EXRHeader.compression + ' version ' + dwaHeader.version + ' is unsupported';
1073
- } // Read channel ruleset information
1074
-
1075
-
841
+ throw "EXRLoader.parse: " + EXRHeader.compression + " version " + dwaHeader.version + " is unsupported";
842
+ }
1076
843
  var channelRules = new Array();
1077
844
  var ruleSize = parseUint16(inDataView, inOffset) - INT16_SIZE;
1078
-
1079
845
  while (ruleSize > 0) {
1080
846
  var name = parseNullTerminatedString(inDataView.buffer, inOffset);
1081
847
  var value = parseUint8(inDataView, inOffset);
@@ -1084,18 +850,15 @@ class EXRLoader extends DataTextureLoader {
1084
850
  var index = new Int8Array([csc])[0];
1085
851
  var type = parseUint8(inDataView, inOffset);
1086
852
  channelRules.push({
1087
- name: name,
1088
- index: index,
1089
- type: type,
1090
- compression: compression
853
+ name,
854
+ index,
855
+ type,
856
+ compression
1091
857
  });
1092
858
  ruleSize -= name.length + 3;
1093
- } // Classify channels
1094
-
1095
-
859
+ }
1096
860
  var channels = EXRHeader.channels;
1097
861
  var channelData = new Array(info.channels);
1098
-
1099
862
  for (var i = 0; i < info.channels; ++i) {
1100
863
  var cd = channelData[i] = {};
1101
864
  var channel = channels[i];
@@ -1107,48 +870,43 @@ class EXRLoader extends DataTextureLoader {
1107
870
  cd.width = info.width;
1108
871
  cd.height = info.lines;
1109
872
  }
1110
-
1111
873
  var cscSet = {
1112
874
  idx: new Array(3)
1113
875
  };
1114
-
1115
- for (var offset = 0; offset < info.channels; ++offset) {
1116
- var cd = channelData[offset];
1117
-
876
+ for (var offset2 = 0; offset2 < info.channels; ++offset2) {
877
+ var cd = channelData[offset2];
1118
878
  for (var i = 0; i < channelRules.length; ++i) {
1119
879
  var rule = channelRules[i];
1120
-
1121
880
  if (cd.name == rule.name) {
1122
881
  cd.compression = rule.compression;
1123
-
1124
882
  if (rule.index >= 0) {
1125
- cscSet.idx[rule.index] = offset;
883
+ cscSet.idx[rule.index] = offset2;
1126
884
  }
1127
-
1128
- cd.offset = offset;
885
+ cd.offset = offset2;
1129
886
  }
1130
887
  }
1131
- } // Read DCT - AC component data
1132
-
1133
-
888
+ }
1134
889
  if (dwaHeader.acCompressedSize > 0) {
1135
890
  switch (dwaHeader.acCompression) {
1136
891
  case STATIC_HUFFMAN:
1137
892
  var acBuffer = new Uint16Array(dwaHeader.totalAcUncompressedCount);
1138
- hufUncompress(info.array, inDataView, inOffset, dwaHeader.acCompressedSize, acBuffer, dwaHeader.totalAcUncompressedCount);
893
+ hufUncompress(
894
+ info.array,
895
+ inDataView,
896
+ inOffset,
897
+ dwaHeader.acCompressedSize,
898
+ acBuffer,
899
+ dwaHeader.totalAcUncompressedCount
900
+ );
1139
901
  break;
1140
-
1141
902
  case DEFLATE:
1142
903
  var compressed = info.array.slice(inOffset.value, inOffset.value + dwaHeader.totalAcUncompressedCount);
1143
- var data = unzlibSync(compressed); // eslint-disable-line no-undef
1144
-
904
+ var data = fflate.unzlibSync(compressed);
1145
905
  var acBuffer = new Uint16Array(data.buffer);
1146
906
  inOffset.value += dwaHeader.totalAcUncompressedCount;
1147
907
  break;
1148
908
  }
1149
- } // Read DCT - DC component data
1150
-
1151
-
909
+ }
1152
910
  if (dwaHeader.dcCompressedSize > 0) {
1153
911
  var zlibInfo = {
1154
912
  array: info.array,
@@ -1157,505 +915,404 @@ class EXRLoader extends DataTextureLoader {
1157
915
  };
1158
916
  var dcBuffer = new Uint16Array(uncompressZIP(zlibInfo).buffer);
1159
917
  inOffset.value += dwaHeader.dcCompressedSize;
1160
- } // Read RLE compressed data
1161
-
1162
-
918
+ }
1163
919
  if (dwaHeader.rleRawSize > 0) {
1164
920
  var compressed = info.array.slice(inOffset.value, inOffset.value + dwaHeader.rleCompressedSize);
1165
- var data = unzlibSync(compressed); // eslint-disable-line no-undef
1166
-
921
+ var data = fflate.unzlibSync(compressed);
1167
922
  var rleBuffer = decodeRunLength(data.buffer);
1168
923
  inOffset.value += dwaHeader.rleCompressedSize;
1169
- } // Prepare outbuffer data offset
1170
-
1171
-
924
+ }
1172
925
  var outBufferEnd = 0;
1173
926
  var rowOffsets = new Array(channelData.length);
1174
-
1175
927
  for (var i = 0; i < rowOffsets.length; ++i) {
1176
928
  rowOffsets[i] = new Array();
1177
929
  }
1178
-
1179
930
  for (var y = 0; y < info.lines; ++y) {
1180
931
  for (var chan = 0; chan < channelData.length; ++chan) {
1181
932
  rowOffsets[chan].push(outBufferEnd);
1182
933
  outBufferEnd += channelData[chan].width * info.type * INT16_SIZE;
1183
934
  }
1184
- } // Lossy DCT decode RGB channels
1185
-
1186
-
1187
- lossyDctDecode(cscSet, rowOffsets, channelData, acBuffer, dcBuffer, outBuffer); // Decode other channels
1188
-
935
+ }
936
+ lossyDctDecode(cscSet, rowOffsets, channelData, acBuffer, dcBuffer, outBuffer);
1189
937
  for (var i = 0; i < channelData.length; ++i) {
1190
938
  var cd = channelData[i];
1191
- if (cd.decoded) continue;
1192
-
939
+ if (cd.decoded)
940
+ continue;
1193
941
  switch (cd.compression) {
1194
942
  case RLE:
1195
943
  var row = 0;
1196
944
  var rleOffset = 0;
1197
-
1198
945
  for (var y = 0; y < info.lines; ++y) {
1199
946
  var rowOffsetBytes = rowOffsets[i][row];
1200
-
1201
947
  for (var x = 0; x < cd.width; ++x) {
1202
948
  for (var byte = 0; byte < INT16_SIZE * cd.type; ++byte) {
1203
949
  outBuffer[rowOffsetBytes++] = rleBuffer[rleOffset + byte * cd.width * cd.height];
1204
950
  }
1205
-
1206
951
  rleOffset++;
1207
952
  }
1208
-
1209
953
  row++;
1210
954
  }
1211
-
1212
955
  break;
1213
-
1214
- case LOSSY_DCT: // skip
1215
-
956
+ case LOSSY_DCT:
1216
957
  default:
1217
- throw 'EXRLoader.parse: unsupported channel compression';
958
+ throw "EXRLoader.parse: unsupported channel compression";
1218
959
  }
1219
960
  }
1220
-
1221
961
  return new DataView(outBuffer.buffer);
1222
962
  }
1223
-
1224
- function parseNullTerminatedString(buffer, offset) {
1225
- var uintBuffer = new Uint8Array(buffer);
963
+ function parseNullTerminatedString(buffer2, offset2) {
964
+ var uintBuffer = new Uint8Array(buffer2);
1226
965
  var endOffset = 0;
1227
-
1228
- while (uintBuffer[offset.value + endOffset] != 0) {
966
+ while (uintBuffer[offset2.value + endOffset] != 0) {
1229
967
  endOffset += 1;
1230
968
  }
1231
-
1232
- var stringValue = new TextDecoder().decode(uintBuffer.slice(offset.value, offset.value + endOffset));
1233
- offset.value = offset.value + endOffset + 1;
969
+ var stringValue = new TextDecoder().decode(uintBuffer.slice(offset2.value, offset2.value + endOffset));
970
+ offset2.value = offset2.value + endOffset + 1;
1234
971
  return stringValue;
1235
972
  }
1236
-
1237
- function parseFixedLengthString(buffer, offset, size) {
1238
- var stringValue = new TextDecoder().decode(new Uint8Array(buffer).slice(offset.value, offset.value + size));
1239
- offset.value = offset.value + size;
973
+ function parseFixedLengthString(buffer2, offset2, size) {
974
+ var stringValue = new TextDecoder().decode(new Uint8Array(buffer2).slice(offset2.value, offset2.value + size));
975
+ offset2.value = offset2.value + size;
1240
976
  return stringValue;
1241
977
  }
1242
-
1243
- function parseRational(dataView, offset) {
1244
- var x = parseInt32(dataView, offset);
1245
- var y = parseUint32(dataView, offset);
978
+ function parseRational(dataView, offset2) {
979
+ var x = parseInt32(dataView, offset2);
980
+ var y = parseUint32(dataView, offset2);
1246
981
  return [x, y];
1247
982
  }
1248
-
1249
- function parseTimecode(dataView, offset) {
1250
- var x = parseUint32(dataView, offset);
1251
- var y = parseUint32(dataView, offset);
983
+ function parseTimecode(dataView, offset2) {
984
+ var x = parseUint32(dataView, offset2);
985
+ var y = parseUint32(dataView, offset2);
1252
986
  return [x, y];
1253
987
  }
1254
-
1255
- function parseInt32(dataView, offset) {
1256
- var Int32 = dataView.getInt32(offset.value, true);
1257
- offset.value = offset.value + INT32_SIZE;
988
+ function parseInt32(dataView, offset2) {
989
+ var Int32 = dataView.getInt32(offset2.value, true);
990
+ offset2.value = offset2.value + INT32_SIZE;
1258
991
  return Int32;
1259
992
  }
1260
-
1261
- function parseUint32(dataView, offset) {
1262
- var Uint32 = dataView.getUint32(offset.value, true);
1263
- offset.value = offset.value + INT32_SIZE;
993
+ function parseUint32(dataView, offset2) {
994
+ var Uint32 = dataView.getUint32(offset2.value, true);
995
+ offset2.value = offset2.value + INT32_SIZE;
1264
996
  return Uint32;
1265
997
  }
1266
-
1267
- function parseUint8Array(uInt8Array, offset) {
1268
- var Uint8 = uInt8Array[offset.value];
1269
- offset.value = offset.value + INT8_SIZE;
998
+ function parseUint8Array(uInt8Array2, offset2) {
999
+ var Uint8 = uInt8Array2[offset2.value];
1000
+ offset2.value = offset2.value + INT8_SIZE;
1270
1001
  return Uint8;
1271
1002
  }
1272
-
1273
- function parseUint8(dataView, offset) {
1274
- var Uint8 = dataView.getUint8(offset.value);
1275
- offset.value = offset.value + INT8_SIZE;
1003
+ function parseUint8(dataView, offset2) {
1004
+ var Uint8 = dataView.getUint8(offset2.value);
1005
+ offset2.value = offset2.value + INT8_SIZE;
1276
1006
  return Uint8;
1277
1007
  }
1278
-
1279
- const parseInt64 = function (dataView, offset) {
1008
+ const parseInt64 = function(dataView, offset2) {
1280
1009
  let int;
1281
-
1282
- if ('getBigInt64' in DataView.prototype) {
1283
- int = Number(dataView.getBigInt64(offset.value, true));
1010
+ if ("getBigInt64" in DataView.prototype) {
1011
+ int = Number(dataView.getBigInt64(offset2.value, true));
1284
1012
  } else {
1285
- int = dataView.getUint32(offset.value + 4, true) + Number(dataView.getUint32(offset.value, true) << 32);
1013
+ int = dataView.getUint32(offset2.value + 4, true) + Number(dataView.getUint32(offset2.value, true) << 32);
1286
1014
  }
1287
-
1288
- offset.value += ULONG_SIZE;
1015
+ offset2.value += ULONG_SIZE;
1289
1016
  return int;
1290
1017
  };
1291
-
1292
- function parseFloat32(dataView, offset) {
1293
- var float = dataView.getFloat32(offset.value, true);
1294
- offset.value += FLOAT32_SIZE;
1018
+ function parseFloat32(dataView, offset2) {
1019
+ var float = dataView.getFloat32(offset2.value, true);
1020
+ offset2.value += FLOAT32_SIZE;
1295
1021
  return float;
1296
1022
  }
1297
-
1298
- function decodeFloat32(dataView, offset) {
1299
- return DataUtils.toHalfFloat(parseFloat32(dataView, offset));
1300
- } // https://stackoverflow.com/questions/5678432/decompressing-half-precision-floats-in-javascript
1301
-
1302
-
1023
+ function decodeFloat32(dataView, offset2) {
1024
+ return THREE.DataUtils.toHalfFloat(parseFloat32(dataView, offset2));
1025
+ }
1303
1026
  function decodeFloat16(binary) {
1304
- var exponent = (binary & 0x7c00) >> 10,
1305
- fraction = binary & 0x03ff;
1306
- return (binary >> 15 ? -1 : 1) * (exponent ? exponent === 0x1f ? fraction ? NaN : Infinity : Math.pow(2, exponent - 15) * (1 + fraction / 0x400) : 6.103515625e-5 * (fraction / 0x400));
1027
+ var exponent = (binary & 31744) >> 10, fraction = binary & 1023;
1028
+ return (binary >> 15 ? -1 : 1) * (exponent ? exponent === 31 ? fraction ? NaN : Infinity : Math.pow(2, exponent - 15) * (1 + fraction / 1024) : 6103515625e-14 * (fraction / 1024));
1307
1029
  }
1308
-
1309
- function parseUint16(dataView, offset) {
1310
- var Uint16 = dataView.getUint16(offset.value, true);
1311
- offset.value += INT16_SIZE;
1030
+ function parseUint16(dataView, offset2) {
1031
+ var Uint16 = dataView.getUint16(offset2.value, true);
1032
+ offset2.value += INT16_SIZE;
1312
1033
  return Uint16;
1313
1034
  }
1314
-
1315
- function parseFloat16(buffer, offset) {
1316
- return decodeFloat16(parseUint16(buffer, offset));
1035
+ function parseFloat16(buffer2, offset2) {
1036
+ return decodeFloat16(parseUint16(buffer2, offset2));
1317
1037
  }
1318
-
1319
- function parseChlist(dataView, buffer, offset, size) {
1320
- var startOffset = offset.value;
1038
+ function parseChlist(dataView, buffer2, offset2, size) {
1039
+ var startOffset = offset2.value;
1321
1040
  var channels = [];
1322
-
1323
- while (offset.value < startOffset + size - 1) {
1324
- var name = parseNullTerminatedString(buffer, offset);
1325
- var pixelType = parseInt32(dataView, offset);
1326
- var pLinear = parseUint8(dataView, offset);
1327
- offset.value += 3; // reserved, three chars
1328
-
1329
- var xSampling = parseInt32(dataView, offset);
1330
- var ySampling = parseInt32(dataView, offset);
1041
+ while (offset2.value < startOffset + size - 1) {
1042
+ var name = parseNullTerminatedString(buffer2, offset2);
1043
+ var pixelType = parseInt32(dataView, offset2);
1044
+ var pLinear = parseUint8(dataView, offset2);
1045
+ offset2.value += 3;
1046
+ var xSampling = parseInt32(dataView, offset2);
1047
+ var ySampling = parseInt32(dataView, offset2);
1331
1048
  channels.push({
1332
- name: name,
1333
- pixelType: pixelType,
1334
- pLinear: pLinear,
1335
- xSampling: xSampling,
1336
- ySampling: ySampling
1049
+ name,
1050
+ pixelType,
1051
+ pLinear,
1052
+ xSampling,
1053
+ ySampling
1337
1054
  });
1338
1055
  }
1339
-
1340
- offset.value += 1;
1056
+ offset2.value += 1;
1341
1057
  return channels;
1342
1058
  }
1343
-
1344
- function parseChromaticities(dataView, offset) {
1345
- var redX = parseFloat32(dataView, offset);
1346
- var redY = parseFloat32(dataView, offset);
1347
- var greenX = parseFloat32(dataView, offset);
1348
- var greenY = parseFloat32(dataView, offset);
1349
- var blueX = parseFloat32(dataView, offset);
1350
- var blueY = parseFloat32(dataView, offset);
1351
- var whiteX = parseFloat32(dataView, offset);
1352
- var whiteY = parseFloat32(dataView, offset);
1059
+ function parseChromaticities(dataView, offset2) {
1060
+ var redX = parseFloat32(dataView, offset2);
1061
+ var redY = parseFloat32(dataView, offset2);
1062
+ var greenX = parseFloat32(dataView, offset2);
1063
+ var greenY = parseFloat32(dataView, offset2);
1064
+ var blueX = parseFloat32(dataView, offset2);
1065
+ var blueY = parseFloat32(dataView, offset2);
1066
+ var whiteX = parseFloat32(dataView, offset2);
1067
+ var whiteY = parseFloat32(dataView, offset2);
1353
1068
  return {
1354
- redX: redX,
1355
- redY: redY,
1356
- greenX: greenX,
1357
- greenY: greenY,
1358
- blueX: blueX,
1359
- blueY: blueY,
1360
- whiteX: whiteX,
1361
- whiteY: whiteY
1069
+ redX,
1070
+ redY,
1071
+ greenX,
1072
+ greenY,
1073
+ blueX,
1074
+ blueY,
1075
+ whiteX,
1076
+ whiteY
1362
1077
  };
1363
1078
  }
1364
-
1365
- function parseCompression(dataView, offset) {
1366
- var compressionCodes = ['NO_COMPRESSION', 'RLE_COMPRESSION', 'ZIPS_COMPRESSION', 'ZIP_COMPRESSION', 'PIZ_COMPRESSION', 'PXR24_COMPRESSION', 'B44_COMPRESSION', 'B44A_COMPRESSION', 'DWAA_COMPRESSION', 'DWAB_COMPRESSION'];
1367
- var compression = parseUint8(dataView, offset);
1079
+ function parseCompression(dataView, offset2) {
1080
+ var compressionCodes = [
1081
+ "NO_COMPRESSION",
1082
+ "RLE_COMPRESSION",
1083
+ "ZIPS_COMPRESSION",
1084
+ "ZIP_COMPRESSION",
1085
+ "PIZ_COMPRESSION",
1086
+ "PXR24_COMPRESSION",
1087
+ "B44_COMPRESSION",
1088
+ "B44A_COMPRESSION",
1089
+ "DWAA_COMPRESSION",
1090
+ "DWAB_COMPRESSION"
1091
+ ];
1092
+ var compression = parseUint8(dataView, offset2);
1368
1093
  return compressionCodes[compression];
1369
1094
  }
1370
-
1371
- function parseBox2i(dataView, offset) {
1372
- var xMin = parseUint32(dataView, offset);
1373
- var yMin = parseUint32(dataView, offset);
1374
- var xMax = parseUint32(dataView, offset);
1375
- var yMax = parseUint32(dataView, offset);
1376
- return {
1377
- xMin: xMin,
1378
- yMin: yMin,
1379
- xMax: xMax,
1380
- yMax: yMax
1381
- };
1095
+ function parseBox2i(dataView, offset2) {
1096
+ var xMin = parseUint32(dataView, offset2);
1097
+ var yMin = parseUint32(dataView, offset2);
1098
+ var xMax = parseUint32(dataView, offset2);
1099
+ var yMax = parseUint32(dataView, offset2);
1100
+ return { xMin, yMin, xMax, yMax };
1382
1101
  }
1383
-
1384
- function parseLineOrder(dataView, offset) {
1385
- var lineOrders = ['INCREASING_Y'];
1386
- var lineOrder = parseUint8(dataView, offset);
1102
+ function parseLineOrder(dataView, offset2) {
1103
+ var lineOrders = ["INCREASING_Y"];
1104
+ var lineOrder = parseUint8(dataView, offset2);
1387
1105
  return lineOrders[lineOrder];
1388
1106
  }
1389
-
1390
- function parseV2f(dataView, offset) {
1391
- var x = parseFloat32(dataView, offset);
1392
- var y = parseFloat32(dataView, offset);
1107
+ function parseV2f(dataView, offset2) {
1108
+ var x = parseFloat32(dataView, offset2);
1109
+ var y = parseFloat32(dataView, offset2);
1393
1110
  return [x, y];
1394
1111
  }
1395
-
1396
- function parseV3f(dataView, offset) {
1397
- var x = parseFloat32(dataView, offset);
1398
- var y = parseFloat32(dataView, offset);
1399
- var z = parseFloat32(dataView, offset);
1112
+ function parseV3f(dataView, offset2) {
1113
+ var x = parseFloat32(dataView, offset2);
1114
+ var y = parseFloat32(dataView, offset2);
1115
+ var z = parseFloat32(dataView, offset2);
1400
1116
  return [x, y, z];
1401
1117
  }
1402
-
1403
- function parseValue(dataView, buffer, offset, type, size) {
1404
- if (type === 'string' || type === 'stringvector' || type === 'iccProfile') {
1405
- return parseFixedLengthString(buffer, offset, size);
1406
- } else if (type === 'chlist') {
1407
- return parseChlist(dataView, buffer, offset, size);
1408
- } else if (type === 'chromaticities') {
1409
- return parseChromaticities(dataView, offset);
1410
- } else if (type === 'compression') {
1411
- return parseCompression(dataView, offset);
1412
- } else if (type === 'box2i') {
1413
- return parseBox2i(dataView, offset);
1414
- } else if (type === 'lineOrder') {
1415
- return parseLineOrder(dataView, offset);
1416
- } else if (type === 'float') {
1417
- return parseFloat32(dataView, offset);
1418
- } else if (type === 'v2f') {
1419
- return parseV2f(dataView, offset);
1420
- } else if (type === 'v3f') {
1421
- return parseV3f(dataView, offset);
1422
- } else if (type === 'int') {
1423
- return parseInt32(dataView, offset);
1424
- } else if (type === 'rational') {
1425
- return parseRational(dataView, offset);
1426
- } else if (type === 'timecode') {
1427
- return parseTimecode(dataView, offset);
1428
- } else if (type === 'preview') {
1429
- offset.value += size;
1430
- return 'skipped';
1118
+ function parseValue(dataView, buffer2, offset2, type, size) {
1119
+ if (type === "string" || type === "stringvector" || type === "iccProfile") {
1120
+ return parseFixedLengthString(buffer2, offset2, size);
1121
+ } else if (type === "chlist") {
1122
+ return parseChlist(dataView, buffer2, offset2, size);
1123
+ } else if (type === "chromaticities") {
1124
+ return parseChromaticities(dataView, offset2);
1125
+ } else if (type === "compression") {
1126
+ return parseCompression(dataView, offset2);
1127
+ } else if (type === "box2i") {
1128
+ return parseBox2i(dataView, offset2);
1129
+ } else if (type === "lineOrder") {
1130
+ return parseLineOrder(dataView, offset2);
1131
+ } else if (type === "float") {
1132
+ return parseFloat32(dataView, offset2);
1133
+ } else if (type === "v2f") {
1134
+ return parseV2f(dataView, offset2);
1135
+ } else if (type === "v3f") {
1136
+ return parseV3f(dataView, offset2);
1137
+ } else if (type === "int") {
1138
+ return parseInt32(dataView, offset2);
1139
+ } else if (type === "rational") {
1140
+ return parseRational(dataView, offset2);
1141
+ } else if (type === "timecode") {
1142
+ return parseTimecode(dataView, offset2);
1143
+ } else if (type === "preview") {
1144
+ offset2.value += size;
1145
+ return "skipped";
1431
1146
  } else {
1432
- offset.value += size;
1433
- return undefined;
1147
+ offset2.value += size;
1148
+ return void 0;
1434
1149
  }
1435
1150
  }
1436
-
1437
- function parseHeader(dataView, buffer, offset) {
1438
- const EXRHeader = {};
1439
-
1151
+ function parseHeader(dataView, buffer2, offset2) {
1152
+ const EXRHeader2 = {};
1440
1153
  if (dataView.getUint32(0, true) != 20000630) {
1441
- // magic
1442
1154
  throw "THREE.EXRLoader: provided file doesn't appear to be in OpenEXR format.";
1443
1155
  }
1444
-
1445
- EXRHeader.version = dataView.getUint8(4);
1446
- const spec = dataView.getUint8(5); // fullMask
1447
-
1448
- EXRHeader.spec = {
1156
+ EXRHeader2.version = dataView.getUint8(4);
1157
+ const spec = dataView.getUint8(5);
1158
+ EXRHeader2.spec = {
1449
1159
  singleTile: !!(spec & 2),
1450
1160
  longName: !!(spec & 4),
1451
1161
  deepFormat: !!(spec & 8),
1452
1162
  multiPart: !!(spec & 16)
1453
- }; // start of header
1454
-
1455
- offset.value = 8; // start at 8 - after pre-amble
1456
-
1163
+ };
1164
+ offset2.value = 8;
1457
1165
  var keepReading = true;
1458
-
1459
1166
  while (keepReading) {
1460
- var attributeName = parseNullTerminatedString(buffer, offset);
1461
-
1167
+ var attributeName = parseNullTerminatedString(buffer2, offset2);
1462
1168
  if (attributeName == 0) {
1463
1169
  keepReading = false;
1464
1170
  } else {
1465
- var attributeType = parseNullTerminatedString(buffer, offset);
1466
- var attributeSize = parseUint32(dataView, offset);
1467
- var attributeValue = parseValue(dataView, buffer, offset, attributeType, attributeSize);
1468
-
1469
- if (attributeValue === undefined) {
1470
- console.warn(`EXRLoader.parse: skipped unknown header attribute type \'${attributeType}\'.`);
1171
+ var attributeType = parseNullTerminatedString(buffer2, offset2);
1172
+ var attributeSize = parseUint32(dataView, offset2);
1173
+ var attributeValue = parseValue(dataView, buffer2, offset2, attributeType, attributeSize);
1174
+ if (attributeValue === void 0) {
1175
+ console.warn(`EXRLoader.parse: skipped unknown header attribute type '${attributeType}'.`);
1471
1176
  } else {
1472
- EXRHeader[attributeName] = attributeValue;
1177
+ EXRHeader2[attributeName] = attributeValue;
1473
1178
  }
1474
1179
  }
1475
1180
  }
1476
-
1477
1181
  if (spec != 0) {
1478
- console.error('EXRHeader:', EXRHeader);
1479
- throw 'THREE.EXRLoader: provided file is currently unsupported.';
1182
+ console.error("EXRHeader:", EXRHeader2);
1183
+ throw "THREE.EXRLoader: provided file is currently unsupported.";
1480
1184
  }
1481
-
1482
- return EXRHeader;
1185
+ return EXRHeader2;
1483
1186
  }
1484
-
1485
- function setupDecoder(EXRHeader, dataView, uInt8Array, offset, outputType) {
1486
- const EXRDecoder = {
1187
+ function setupDecoder(EXRHeader2, dataView, uInt8Array2, offset2, outputType) {
1188
+ const EXRDecoder2 = {
1487
1189
  size: 0,
1488
1190
  viewer: dataView,
1489
- array: uInt8Array,
1490
- offset: offset,
1491
- width: EXRHeader.dataWindow.xMax - EXRHeader.dataWindow.xMin + 1,
1492
- height: EXRHeader.dataWindow.yMax - EXRHeader.dataWindow.yMin + 1,
1493
- channels: EXRHeader.channels.length,
1191
+ array: uInt8Array2,
1192
+ offset: offset2,
1193
+ width: EXRHeader2.dataWindow.xMax - EXRHeader2.dataWindow.xMin + 1,
1194
+ height: EXRHeader2.dataWindow.yMax - EXRHeader2.dataWindow.yMin + 1,
1195
+ channels: EXRHeader2.channels.length,
1494
1196
  bytesPerLine: null,
1495
1197
  lines: null,
1496
1198
  inputSize: null,
1497
- type: EXRHeader.channels[0].pixelType,
1199
+ type: EXRHeader2.channels[0].pixelType,
1498
1200
  uncompress: null,
1499
1201
  getter: null,
1500
1202
  format: null,
1501
1203
  encoding: null
1502
1204
  };
1503
-
1504
- switch (EXRHeader.compression) {
1505
- case 'NO_COMPRESSION':
1506
- EXRDecoder.lines = 1;
1507
- EXRDecoder.uncompress = uncompressRAW;
1205
+ switch (EXRHeader2.compression) {
1206
+ case "NO_COMPRESSION":
1207
+ EXRDecoder2.lines = 1;
1208
+ EXRDecoder2.uncompress = uncompressRAW;
1508
1209
  break;
1509
-
1510
- case 'RLE_COMPRESSION':
1511
- EXRDecoder.lines = 1;
1512
- EXRDecoder.uncompress = uncompressRLE;
1210
+ case "RLE_COMPRESSION":
1211
+ EXRDecoder2.lines = 1;
1212
+ EXRDecoder2.uncompress = uncompressRLE;
1513
1213
  break;
1514
-
1515
- case 'ZIPS_COMPRESSION':
1516
- EXRDecoder.lines = 1;
1517
- EXRDecoder.uncompress = uncompressZIP;
1214
+ case "ZIPS_COMPRESSION":
1215
+ EXRDecoder2.lines = 1;
1216
+ EXRDecoder2.uncompress = uncompressZIP;
1518
1217
  break;
1519
-
1520
- case 'ZIP_COMPRESSION':
1521
- EXRDecoder.lines = 16;
1522
- EXRDecoder.uncompress = uncompressZIP;
1218
+ case "ZIP_COMPRESSION":
1219
+ EXRDecoder2.lines = 16;
1220
+ EXRDecoder2.uncompress = uncompressZIP;
1523
1221
  break;
1524
-
1525
- case 'PIZ_COMPRESSION':
1526
- EXRDecoder.lines = 32;
1527
- EXRDecoder.uncompress = uncompressPIZ;
1222
+ case "PIZ_COMPRESSION":
1223
+ EXRDecoder2.lines = 32;
1224
+ EXRDecoder2.uncompress = uncompressPIZ;
1528
1225
  break;
1529
-
1530
- case 'PXR24_COMPRESSION':
1531
- EXRDecoder.lines = 16;
1532
- EXRDecoder.uncompress = uncompressPXR;
1226
+ case "PXR24_COMPRESSION":
1227
+ EXRDecoder2.lines = 16;
1228
+ EXRDecoder2.uncompress = uncompressPXR;
1533
1229
  break;
1534
-
1535
- case 'DWAA_COMPRESSION':
1536
- EXRDecoder.lines = 32;
1537
- EXRDecoder.uncompress = uncompressDWA;
1230
+ case "DWAA_COMPRESSION":
1231
+ EXRDecoder2.lines = 32;
1232
+ EXRDecoder2.uncompress = uncompressDWA;
1538
1233
  break;
1539
-
1540
- case 'DWAB_COMPRESSION':
1541
- EXRDecoder.lines = 256;
1542
- EXRDecoder.uncompress = uncompressDWA;
1234
+ case "DWAB_COMPRESSION":
1235
+ EXRDecoder2.lines = 256;
1236
+ EXRDecoder2.uncompress = uncompressDWA;
1543
1237
  break;
1544
-
1545
1238
  default:
1546
- throw 'EXRLoader.parse: ' + EXRHeader.compression + ' is unsupported';
1239
+ throw "EXRLoader.parse: " + EXRHeader2.compression + " is unsupported";
1547
1240
  }
1548
-
1549
- EXRDecoder.scanlineBlockSize = EXRDecoder.lines;
1550
-
1551
- if (EXRDecoder.type == 1) {
1552
- // half
1241
+ EXRDecoder2.scanlineBlockSize = EXRDecoder2.lines;
1242
+ if (EXRDecoder2.type == 1) {
1553
1243
  switch (outputType) {
1554
- case FloatType:
1555
- EXRDecoder.getter = parseFloat16;
1556
- EXRDecoder.inputSize = INT16_SIZE;
1244
+ case THREE.FloatType:
1245
+ EXRDecoder2.getter = parseFloat16;
1246
+ EXRDecoder2.inputSize = INT16_SIZE;
1557
1247
  break;
1558
-
1559
- case HalfFloatType:
1560
- EXRDecoder.getter = parseUint16;
1561
- EXRDecoder.inputSize = INT16_SIZE;
1248
+ case THREE.HalfFloatType:
1249
+ EXRDecoder2.getter = parseUint16;
1250
+ EXRDecoder2.inputSize = INT16_SIZE;
1562
1251
  break;
1563
1252
  }
1564
- } else if (EXRDecoder.type == 2) {
1565
- // float
1253
+ } else if (EXRDecoder2.type == 2) {
1566
1254
  switch (outputType) {
1567
- case FloatType:
1568
- EXRDecoder.getter = parseFloat32;
1569
- EXRDecoder.inputSize = FLOAT32_SIZE;
1255
+ case THREE.FloatType:
1256
+ EXRDecoder2.getter = parseFloat32;
1257
+ EXRDecoder2.inputSize = FLOAT32_SIZE;
1570
1258
  break;
1571
-
1572
- case HalfFloatType:
1573
- EXRDecoder.getter = decodeFloat32;
1574
- EXRDecoder.inputSize = FLOAT32_SIZE;
1259
+ case THREE.HalfFloatType:
1260
+ EXRDecoder2.getter = decodeFloat32;
1261
+ EXRDecoder2.inputSize = FLOAT32_SIZE;
1575
1262
  }
1576
1263
  } else {
1577
- throw 'EXRLoader.parse: unsupported pixelType ' + EXRDecoder.type + ' for ' + EXRHeader.compression + '.';
1264
+ throw "EXRLoader.parse: unsupported pixelType " + EXRDecoder2.type + " for " + EXRHeader2.compression + ".";
1578
1265
  }
1579
-
1580
- EXRDecoder.blockCount = (EXRHeader.dataWindow.yMax + 1) / EXRDecoder.scanlineBlockSize;
1581
-
1582
- for (var i = 0; i < EXRDecoder.blockCount; i++) parseInt64(dataView, offset); // scanlineOffset
1583
- // we should be passed the scanline offset table, ready to start reading pixel data.
1584
- // RGB images will be converted to RGBA format, preventing software emulation in select devices.
1585
-
1586
-
1587
- EXRDecoder.outputChannels = EXRDecoder.channels == 3 ? 4 : EXRDecoder.channels;
1588
- const size = EXRDecoder.width * EXRDecoder.height * EXRDecoder.outputChannels;
1589
-
1266
+ EXRDecoder2.blockCount = (EXRHeader2.dataWindow.yMax + 1) / EXRDecoder2.scanlineBlockSize;
1267
+ for (var i = 0; i < EXRDecoder2.blockCount; i++)
1268
+ parseInt64(dataView, offset2);
1269
+ EXRDecoder2.outputChannels = EXRDecoder2.channels == 3 ? 4 : EXRDecoder2.channels;
1270
+ const size = EXRDecoder2.width * EXRDecoder2.height * EXRDecoder2.outputChannels;
1590
1271
  switch (outputType) {
1591
- case FloatType:
1592
- EXRDecoder.byteArray = new Float32Array(size); // Fill initially with 1s for the alpha value if the texture is not RGBA, RGB values will be overwritten
1593
-
1594
- if (EXRDecoder.channels < EXRDecoder.outputChannels) EXRDecoder.byteArray.fill(1, 0, size);
1272
+ case THREE.FloatType:
1273
+ EXRDecoder2.byteArray = new Float32Array(size);
1274
+ if (EXRDecoder2.channels < EXRDecoder2.outputChannels)
1275
+ EXRDecoder2.byteArray.fill(1, 0, size);
1595
1276
  break;
1596
-
1597
- case HalfFloatType:
1598
- EXRDecoder.byteArray = new Uint16Array(size);
1599
- if (EXRDecoder.channels < EXRDecoder.outputChannels) EXRDecoder.byteArray.fill(0x3c00, 0, size); // Uint16Array holds half float data, 0x3C00 is 1
1600
-
1277
+ case THREE.HalfFloatType:
1278
+ EXRDecoder2.byteArray = new Uint16Array(size);
1279
+ if (EXRDecoder2.channels < EXRDecoder2.outputChannels)
1280
+ EXRDecoder2.byteArray.fill(15360, 0, size);
1601
1281
  break;
1602
-
1603
1282
  default:
1604
- console.error('THREE.EXRLoader: unsupported type: ', outputType);
1283
+ console.error("THREE.EXRLoader: unsupported type: ", outputType);
1605
1284
  break;
1606
1285
  }
1607
-
1608
- EXRDecoder.bytesPerLine = EXRDecoder.width * EXRDecoder.inputSize * EXRDecoder.channels;
1609
-
1610
- if (EXRDecoder.outputChannels == 4) {
1611
- EXRDecoder.format = RGBAFormat;
1612
- EXRDecoder.encoding = LinearEncoding;
1286
+ EXRDecoder2.bytesPerLine = EXRDecoder2.width * EXRDecoder2.inputSize * EXRDecoder2.channels;
1287
+ if (EXRDecoder2.outputChannels == 4) {
1288
+ EXRDecoder2.format = THREE.RGBAFormat;
1289
+ EXRDecoder2.encoding = THREE.LinearEncoding;
1613
1290
  } else {
1614
- EXRDecoder.format = RedFormat;
1615
- EXRDecoder.encoding = LinearEncoding;
1291
+ EXRDecoder2.format = THREE.RedFormat;
1292
+ EXRDecoder2.encoding = THREE.LinearEncoding;
1616
1293
  }
1617
-
1618
- return EXRDecoder;
1619
- } // start parsing file [START]
1620
-
1621
-
1294
+ return EXRDecoder2;
1295
+ }
1622
1296
  const bufferDataView = new DataView(buffer);
1623
1297
  const uInt8Array = new Uint8Array(buffer);
1624
- const offset = {
1625
- value: 0
1626
- }; // get header information and validate format.
1627
-
1628
- const EXRHeader = parseHeader(bufferDataView, buffer, offset); // get input compression information and prepare decoding.
1629
-
1298
+ const offset = { value: 0 };
1299
+ const EXRHeader = parseHeader(bufferDataView, buffer, offset);
1630
1300
  const EXRDecoder = setupDecoder(EXRHeader, bufferDataView, uInt8Array, offset, this.type);
1631
- const tmpOffset = {
1632
- value: 0
1633
- };
1634
- const channelOffsets = {
1635
- R: 0,
1636
- G: 1,
1637
- B: 2,
1638
- A: 3,
1639
- Y: 0
1640
- };
1641
-
1301
+ const tmpOffset = { value: 0 };
1302
+ const channelOffsets = { R: 0, G: 1, B: 2, A: 3, Y: 0 };
1642
1303
  for (let scanlineBlockIdx = 0; scanlineBlockIdx < EXRDecoder.height / EXRDecoder.scanlineBlockSize; scanlineBlockIdx++) {
1643
- const line = parseUint32(bufferDataView, offset); // line_no
1644
-
1645
- EXRDecoder.size = parseUint32(bufferDataView, offset); // data_len
1646
-
1304
+ const line = parseUint32(bufferDataView, offset);
1305
+ EXRDecoder.size = parseUint32(bufferDataView, offset);
1647
1306
  EXRDecoder.lines = line + EXRDecoder.scanlineBlockSize > EXRDecoder.height ? EXRDecoder.height - line : EXRDecoder.scanlineBlockSize;
1648
1307
  const isCompressed = EXRDecoder.size < EXRDecoder.lines * EXRDecoder.bytesPerLine;
1649
1308
  const viewer = isCompressed ? EXRDecoder.uncompress(EXRDecoder) : uncompressRAW(EXRDecoder);
1650
1309
  offset.value += EXRDecoder.size;
1651
-
1652
1310
  for (let line_y = 0; line_y < EXRDecoder.scanlineBlockSize; line_y++) {
1653
1311
  const true_y = line_y + scanlineBlockIdx * EXRDecoder.scanlineBlockSize;
1654
- if (true_y >= EXRDecoder.height) break;
1655
-
1312
+ if (true_y >= EXRDecoder.height)
1313
+ break;
1656
1314
  for (let channelID = 0; channelID < EXRDecoder.channels; channelID++) {
1657
1315
  const cOff = channelOffsets[EXRHeader.channels[channelID].name];
1658
-
1659
1316
  for (let x = 0; x < EXRDecoder.width; x++) {
1660
1317
  tmpOffset.value = (line_y * (EXRDecoder.channels * EXRDecoder.width) + channelID * EXRDecoder.width + x) * EXRDecoder.inputSize;
1661
1318
  const outIndex = (EXRDecoder.height - 1 - true_y) * (EXRDecoder.width * EXRDecoder.outputChannels) + x * EXRDecoder.outputChannels + cOff;
@@ -1664,7 +1321,6 @@ class EXRLoader extends DataTextureLoader {
1664
1321
  }
1665
1322
  }
1666
1323
  }
1667
-
1668
1324
  return {
1669
1325
  header: EXRHeader,
1670
1326
  width: EXRDecoder.width,
@@ -1675,25 +1331,21 @@ class EXRLoader extends DataTextureLoader {
1675
1331
  type: this.type
1676
1332
  };
1677
1333
  }
1678
-
1679
1334
  setDataType(value) {
1680
1335
  this.type = value;
1681
1336
  return this;
1682
1337
  }
1683
-
1684
1338
  load(url, onLoad, onProgress, onError) {
1685
1339
  function onLoadCallback(texture, texData) {
1686
1340
  texture.encoding = texData.encoding;
1687
- texture.minFilter = LinearFilter;
1688
- texture.magFilter = LinearFilter;
1341
+ texture.minFilter = THREE.LinearFilter;
1342
+ texture.magFilter = THREE.LinearFilter;
1689
1343
  texture.generateMipmaps = false;
1690
1344
  texture.flipY = false;
1691
- if (onLoad) onLoad(texture, texData);
1345
+ if (onLoad)
1346
+ onLoad(texture, texData);
1692
1347
  }
1693
-
1694
1348
  return super.load(url, onLoadCallback, onProgress, onError);
1695
1349
  }
1696
-
1697
1350
  }
1698
-
1699
- export { EXRLoader };
1351
+ exports.EXRLoader = EXRLoader;