three-stdlib 2.35.2 → 2.35.4

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 (518) hide show
  1. package/_polyfill/CapsuleGeometry.cjs +20 -17
  2. package/_polyfill/CapsuleGeometry.cjs.map +1 -1
  3. package/_polyfill/CapsuleGeometry.js +20 -17
  4. package/_polyfill/CapsuleGeometry.js.map +1 -1
  5. package/_polyfill/constants.cjs +1 -1
  6. package/_polyfill/constants.cjs.map +1 -1
  7. package/_polyfill/constants.js +1 -1
  8. package/_polyfill/constants.js.map +1 -1
  9. package/animation/AnimationClipCreator.cjs +13 -13
  10. package/animation/AnimationClipCreator.cjs.map +1 -1
  11. package/animation/AnimationClipCreator.js +13 -13
  12. package/animation/AnimationClipCreator.js.map +1 -1
  13. package/animation/CCDIKSolver.cjs +11 -11
  14. package/animation/CCDIKSolver.cjs.map +1 -1
  15. package/animation/CCDIKSolver.js +12 -12
  16. package/animation/CCDIKSolver.js.map +1 -1
  17. package/animation/MMDAnimationHelper.cjs +1 -1
  18. package/animation/MMDAnimationHelper.cjs.map +1 -1
  19. package/animation/MMDAnimationHelper.js +1 -1
  20. package/animation/MMDAnimationHelper.js.map +1 -1
  21. package/animation/MMDPhysics.cjs +4 -4
  22. package/animation/MMDPhysics.cjs.map +1 -1
  23. package/animation/MMDPhysics.js +4 -4
  24. package/animation/MMDPhysics.js.map +1 -1
  25. package/controls/ArcballControls.cjs +2 -2
  26. package/controls/ArcballControls.cjs.map +1 -1
  27. package/controls/ArcballControls.js +3 -3
  28. package/controls/ArcballControls.js.map +1 -1
  29. package/controls/FirstPersonControls.cjs +1 -1
  30. package/controls/FirstPersonControls.cjs.map +1 -1
  31. package/controls/FirstPersonControls.js +1 -1
  32. package/controls/FirstPersonControls.js.map +1 -1
  33. package/controls/OrbitControls.cjs +2 -2
  34. package/controls/OrbitControls.cjs.map +1 -1
  35. package/controls/OrbitControls.js +3 -3
  36. package/controls/OrbitControls.js.map +1 -1
  37. package/controls/PointerLockControls.cjs +2 -2
  38. package/controls/PointerLockControls.cjs.map +1 -1
  39. package/controls/PointerLockControls.js +3 -3
  40. package/controls/PointerLockControls.js.map +1 -1
  41. package/csm/CSM.cjs +4 -4
  42. package/csm/CSM.cjs.map +1 -1
  43. package/csm/CSM.js +5 -5
  44. package/csm/CSM.js.map +1 -1
  45. package/csm/CSMFrustum.cjs +1 -1
  46. package/csm/CSMFrustum.cjs.map +1 -1
  47. package/csm/CSMFrustum.js +2 -2
  48. package/csm/CSMFrustum.js.map +1 -1
  49. package/deprecated/Geometry.cjs +722 -715
  50. package/deprecated/Geometry.cjs.map +1 -1
  51. package/deprecated/Geometry.js +723 -716
  52. package/deprecated/Geometry.js.map +1 -1
  53. package/effects/AnaglyphEffect.cjs +2 -1
  54. package/effects/AnaglyphEffect.cjs.map +1 -1
  55. package/effects/AnaglyphEffect.js +3 -2
  56. package/effects/AnaglyphEffect.js.map +1 -1
  57. package/effects/OutlineEffect.cjs +2 -1
  58. package/effects/OutlineEffect.cjs.map +1 -1
  59. package/effects/OutlineEffect.js +3 -2
  60. package/effects/OutlineEffect.js.map +1 -1
  61. package/effects/ParallaxBarrierEffect.cjs +2 -1
  62. package/effects/ParallaxBarrierEffect.cjs.map +1 -1
  63. package/effects/ParallaxBarrierEffect.js +3 -2
  64. package/effects/ParallaxBarrierEffect.js.map +1 -1
  65. package/exporters/DRACOExporter.cjs +133 -122
  66. package/exporters/DRACOExporter.cjs.map +1 -1
  67. package/exporters/DRACOExporter.d.ts +23 -21
  68. package/exporters/DRACOExporter.js +133 -122
  69. package/exporters/DRACOExporter.js.map +1 -1
  70. package/exporters/GLTFExporter.cjs +170 -167
  71. package/exporters/GLTFExporter.cjs.map +1 -1
  72. package/exporters/GLTFExporter.js +170 -167
  73. package/exporters/GLTFExporter.js.map +1 -1
  74. package/geometries/LightningStrike.cjs +524 -515
  75. package/geometries/LightningStrike.cjs.map +1 -1
  76. package/geometries/LightningStrike.js +524 -515
  77. package/geometries/LightningStrike.js.map +1 -1
  78. package/geometries/RoundedBoxGeometry.cjs +1 -1
  79. package/geometries/RoundedBoxGeometry.cjs.map +1 -1
  80. package/geometries/RoundedBoxGeometry.js +2 -2
  81. package/geometries/RoundedBoxGeometry.js.map +1 -1
  82. package/helpers/RaycasterHelper.cjs +2 -2
  83. package/helpers/RaycasterHelper.cjs.map +1 -1
  84. package/helpers/RaycasterHelper.js +3 -3
  85. package/helpers/RaycasterHelper.js.map +1 -1
  86. package/helpers/VertexNormalsHelper.cjs +3 -3
  87. package/helpers/VertexNormalsHelper.cjs.map +1 -1
  88. package/helpers/VertexNormalsHelper.js +4 -4
  89. package/helpers/VertexNormalsHelper.js.map +1 -1
  90. package/helpers/VertexTangentsHelper.cjs +2 -2
  91. package/helpers/VertexTangentsHelper.cjs.map +1 -1
  92. package/helpers/VertexTangentsHelper.js +3 -3
  93. package/helpers/VertexTangentsHelper.js.map +1 -1
  94. package/interactive/InteractiveGroup.cjs +1 -1
  95. package/interactive/InteractiveGroup.cjs.map +1 -1
  96. package/interactive/InteractiveGroup.js +2 -2
  97. package/interactive/InteractiveGroup.js.map +1 -1
  98. package/interactive/SelectionBox.cjs +15 -15
  99. package/interactive/SelectionBox.cjs.map +1 -1
  100. package/interactive/SelectionBox.js +16 -16
  101. package/interactive/SelectionBox.js.map +1 -1
  102. package/libs/chevrotain.cjs +1 -1
  103. package/libs/chevrotain.cjs.map +1 -1
  104. package/libs/chevrotain.js +1 -1
  105. package/libs/chevrotain.js.map +1 -1
  106. package/libs/lottie.cjs +1 -1
  107. package/libs/lottie.cjs.map +1 -1
  108. package/libs/lottie.js +1 -1
  109. package/libs/lottie.js.map +1 -1
  110. package/libs/opentype.cjs +1 -1
  111. package/libs/opentype.cjs.map +1 -1
  112. package/libs/opentype.js +1 -1
  113. package/libs/opentype.js.map +1 -1
  114. package/lights/LightProbeGenerator.cjs +5 -5
  115. package/lights/LightProbeGenerator.cjs.map +1 -1
  116. package/lights/LightProbeGenerator.js +5 -5
  117. package/lights/LightProbeGenerator.js.map +1 -1
  118. package/lights/RectAreaLightUniformsLib.cjs +3 -3
  119. package/lights/RectAreaLightUniformsLib.cjs.map +1 -1
  120. package/lights/RectAreaLightUniformsLib.js +3 -3
  121. package/lights/RectAreaLightUniformsLib.js.map +1 -1
  122. package/lines/LineMaterial.cjs +2 -1
  123. package/lines/LineMaterial.cjs.map +1 -1
  124. package/lines/LineMaterial.js +3 -2
  125. package/lines/LineMaterial.js.map +1 -1
  126. package/lines/LineSegments2.cjs +13 -13
  127. package/lines/LineSegments2.cjs.map +1 -1
  128. package/lines/LineSegments2.js +14 -14
  129. package/lines/LineSegments2.js.map +1 -1
  130. package/lines/LineSegmentsGeometry.cjs +2 -2
  131. package/lines/LineSegmentsGeometry.cjs.map +1 -1
  132. package/lines/LineSegmentsGeometry.js +3 -3
  133. package/lines/LineSegmentsGeometry.js.map +1 -1
  134. package/lines/Wireframe.cjs +3 -3
  135. package/lines/Wireframe.cjs.map +1 -1
  136. package/lines/Wireframe.js +4 -4
  137. package/lines/Wireframe.js.map +1 -1
  138. package/loaders/BasisTextureLoader.cjs +441 -435
  139. package/loaders/BasisTextureLoader.cjs.map +1 -1
  140. package/loaders/BasisTextureLoader.js +441 -435
  141. package/loaders/BasisTextureLoader.js.map +1 -1
  142. package/loaders/EXRLoader.cjs +2 -1
  143. package/loaders/EXRLoader.cjs.map +1 -1
  144. package/loaders/EXRLoader.js +3 -2
  145. package/loaders/EXRLoader.js.map +1 -1
  146. package/loaders/FBXLoader.cjs +2 -2
  147. package/loaders/FBXLoader.cjs.map +1 -1
  148. package/loaders/FBXLoader.js +2 -2
  149. package/loaders/FBXLoader.js.map +1 -1
  150. package/loaders/FontLoader.cjs +2 -2
  151. package/loaders/FontLoader.cjs.map +1 -1
  152. package/loaders/FontLoader.d.ts +2 -2
  153. package/loaders/FontLoader.js +2 -2
  154. package/loaders/FontLoader.js.map +1 -1
  155. package/loaders/GLTFLoader.cjs +2 -2
  156. package/loaders/GLTFLoader.cjs.map +1 -1
  157. package/loaders/GLTFLoader.js +2 -2
  158. package/loaders/GLTFLoader.js.map +1 -1
  159. package/loaders/KTX2Loader.cjs +377 -374
  160. package/loaders/KTX2Loader.cjs.map +1 -1
  161. package/loaders/KTX2Loader.js +377 -374
  162. package/loaders/KTX2Loader.js.map +1 -1
  163. package/loaders/LDrawLoader.cjs +5 -4
  164. package/loaders/LDrawLoader.cjs.map +1 -1
  165. package/loaders/LDrawLoader.js +6 -5
  166. package/loaders/LDrawLoader.js.map +1 -1
  167. package/loaders/OBJLoader.cjs +5 -5
  168. package/loaders/OBJLoader.cjs.map +1 -1
  169. package/loaders/OBJLoader.js +6 -6
  170. package/loaders/OBJLoader.js.map +1 -1
  171. package/loaders/PRWMLoader.cjs +46 -43
  172. package/loaders/PRWMLoader.cjs.map +1 -1
  173. package/loaders/PRWMLoader.js +46 -43
  174. package/loaders/PRWMLoader.js.map +1 -1
  175. package/loaders/SVGLoader.cjs +1694 -1688
  176. package/loaders/SVGLoader.cjs.map +1 -1
  177. package/loaders/SVGLoader.js +1694 -1688
  178. package/loaders/SVGLoader.js.map +1 -1
  179. package/loaders/XLoader.cjs +1 -1
  180. package/loaders/XLoader.cjs.map +1 -1
  181. package/loaders/XLoader.js +1 -1
  182. package/loaders/XLoader.js.map +1 -1
  183. package/math/Capsule.cjs +3 -3
  184. package/math/Capsule.cjs.map +1 -1
  185. package/math/Capsule.js +3 -3
  186. package/math/Capsule.js.map +1 -1
  187. package/math/ColorConverter.cjs +9 -9
  188. package/math/ColorConverter.cjs.map +1 -1
  189. package/math/ColorConverter.js +9 -9
  190. package/math/ColorConverter.js.map +1 -1
  191. package/math/ConvexHull.cjs +53 -50
  192. package/math/ConvexHull.cjs.map +1 -1
  193. package/math/ConvexHull.js +53 -50
  194. package/math/ConvexHull.js.map +1 -1
  195. package/math/ImprovedNoise.cjs +1 -1
  196. package/math/ImprovedNoise.cjs.map +1 -1
  197. package/math/ImprovedNoise.js +1 -1
  198. package/math/ImprovedNoise.js.map +1 -1
  199. package/math/MeshSurfaceSampler.cjs +2 -2
  200. package/math/MeshSurfaceSampler.cjs.map +1 -1
  201. package/math/MeshSurfaceSampler.js +2 -2
  202. package/math/MeshSurfaceSampler.js.map +1 -1
  203. package/math/OBB.cjs +14 -14
  204. package/math/OBB.cjs.map +1 -1
  205. package/math/OBB.js +15 -15
  206. package/math/OBB.js.map +1 -1
  207. package/math/Octree.cjs +7 -7
  208. package/math/Octree.cjs.map +1 -1
  209. package/math/Octree.js +8 -8
  210. package/math/Octree.js.map +1 -1
  211. package/misc/ConvexObjectBreaker.cjs +271 -268
  212. package/misc/ConvexObjectBreaker.cjs.map +1 -1
  213. package/misc/ConvexObjectBreaker.js +272 -269
  214. package/misc/ConvexObjectBreaker.js.map +1 -1
  215. package/misc/Gyroscope.cjs +6 -6
  216. package/misc/Gyroscope.cjs.map +1 -1
  217. package/misc/Gyroscope.js +7 -7
  218. package/misc/Gyroscope.js.map +1 -1
  219. package/modifiers/CurveModifier.cjs +1 -1
  220. package/modifiers/CurveModifier.cjs.map +1 -1
  221. package/modifiers/CurveModifier.js +2 -2
  222. package/modifiers/CurveModifier.js.map +1 -1
  223. package/modifiers/SimplifyModifier.cjs +2 -2
  224. package/modifiers/SimplifyModifier.cjs.map +1 -1
  225. package/modifiers/SimplifyModifier.js +2 -2
  226. package/modifiers/SimplifyModifier.js.map +1 -1
  227. package/objects/BatchedMesh.cjs +2 -2
  228. package/objects/BatchedMesh.cjs.map +1 -1
  229. package/objects/BatchedMesh.js +3 -3
  230. package/objects/BatchedMesh.js.map +1 -1
  231. package/objects/GroundProjectedEnv.cjs +2 -1
  232. package/objects/GroundProjectedEnv.cjs.map +1 -1
  233. package/objects/GroundProjectedEnv.js +3 -2
  234. package/objects/GroundProjectedEnv.js.map +1 -1
  235. package/objects/Lensflare.cjs +209 -206
  236. package/objects/Lensflare.cjs.map +1 -1
  237. package/objects/Lensflare.js +209 -206
  238. package/objects/Lensflare.js.map +1 -1
  239. package/objects/Reflector.cjs +154 -146
  240. package/objects/Reflector.cjs.map +1 -1
  241. package/objects/Reflector.js +154 -146
  242. package/objects/Reflector.js.map +1 -1
  243. package/objects/ReflectorForSSRPass.cjs +183 -180
  244. package/objects/ReflectorForSSRPass.cjs.map +1 -1
  245. package/objects/ReflectorForSSRPass.js +183 -180
  246. package/objects/ReflectorForSSRPass.js.map +1 -1
  247. package/objects/Refractor.cjs +164 -161
  248. package/objects/Refractor.cjs.map +1 -1
  249. package/objects/Refractor.js +164 -161
  250. package/objects/Refractor.js.map +1 -1
  251. package/objects/ShadowMesh.cjs +1 -1
  252. package/objects/ShadowMesh.cjs.map +1 -1
  253. package/objects/ShadowMesh.js +2 -2
  254. package/objects/ShadowMesh.js.map +1 -1
  255. package/objects/Sky.cjs +35 -32
  256. package/objects/Sky.cjs.map +1 -1
  257. package/objects/Sky.d.ts +100 -6
  258. package/objects/Sky.js +35 -32
  259. package/objects/Sky.js.map +1 -1
  260. package/objects/Water.cjs +2 -1
  261. package/objects/Water.cjs.map +1 -1
  262. package/objects/Water.js +3 -2
  263. package/objects/Water.js.map +1 -1
  264. package/objects/Water2.cjs +143 -140
  265. package/objects/Water2.cjs.map +1 -1
  266. package/objects/Water2.js +143 -140
  267. package/objects/Water2.js.map +1 -1
  268. package/package.json +1 -1
  269. package/postprocessing/Pass.cjs.map +1 -1
  270. package/postprocessing/Pass.d.ts +2 -2
  271. package/postprocessing/Pass.js.map +1 -1
  272. package/postprocessing/SAOPass.cjs +267 -264
  273. package/postprocessing/SAOPass.cjs.map +1 -1
  274. package/postprocessing/SAOPass.js +267 -264
  275. package/postprocessing/SAOPass.js.map +1 -1
  276. package/postprocessing/SSAOPass.cjs +253 -250
  277. package/postprocessing/SSAOPass.cjs.map +1 -1
  278. package/postprocessing/SSAOPass.js +253 -250
  279. package/postprocessing/SSAOPass.js.map +1 -1
  280. package/postprocessing/SSRPass.cjs +379 -376
  281. package/postprocessing/SSRPass.cjs.map +1 -1
  282. package/postprocessing/SSRPass.js +379 -376
  283. package/postprocessing/SSRPass.js.map +1 -1
  284. package/postprocessing/UnrealBloomPass.cjs +205 -202
  285. package/postprocessing/UnrealBloomPass.cjs.map +1 -1
  286. package/postprocessing/UnrealBloomPass.js +205 -202
  287. package/postprocessing/UnrealBloomPass.js.map +1 -1
  288. package/renderers/CSS2DRenderer.cjs +5 -5
  289. package/renderers/CSS2DRenderer.cjs.map +1 -1
  290. package/renderers/CSS2DRenderer.js +5 -5
  291. package/renderers/CSS2DRenderer.js.map +1 -1
  292. package/renderers/CSS3DRenderer.cjs +5 -5
  293. package/renderers/CSS3DRenderer.cjs.map +1 -1
  294. package/renderers/CSS3DRenderer.js +6 -6
  295. package/renderers/CSS3DRenderer.js.map +1 -1
  296. package/shaders/ACESFilmicToneMappingShader.cjs +71 -46
  297. package/shaders/ACESFilmicToneMappingShader.cjs.map +1 -1
  298. package/shaders/ACESFilmicToneMappingShader.js +71 -46
  299. package/shaders/ACESFilmicToneMappingShader.js.map +1 -1
  300. package/shaders/AfterimageShader.cjs +41 -22
  301. package/shaders/AfterimageShader.cjs.map +1 -1
  302. package/shaders/AfterimageShader.js +41 -22
  303. package/shaders/AfterimageShader.js.map +1 -1
  304. package/shaders/BasicShader.cjs +20 -6
  305. package/shaders/BasicShader.cjs.map +1 -1
  306. package/shaders/BasicShader.js +20 -6
  307. package/shaders/BasicShader.js.map +1 -1
  308. package/shaders/BleachBypassShader.cjs +46 -26
  309. package/shaders/BleachBypassShader.cjs.map +1 -1
  310. package/shaders/BleachBypassShader.js +46 -26
  311. package/shaders/BleachBypassShader.js.map +1 -1
  312. package/shaders/BlendShader.cjs +33 -19
  313. package/shaders/BlendShader.cjs.map +1 -1
  314. package/shaders/BlendShader.js +33 -19
  315. package/shaders/BlendShader.js.map +1 -1
  316. package/shaders/BokehShader.cjs +117 -90
  317. package/shaders/BokehShader.cjs.map +1 -1
  318. package/shaders/BokehShader.js +117 -90
  319. package/shaders/BokehShader.js.map +1 -1
  320. package/shaders/BokehShader2.cjs +333 -232
  321. package/shaders/BokehShader2.cjs.map +1 -1
  322. package/shaders/BokehShader2.js +333 -232
  323. package/shaders/BokehShader2.js.map +1 -1
  324. package/shaders/BrightnessContrastShader.cjs +38 -22
  325. package/shaders/BrightnessContrastShader.cjs.map +1 -1
  326. package/shaders/BrightnessContrastShader.js +38 -22
  327. package/shaders/BrightnessContrastShader.js.map +1 -1
  328. package/shaders/ColorCorrectionShader.cjs +35 -21
  329. package/shaders/ColorCorrectionShader.cjs.map +1 -1
  330. package/shaders/ColorCorrectionShader.js +35 -21
  331. package/shaders/ColorCorrectionShader.js.map +1 -1
  332. package/shaders/ColorifyShader.cjs +34 -19
  333. package/shaders/ColorifyShader.cjs.map +1 -1
  334. package/shaders/ColorifyShader.js +34 -19
  335. package/shaders/ColorifyShader.js.map +1 -1
  336. package/shaders/ConvolutionShader.cjs +43 -24
  337. package/shaders/ConvolutionShader.cjs.map +1 -1
  338. package/shaders/ConvolutionShader.js +43 -24
  339. package/shaders/ConvolutionShader.js.map +1 -1
  340. package/shaders/CopyShader.cjs +30 -16
  341. package/shaders/CopyShader.cjs.map +1 -1
  342. package/shaders/CopyShader.js +30 -16
  343. package/shaders/CopyShader.js.map +1 -1
  344. package/shaders/DOFMipMapShader.cjs +38 -21
  345. package/shaders/DOFMipMapShader.cjs.map +1 -1
  346. package/shaders/DOFMipMapShader.js +38 -21
  347. package/shaders/DOFMipMapShader.js.map +1 -1
  348. package/shaders/DepthLimitedBlurShader.cjs +98 -69
  349. package/shaders/DepthLimitedBlurShader.cjs.map +1 -1
  350. package/shaders/DepthLimitedBlurShader.js +98 -69
  351. package/shaders/DepthLimitedBlurShader.js.map +1 -1
  352. package/shaders/DigitalGlitch.cjs +70 -59
  353. package/shaders/DigitalGlitch.cjs.map +1 -1
  354. package/shaders/DigitalGlitch.js +70 -59
  355. package/shaders/DigitalGlitch.js.map +1 -1
  356. package/shaders/DotScreenShader.cjs +49 -28
  357. package/shaders/DotScreenShader.cjs.map +1 -1
  358. package/shaders/DotScreenShader.js +49 -28
  359. package/shaders/DotScreenShader.js.map +1 -1
  360. package/shaders/FXAAShader.cjs +1098 -1089
  361. package/shaders/FXAAShader.cjs.map +1 -1
  362. package/shaders/FXAAShader.js +1098 -1089
  363. package/shaders/FXAAShader.js.map +1 -1
  364. package/shaders/FilmShader.cjs +57 -29
  365. package/shaders/FilmShader.cjs.map +1 -1
  366. package/shaders/FilmShader.js +57 -29
  367. package/shaders/FilmShader.js.map +1 -1
  368. package/shaders/FocusShader.cjs +70 -43
  369. package/shaders/FocusShader.cjs.map +1 -1
  370. package/shaders/FocusShader.js +70 -43
  371. package/shaders/FocusShader.js.map +1 -1
  372. package/shaders/FreiChenShader.cjs +74 -53
  373. package/shaders/FreiChenShader.cjs.map +1 -1
  374. package/shaders/FreiChenShader.js +74 -53
  375. package/shaders/FreiChenShader.js.map +1 -1
  376. package/shaders/FresnelShader.cjs +55 -35
  377. package/shaders/FresnelShader.cjs.map +1 -1
  378. package/shaders/FresnelShader.js +55 -35
  379. package/shaders/FresnelShader.js.map +1 -1
  380. package/shaders/GammaCorrectionShader.cjs +33 -19
  381. package/shaders/GammaCorrectionShader.cjs.map +1 -1
  382. package/shaders/GammaCorrectionShader.js +33 -19
  383. package/shaders/GammaCorrectionShader.js.map +1 -1
  384. package/shaders/GodRaysShader.cjs +193 -116
  385. package/shaders/GodRaysShader.cjs.map +1 -1
  386. package/shaders/GodRaysShader.js +193 -116
  387. package/shaders/GodRaysShader.js.map +1 -1
  388. package/shaders/HalftoneShader.cjs +270 -192
  389. package/shaders/HalftoneShader.cjs.map +1 -1
  390. package/shaders/HalftoneShader.js +270 -192
  391. package/shaders/HalftoneShader.js.map +1 -1
  392. package/shaders/HorizontalTiltShiftShader.cjs +43 -27
  393. package/shaders/HorizontalTiltShiftShader.cjs.map +1 -1
  394. package/shaders/HorizontalTiltShiftShader.js +43 -27
  395. package/shaders/HorizontalTiltShiftShader.js.map +1 -1
  396. package/shaders/HueSaturationShader.cjs +47 -31
  397. package/shaders/HueSaturationShader.cjs.map +1 -1
  398. package/shaders/HueSaturationShader.js +47 -31
  399. package/shaders/HueSaturationShader.js.map +1 -1
  400. package/shaders/KaleidoShader.cjs +37 -24
  401. package/shaders/KaleidoShader.cjs.map +1 -1
  402. package/shaders/KaleidoShader.js +37 -24
  403. package/shaders/KaleidoShader.js.map +1 -1
  404. package/shaders/LuminosityHighPassShader.cjs +43 -24
  405. package/shaders/LuminosityHighPassShader.cjs.map +1 -1
  406. package/shaders/LuminosityHighPassShader.js +43 -24
  407. package/shaders/LuminosityHighPassShader.js.map +1 -1
  408. package/shaders/LuminosityShader.cjs +34 -17
  409. package/shaders/LuminosityShader.cjs.map +1 -1
  410. package/shaders/LuminosityShader.js +34 -17
  411. package/shaders/LuminosityShader.js.map +1 -1
  412. package/shaders/MirrorShader.cjs +39 -26
  413. package/shaders/MirrorShader.cjs.map +1 -1
  414. package/shaders/MirrorShader.js +39 -26
  415. package/shaders/MirrorShader.js.map +1 -1
  416. package/shaders/NormalMapShader.cjs +36 -21
  417. package/shaders/NormalMapShader.cjs.map +1 -1
  418. package/shaders/NormalMapShader.js +36 -21
  419. package/shaders/NormalMapShader.js.map +1 -1
  420. package/shaders/ParallaxShader.cjs +147 -97
  421. package/shaders/ParallaxShader.cjs.map +1 -1
  422. package/shaders/ParallaxShader.js +147 -97
  423. package/shaders/ParallaxShader.js.map +1 -1
  424. package/shaders/PixelShader.cjs +31 -18
  425. package/shaders/PixelShader.cjs.map +1 -1
  426. package/shaders/PixelShader.js +31 -18
  427. package/shaders/PixelShader.js.map +1 -1
  428. package/shaders/RGBShiftShader.cjs +33 -20
  429. package/shaders/RGBShiftShader.cjs.map +1 -1
  430. package/shaders/RGBShiftShader.js +33 -20
  431. package/shaders/RGBShiftShader.js.map +1 -1
  432. package/shaders/SAOShader.cjs +154 -117
  433. package/shaders/SAOShader.cjs.map +1 -1
  434. package/shaders/SAOShader.js +154 -117
  435. package/shaders/SAOShader.js.map +1 -1
  436. package/shaders/SMAAShader.cjs +358 -270
  437. package/shaders/SMAAShader.cjs.map +1 -1
  438. package/shaders/SMAAShader.js +358 -270
  439. package/shaders/SMAAShader.js.map +1 -1
  440. package/shaders/SSAOShader.cjs +236 -142
  441. package/shaders/SSAOShader.cjs.map +1 -1
  442. package/shaders/SSAOShader.js +236 -142
  443. package/shaders/SSAOShader.js.map +1 -1
  444. package/shaders/SSRShader.cjs +4 -4
  445. package/shaders/SSRShader.cjs.map +1 -1
  446. package/shaders/SSRShader.js +4 -4
  447. package/shaders/SSRShader.js.map +1 -1
  448. package/shaders/SepiaShader.cjs +36 -20
  449. package/shaders/SepiaShader.cjs.map +1 -1
  450. package/shaders/SepiaShader.js +36 -20
  451. package/shaders/SepiaShader.js.map +1 -1
  452. package/shaders/SobelOperatorShader.cjs +64 -37
  453. package/shaders/SobelOperatorShader.cjs.map +1 -1
  454. package/shaders/SobelOperatorShader.js +64 -37
  455. package/shaders/SobelOperatorShader.js.map +1 -1
  456. package/shaders/TechnicolorShader.cjs +29 -16
  457. package/shaders/TechnicolorShader.cjs.map +1 -1
  458. package/shaders/TechnicolorShader.js +29 -16
  459. package/shaders/TechnicolorShader.js.map +1 -1
  460. package/shaders/ToneMapShader.cjs +55 -35
  461. package/shaders/ToneMapShader.cjs.map +1 -1
  462. package/shaders/ToneMapShader.js +55 -35
  463. package/shaders/ToneMapShader.js.map +1 -1
  464. package/shaders/ToonShader.cjs +275 -165
  465. package/shaders/ToonShader.cjs.map +1 -1
  466. package/shaders/ToonShader.js +275 -165
  467. package/shaders/ToonShader.js.map +1 -1
  468. package/shaders/TriangleBlurShader.cjs +50 -27
  469. package/shaders/TriangleBlurShader.cjs.map +1 -1
  470. package/shaders/TriangleBlurShader.js +50 -27
  471. package/shaders/TriangleBlurShader.js.map +1 -1
  472. package/shaders/UnpackDepthRGBAShader.cjs +32 -17
  473. package/shaders/UnpackDepthRGBAShader.cjs.map +1 -1
  474. package/shaders/UnpackDepthRGBAShader.js +32 -17
  475. package/shaders/UnpackDepthRGBAShader.js.map +1 -1
  476. package/shaders/VerticalTiltShiftShader.cjs +43 -27
  477. package/shaders/VerticalTiltShiftShader.cjs.map +1 -1
  478. package/shaders/VerticalTiltShiftShader.js +43 -27
  479. package/shaders/VerticalTiltShiftShader.js.map +1 -1
  480. package/shaders/VignetteShader.cjs +43 -27
  481. package/shaders/VignetteShader.cjs.map +1 -1
  482. package/shaders/VignetteShader.js +43 -27
  483. package/shaders/VignetteShader.js.map +1 -1
  484. package/shaders/VolumeShader.cjs +264 -213
  485. package/shaders/VolumeShader.cjs.map +1 -1
  486. package/shaders/VolumeShader.js +264 -213
  487. package/shaders/VolumeShader.js.map +1 -1
  488. package/shaders/WaterRefractionShader.cjs +63 -35
  489. package/shaders/WaterRefractionShader.cjs.map +1 -1
  490. package/shaders/WaterRefractionShader.js +63 -35
  491. package/shaders/WaterRefractionShader.js.map +1 -1
  492. package/utils/GeometryCompressionUtils.cjs +2 -1
  493. package/utils/GeometryCompressionUtils.cjs.map +1 -1
  494. package/utils/GeometryCompressionUtils.js +3 -2
  495. package/utils/GeometryCompressionUtils.js.map +1 -1
  496. package/utils/RoughnessMipmapper.cjs +3 -3
  497. package/utils/RoughnessMipmapper.cjs.map +1 -1
  498. package/utils/RoughnessMipmapper.js +4 -4
  499. package/utils/RoughnessMipmapper.js.map +1 -1
  500. package/utils/ShadowMapViewer.d.ts +2 -2
  501. package/webxr/ARButton.cjs +109 -106
  502. package/webxr/ARButton.cjs.map +1 -1
  503. package/webxr/ARButton.d.ts +4 -3
  504. package/webxr/ARButton.js +109 -106
  505. package/webxr/ARButton.js.map +1 -1
  506. package/webxr/OculusHandPointerModel.cjs +2 -2
  507. package/webxr/OculusHandPointerModel.cjs.map +1 -1
  508. package/webxr/OculusHandPointerModel.js +2 -2
  509. package/webxr/OculusHandPointerModel.js.map +1 -1
  510. package/webxr/VRButton.cjs +98 -95
  511. package/webxr/VRButton.cjs.map +1 -1
  512. package/webxr/VRButton.d.ts +6 -5
  513. package/webxr/VRButton.js +98 -95
  514. package/webxr/VRButton.js.map +1 -1
  515. package/webxr/XRHandPrimitiveModel.cjs +2 -2
  516. package/webxr/XRHandPrimitiveModel.cjs.map +1 -1
  517. package/webxr/XRHandPrimitiveModel.js +3 -3
  518. package/webxr/XRHandPrimitiveModel.js.map +1 -1
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const THREE = require("three");
4
- class LightProbeGenerator {
4
+ const LightProbeGenerator = {
5
5
  // https://www.ppsloan.org/publications/StupidSH36.pdf
6
- static fromCubeTexture(cubeTexture) {
6
+ fromCubeTexture(cubeTexture) {
7
7
  let totalWeight = 0;
8
8
  const coord = new THREE.Vector3();
9
9
  const dir = new THREE.Vector3();
@@ -75,8 +75,8 @@ class LightProbeGenerator {
75
75
  shCoefficients[j].z *= norm;
76
76
  }
77
77
  return new THREE.LightProbe(sh);
78
- }
79
- static fromCubeRenderTarget(renderer, cubeRenderTarget) {
78
+ },
79
+ fromCubeRenderTarget(renderer, cubeRenderTarget) {
80
80
  let totalWeight = 0;
81
81
  const coord = new THREE.Vector3();
82
82
  const dir = new THREE.Vector3();
@@ -141,6 +141,6 @@ class LightProbeGenerator {
141
141
  }
142
142
  return new THREE.LightProbe(sh);
143
143
  }
144
- }
144
+ };
145
145
  exports.LightProbeGenerator = LightProbeGenerator;
146
146
  //# sourceMappingURL=LightProbeGenerator.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"LightProbeGenerator.cjs","sources":["../../src/lights/LightProbeGenerator.js"],"sourcesContent":["import { Color, LightProbe, SphericalHarmonics3, Vector3 } from 'three'\n\nclass LightProbeGenerator {\n // https://www.ppsloan.org/publications/StupidSH36.pdf\n static fromCubeTexture(cubeTexture) {\n let totalWeight = 0\n\n const coord = new Vector3()\n\n const dir = new Vector3()\n\n const color = new Color()\n\n const shBasis = [0, 0, 0, 0, 0, 0, 0, 0, 0]\n\n const sh = new SphericalHarmonics3()\n const shCoefficients = sh.coefficients\n\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\n const image = cubeTexture.image[faceIndex]\n\n const width = image.width\n const height = image.height\n\n const canvas = document.createElement('canvas')\n\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext('2d')\n\n context.drawImage(image, 0, 0, width, height)\n\n const imageData = context.getImageData(0, 0, width, height)\n\n const data = imageData.data\n\n const imageWidth = imageData.width // assumed to be square\n\n const pixelSize = 2 / imageWidth\n\n for (let i = 0, il = data.length; i < il; i += 4) {\n // RGBA assumed\n\n // pixel color\n color.setRGB(data[i] / 255, data[i + 1] / 255, data[i + 2] / 255)\n\n // convert to linear color space\n if ('colorSpace' in cubeTexture) {\n if (cubeTexture.colorSpace === 'srgb') {\n color.convertSRGBToLinear()\n }\n } else if (cubeTexture.encoding === 3001) {\n // sRGBEncoding\n color.convertSRGBToLinear()\n }\n\n // pixel coordinate on unit cube\n\n const pixelIndex = i / 4\n\n const col = -1 + ((pixelIndex % imageWidth) + 0.5) * pixelSize\n\n const row = 1 - (Math.floor(pixelIndex / imageWidth) + 0.5) * pixelSize\n\n switch (faceIndex) {\n case 0:\n coord.set(-1, row, -col)\n break\n\n case 1:\n coord.set(1, row, col)\n break\n\n case 2:\n coord.set(-col, 1, -row)\n break\n\n case 3:\n coord.set(-col, -1, row)\n break\n\n case 4:\n coord.set(-col, row, 1)\n break\n\n case 5:\n coord.set(col, row, -1)\n break\n }\n\n // weight assigned to this pixel\n\n const lengthSq = coord.lengthSq()\n\n const weight = 4 / (Math.sqrt(lengthSq) * lengthSq)\n\n totalWeight += weight\n\n // direction vector to this pixel\n dir.copy(coord).normalize()\n\n // evaluate SH basis functions in direction dir\n SphericalHarmonics3.getBasisAt(dir, shBasis)\n\n // accummuulate\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x += shBasis[j] * color.r * weight\n shCoefficients[j].y += shBasis[j] * color.g * weight\n shCoefficients[j].z += shBasis[j] * color.b * weight\n }\n }\n }\n\n // normalize\n const norm = (4 * Math.PI) / totalWeight\n\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x *= norm\n shCoefficients[j].y *= norm\n shCoefficients[j].z *= norm\n }\n\n return new LightProbe(sh)\n }\n\n static fromCubeRenderTarget(renderer, cubeRenderTarget) {\n // The renderTarget must be set to RGBA in order to make readRenderTargetPixels works\n let totalWeight = 0\n\n const coord = new Vector3()\n\n const dir = new Vector3()\n\n const color = new Color()\n\n const shBasis = [0, 0, 0, 0, 0, 0, 0, 0, 0]\n\n const sh = new SphericalHarmonics3()\n const shCoefficients = sh.coefficients\n\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\n const imageWidth = cubeRenderTarget.width // assumed to be square\n const data = new Uint8Array(imageWidth * imageWidth * 4)\n renderer.readRenderTargetPixels(cubeRenderTarget, 0, 0, imageWidth, imageWidth, data, faceIndex)\n\n const pixelSize = 2 / imageWidth\n\n for (let i = 0, il = data.length; i < il; i += 4) {\n // RGBA assumed\n\n // pixel color\n color.setRGB(data[i] / 255, data[i + 1] / 255, data[i + 2] / 255)\n\n // convert to linear color space\n if ('colorSpace' in cubeRenderTarget.texture) {\n if (cubeRenderTarget.texture.colorSpace === 'srgb') {\n color.convertSRGBToLinear()\n }\n } else if (cubeRenderTarget.texture.encoding === 3001) {\n // sRGBEncoding\n color.convertSRGBToLinear()\n }\n\n // pixel coordinate on unit cube\n\n const pixelIndex = i / 4\n\n const col = -1 + ((pixelIndex % imageWidth) + 0.5) * pixelSize\n\n const row = 1 - (Math.floor(pixelIndex / imageWidth) + 0.5) * pixelSize\n\n switch (faceIndex) {\n case 0:\n coord.set(1, row, -col)\n break\n\n case 1:\n coord.set(-1, row, col)\n break\n\n case 2:\n coord.set(col, 1, -row)\n break\n\n case 3:\n coord.set(col, -1, row)\n break\n\n case 4:\n coord.set(col, row, 1)\n break\n\n case 5:\n coord.set(-col, row, -1)\n break\n }\n\n // weight assigned to this pixel\n\n const lengthSq = coord.lengthSq()\n\n const weight = 4 / (Math.sqrt(lengthSq) * lengthSq)\n\n totalWeight += weight\n\n // direction vector to this pixel\n dir.copy(coord).normalize()\n\n // evaluate SH basis functions in direction dir\n SphericalHarmonics3.getBasisAt(dir, shBasis)\n\n // accummuulate\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x += shBasis[j] * color.r * weight\n shCoefficients[j].y += shBasis[j] * color.g * weight\n shCoefficients[j].z += shBasis[j] * color.b * weight\n }\n }\n }\n\n // normalize\n const norm = (4 * Math.PI) / totalWeight\n\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x *= norm\n shCoefficients[j].y *= norm\n shCoefficients[j].z *= norm\n }\n\n return new LightProbe(sh)\n }\n}\n\nexport { LightProbeGenerator }\n"],"names":["Vector3","Color","SphericalHarmonics3","LightProbe"],"mappings":"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"}
1
+ {"version":3,"file":"LightProbeGenerator.cjs","sources":["../../src/lights/LightProbeGenerator.js"],"sourcesContent":["import { Color, LightProbe, SphericalHarmonics3, Vector3 } from 'three'\n\nconst LightProbeGenerator = {\n // https://www.ppsloan.org/publications/StupidSH36.pdf\n fromCubeTexture(cubeTexture) {\n let totalWeight = 0\n\n const coord = new Vector3()\n\n const dir = new Vector3()\n\n const color = new Color()\n\n const shBasis = [0, 0, 0, 0, 0, 0, 0, 0, 0]\n\n const sh = new SphericalHarmonics3()\n const shCoefficients = sh.coefficients\n\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\n const image = cubeTexture.image[faceIndex]\n\n const width = image.width\n const height = image.height\n\n const canvas = document.createElement('canvas')\n\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext('2d')\n\n context.drawImage(image, 0, 0, width, height)\n\n const imageData = context.getImageData(0, 0, width, height)\n\n const data = imageData.data\n\n const imageWidth = imageData.width // assumed to be square\n\n const pixelSize = 2 / imageWidth\n\n for (let i = 0, il = data.length; i < il; i += 4) {\n // RGBA assumed\n\n // pixel color\n color.setRGB(data[i] / 255, data[i + 1] / 255, data[i + 2] / 255)\n\n // convert to linear color space\n if ('colorSpace' in cubeTexture) {\n if (cubeTexture.colorSpace === 'srgb') {\n color.convertSRGBToLinear()\n }\n } else if (cubeTexture.encoding === 3001) {\n // sRGBEncoding\n color.convertSRGBToLinear()\n }\n\n // pixel coordinate on unit cube\n\n const pixelIndex = i / 4\n\n const col = -1 + ((pixelIndex % imageWidth) + 0.5) * pixelSize\n\n const row = 1 - (Math.floor(pixelIndex / imageWidth) + 0.5) * pixelSize\n\n switch (faceIndex) {\n case 0:\n coord.set(-1, row, -col)\n break\n\n case 1:\n coord.set(1, row, col)\n break\n\n case 2:\n coord.set(-col, 1, -row)\n break\n\n case 3:\n coord.set(-col, -1, row)\n break\n\n case 4:\n coord.set(-col, row, 1)\n break\n\n case 5:\n coord.set(col, row, -1)\n break\n }\n\n // weight assigned to this pixel\n\n const lengthSq = coord.lengthSq()\n\n const weight = 4 / (Math.sqrt(lengthSq) * lengthSq)\n\n totalWeight += weight\n\n // direction vector to this pixel\n dir.copy(coord).normalize()\n\n // evaluate SH basis functions in direction dir\n SphericalHarmonics3.getBasisAt(dir, shBasis)\n\n // accummuulate\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x += shBasis[j] * color.r * weight\n shCoefficients[j].y += shBasis[j] * color.g * weight\n shCoefficients[j].z += shBasis[j] * color.b * weight\n }\n }\n }\n\n // normalize\n const norm = (4 * Math.PI) / totalWeight\n\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x *= norm\n shCoefficients[j].y *= norm\n shCoefficients[j].z *= norm\n }\n\n return new LightProbe(sh)\n },\n\n fromCubeRenderTarget(renderer, cubeRenderTarget) {\n // The renderTarget must be set to RGBA in order to make readRenderTargetPixels works\n let totalWeight = 0\n\n const coord = new Vector3()\n\n const dir = new Vector3()\n\n const color = new Color()\n\n const shBasis = [0, 0, 0, 0, 0, 0, 0, 0, 0]\n\n const sh = new SphericalHarmonics3()\n const shCoefficients = sh.coefficients\n\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\n const imageWidth = cubeRenderTarget.width // assumed to be square\n const data = new Uint8Array(imageWidth * imageWidth * 4)\n renderer.readRenderTargetPixels(cubeRenderTarget, 0, 0, imageWidth, imageWidth, data, faceIndex)\n\n const pixelSize = 2 / imageWidth\n\n for (let i = 0, il = data.length; i < il; i += 4) {\n // RGBA assumed\n\n // pixel color\n color.setRGB(data[i] / 255, data[i + 1] / 255, data[i + 2] / 255)\n\n // convert to linear color space\n if ('colorSpace' in cubeRenderTarget.texture) {\n if (cubeRenderTarget.texture.colorSpace === 'srgb') {\n color.convertSRGBToLinear()\n }\n } else if (cubeRenderTarget.texture.encoding === 3001) {\n // sRGBEncoding\n color.convertSRGBToLinear()\n }\n\n // pixel coordinate on unit cube\n\n const pixelIndex = i / 4\n\n const col = -1 + ((pixelIndex % imageWidth) + 0.5) * pixelSize\n\n const row = 1 - (Math.floor(pixelIndex / imageWidth) + 0.5) * pixelSize\n\n switch (faceIndex) {\n case 0:\n coord.set(1, row, -col)\n break\n\n case 1:\n coord.set(-1, row, col)\n break\n\n case 2:\n coord.set(col, 1, -row)\n break\n\n case 3:\n coord.set(col, -1, row)\n break\n\n case 4:\n coord.set(col, row, 1)\n break\n\n case 5:\n coord.set(-col, row, -1)\n break\n }\n\n // weight assigned to this pixel\n\n const lengthSq = coord.lengthSq()\n\n const weight = 4 / (Math.sqrt(lengthSq) * lengthSq)\n\n totalWeight += weight\n\n // direction vector to this pixel\n dir.copy(coord).normalize()\n\n // evaluate SH basis functions in direction dir\n SphericalHarmonics3.getBasisAt(dir, shBasis)\n\n // accummuulate\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x += shBasis[j] * color.r * weight\n shCoefficients[j].y += shBasis[j] * color.g * weight\n shCoefficients[j].z += shBasis[j] * color.b * weight\n }\n }\n }\n\n // normalize\n const norm = (4 * Math.PI) / totalWeight\n\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x *= norm\n shCoefficients[j].y *= norm\n shCoefficients[j].z *= norm\n }\n\n return new LightProbe(sh)\n },\n}\n\nexport { LightProbeGenerator }\n"],"names":["Vector3","Color","SphericalHarmonics3","LightProbe"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Vector3, Color, SphericalHarmonics3, LightProbe } from "three";
2
- class LightProbeGenerator {
2
+ const LightProbeGenerator = {
3
3
  // https://www.ppsloan.org/publications/StupidSH36.pdf
4
- static fromCubeTexture(cubeTexture) {
4
+ fromCubeTexture(cubeTexture) {
5
5
  let totalWeight = 0;
6
6
  const coord = new Vector3();
7
7
  const dir = new Vector3();
@@ -73,8 +73,8 @@ class LightProbeGenerator {
73
73
  shCoefficients[j].z *= norm;
74
74
  }
75
75
  return new LightProbe(sh);
76
- }
77
- static fromCubeRenderTarget(renderer, cubeRenderTarget) {
76
+ },
77
+ fromCubeRenderTarget(renderer, cubeRenderTarget) {
78
78
  let totalWeight = 0;
79
79
  const coord = new Vector3();
80
80
  const dir = new Vector3();
@@ -139,7 +139,7 @@ class LightProbeGenerator {
139
139
  }
140
140
  return new LightProbe(sh);
141
141
  }
142
- }
142
+ };
143
143
  export {
144
144
  LightProbeGenerator
145
145
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LightProbeGenerator.js","sources":["../../src/lights/LightProbeGenerator.js"],"sourcesContent":["import { Color, LightProbe, SphericalHarmonics3, Vector3 } from 'three'\n\nclass LightProbeGenerator {\n // https://www.ppsloan.org/publications/StupidSH36.pdf\n static fromCubeTexture(cubeTexture) {\n let totalWeight = 0\n\n const coord = new Vector3()\n\n const dir = new Vector3()\n\n const color = new Color()\n\n const shBasis = [0, 0, 0, 0, 0, 0, 0, 0, 0]\n\n const sh = new SphericalHarmonics3()\n const shCoefficients = sh.coefficients\n\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\n const image = cubeTexture.image[faceIndex]\n\n const width = image.width\n const height = image.height\n\n const canvas = document.createElement('canvas')\n\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext('2d')\n\n context.drawImage(image, 0, 0, width, height)\n\n const imageData = context.getImageData(0, 0, width, height)\n\n const data = imageData.data\n\n const imageWidth = imageData.width // assumed to be square\n\n const pixelSize = 2 / imageWidth\n\n for (let i = 0, il = data.length; i < il; i += 4) {\n // RGBA assumed\n\n // pixel color\n color.setRGB(data[i] / 255, data[i + 1] / 255, data[i + 2] / 255)\n\n // convert to linear color space\n if ('colorSpace' in cubeTexture) {\n if (cubeTexture.colorSpace === 'srgb') {\n color.convertSRGBToLinear()\n }\n } else if (cubeTexture.encoding === 3001) {\n // sRGBEncoding\n color.convertSRGBToLinear()\n }\n\n // pixel coordinate on unit cube\n\n const pixelIndex = i / 4\n\n const col = -1 + ((pixelIndex % imageWidth) + 0.5) * pixelSize\n\n const row = 1 - (Math.floor(pixelIndex / imageWidth) + 0.5) * pixelSize\n\n switch (faceIndex) {\n case 0:\n coord.set(-1, row, -col)\n break\n\n case 1:\n coord.set(1, row, col)\n break\n\n case 2:\n coord.set(-col, 1, -row)\n break\n\n case 3:\n coord.set(-col, -1, row)\n break\n\n case 4:\n coord.set(-col, row, 1)\n break\n\n case 5:\n coord.set(col, row, -1)\n break\n }\n\n // weight assigned to this pixel\n\n const lengthSq = coord.lengthSq()\n\n const weight = 4 / (Math.sqrt(lengthSq) * lengthSq)\n\n totalWeight += weight\n\n // direction vector to this pixel\n dir.copy(coord).normalize()\n\n // evaluate SH basis functions in direction dir\n SphericalHarmonics3.getBasisAt(dir, shBasis)\n\n // accummuulate\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x += shBasis[j] * color.r * weight\n shCoefficients[j].y += shBasis[j] * color.g * weight\n shCoefficients[j].z += shBasis[j] * color.b * weight\n }\n }\n }\n\n // normalize\n const norm = (4 * Math.PI) / totalWeight\n\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x *= norm\n shCoefficients[j].y *= norm\n shCoefficients[j].z *= norm\n }\n\n return new LightProbe(sh)\n }\n\n static fromCubeRenderTarget(renderer, cubeRenderTarget) {\n // The renderTarget must be set to RGBA in order to make readRenderTargetPixels works\n let totalWeight = 0\n\n const coord = new Vector3()\n\n const dir = new Vector3()\n\n const color = new Color()\n\n const shBasis = [0, 0, 0, 0, 0, 0, 0, 0, 0]\n\n const sh = new SphericalHarmonics3()\n const shCoefficients = sh.coefficients\n\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\n const imageWidth = cubeRenderTarget.width // assumed to be square\n const data = new Uint8Array(imageWidth * imageWidth * 4)\n renderer.readRenderTargetPixels(cubeRenderTarget, 0, 0, imageWidth, imageWidth, data, faceIndex)\n\n const pixelSize = 2 / imageWidth\n\n for (let i = 0, il = data.length; i < il; i += 4) {\n // RGBA assumed\n\n // pixel color\n color.setRGB(data[i] / 255, data[i + 1] / 255, data[i + 2] / 255)\n\n // convert to linear color space\n if ('colorSpace' in cubeRenderTarget.texture) {\n if (cubeRenderTarget.texture.colorSpace === 'srgb') {\n color.convertSRGBToLinear()\n }\n } else if (cubeRenderTarget.texture.encoding === 3001) {\n // sRGBEncoding\n color.convertSRGBToLinear()\n }\n\n // pixel coordinate on unit cube\n\n const pixelIndex = i / 4\n\n const col = -1 + ((pixelIndex % imageWidth) + 0.5) * pixelSize\n\n const row = 1 - (Math.floor(pixelIndex / imageWidth) + 0.5) * pixelSize\n\n switch (faceIndex) {\n case 0:\n coord.set(1, row, -col)\n break\n\n case 1:\n coord.set(-1, row, col)\n break\n\n case 2:\n coord.set(col, 1, -row)\n break\n\n case 3:\n coord.set(col, -1, row)\n break\n\n case 4:\n coord.set(col, row, 1)\n break\n\n case 5:\n coord.set(-col, row, -1)\n break\n }\n\n // weight assigned to this pixel\n\n const lengthSq = coord.lengthSq()\n\n const weight = 4 / (Math.sqrt(lengthSq) * lengthSq)\n\n totalWeight += weight\n\n // direction vector to this pixel\n dir.copy(coord).normalize()\n\n // evaluate SH basis functions in direction dir\n SphericalHarmonics3.getBasisAt(dir, shBasis)\n\n // accummuulate\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x += shBasis[j] * color.r * weight\n shCoefficients[j].y += shBasis[j] * color.g * weight\n shCoefficients[j].z += shBasis[j] * color.b * weight\n }\n }\n }\n\n // normalize\n const norm = (4 * Math.PI) / totalWeight\n\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x *= norm\n shCoefficients[j].y *= norm\n shCoefficients[j].z *= norm\n }\n\n return new LightProbe(sh)\n }\n}\n\nexport { LightProbeGenerator }\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LightProbeGenerator.js","sources":["../../src/lights/LightProbeGenerator.js"],"sourcesContent":["import { Color, LightProbe, SphericalHarmonics3, Vector3 } from 'three'\n\nconst LightProbeGenerator = {\n // https://www.ppsloan.org/publications/StupidSH36.pdf\n fromCubeTexture(cubeTexture) {\n let totalWeight = 0\n\n const coord = new Vector3()\n\n const dir = new Vector3()\n\n const color = new Color()\n\n const shBasis = [0, 0, 0, 0, 0, 0, 0, 0, 0]\n\n const sh = new SphericalHarmonics3()\n const shCoefficients = sh.coefficients\n\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\n const image = cubeTexture.image[faceIndex]\n\n const width = image.width\n const height = image.height\n\n const canvas = document.createElement('canvas')\n\n canvas.width = width\n canvas.height = height\n\n const context = canvas.getContext('2d')\n\n context.drawImage(image, 0, 0, width, height)\n\n const imageData = context.getImageData(0, 0, width, height)\n\n const data = imageData.data\n\n const imageWidth = imageData.width // assumed to be square\n\n const pixelSize = 2 / imageWidth\n\n for (let i = 0, il = data.length; i < il; i += 4) {\n // RGBA assumed\n\n // pixel color\n color.setRGB(data[i] / 255, data[i + 1] / 255, data[i + 2] / 255)\n\n // convert to linear color space\n if ('colorSpace' in cubeTexture) {\n if (cubeTexture.colorSpace === 'srgb') {\n color.convertSRGBToLinear()\n }\n } else if (cubeTexture.encoding === 3001) {\n // sRGBEncoding\n color.convertSRGBToLinear()\n }\n\n // pixel coordinate on unit cube\n\n const pixelIndex = i / 4\n\n const col = -1 + ((pixelIndex % imageWidth) + 0.5) * pixelSize\n\n const row = 1 - (Math.floor(pixelIndex / imageWidth) + 0.5) * pixelSize\n\n switch (faceIndex) {\n case 0:\n coord.set(-1, row, -col)\n break\n\n case 1:\n coord.set(1, row, col)\n break\n\n case 2:\n coord.set(-col, 1, -row)\n break\n\n case 3:\n coord.set(-col, -1, row)\n break\n\n case 4:\n coord.set(-col, row, 1)\n break\n\n case 5:\n coord.set(col, row, -1)\n break\n }\n\n // weight assigned to this pixel\n\n const lengthSq = coord.lengthSq()\n\n const weight = 4 / (Math.sqrt(lengthSq) * lengthSq)\n\n totalWeight += weight\n\n // direction vector to this pixel\n dir.copy(coord).normalize()\n\n // evaluate SH basis functions in direction dir\n SphericalHarmonics3.getBasisAt(dir, shBasis)\n\n // accummuulate\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x += shBasis[j] * color.r * weight\n shCoefficients[j].y += shBasis[j] * color.g * weight\n shCoefficients[j].z += shBasis[j] * color.b * weight\n }\n }\n }\n\n // normalize\n const norm = (4 * Math.PI) / totalWeight\n\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x *= norm\n shCoefficients[j].y *= norm\n shCoefficients[j].z *= norm\n }\n\n return new LightProbe(sh)\n },\n\n fromCubeRenderTarget(renderer, cubeRenderTarget) {\n // The renderTarget must be set to RGBA in order to make readRenderTargetPixels works\n let totalWeight = 0\n\n const coord = new Vector3()\n\n const dir = new Vector3()\n\n const color = new Color()\n\n const shBasis = [0, 0, 0, 0, 0, 0, 0, 0, 0]\n\n const sh = new SphericalHarmonics3()\n const shCoefficients = sh.coefficients\n\n for (let faceIndex = 0; faceIndex < 6; faceIndex++) {\n const imageWidth = cubeRenderTarget.width // assumed to be square\n const data = new Uint8Array(imageWidth * imageWidth * 4)\n renderer.readRenderTargetPixels(cubeRenderTarget, 0, 0, imageWidth, imageWidth, data, faceIndex)\n\n const pixelSize = 2 / imageWidth\n\n for (let i = 0, il = data.length; i < il; i += 4) {\n // RGBA assumed\n\n // pixel color\n color.setRGB(data[i] / 255, data[i + 1] / 255, data[i + 2] / 255)\n\n // convert to linear color space\n if ('colorSpace' in cubeRenderTarget.texture) {\n if (cubeRenderTarget.texture.colorSpace === 'srgb') {\n color.convertSRGBToLinear()\n }\n } else if (cubeRenderTarget.texture.encoding === 3001) {\n // sRGBEncoding\n color.convertSRGBToLinear()\n }\n\n // pixel coordinate on unit cube\n\n const pixelIndex = i / 4\n\n const col = -1 + ((pixelIndex % imageWidth) + 0.5) * pixelSize\n\n const row = 1 - (Math.floor(pixelIndex / imageWidth) + 0.5) * pixelSize\n\n switch (faceIndex) {\n case 0:\n coord.set(1, row, -col)\n break\n\n case 1:\n coord.set(-1, row, col)\n break\n\n case 2:\n coord.set(col, 1, -row)\n break\n\n case 3:\n coord.set(col, -1, row)\n break\n\n case 4:\n coord.set(col, row, 1)\n break\n\n case 5:\n coord.set(-col, row, -1)\n break\n }\n\n // weight assigned to this pixel\n\n const lengthSq = coord.lengthSq()\n\n const weight = 4 / (Math.sqrt(lengthSq) * lengthSq)\n\n totalWeight += weight\n\n // direction vector to this pixel\n dir.copy(coord).normalize()\n\n // evaluate SH basis functions in direction dir\n SphericalHarmonics3.getBasisAt(dir, shBasis)\n\n // accummuulate\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x += shBasis[j] * color.r * weight\n shCoefficients[j].y += shBasis[j] * color.g * weight\n shCoefficients[j].z += shBasis[j] * color.b * weight\n }\n }\n }\n\n // normalize\n const norm = (4 * Math.PI) / totalWeight\n\n for (let j = 0; j < 9; j++) {\n shCoefficients[j].x *= norm\n shCoefficients[j].y *= norm\n shCoefficients[j].z *= norm\n }\n\n return new LightProbe(sh)\n },\n}\n\nexport { LightProbeGenerator }\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const THREE = require("three");
4
- class RectAreaLightUniformsLib {
5
- static init() {
4
+ const RectAreaLightUniformsLib = {
5
+ init() {
6
6
  const LTC_MAT_1 = [
7
7
  1,
8
8
  0,
@@ -32842,6 +32842,6 @@ class RectAreaLightUniformsLib {
32842
32842
  THREE.UniformsLib.LTC_HALF_1.needsUpdate = true;
32843
32843
  THREE.UniformsLib.LTC_HALF_2.needsUpdate = true;
32844
32844
  }
32845
- }
32845
+ };
32846
32846
  exports.RectAreaLightUniformsLib = RectAreaLightUniformsLib;
32847
32847
  //# sourceMappingURL=RectAreaLightUniformsLib.cjs.map