three-stdlib 2.15.2 → 2.16.1

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 (1218) hide show
  1. package/BufferGeometryUtils-1a7a235c.js +655 -0
  2. package/BufferGeometryUtils-971dfde3.js +1 -0
  3. package/Nodes-4f766d71.js +471 -0
  4. package/Nodes-9aa16d74.js +1 -0
  5. package/animation/AnimationClipCreator.cjs.js +1 -0
  6. package/animation/AnimationClipCreator.js +52 -32
  7. package/animation/CCDIKSolver.cjs.js +1 -0
  8. package/animation/CCDIKSolver.js +275 -207
  9. package/animation/MMDAnimationHelper.cjs.js +1 -0
  10. package/animation/MMDAnimationHelper.js +341 -150
  11. package/animation/MMDPhysics.cjs.js +1 -0
  12. package/animation/MMDPhysics.js +361 -154
  13. package/cameras/CinematicCamera.cjs.js +1 -0
  14. package/cameras/CinematicCamera.js +77 -67
  15. package/controls/ArcballControls.cjs.js +1 -0
  16. package/controls/ArcballControls.js +1449 -544
  17. package/controls/DeviceOrientationControls.cjs.js +1 -0
  18. package/controls/DeviceOrientationControls.js +97 -52
  19. package/controls/DragControls.cjs.js +1 -0
  20. package/controls/DragControls.js +187 -85
  21. package/controls/FirstPersonControls.cjs.js +1 -0
  22. package/controls/FirstPersonControls.js +193 -123
  23. package/controls/FlyControls.cjs.js +1 -0
  24. package/controls/FlyControls.js +152 -82
  25. package/controls/OrbitControls.cjs.js +1 -0
  26. package/controls/OrbitControls.js +481 -232
  27. package/controls/PointerLockControls.cjs.js +1 -0
  28. package/controls/PointerLockControls.js +99 -63
  29. package/controls/TrackballControls.cjs.js +1 -0
  30. package/controls/TrackballControls.js +383 -211
  31. package/controls/TransformControls.cjs.js +1 -0
  32. package/controls/TransformControls.js +782 -575
  33. package/controls/experimental/CameraControls.cjs.js +1 -0
  34. package/controls/experimental/CameraControls.js +609 -329
  35. package/csm/CSM.cjs.js +1 -0
  36. package/csm/CSM.js +108 -47
  37. package/csm/CSMFrustum.cjs.js +1 -0
  38. package/csm/CSMFrustum.js +29 -14
  39. package/csm/CSMHelper.cjs.js +1 -0
  40. package/csm/CSMHelper.js +34 -20
  41. package/csm/CSMShader.cjs.js +1 -0
  42. package/csm/CSMShader.js +11 -7
  43. package/curves/CurveExtras.cjs.js +1 -0
  44. package/curves/CurveExtras.js +115 -73
  45. package/curves/NURBSCurve.cjs.js +1 -0
  46. package/curves/NURBSCurve.js +43 -15
  47. package/curves/NURBSSurface.cjs.js +1 -0
  48. package/curves/NURBSSurface.js +27 -11
  49. package/curves/NURBSUtils.cjs.js +1 -0
  50. package/curves/NURBSUtils.js +203 -54
  51. package/custom.d.cjs.js +1 -0
  52. package/{shaders/types.mjs → custom.d.js} +0 -0
  53. package/deprecated/Geometry.cjs.js +1 -0
  54. package/deprecated/Geometry.js +486 -191
  55. package/effects/AnaglyphEffect.cjs.js +1 -0
  56. package/effects/AnaglyphEffect.js +60 -95
  57. package/effects/AsciiEffect.cjs.js +1 -0
  58. package/effects/AsciiEffect.js +110 -80
  59. package/effects/OutlineEffect.cjs.js +1 -0
  60. package/effects/OutlineEffect.js +204 -121
  61. package/effects/ParallaxBarrierEffect.cjs.js +1 -0
  62. package/effects/ParallaxBarrierEffect.js +38 -39
  63. package/effects/PeppersGhostEffect.cjs.js +1 -0
  64. package/effects/PeppersGhostEffect.js +68 -19
  65. package/effects/StereoEffect.cjs.js +1 -0
  66. package/effects/StereoEffect.js +16 -12
  67. package/environments/RoomEnvironment.cjs.js +1 -0
  68. package/environments/RoomEnvironment.js +47 -52
  69. package/exporters/ColladaExporter.cjs.js +1 -0
  70. package/exporters/ColladaExporter.js +241 -115
  71. package/exporters/DRACOExporter.cjs.js +1 -0
  72. package/exporters/DRACOExporter.js +121 -67
  73. package/exporters/GLTFExporter.cjs.js +1 -0
  74. package/exporters/GLTFExporter.js +1014 -463
  75. package/exporters/MMDExporter.cjs.js +1 -0
  76. package/exporters/MMDExporter.js +102 -44
  77. package/exporters/OBJExporter.cjs.js +1 -0
  78. package/exporters/OBJExporter.js +140 -78
  79. package/exporters/PLYExporter.cjs.js +1 -0
  80. package/exporters/PLYExporter.js +154 -93
  81. package/exporters/STLExporter.cjs.js +1 -0
  82. package/exporters/STLExporter.js +81 -30
  83. package/exporters/USDZExporter.cjs.js +1 -0
  84. package/exporters/USDZExporter.js +144 -84
  85. package/geometries/BoxLineGeometry.cjs.js +1 -0
  86. package/geometries/BoxLineGeometry.js +14 -7
  87. package/geometries/ConvexGeometry.cjs.js +1 -0
  88. package/geometries/ConvexGeometry.js +23 -14
  89. package/geometries/DecalGeometry.cjs.js +1 -0
  90. package/geometries/DecalGeometry.js +162 -108
  91. package/geometries/LightningStrike.cjs.js +1 -0
  92. package/geometries/LightningStrike.js +294 -101
  93. package/geometries/ParametricGeometries.cjs.js +1 -0
  94. package/geometries/ParametricGeometries.js +76 -26
  95. package/geometries/ParametricGeometry.cjs.js +1 -0
  96. package/geometries/ParametricGeometry.js +48 -24
  97. package/geometries/RoundedBoxGeometry.cjs.js +1 -0
  98. package/geometries/RoundedBoxGeometry.js +64 -33
  99. package/geometries/TeapotGeometry.cjs.js +1 -0
  100. package/geometries/TeapotGeometry.js +174 -1434
  101. package/geometries/TextGeometry.cjs.js +1 -0
  102. package/geometries/TextGeometry.js +17 -9
  103. package/helpers/LightProbeHelper.cjs.js +1 -0
  104. package/helpers/LightProbeHelper.js +21 -53
  105. package/helpers/PositionalAudioHelper.cjs.js +1 -0
  106. package/helpers/PositionalAudioHelper.js +30 -23
  107. package/helpers/RectAreaLightHelper.cjs.js +1 -0
  108. package/helpers/RectAreaLightHelper.js +33 -17
  109. package/helpers/VertexNormalsHelper.cjs.js +1 -0
  110. package/helpers/VertexNormalsHelper.js +41 -20
  111. package/helpers/VertexTangentsHelper.cjs.js +1 -0
  112. package/helpers/VertexTangentsHelper.js +36 -18
  113. package/index.cjs.js +1 -0
  114. package/index.js +333 -968
  115. package/interactive/InteractiveGroup.cjs.js +1 -0
  116. package/interactive/InteractiveGroup.d.ts +5 -0
  117. package/interactive/InteractiveGroup.js +87 -0
  118. package/interactive/SelectionBox.cjs.js +1 -0
  119. package/interactive/SelectionBox.js +46 -31
  120. package/interactive/SelectionHelper.cjs.js +1 -0
  121. package/interactive/SelectionHelper.js +21 -16
  122. package/libs/MeshoptDecoder.cjs.js +1 -0
  123. package/libs/MeshoptDecoder.js +58 -147
  124. package/libs/MotionControllers.cjs.js +1 -0
  125. package/libs/MotionControllers.js +208 -66
  126. package/lights/LightProbeGenerator.cjs.js +1 -0
  127. package/lights/LightProbeGenerator.js +96 -40
  128. package/lights/RectAreaLightUniformsLib.cjs.js +1 -0
  129. package/lights/RectAreaLightUniformsLib.js +9 -32842
  130. package/lines/Line2.cjs.js +1 -0
  131. package/lines/Line2.js +12 -9
  132. package/lines/LineGeometry.cjs.js +1 -0
  133. package/lines/LineGeometry.js +19 -7
  134. package/lines/LineMaterial.cjs.js +1 -0
  135. package/lines/LineMaterial.js +89 -51
  136. package/lines/LineSegments2.cjs.js +1 -0
  137. package/lines/LineSegments2.js +165 -56
  138. package/lines/LineSegmentsGeometry.cjs.js +1 -0
  139. package/lines/LineSegmentsGeometry.js +71 -29
  140. package/lines/Wireframe.cjs.js +1 -0
  141. package/lines/Wireframe.js +29 -15
  142. package/lines/WireframeGeometry2.cjs.js +1 -0
  143. package/lines/WireframeGeometry2.js +9 -8
  144. package/loaders/3DMLoader.cjs.js +1 -0
  145. package/loaders/3DMLoader.js +469 -234
  146. package/loaders/3MFLoader.cjs.js +1 -0
  147. package/loaders/3MFLoader.js +555 -340
  148. package/loaders/AMFLoader.cjs.js +1 -0
  149. package/loaders/AMFLoader.js +219 -114
  150. package/loaders/AssimpLoader.cjs.js +1 -0
  151. package/loaders/AssimpLoader.js +725 -328
  152. package/loaders/BVHLoader.cjs.js +1 -0
  153. package/loaders/BVHLoader.js +200 -94
  154. package/loaders/BasisTextureLoader.cjs.js +1 -0
  155. package/loaders/BasisTextureLoader.js +357 -229
  156. package/loaders/ColladaLoader.cjs.js +1 -0
  157. package/loaders/ColladaLoader.js +1522 -932
  158. package/loaders/DDSLoader.cjs.js +1 -0
  159. package/loaders/DDSLoader.js +108 -42
  160. package/loaders/DRACOLoader.cjs.js +1 -0
  161. package/loaders/DRACOLoader.js +210 -103
  162. package/loaders/EXRLoader.cjs.js +1 -0
  163. package/loaders/EXRLoader.js +809 -461
  164. package/loaders/FBXLoader.cjs.js +1 -0
  165. package/loaders/FBXLoader.js +1397 -842
  166. package/loaders/FontLoader.cjs.js +1 -0
  167. package/loaders/FontLoader.js +66 -33
  168. package/loaders/GCodeLoader.cjs.js +1 -0
  169. package/loaders/GCodeLoader.js +111 -63
  170. package/loaders/GLTFLoader.cjs.js +1 -0
  171. package/loaders/GLTFLoader.js +1484 -771
  172. package/loaders/HDRCubeTextureLoader.cjs.js +1 -0
  173. package/loaders/HDRCubeTextureLoader.js +50 -45
  174. package/loaders/KMZLoader.cjs.js +1 -0
  175. package/loaders/KMZLoader.js +55 -42
  176. package/loaders/KTX2Loader.cjs.js +1 -0
  177. package/loaders/KTX2Loader.js +362 -229
  178. package/loaders/KTXLoader.cjs.js +1 -0
  179. package/loaders/KTXLoader.js +99 -37
  180. package/loaders/LDrawLoader.cjs.js +1 -0
  181. package/loaders/LDrawLoader.js +746 -313
  182. package/loaders/LUT3dlLoader.cjs.js +1 -0
  183. package/loaders/LUT3dlLoader.js +62 -50
  184. package/loaders/LUTCubeLoader.cjs.js +1 -0
  185. package/loaders/LUTCubeLoader.js +56 -45
  186. package/loaders/LWOLoader.cjs.js +1 -0
  187. package/loaders/LWOLoader.js +339 -227
  188. package/loaders/LottieLoader.cjs.js +1 -0
  189. package/loaders/LottieLoader.js +38 -36
  190. package/loaders/MD2Loader.cjs.js +1 -0
  191. package/loaders/MD2Loader.js +91 -248
  192. package/loaders/MDDLoader.cjs.js +1 -0
  193. package/loaders/MDDLoader.js +45 -25
  194. package/loaders/MMDLoader.cjs.js +1 -0
  195. package/loaders/MMDLoader.js +795 -359
  196. package/loaders/MTLLoader.cjs.js +1 -0
  197. package/loaders/MTLLoader.js +201 -91
  198. package/loaders/NRRDLoader.cjs.js +1 -0
  199. package/loaders/NRRDLoader.js +263 -182
  200. package/loaders/NodeMaterialLoader.cjs.js +1 -0
  201. package/loaders/NodeMaterialLoader.js +14 -121
  202. package/loaders/OBJLoader.cjs.js +1 -0
  203. package/loaders/OBJLoader.js +283 -161
  204. package/loaders/PCDLoader.cjs.js +1 -0
  205. package/loaders/PCDLoader.js +164 -145
  206. package/loaders/PDBLoader.cjs.js +1 -0
  207. package/loaders/PDBLoader.js +63 -45
  208. package/loaders/PLYLoader.cjs.js +1 -0
  209. package/loaders/PLYLoader.js +203 -106
  210. package/loaders/PRWMLoader.cjs.js +1 -0
  211. package/loaders/PRWMLoader.js +110 -73
  212. package/loaders/PVRLoader.cjs.js +1 -0
  213. package/loaders/PVRLoader.js +93 -32
  214. package/loaders/RGBELoader.cjs.js +1 -0
  215. package/loaders/RGBELoader.js +233 -96
  216. package/loaders/RGBMLoader.cjs.js +1 -0
  217. package/loaders/RGBMLoader.js +514 -344
  218. package/loaders/STLLoader.cjs.js +1 -0
  219. package/loaders/STLLoader.js +165 -59
  220. package/loaders/SVGLoader.cjs.js +1 -0
  221. package/loaders/SVGLoader.js +851 -481
  222. package/loaders/TDSLoader.cjs.js +1 -0
  223. package/loaders/TDSLoader.js +527 -137
  224. package/loaders/TGALoader.cjs.js +1 -0
  225. package/loaders/TGALoader.js +205 -94
  226. package/loaders/TTFLoader.cjs.js +1 -0
  227. package/loaders/TTFLoader.js +79 -58
  228. package/loaders/TiltLoader.cjs.js +1 -0
  229. package/loaders/TiltLoader.js +167 -129
  230. package/loaders/VOXLoader.cjs.js +1 -0
  231. package/loaders/VOXLoader.js +84 -320
  232. package/loaders/VRMLLoader.cjs.js +1 -0
  233. package/loaders/VRMLLoader.js +1268 -786
  234. package/loaders/VRMLoader.cjs.js +1 -0
  235. package/loaders/VRMLoader.js +31 -23
  236. package/loaders/VTKLoader.cjs.js +1 -0
  237. package/loaders/VTKLoader.js +407 -219
  238. package/loaders/XLoader.cjs.js +1 -0
  239. package/loaders/XLoader.js +1259 -1083
  240. package/loaders/XYZLoader.cjs.js +1 -0
  241. package/loaders/XYZLoader.js +34 -28
  242. package/loaders/lwo/IFFParser.cjs.js +1 -0
  243. package/loaders/lwo/IFFParser.js +492 -238
  244. package/loaders/lwo/LWO2Parser.cjs.js +1 -0
  245. package/loaders/lwo/LWO2Parser.js +279 -176
  246. package/loaders/lwo/LWO3Parser.cjs.js +1 -0
  247. package/loaders/lwo/LWO3Parser.js +247 -160
  248. package/math/Capsule.cjs.js +1 -0
  249. package/math/Capsule.js +43 -56
  250. package/math/ColorConverter.cjs.js +1 -0
  251. package/math/ColorConverter.js +32 -18
  252. package/math/ConvexHull.cjs.js +1 -0
  253. package/math/ConvexHull.js +357 -97
  254. package/math/ImprovedNoise.cjs.js +1 -0
  255. package/math/ImprovedNoise.js +32 -282
  256. package/math/Lut.cjs.js +1 -0
  257. package/math/Lut.js +35 -51
  258. package/math/MeshSurfaceSampler.cjs.js +1 -0
  259. package/math/MeshSurfaceSampler.js +68 -25
  260. package/math/OBB.cjs.js +1 -0
  261. package/math/OBB.js +152 -91
  262. package/math/Octree.cjs.js +1 -0
  263. package/math/Octree.js +139 -76
  264. package/math/SimplexNoise.cjs.js +1 -0
  265. package/math/SimplexNoise.js +238 -217
  266. package/misc/ConvexObjectBreaker.cjs.js +1 -0
  267. package/misc/ConvexObjectBreaker.js +185 -79
  268. package/misc/GPUComputationRenderer.cjs.js +1 -0
  269. package/misc/GPUComputationRenderer.js +194 -69
  270. package/misc/Gyroscope.cjs.js +1 -0
  271. package/misc/Gyroscope.js +22 -16
  272. package/misc/MD2Character.cjs.js +1 -0
  273. package/misc/MD2Character.js +74 -52
  274. package/misc/MD2CharacterComplex.cjs.js +1 -0
  275. package/misc/MD2CharacterComplex.js +163 -112
  276. package/misc/MorphAnimMesh.cjs.js +1 -0
  277. package/misc/MorphAnimMesh.js +28 -20
  278. package/misc/MorphBlendMesh.cjs.js +1 -0
  279. package/misc/MorphBlendMesh.js +69 -45
  280. package/misc/ProgressiveLightmap.cjs.js +1 -0
  281. package/misc/ProgressiveLightmap.js +187 -70
  282. package/misc/RollerCoaster.cjs.js +1 -0
  283. package/misc/RollerCoaster.js +135 -106
  284. package/misc/TubePainter.cjs.js +1 -0
  285. package/misc/TubePainter.js +92 -74
  286. package/misc/Volume.cjs.js +1 -0
  287. package/misc/Volume.js +270 -108
  288. package/misc/VolumeSlice.cjs.js +1 -0
  289. package/misc/VolumeSlice.js +122 -34
  290. package/misc/WebGL.cjs.js +1 -0
  291. package/misc/WebGL.js +34 -37
  292. package/modifiers/CurveModifier.cjs.js +1 -0
  293. package/modifiers/CurveModifier.js +151 -46
  294. package/modifiers/EdgeSplitModifier.cjs.js +1 -0
  295. package/modifiers/EdgeSplitModifier.js +90 -46
  296. package/modifiers/SimplifyModifier.cjs.js +1 -0
  297. package/modifiers/SimplifyModifier.js +202 -77
  298. package/modifiers/TessellateModifier.cjs.js +1 -0
  299. package/modifiers/TessellateModifier.js +90 -65
  300. package/nodes/Nodes.cjs.js +1 -0
  301. package/nodes/Nodes.js +140 -274
  302. package/nodes/ShaderNode.cjs.js +1 -0
  303. package/nodes/ShaderNode.js +196 -296
  304. package/nodes/accessors/BufferNode.cjs.js +1 -0
  305. package/nodes/accessors/BufferNode.js +8 -4
  306. package/nodes/accessors/CameraNode.cjs.js +1 -0
  307. package/nodes/accessors/CameraNode.js +25 -20
  308. package/nodes/accessors/CubeTextureNode.cjs.js +1 -0
  309. package/nodes/accessors/CubeTextureNode.js +26 -14
  310. package/nodes/accessors/MaterialNode.cjs.js +1 -0
  311. package/nodes/accessors/MaterialNode.js +53 -43
  312. package/nodes/accessors/MaterialReferenceNode.cjs.js +1 -0
  313. package/nodes/accessors/MaterialReferenceNode.js +6 -3
  314. package/nodes/accessors/ModelNode.cjs.js +1 -0
  315. package/nodes/accessors/ModelNode.js +5 -3
  316. package/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  317. package/nodes/accessors/ModelViewProjectionNode.js +13 -14
  318. package/nodes/accessors/NormalNode.cjs.js +1 -0
  319. package/nodes/accessors/NormalNode.js +39 -40
  320. package/nodes/accessors/Object3DNode.cjs.js +1 -0
  321. package/nodes/accessors/Object3DNode.js +50 -40
  322. package/nodes/accessors/PointUVNode.cjs.js +1 -0
  323. package/nodes/accessors/PointUVNode.js +9 -5
  324. package/nodes/accessors/PositionNode.cjs.js +1 -0
  325. package/nodes/accessors/PositionNode.js +41 -42
  326. package/nodes/accessors/ReferenceNode.cjs.js +1 -0
  327. package/nodes/accessors/ReferenceNode.js +17 -10
  328. package/nodes/accessors/ReflectNode.cjs.js +1 -0
  329. package/nodes/accessors/ReflectNode.js +26 -23
  330. package/nodes/accessors/SkinningNode.cjs.js +1 -0
  331. package/nodes/accessors/SkinningNode.js +48 -46
  332. package/nodes/accessors/TextureNode.cjs.js +1 -0
  333. package/nodes/accessors/TextureNode.js +29 -14
  334. package/nodes/accessors/UVNode.cjs.js +1 -0
  335. package/nodes/accessors/UVNode.js +11 -5
  336. package/nodes/core/ArrayUniformNode.cjs.js +1 -0
  337. package/nodes/core/ArrayUniformNode.js +7 -3
  338. package/nodes/core/AttributeNode.cjs.js +1 -0
  339. package/nodes/core/AttributeNode.js +12 -5
  340. package/nodes/core/BypassNode.cjs.js +1 -0
  341. package/nodes/core/BypassNode.js +12 -5
  342. package/nodes/core/CodeNode.cjs.js +1 -0
  343. package/nodes/core/CodeNode.js +12 -4
  344. package/nodes/core/ConstNode.cjs.js +1 -0
  345. package/nodes/core/ConstNode.js +7 -3
  346. package/nodes/core/ContextNode.cjs.js +1 -0
  347. package/nodes/core/ContextNode.js +8 -3
  348. package/nodes/core/ExpressionNode.cjs.js +1 -0
  349. package/nodes/core/ExpressionNode.js +9 -5
  350. package/nodes/core/FunctionCallNode.cjs.js +1 -0
  351. package/nodes/core/FunctionCallNode.js +15 -6
  352. package/nodes/core/FunctionNode.cjs.js +1 -0
  353. package/nodes/core/FunctionNode.js +25 -10
  354. package/nodes/core/InputNode.cjs.js +1 -0
  355. package/nodes/core/InputNode.js +23 -12
  356. package/nodes/core/Node.cjs.js +1 -0
  357. package/nodes/core/Node.js +75 -35
  358. package/nodes/core/NodeAttribute.cjs.js +1 -0
  359. package/nodes/core/NodeAttribute.js +4 -2
  360. package/nodes/core/NodeBuilder.cjs.js +1 -0
  361. package/nodes/core/NodeBuilder.js +224 -110
  362. package/nodes/core/NodeCode.cjs.js +1 -0
  363. package/nodes/core/NodeCode.js +7 -4
  364. package/nodes/core/NodeFrame.cjs.js +1 -0
  365. package/nodes/core/NodeFrame.js +12 -9
  366. package/nodes/core/NodeFunction.cjs.js +1 -0
  367. package/nodes/core/NodeFunction.js +17 -0
  368. package/nodes/core/NodeFunctionInput.cjs.js +1 -0
  369. package/nodes/core/NodeFunctionInput.js +5 -3
  370. package/nodes/core/NodeKeywords.cjs.js +1 -0
  371. package/nodes/core/NodeKeywords.js +16 -5
  372. package/nodes/core/NodeParser.cjs.js +1 -0
  373. package/nodes/core/NodeParser.js +8 -0
  374. package/nodes/core/NodeUniform.cjs.js +1 -0
  375. package/nodes/core/NodeUniform.js +7 -3
  376. package/nodes/core/NodeUtils.cjs.js +1 -0
  377. package/nodes/core/NodeUtils.js +43 -39
  378. package/nodes/core/NodeVar.cjs.js +1 -0
  379. package/nodes/core/NodeVar.js +4 -2
  380. package/nodes/core/NodeVary.cjs.js +1 -0
  381. package/nodes/core/NodeVary.js +4 -2
  382. package/nodes/core/PropertyNode.cjs.js +1 -0
  383. package/nodes/core/PropertyNode.js +10 -4
  384. package/nodes/core/TempNode.cjs.js +1 -0
  385. package/nodes/core/TempNode.js +11 -5
  386. package/nodes/core/UniformNode.cjs.js +1 -0
  387. package/nodes/core/UniformNode.js +10 -4
  388. package/nodes/core/VarNode.cjs.js +1 -0
  389. package/nodes/core/VarNode.js +11 -3
  390. package/nodes/core/VaryNode.cjs.js +1 -0
  391. package/nodes/core/VaryNode.js +15 -6
  392. package/nodes/core/constants.cjs.js +1 -0
  393. package/nodes/core/constants.js +7 -20
  394. package/nodes/display/ColorSpaceNode.cjs.js +1 -0
  395. package/nodes/display/ColorSpaceNode.js +38 -34
  396. package/nodes/display/NormalMapNode.cjs.js +1 -0
  397. package/nodes/display/NormalMapNode.js +53 -35
  398. package/nodes/fog/FogNode.cjs.js +1 -0
  399. package/nodes/fog/FogNode.js +9 -5
  400. package/nodes/fog/FogRangeNode.cjs.js +1 -0
  401. package/nodes/fog/FogRangeNode.js +9 -5
  402. package/nodes/functions/BSDFs.cjs.js +1 -0
  403. package/nodes/functions/BSDFs.js +118 -61
  404. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +1 -0
  405. package/nodes/functions/PhysicalMaterialFunctions.js +57 -0
  406. package/nodes/lights/LightContextNode.cjs.js +1 -0
  407. package/nodes/lights/LightContextNode.js +23 -14
  408. package/nodes/lights/LightNode.cjs.js +1 -0
  409. package/nodes/lights/LightNode.js +31 -27
  410. package/nodes/lights/LightsNode.cjs.js +1 -0
  411. package/nodes/lights/LightsNode.js +28 -9
  412. package/nodes/loaders/NodeLoader.cjs.js +1 -0
  413. package/nodes/loaders/NodeLoader.js +42 -27
  414. package/nodes/loaders/NodeMaterialLoader.cjs.js +1 -0
  415. package/nodes/loaders/NodeMaterialLoader.js +10 -4
  416. package/nodes/loaders/NodeObjectLoader.cjs.js +1 -0
  417. package/nodes/loaders/NodeObjectLoader.js +19 -9
  418. package/nodes/materials/LineBasicNodeMaterial.cjs.js +1 -0
  419. package/nodes/materials/LineBasicNodeMaterial.js +10 -5
  420. package/nodes/materials/Materials.cjs.js +1 -0
  421. package/nodes/materials/Materials.js +17 -14
  422. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +1 -0
  423. package/nodes/materials/MeshBasicNodeMaterial.js +10 -5
  424. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +1 -0
  425. package/nodes/materials/MeshStandardNodeMaterial.js +8 -5
  426. package/nodes/materials/NodeMaterial.cjs.js +1 -0
  427. package/nodes/materials/NodeMaterial.js +36 -20
  428. package/nodes/materials/PointsNodeMaterial.cjs.js +1 -0
  429. package/nodes/materials/PointsNodeMaterial.js +10 -5
  430. package/nodes/math/CondNode.cjs.js +1 -0
  431. package/nodes/math/CondNode.js +23 -11
  432. package/nodes/math/MathNode.cjs.js +1 -0
  433. package/nodes/math/MathNode.js +142 -98
  434. package/nodes/math/OperatorNode.cjs.js +1 -0
  435. package/nodes/math/OperatorNode.js +46 -24
  436. package/nodes/parsers/GLSLNodeFunction.cjs.js +1 -0
  437. package/nodes/parsers/GLSLNodeFunction.js +101 -0
  438. package/nodes/parsers/GLSLNodeParser.cjs.js +1 -0
  439. package/nodes/parsers/GLSLNodeParser.js +13 -0
  440. package/nodes/parsers/WGSLNodeFunction.cjs.js +1 -0
  441. package/nodes/parsers/WGSLNodeFunction.js +71 -0
  442. package/nodes/parsers/WGSLNodeParser.cjs.js +1 -0
  443. package/nodes/parsers/WGSLNodeParser.js +13 -0
  444. package/nodes/procedural/CheckerNode.cjs.js +1 -0
  445. package/nodes/procedural/CheckerNode.js +19 -13
  446. package/nodes/utils/ArrayElementNode.cjs.js +1 -0
  447. package/nodes/utils/ArrayElementNode.js +8 -4
  448. package/nodes/utils/ConvertNode.cjs.js +1 -0
  449. package/nodes/utils/ConvertNode.js +8 -3
  450. package/nodes/utils/JoinNode.cjs.js +1 -0
  451. package/nodes/utils/JoinNode.js +11 -7
  452. package/nodes/utils/MatcapUVNode.cjs.js +1 -0
  453. package/nodes/utils/MatcapUVNode.js +11 -8
  454. package/nodes/utils/OscNode.cjs.js +1 -0
  455. package/nodes/utils/OscNode.js +33 -27
  456. package/nodes/utils/SplitNode.cjs.js +1 -0
  457. package/nodes/utils/SplitNode.js +20 -6
  458. package/nodes/utils/SpriteSheetUVNode.cjs.js +1 -0
  459. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  460. package/nodes/utils/TimerNode.cjs.js +1 -0
  461. package/nodes/utils/TimerNode.js +24 -20
  462. package/objects/GroundProjectedEnv.cjs.js +1 -0
  463. package/objects/GroundProjectedEnv.js +37 -22
  464. package/objects/Lensflare.cjs.js +1 -0
  465. package/objects/Lensflare.js +156 -86
  466. package/objects/LightningStorm.cjs.js +1 -0
  467. package/objects/LightningStorm.js +102 -38
  468. package/objects/MarchingCubes.cjs.js +1 -0
  469. package/objects/MarchingCubes.js +303 -150
  470. package/objects/Reflector.cjs.js +1 -0
  471. package/objects/Reflector.js +72 -50
  472. package/objects/ReflectorForSSRPass.cjs.js +1 -0
  473. package/objects/ReflectorForSSRPass.js +131 -80
  474. package/objects/ReflectorRTT.cjs.js +1 -0
  475. package/objects/ReflectorRTT.js +7 -6
  476. package/objects/Refractor.cjs.js +1 -0
  477. package/objects/Refractor.js +106 -64
  478. package/objects/ShadowMesh.cjs.js +1 -0
  479. package/objects/ShadowMesh.js +17 -8
  480. package/objects/Sky.cjs.js +1 -0
  481. package/objects/Sky.js +80 -119
  482. package/objects/Water.cjs.js +1 -0
  483. package/objects/Water.js +127 -83
  484. package/objects/Water2.cjs.js +1 -0
  485. package/objects/Water2.js +108 -72
  486. package/offscreen/jank.cjs.js +1 -0
  487. package/offscreen/jank.js +14 -10
  488. package/offscreen/offscreen.cjs.js +1 -0
  489. package/offscreen/offscreen.js +5 -4
  490. package/offscreen/scene.cjs.js +1 -0
  491. package/offscreen/scene.js +48 -45
  492. package/package.json +3 -3
  493. package/physics/AmmoPhysics.cjs.js +1 -0
  494. package/physics/AmmoPhysics.js +71 -30
  495. package/postprocessing/AdaptiveToneMappingPass.cjs.js +1 -0
  496. package/postprocessing/AdaptiveToneMappingPass.js +123 -97
  497. package/postprocessing/AfterimagePass.cjs.js +1 -0
  498. package/postprocessing/AfterimagePass.js +49 -28
  499. package/postprocessing/BloomPass.cjs.js +1 -0
  500. package/postprocessing/BloomPass.js +69 -43
  501. package/postprocessing/BokehPass.cjs.js +1 -0
  502. package/postprocessing/BokehPass.js +69 -39
  503. package/postprocessing/ClearPass.cjs.js +1 -0
  504. package/postprocessing/ClearPass.js +25 -10
  505. package/postprocessing/CubeTexturePass.cjs.js +1 -0
  506. package/postprocessing/CubeTexturePass.js +27 -28
  507. package/postprocessing/DotScreenPass.cjs.js +1 -0
  508. package/postprocessing/DotScreenPass.js +32 -24
  509. package/postprocessing/EffectComposer.cjs.js +1 -0
  510. package/postprocessing/EffectComposer.js +86 -39
  511. package/postprocessing/FilmPass.cjs.js +1 -0
  512. package/postprocessing/FilmPass.js +30 -25
  513. package/postprocessing/GlitchPass.cjs.js +1 -0
  514. package/postprocessing/GlitchPass.js +61 -38
  515. package/postprocessing/HalftonePass.cjs.js +1 -0
  516. package/postprocessing/HalftonePass.js +39 -19
  517. package/postprocessing/LUTPass.cjs.js +1 -0
  518. package/postprocessing/LUTPass.js +38 -13
  519. package/postprocessing/MaskPass.cjs.js +1 -0
  520. package/postprocessing/MaskPass.js +38 -19
  521. package/postprocessing/OutlinePass.cjs.js +1 -0
  522. package/postprocessing/OutlinePass.js +277 -135
  523. package/postprocessing/Pass.cjs.js +1 -0
  524. package/postprocessing/Pass.js +44 -20
  525. package/postprocessing/RenderPass.cjs.js +1 -0
  526. package/postprocessing/RenderPass.js +36 -13
  527. package/postprocessing/RenderPixelatedPass.cjs.js +1 -0
  528. package/postprocessing/RenderPixelatedPass.js +58 -44
  529. package/postprocessing/SAOPass.cjs.js +1 -0
  530. package/postprocessing/SAOPass.js +189 -154
  531. package/postprocessing/SMAAPass.cjs.js +1 -0
  532. package/postprocessing/SMAAPass.js +84 -64
  533. package/postprocessing/SSAARenderPass.cjs.js +1 -0
  534. package/postprocessing/SSAARenderPass.js +69 -121
  535. package/postprocessing/SSAOPass.cjs.js +1 -0
  536. package/postprocessing/SSAOPass.js +172 -123
  537. package/postprocessing/SSRPass.cjs.js +1 -0
  538. package/postprocessing/SSRPass.js +280 -211
  539. package/postprocessing/SavePass.cjs.js +1 -0
  540. package/postprocessing/SavePass.js +25 -20
  541. package/postprocessing/ShaderPass.cjs.js +1 -0
  542. package/postprocessing/ShaderPass.js +30 -14
  543. package/postprocessing/TAARenderPass.cjs.js +1 -0
  544. package/postprocessing/TAARenderPass.js +61 -42
  545. package/postprocessing/TexturePass.cjs.js +1 -0
  546. package/postprocessing/TexturePass.js +22 -21
  547. package/postprocessing/UnrealBloomPass.cjs.js +1 -0
  548. package/postprocessing/UnrealBloomPass.js +213 -105
  549. package/renderers/CSS2DRenderer.cjs.js +1 -0
  550. package/renderers/CSS2DRenderer.js +56 -44
  551. package/renderers/CSS3DRenderer.cjs.js +1 -0
  552. package/renderers/CSS3DRenderer.js +86 -53
  553. package/renderers/Projector.cjs.js +1 -0
  554. package/renderers/Projector.js +274 -107
  555. package/renderers/SVGRenderer.cjs.js +1 -0
  556. package/renderers/SVGRenderer.js +182 -72
  557. package/renderers/nodes/accessors/CameraNode.cjs.js +1 -0
  558. package/renderers/nodes/accessors/CameraNode.js +40 -29
  559. package/renderers/nodes/accessors/ModelNode.cjs.js +1 -0
  560. package/renderers/nodes/accessors/ModelNode.js +37 -28
  561. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +1 -0
  562. package/renderers/nodes/accessors/ModelViewProjectionNode.js +23 -10
  563. package/renderers/nodes/accessors/NormalNode.cjs.js +1 -0
  564. package/renderers/nodes/accessors/NormalNode.js +45 -35
  565. package/renderers/nodes/accessors/PositionNode.cjs.js +1 -0
  566. package/renderers/nodes/accessors/PositionNode.js +19 -18
  567. package/renderers/nodes/accessors/UVNode.cjs.js +1 -0
  568. package/renderers/nodes/accessors/UVNode.js +10 -5
  569. package/renderers/nodes/core/AttributeNode.cjs.js +1 -0
  570. package/renderers/nodes/core/AttributeNode.js +14 -5
  571. package/renderers/nodes/core/InputNode.cjs.js +1 -0
  572. package/renderers/nodes/core/InputNode.js +14 -4
  573. package/renderers/nodes/core/Node.cjs.js +1 -0
  574. package/renderers/nodes/core/Node.js +17 -7
  575. package/renderers/nodes/core/NodeAttribute.cjs.js +1 -0
  576. package/renderers/nodes/core/NodeAttribute.js +6 -3
  577. package/renderers/nodes/core/NodeBuilder.cjs.js +1 -0
  578. package/renderers/nodes/core/NodeBuilder.js +154 -87
  579. package/renderers/nodes/core/NodeFrame.cjs.js +1 -0
  580. package/renderers/nodes/core/NodeFrame.js +12 -9
  581. package/renderers/nodes/core/NodeSlot.cjs.js +1 -0
  582. package/renderers/nodes/core/NodeSlot.js +3 -2
  583. package/renderers/nodes/core/NodeUniform.cjs.js +1 -0
  584. package/renderers/nodes/core/NodeUniform.js +9 -4
  585. package/renderers/nodes/core/NodeVary.cjs.js +1 -0
  586. package/renderers/nodes/core/NodeVary.js +7 -4
  587. package/renderers/nodes/core/VaryNode.cjs.js +1 -0
  588. package/renderers/nodes/core/VaryNode.js +12 -6
  589. package/renderers/nodes/core/constants.cjs.js +1 -0
  590. package/renderers/nodes/core/constants.js +13 -16
  591. package/renderers/nodes/inputs/ColorNode.cjs.js +1 -0
  592. package/renderers/nodes/inputs/ColorNode.js +11 -5
  593. package/renderers/nodes/inputs/FloatNode.cjs.js +1 -0
  594. package/renderers/nodes/inputs/FloatNode.js +11 -5
  595. package/renderers/nodes/inputs/Matrix3Node.cjs.js +1 -0
  596. package/renderers/nodes/inputs/Matrix3Node.js +13 -7
  597. package/renderers/nodes/inputs/Matrix4Node.cjs.js +1 -0
  598. package/renderers/nodes/inputs/Matrix4Node.js +13 -7
  599. package/renderers/nodes/inputs/TextureNode.cjs.js +1 -0
  600. package/renderers/nodes/inputs/TextureNode.js +15 -7
  601. package/renderers/nodes/inputs/Vector2Node.cjs.js +1 -0
  602. package/renderers/nodes/inputs/Vector2Node.js +11 -5
  603. package/renderers/nodes/inputs/Vector3Node.cjs.js +1 -0
  604. package/renderers/nodes/inputs/Vector3Node.js +13 -7
  605. package/renderers/nodes/inputs/Vector4Node.cjs.js +1 -0
  606. package/renderers/nodes/inputs/Vector4Node.js +13 -7
  607. package/renderers/nodes/math/MathNode.cjs.js +1 -0
  608. package/renderers/nodes/math/MathNode.js +30 -20
  609. package/renderers/nodes/math/OperatorNode.cjs.js +1 -0
  610. package/renderers/nodes/math/OperatorNode.js +20 -4
  611. package/renderers/nodes/utils/SwitchNode.cjs.js +1 -0
  612. package/renderers/nodes/utils/SwitchNode.js +9 -4
  613. package/renderers/nodes/utils/TimerNode.cjs.js +1 -0
  614. package/renderers/nodes/utils/TimerNode.js +10 -5
  615. package/renderers/webgpu/WebGPU.cjs.js +1 -0
  616. package/renderers/webgpu/WebGPU.js +16 -14
  617. package/renderers/webgpu/WebGPUAttributes.cjs.js +1 -0
  618. package/renderers/webgpu/WebGPUAttributes.js +23 -16
  619. package/renderers/webgpu/WebGPUBackground.cjs.js +1 -0
  620. package/renderers/webgpu/WebGPUBackground.js +30 -13
  621. package/renderers/webgpu/WebGPUBinding.cjs.js +1 -0
  622. package/renderers/webgpu/WebGPUBinding.js +7 -4
  623. package/renderers/webgpu/WebGPUBindings.cjs.js +1 -0
  624. package/renderers/webgpu/WebGPUBindings.js +57 -21
  625. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +1 -0
  626. package/renderers/webgpu/WebGPUComputePipelines.js +25 -14
  627. package/renderers/webgpu/WebGPUGeometries.cjs.js +1 -0
  628. package/renderers/webgpu/WebGPUGeometries.js +15 -5
  629. package/renderers/webgpu/WebGPUInfo.cjs.js +1 -0
  630. package/renderers/webgpu/WebGPUInfo.js +8 -3
  631. package/renderers/webgpu/WebGPUObjects.cjs.js +1 -0
  632. package/renderers/webgpu/WebGPUObjects.js +10 -5
  633. package/renderers/webgpu/WebGPUProperties.cjs.js +1 -0
  634. package/renderers/webgpu/WebGPUProperties.js +11 -5
  635. package/renderers/webgpu/WebGPURenderLists.cjs.js +1 -0
  636. package/renderers/webgpu/WebGPURenderLists.js +36 -20
  637. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +1 -0
  638. package/renderers/webgpu/WebGPURenderPipelines.js +387 -260
  639. package/renderers/webgpu/WebGPURenderer.cjs.js +1 -0
  640. package/renderers/webgpu/WebGPURenderer.js +262 -124
  641. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +1 -0
  642. package/renderers/webgpu/WebGPUSampledTexture.js +31 -18
  643. package/renderers/webgpu/WebGPUSampler.cjs.js +1 -0
  644. package/renderers/webgpu/WebGPUSampler.js +12 -7
  645. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +1 -0
  646. package/renderers/webgpu/WebGPUStorageBuffer.js +12 -7
  647. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +1 -0
  648. package/renderers/webgpu/WebGPUTextureRenderer.js +11 -5
  649. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +1 -0
  650. package/renderers/webgpu/WebGPUTextureUtils.js +40 -29
  651. package/renderers/webgpu/WebGPUTextures.cjs.js +1 -0
  652. package/renderers/webgpu/WebGPUTextures.js +333 -186
  653. package/renderers/webgpu/WebGPUUniform.cjs.js +1 -0
  654. package/renderers/webgpu/WebGPUUniform.js +51 -25
  655. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +1 -0
  656. package/renderers/webgpu/WebGPUUniformsGroup.js +72 -32
  657. package/renderers/webgpu/constants.cjs.js +1 -0
  658. package/renderers/webgpu/constants.js +181 -190
  659. package/renderers/webgpu/nodes/ShaderLib.cjs.js +1 -0
  660. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  661. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +1 -0
  662. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +124 -53
  663. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +1 -0
  664. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +31 -17
  665. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +1 -0
  666. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +9 -8
  667. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +1 -0
  668. package/renderers/webgpu/nodes/WebGPUNodes.js +45 -7
  669. package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -0
  670. package/shaders/ACESFilmicToneMappingShader.js +24 -44
  671. package/shaders/AfterimageShader.cjs.js +1 -0
  672. package/shaders/AfterimageShader.js +18 -28
  673. package/shaders/BasicShader.cjs.js +1 -0
  674. package/shaders/BasicShader.js +7 -9
  675. package/shaders/BleachBypassShader.cjs.js +1 -0
  676. package/shaders/BleachBypassShader.js +15 -31
  677. package/shaders/BlendShader.cjs.js +1 -0
  678. package/shaders/BlendShader.js +19 -26
  679. package/shaders/BokehShader.cjs.js +1 -0
  680. package/shaders/BokehShader.js +36 -98
  681. package/shaders/BokehShader2.cjs.js +1 -0
  682. package/shaders/BokehShader2.js +90 -261
  683. package/shaders/BrightnessContrastShader.cjs.js +1 -0
  684. package/shaders/BrightnessContrastShader.js +19 -28
  685. package/shaders/ColorCorrectionShader.cjs.js +1 -0
  686. package/shaders/ColorCorrectionShader.js +22 -26
  687. package/shaders/ColorifyShader.cjs.js +1 -0
  688. package/shaders/ColorifyShader.js +16 -24
  689. package/shaders/ConvolutionShader.cjs.js +1 -0
  690. package/shaders/ConvolutionShader.js +36 -40
  691. package/shaders/CopyShader.cjs.js +1 -0
  692. package/shaders/CopyShader.js +13 -21
  693. package/shaders/DOFMipMapShader.cjs.js +1 -0
  694. package/shaders/DOFMipMapShader.js +21 -28
  695. package/shaders/DepthLimitedBlurShader.cjs.js +1 -0
  696. package/shaders/DepthLimitedBlurShader.js +40 -85
  697. package/shaders/DigitalGlitch.cjs.js +1 -0
  698. package/shaders/DigitalGlitch.js +46 -74
  699. package/shaders/DotScreenShader.cjs.js +1 -0
  700. package/shaders/DotScreenShader.js +27 -35
  701. package/shaders/FXAAShader.cjs.js +1 -0
  702. package/shaders/FXAAShader.js +19 -1094
  703. package/shaders/FilmShader.cjs.js +1 -0
  704. package/shaders/FilmShader.js +52 -38
  705. package/shaders/FocusShader.cjs.js +1 -0
  706. package/shaders/FocusShader.js +24 -51
  707. package/shaders/FreiChenShader.cjs.js +1 -0
  708. package/shaders/FreiChenShader.js +24 -57
  709. package/shaders/FresnelShader.cjs.js +1 -0
  710. package/shaders/FresnelShader.js +22 -43
  711. package/shaders/GammaCorrectionShader.cjs.js +1 -0
  712. package/shaders/GammaCorrectionShader.js +11 -19
  713. package/shaders/GodRaysShader.cjs.js +1 -0
  714. package/shaders/GodRaysShader.js +94 -103
  715. package/shaders/HalftoneShader.cjs.js +1 -0
  716. package/shaders/HalftoneShader.js +65 -208
  717. package/shaders/HorizontalBlurShader.cjs.js +1 -0
  718. package/shaders/HorizontalBlurShader.js +23 -7
  719. package/shaders/HorizontalTiltShiftShader.cjs.js +1 -0
  720. package/shaders/HorizontalTiltShiftShader.js +21 -33
  721. package/shaders/HueSaturationShader.cjs.js +1 -0
  722. package/shaders/HueSaturationShader.js +21 -37
  723. package/shaders/KaleidoShader.cjs.js +1 -0
  724. package/shaders/KaleidoShader.js +22 -30
  725. package/shaders/LuminosityHighPassShader.cjs.js +1 -0
  726. package/shaders/LuminosityHighPassShader.js +27 -33
  727. package/shaders/LuminosityShader.cjs.js +1 -0
  728. package/shaders/LuminosityShader.js +11 -21
  729. package/shaders/MirrorShader.cjs.js +1 -0
  730. package/shaders/MirrorShader.js +16 -31
  731. package/shaders/NormalMapShader.cjs.js +1 -0
  732. package/shaders/NormalMapShader.js +23 -27
  733. package/shaders/ParallaxShader.cjs.js +1 -0
  734. package/shaders/ParallaxShader.js +48 -107
  735. package/shaders/PixelShader.cjs.js +1 -0
  736. package/shaders/PixelShader.js +16 -24
  737. package/shaders/RGBShiftShader.cjs.js +1 -0
  738. package/shaders/RGBShiftShader.js +22 -26
  739. package/shaders/SAOShader.cjs.js +1 -0
  740. package/shaders/SAOShader.js +48 -132
  741. package/shaders/SMAAShader.cjs.js +1 -0
  742. package/shaders/SMAAShader.js +135 -256
  743. package/shaders/SSAOShader.cjs.js +1 -0
  744. package/shaders/SSAOShader.js +81 -153
  745. package/shaders/SSRShader.cjs.js +1 -0
  746. package/shaders/SSRShader.js +87 -32
  747. package/shaders/SepiaShader.cjs.js +1 -0
  748. package/shaders/SepiaShader.js +15 -25
  749. package/shaders/SobelOperatorShader.cjs.js +1 -0
  750. package/shaders/SobelOperatorShader.js +29 -40
  751. package/shaders/SubsurfaceScatteringShader.cjs.js +1 -0
  752. package/shaders/SubsurfaceScatteringShader.js +39 -53
  753. package/shaders/TechnicolorShader.cjs.js +1 -0
  754. package/shaders/TechnicolorShader.js +13 -20
  755. package/shaders/ToneMapShader.cjs.js +1 -0
  756. package/shaders/ToneMapShader.js +28 -44
  757. package/shaders/ToonShader.cjs.js +1 -0
  758. package/shaders/ToonShader.js +96 -172
  759. package/shaders/TriangleBlurShader.cjs.js +1 -0
  760. package/shaders/TriangleBlurShader.js +23 -32
  761. package/shaders/UnpackDepthRGBAShader.cjs.js +1 -0
  762. package/shaders/UnpackDepthRGBAShader.js +14 -22
  763. package/shaders/VerticalBlurShader.cjs.js +1 -0
  764. package/shaders/VerticalBlurShader.js +23 -7
  765. package/shaders/VerticalTiltShiftShader.cjs.js +1 -0
  766. package/shaders/VerticalTiltShiftShader.js +21 -33
  767. package/shaders/VignetteShader.cjs.js +1 -0
  768. package/shaders/VignetteShader.js +28 -24
  769. package/shaders/VolumeShader.cjs.js +1 -0
  770. package/shaders/VolumeShader.js +77 -174
  771. package/shaders/WaterRefractionShader.cjs.js +1 -0
  772. package/shaders/WaterRefractionShader.js +6 -38
  773. package/shaders/types.cjs.js +1 -0
  774. package/shaders/types.js +1 -1
  775. package/textures/FlakesTexture.cjs.js +1 -0
  776. package/textures/FlakesTexture.js +10 -8
  777. package/types/helpers.cjs.js +1 -0
  778. package/types/helpers.js +2 -3
  779. package/types/shared.cjs.js +1 -0
  780. package/types/shared.js +1 -0
  781. package/types/utils.cjs.js +1 -0
  782. package/types/utils.js +1 -0
  783. package/utils/BufferGeometryUtils.cjs.js +1 -0
  784. package/utils/BufferGeometryUtils.js +325 -251
  785. package/utils/GeometryCompressionUtils.cjs.js +1 -0
  786. package/utils/GeometryCompressionUtils.js +239 -241
  787. package/utils/GeometryUtils.cjs.js +1 -0
  788. package/utils/GeometryUtils.js +94 -41
  789. package/utils/LDrawUtils.cjs.js +1 -0
  790. package/utils/LDrawUtils.d.ts +5 -0
  791. package/utils/LDrawUtils.js +144 -0
  792. package/utils/RoughnessMipmapper.cjs.js +1 -0
  793. package/utils/RoughnessMipmapper.js +82 -38
  794. package/utils/SceneUtils.cjs.js +1 -0
  795. package/utils/SceneUtils.js +20 -15
  796. package/utils/ShadowMapViewer.cjs.js +1 -0
  797. package/utils/ShadowMapViewer.js +95 -49
  798. package/utils/SkeletonUtils.cjs.js +1 -0
  799. package/utils/SkeletonUtils.js +165 -74
  800. package/utils/UVsDebug.cjs.js +1 -0
  801. package/utils/UVsDebug.js +62 -32
  802. package/utils/WorkerPool.cjs.js +1 -0
  803. package/utils/WorkerPool.js +33 -13
  804. package/webxr/ARButton.cjs.js +1 -0
  805. package/webxr/ARButton.js +98 -72
  806. package/webxr/OculusHandModel.cjs.js +1 -0
  807. package/webxr/OculusHandModel.js +37 -18
  808. package/webxr/OculusHandPointerModel.cjs.js +1 -0
  809. package/webxr/OculusHandPointerModel.js +80 -58
  810. package/webxr/Text2D.cjs.js +1 -0
  811. package/webxr/Text2D.js +19 -37
  812. package/webxr/VRButton.cjs.js +1 -0
  813. package/webxr/VRButton.js +90 -59
  814. package/webxr/XRControllerModelFactory.cjs.js +1 -0
  815. package/webxr/XRControllerModelFactory.js +116 -58
  816. package/webxr/XREstimatedLight.cjs.js +1 -0
  817. package/webxr/XREstimatedLight.js +66 -39
  818. package/webxr/XRHandMeshModel.cjs.js +1 -0
  819. package/webxr/XRHandMeshModel.js +29 -40
  820. package/webxr/XRHandModelFactory.cjs.js +1 -0
  821. package/webxr/XRHandModelFactory.js +31 -28
  822. package/webxr/XRHandPrimitiveModel.cjs.js +1 -0
  823. package/webxr/XRHandPrimitiveModel.js +27 -41
  824. package/animation/AnimationClipCreator.mjs +0 -57
  825. package/animation/CCDIKSolver.mjs +0 -234
  826. package/animation/MMDAnimationHelper.mjs +0 -514
  827. package/animation/MMDPhysics.mjs +0 -769
  828. package/cameras/CinematicCamera.mjs +0 -129
  829. package/controls/ArcballControls.mjs +0 -1737
  830. package/controls/DeviceOrientationControls.mjs +0 -74
  831. package/controls/DragControls.mjs +0 -172
  832. package/controls/FirstPersonControls.mjs +0 -220
  833. package/controls/FlyControls.mjs +0 -239
  834. package/controls/OrbitControls.mjs +0 -731
  835. package/controls/PointerLockControls.mjs +0 -88
  836. package/controls/TrackballControls.mjs +0 -481
  837. package/controls/TransformControls.mjs +0 -1068
  838. package/controls/experimental/CameraControls.mjs +0 -673
  839. package/csm/CSM.mjs +0 -244
  840. package/csm/CSMFrustum.mjs +0 -75
  841. package/csm/CSMHelper.mjs +0 -114
  842. package/csm/CSMShader.mjs +0 -251
  843. package/curves/CurveExtras.mjs +0 -224
  844. package/curves/NURBSCurve.mjs +0 -35
  845. package/curves/NURBSSurface.mjs +0 -28
  846. package/curves/NURBSUtils.mjs +0 -226
  847. package/deprecated/Geometry.mjs +0 -966
  848. package/effects/AnaglyphEffect.mjs +0 -120
  849. package/effects/AsciiEffect.mjs +0 -173
  850. package/effects/OutlineEffect.mjs +0 -295
  851. package/effects/ParallaxBarrierEffect.mjs +0 -64
  852. package/effects/PeppersGhostEffect.mjs +0 -85
  853. package/effects/StereoEffect.mjs +0 -32
  854. package/environments/RoomEnvironment.mjs +0 -78
  855. package/exporters/ColladaExporter.mjs +0 -299
  856. package/exporters/DRACOExporter.mjs +0 -132
  857. package/exporters/GLTFExporter.mjs +0 -1381
  858. package/exporters/MMDExporter.mjs +0 -102
  859. package/exporters/OBJExporter.mjs +0 -166
  860. package/exporters/PLYExporter.mjs +0 -278
  861. package/exporters/STLExporter.mjs +0 -129
  862. package/exporters/USDZExporter.mjs +0 -328
  863. package/geometries/BoxLineGeometry.mjs +0 -45
  864. package/geometries/ConvexGeometry.mjs +0 -29
  865. package/geometries/DecalGeometry.mjs +0 -184
  866. package/geometries/LightningStrike.mjs +0 -547
  867. package/geometries/ParametricGeometries.mjs +0 -129
  868. package/geometries/ParametricGeometry.mjs +0 -63
  869. package/geometries/RoundedBoxGeometry.mjs +0 -91
  870. package/geometries/TeapotGeometry.mjs +0 -1557
  871. package/geometries/TextGeometry.mjs +0 -23
  872. package/helpers/LightProbeHelper.mjs +0 -72
  873. package/helpers/PositionalAudioHelper.mjs +0 -68
  874. package/helpers/RectAreaLightHelper.mjs +0 -44
  875. package/helpers/VertexNormalsHelper.mjs +0 -54
  876. package/helpers/VertexTangentsHelper.mjs +0 -45
  877. package/index.mjs +0 -968
  878. package/interactive/SelectionBox.mjs +0 -137
  879. package/interactive/SelectionHelper.mjs +0 -54
  880. package/libs/MeshoptDecoder.mjs +0 -210
  881. package/libs/MotionControllers.mjs +0 -261
  882. package/lights/LightProbeGenerator.mjs +0 -145
  883. package/lights/RectAreaLightUniformsLib.mjs +0 -32842
  884. package/lines/Line2.mjs +0 -13
  885. package/lines/LineGeometry.mjs +0 -44
  886. package/lines/LineMaterial.mjs +0 -539
  887. package/lines/LineSegments2.mjs +0 -202
  888. package/lines/LineSegmentsGeometry.mjs +0 -124
  889. package/lines/Wireframe.mjs +0 -31
  890. package/lines/WireframeGeometry2.mjs +0 -13
  891. package/loaders/3DMLoader.mjs +0 -802
  892. package/loaders/3MFLoader.mjs +0 -837
  893. package/loaders/AMFLoader.mjs +0 -284
  894. package/loaders/AssimpLoader.mjs +0 -1396
  895. package/loaders/BVHLoader.mjs +0 -207
  896. package/loaders/BasisTextureLoader.mjs +0 -474
  897. package/loaders/ColladaLoader.mjs +0 -2403
  898. package/loaders/DDSLoader.mjs +0 -148
  899. package/loaders/DRACOLoader.mjs +0 -340
  900. package/loaders/EXRLoader.mjs +0 -1351
  901. package/loaders/FBXLoader.mjs +0 -2362
  902. package/loaders/FontLoader.mjs +0 -111
  903. package/loaders/GCodeLoader.mjs +0 -141
  904. package/loaders/GLTFLoader.mjs +0 -2316
  905. package/loaders/HDRCubeTextureLoader.mjs +0 -77
  906. package/loaders/KMZLoader.mjs +0 -75
  907. package/loaders/KTX2Loader.mjs +0 -427
  908. package/loaders/KTXLoader.mjs +0 -87
  909. package/loaders/LDrawLoader.mjs +0 -1409
  910. package/loaders/LUT3dlLoader.mjs +0 -100
  911. package/loaders/LUTCubeLoader.mjs +0 -104
  912. package/loaders/LWOLoader.mjs +0 -625
  913. package/loaders/LottieLoader.mjs +0 -47
  914. package/loaders/MD2Loader.mjs +0 -359
  915. package/loaders/MDDLoader.mjs +0 -58
  916. package/loaders/MMDLoader.mjs +0 -998
  917. package/loaders/MTLLoader.mjs +0 -280
  918. package/loaders/NRRDLoader.mjs +0 -401
  919. package/loaders/NodeMaterialLoader.mjs +0 -146
  920. package/loaders/OBJLoader.mjs +0 -487
  921. package/loaders/PCDLoader.mjs +0 -248
  922. package/loaders/PDBLoader.mjs +0 -246
  923. package/loaders/PLYLoader.mjs +0 -317
  924. package/loaders/PRWMLoader.mjs +0 -160
  925. package/loaders/PVRLoader.mjs +0 -131
  926. package/loaders/RGBELoader.mjs +0 -244
  927. package/loaders/RGBMLoader.mjs +0 -998
  928. package/loaders/STLLoader.mjs +0 -190
  929. package/loaders/SVGLoader.mjs +0 -1709
  930. package/loaders/TDSLoader.mjs +0 -480
  931. package/loaders/TGALoader.mjs +0 -285
  932. package/loaders/TTFLoader.mjs +0 -131
  933. package/loaders/TiltLoader.mjs +0 -373
  934. package/loaders/VOXLoader.mjs +0 -431
  935. package/loaders/VRMLLoader.mjs +0 -2093
  936. package/loaders/VRMLoader.mjs +0 -38
  937. package/loaders/VTKLoader.mjs +0 -646
  938. package/loaders/XLoader.mjs +0 -1258
  939. package/loaders/XYZLoader.mjs +0 -60
  940. package/loaders/lwo/IFFParser.mjs +0 -697
  941. package/loaders/lwo/LWO2Parser.mjs +0 -327
  942. package/loaders/lwo/LWO3Parser.mjs +0 -298
  943. package/math/Capsule.mjs +0 -100
  944. package/math/ColorConverter.mjs +0 -51
  945. package/math/ConvexHull.mjs +0 -574
  946. package/math/ImprovedNoise.mjs +0 -302
  947. package/math/Lut.mjs +0 -135
  948. package/math/MeshSurfaceSampler.mjs +0 -107
  949. package/math/OBB.mjs +0 -235
  950. package/math/Octree.mjs +0 -278
  951. package/math/SimplexNoise.mjs +0 -425
  952. package/misc/ConvexObjectBreaker.mjs +0 -292
  953. package/misc/GPUComputationRenderer.mjs +0 -171
  954. package/misc/Gyroscope.mjs +0 -35
  955. package/misc/MD2Character.mjs +0 -162
  956. package/misc/MD2CharacterComplex.mjs +0 -328
  957. package/misc/MorphAnimMesh.mjs +0 -40
  958. package/misc/MorphBlendMesh.mjs +0 -179
  959. package/misc/ProgressiveLightmap.mjs +0 -166
  960. package/misc/RollerCoaster.mjs +0 -346
  961. package/misc/TubePainter.mjs +0 -123
  962. package/misc/Volume.mjs +0 -244
  963. package/misc/VolumeSlice.mjs +0 -106
  964. package/misc/WebGL.mjs +0 -74
  965. package/modifiers/CurveModifier.mjs +0 -182
  966. package/modifiers/EdgeSplitModifier.mjs +0 -162
  967. package/modifiers/SimplifyModifier.mjs +0 -282
  968. package/modifiers/TessellateModifier.mjs +0 -206
  969. package/nodes/Nodes.mjs +0 -400
  970. package/nodes/ShaderNode.mjs +0 -408
  971. package/nodes/accessors/BufferNode.mjs +0 -15
  972. package/nodes/accessors/CameraNode.mjs +0 -44
  973. package/nodes/accessors/CubeTextureNode.mjs +0 -42
  974. package/nodes/accessors/MaterialNode.mjs +0 -71
  975. package/nodes/accessors/MaterialReferenceNode.mjs +0 -14
  976. package/nodes/accessors/ModelNode.mjs +0 -9
  977. package/nodes/accessors/ModelViewProjectionNode.mjs +0 -24
  978. package/nodes/accessors/NormalNode.mjs +0 -62
  979. package/nodes/accessors/Object3DNode.mjs +0 -76
  980. package/nodes/accessors/PointUVNode.mjs +0 -13
  981. package/nodes/accessors/PositionNode.mjs +0 -65
  982. package/nodes/accessors/ReferenceNode.mjs +0 -37
  983. package/nodes/accessors/ReflectNode.mjs +0 -43
  984. package/nodes/accessors/SkinningNode.mjs +0 -58
  985. package/nodes/accessors/TextureNode.mjs +0 -54
  986. package/nodes/accessors/UVNode.mjs +0 -23
  987. package/nodes/core/ArrayUniformNode.mjs +0 -14
  988. package/nodes/core/AttributeNode.mjs +0 -30
  989. package/nodes/core/BypassNode.mjs +0 -22
  990. package/nodes/core/CodeNode.mjs +0 -28
  991. package/nodes/core/ConstNode.mjs +0 -14
  992. package/nodes/core/ContextNode.mjs +0 -22
  993. package/nodes/core/ExpressionNode.mjs +0 -19
  994. package/nodes/core/FunctionCallNode.mjs +0 -37
  995. package/nodes/core/FunctionNode.mjs +0 -56
  996. package/nodes/core/InputNode.mjs +0 -38
  997. package/nodes/core/Node.mjs +0 -139
  998. package/nodes/core/NodeAttribute.mjs +0 -10
  999. package/nodes/core/NodeBuilder.mjs +0 -395
  1000. package/nodes/core/NodeCode.mjs +0 -11
  1001. package/nodes/core/NodeFrame.mjs +0 -35
  1002. package/nodes/core/NodeFunctionInput.mjs +0 -13
  1003. package/nodes/core/NodeKeywords.mjs +0 -44
  1004. package/nodes/core/NodeUniform.mjs +0 -18
  1005. package/nodes/core/NodeUtils.mjs +0 -57
  1006. package/nodes/core/NodeVar.mjs +0 -10
  1007. package/nodes/core/NodeVary.mjs +0 -10
  1008. package/nodes/core/PropertyNode.mjs +0 -21
  1009. package/nodes/core/TempNode.mjs +0 -25
  1010. package/nodes/core/UniformNode.mjs +0 -23
  1011. package/nodes/core/VarNode.mjs +0 -31
  1012. package/nodes/core/VaryNode.mjs +0 -30
  1013. package/nodes/core/constants.mjs +0 -24
  1014. package/nodes/display/ColorSpaceNode.mjs +0 -63
  1015. package/nodes/display/NormalMapNode.mjs +0 -54
  1016. package/nodes/fog/FogNode.mjs +0 -15
  1017. package/nodes/fog/FogRangeNode.mjs +0 -17
  1018. package/nodes/functions/BSDFs.mjs +0 -64
  1019. package/nodes/lights/LightContextNode.mjs +0 -35
  1020. package/nodes/lights/LightNode.mjs +0 -58
  1021. package/nodes/lights/LightsNode.mjs +0 -59
  1022. package/nodes/loaders/NodeLoader.mjs +0 -66
  1023. package/nodes/loaders/NodeMaterialLoader.mjs +0 -24
  1024. package/nodes/loaders/NodeObjectLoader.mjs +0 -40
  1025. package/nodes/materials/LineBasicNodeMaterial.mjs +0 -27
  1026. package/nodes/materials/Materials.mjs +0 -28
  1027. package/nodes/materials/MeshBasicNodeMaterial.mjs +0 -28
  1028. package/nodes/materials/MeshStandardNodeMaterial.mjs +0 -41
  1029. package/nodes/materials/NodeMaterial.mjs +0 -64
  1030. package/nodes/materials/PointsNodeMaterial.mjs +0 -30
  1031. package/nodes/math/CondNode.mjs +0 -38
  1032. package/nodes/math/MathNode.mjs +0 -163
  1033. package/nodes/math/OperatorNode.mjs +0 -103
  1034. package/nodes/procedural/CheckerNode.mjs +0 -21
  1035. package/nodes/utils/ArrayElementNode.mjs +0 -19
  1036. package/nodes/utils/ConvertNode.mjs +0 -25
  1037. package/nodes/utils/JoinNode.mjs +0 -26
  1038. package/nodes/utils/MatcapUVNode.mjs +0 -16
  1039. package/nodes/utils/OscNode.mjs +0 -50
  1040. package/nodes/utils/SplitNode.mjs +0 -45
  1041. package/nodes/utils/SpriteSheetUVNode.mjs +0 -40
  1042. package/nodes/utils/TimerNode.mjs +0 -44
  1043. package/objects/GroundProjectedEnv.mjs +0 -130
  1044. package/objects/Lensflare.mjs +0 -262
  1045. package/objects/LightningStorm.mjs +0 -110
  1046. package/objects/MarchingCubes.mjs +0 -457
  1047. package/objects/Reflector.mjs +0 -166
  1048. package/objects/ReflectorForSSRPass.mjs +0 -247
  1049. package/objects/ReflectorRTT.mjs +0 -10
  1050. package/objects/Refractor.mjs +0 -178
  1051. package/objects/ShadowMesh.mjs +0 -41
  1052. package/objects/Sky.mjs +0 -124
  1053. package/objects/Water.mjs +0 -235
  1054. package/objects/Water2.mjs +0 -252
  1055. package/offscreen/jank.mjs +0 -27
  1056. package/offscreen/offscreen.mjs +0 -5
  1057. package/offscreen/scene.mjs +0 -52
  1058. package/physics/AmmoPhysics.mjs +0 -165
  1059. package/postprocessing/AdaptiveToneMappingPass.mjs +0 -221
  1060. package/postprocessing/AfterimagePass.mjs +0 -55
  1061. package/postprocessing/BloomPass.mjs +0 -90
  1062. package/postprocessing/BokehPass.mjs +0 -76
  1063. package/postprocessing/ClearPass.mjs +0 -27
  1064. package/postprocessing/CubeTexturePass.mjs +0 -49
  1065. package/postprocessing/DotScreenPass.mjs +0 -40
  1066. package/postprocessing/EffectComposer.mjs +0 -139
  1067. package/postprocessing/FilmPass.mjs +0 -42
  1068. package/postprocessing/GlitchPass.mjs +0 -75
  1069. package/postprocessing/HalftonePass.mjs +0 -44
  1070. package/postprocessing/LUTPass.mjs +0 -136
  1071. package/postprocessing/MaskPass.mjs +0 -60
  1072. package/postprocessing/OutlinePass.mjs +0 -438
  1073. package/postprocessing/Pass.mjs +0 -37
  1074. package/postprocessing/RenderPass.mjs +0 -48
  1075. package/postprocessing/RenderPixelatedPass.mjs +0 -199
  1076. package/postprocessing/SAOPass.mjs +0 -282
  1077. package/postprocessing/SMAAPass.mjs +0 -112
  1078. package/postprocessing/SSAARenderPass.mjs +0 -170
  1079. package/postprocessing/SSAOPass.mjs +0 -265
  1080. package/postprocessing/SSRPass.mjs +0 -432
  1081. package/postprocessing/SavePass.mjs +0 -37
  1082. package/postprocessing/ShaderPass.mjs +0 -39
  1083. package/postprocessing/TAARenderPass.mjs +0 -88
  1084. package/postprocessing/TexturePass.mjs +0 -39
  1085. package/postprocessing/UnrealBloomPass.mjs +0 -220
  1086. package/renderers/CSS2DRenderer.mjs +0 -112
  1087. package/renderers/CSS3DRenderer.mjs +0 -133
  1088. package/renderers/Projector.mjs +0 -511
  1089. package/renderers/SVGRenderer.mjs +0 -306
  1090. package/renderers/nodes/accessors/CameraNode.mjs +0 -63
  1091. package/renderers/nodes/accessors/ModelNode.mjs +0 -61
  1092. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +0 -21
  1093. package/renderers/nodes/accessors/NormalNode.mjs +0 -61
  1094. package/renderers/nodes/accessors/PositionNode.mjs +0 -30
  1095. package/renderers/nodes/accessors/UVNode.mjs +0 -13
  1096. package/renderers/nodes/core/AttributeNode.mjs +0 -35
  1097. package/renderers/nodes/core/InputNode.mjs +0 -31
  1098. package/renderers/nodes/core/Node.mjs +0 -34
  1099. package/renderers/nodes/core/NodeAttribute.mjs +0 -10
  1100. package/renderers/nodes/core/NodeBuilder.mjs +0 -243
  1101. package/renderers/nodes/core/NodeFrame.mjs +0 -35
  1102. package/renderers/nodes/core/NodeSlot.mjs +0 -10
  1103. package/renderers/nodes/core/NodeUniform.mjs +0 -18
  1104. package/renderers/nodes/core/NodeVary.mjs +0 -11
  1105. package/renderers/nodes/core/VaryNode.mjs +0 -22
  1106. package/renderers/nodes/core/constants.mjs +0 -22
  1107. package/renderers/nodes/inputs/ColorNode.mjs +0 -11
  1108. package/renderers/nodes/inputs/FloatNode.mjs +0 -11
  1109. package/renderers/nodes/inputs/Matrix3Node.mjs +0 -12
  1110. package/renderers/nodes/inputs/Matrix4Node.mjs +0 -12
  1111. package/renderers/nodes/inputs/TextureNode.mjs +0 -20
  1112. package/renderers/nodes/inputs/Vector2Node.mjs +0 -11
  1113. package/renderers/nodes/inputs/Vector3Node.mjs +0 -12
  1114. package/renderers/nodes/inputs/Vector4Node.mjs +0 -12
  1115. package/renderers/nodes/math/MathNode.mjs +0 -55
  1116. package/renderers/nodes/math/OperatorNode.mjs +0 -42
  1117. package/renderers/nodes/utils/SwitchNode.mjs +0 -20
  1118. package/renderers/nodes/utils/TimerNode.mjs +0 -14
  1119. package/renderers/webgpu/WebGPU.mjs +0 -24
  1120. package/renderers/webgpu/WebGPUAttributes.mjs +0 -69
  1121. package/renderers/webgpu/WebGPUBackground.mjs +0 -61
  1122. package/renderers/webgpu/WebGPUBinding.mjs +0 -14
  1123. package/renderers/webgpu/WebGPUBindings.mjs +0 -155
  1124. package/renderers/webgpu/WebGPUComputePipelines.mjs +0 -44
  1125. package/renderers/webgpu/WebGPUGeometries.mjs +0 -41
  1126. package/renderers/webgpu/WebGPUInfo.mjs +0 -46
  1127. package/renderers/webgpu/WebGPUObjects.mjs +0 -25
  1128. package/renderers/webgpu/WebGPUProperties.mjs +0 -22
  1129. package/renderers/webgpu/WebGPURenderLists.mjs +0 -119
  1130. package/renderers/webgpu/WebGPURenderPipelines.mjs +0 -545
  1131. package/renderers/webgpu/WebGPURenderer.mjs +0 -574
  1132. package/renderers/webgpu/WebGPUSampledTexture.mjs +0 -40
  1133. package/renderers/webgpu/WebGPUSampler.mjs +0 -15
  1134. package/renderers/webgpu/WebGPUStorageBuffer.mjs +0 -15
  1135. package/renderers/webgpu/WebGPUTextureRenderer.mjs +0 -23
  1136. package/renderers/webgpu/WebGPUTextureUtils.mjs +0 -98
  1137. package/renderers/webgpu/WebGPUTextures.mjs +0 -484
  1138. package/renderers/webgpu/WebGPUUniform.mjs +0 -81
  1139. package/renderers/webgpu/WebGPUUniformsGroup.mjs +0 -176
  1140. package/renderers/webgpu/constants.mjs +0 -230
  1141. package/renderers/webgpu/nodes/ShaderLib.mjs +0 -42
  1142. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +0 -165
  1143. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +0 -73
  1144. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +0 -15
  1145. package/renderers/webgpu/nodes/WebGPUNodes.mjs +0 -40
  1146. package/shaders/ACESFilmicToneMappingShader.mjs +0 -48
  1147. package/shaders/AfterimageShader.mjs +0 -32
  1148. package/shaders/BasicShader.mjs +0 -12
  1149. package/shaders/BleachBypassShader.mjs +0 -35
  1150. package/shaders/BlendShader.mjs +0 -30
  1151. package/shaders/BokehShader.mjs +0 -106
  1152. package/shaders/BokehShader2.mjs +0 -269
  1153. package/shaders/BrightnessContrastShader.mjs +0 -32
  1154. package/shaders/ColorCorrectionShader.mjs +0 -30
  1155. package/shaders/ColorifyShader.mjs +0 -28
  1156. package/shaders/ConvolutionShader.mjs +0 -55
  1157. package/shaders/CopyShader.mjs +0 -25
  1158. package/shaders/DOFMipMapShader.mjs +0 -32
  1159. package/shaders/DepthLimitedBlurShader.mjs +0 -114
  1160. package/shaders/DigitalGlitch.mjs +0 -78
  1161. package/shaders/DotScreenShader.mjs +0 -39
  1162. package/shaders/FXAAShader.mjs +0 -1098
  1163. package/shaders/FilmShader.mjs +0 -42
  1164. package/shaders/FocusShader.mjs +0 -55
  1165. package/shaders/FreiChenShader.mjs +0 -61
  1166. package/shaders/FresnelShader.mjs +0 -47
  1167. package/shaders/GammaCorrectionShader.mjs +0 -23
  1168. package/shaders/GodRaysShader.mjs +0 -146
  1169. package/shaders/HalftoneShader.mjs +0 -212
  1170. package/shaders/HorizontalBlurShader.mjs +0 -43
  1171. package/shaders/HorizontalTiltShiftShader.mjs +0 -37
  1172. package/shaders/HueSaturationShader.mjs +0 -41
  1173. package/shaders/KaleidoShader.mjs +0 -34
  1174. package/shaders/LuminosityHighPassShader.mjs +0 -37
  1175. package/shaders/LuminosityShader.mjs +0 -25
  1176. package/shaders/MirrorShader.mjs +0 -35
  1177. package/shaders/NormalMapShader.mjs +0 -31
  1178. package/shaders/ParallaxShader.mjs +0 -113
  1179. package/shaders/PixelShader.mjs +0 -28
  1180. package/shaders/RGBShiftShader.mjs +0 -30
  1181. package/shaders/SAOShader.mjs +0 -144
  1182. package/shaders/SMAAShader.mjs +0 -272
  1183. package/shaders/SSAOShader.mjs +0 -172
  1184. package/shaders/SSRShader.mjs +0 -324
  1185. package/shaders/SepiaShader.mjs +0 -29
  1186. package/shaders/SobelOperatorShader.mjs +0 -44
  1187. package/shaders/SubsurfaceScatteringShader.mjs +0 -59
  1188. package/shaders/TechnicolorShader.mjs +0 -24
  1189. package/shaders/ToneMapShader.mjs +0 -48
  1190. package/shaders/ToonShader.mjs +0 -188
  1191. package/shaders/TriangleBlurShader.mjs +0 -36
  1192. package/shaders/UnpackDepthRGBAShader.mjs +0 -26
  1193. package/shaders/VerticalBlurShader.mjs +0 -44
  1194. package/shaders/VerticalTiltShiftShader.mjs +0 -37
  1195. package/shaders/VignetteShader.mjs +0 -28
  1196. package/shaders/VolumeShader.mjs +0 -178
  1197. package/shaders/WaterRefractionShader.mjs +0 -57
  1198. package/textures/FlakesTexture.mjs +0 -30
  1199. package/types/helpers.mjs +0 -4
  1200. package/utils/BufferGeometryUtils.mjs +0 -570
  1201. package/utils/GeometryCompressionUtils.mjs +0 -547
  1202. package/utils/GeometryUtils.mjs +0 -108
  1203. package/utils/RoughnessMipmapper.mjs +0 -213
  1204. package/utils/SceneUtils.mjs +0 -36
  1205. package/utils/ShadowMapViewer.mjs +0 -114
  1206. package/utils/SkeletonUtils.mjs +0 -292
  1207. package/utils/UVsDebug.mjs +0 -85
  1208. package/utils/WorkerPool.mjs +0 -62
  1209. package/webxr/ARButton.mjs +0 -119
  1210. package/webxr/OculusHandModel.mjs +0 -71
  1211. package/webxr/OculusHandPointerModel.mjs +0 -207
  1212. package/webxr/Text2D.mjs +0 -31
  1213. package/webxr/VRButton.mjs +0 -105
  1214. package/webxr/XRControllerModelFactory.mjs +0 -146
  1215. package/webxr/XREstimatedLight.mjs +0 -126
  1216. package/webxr/XRHandMeshModel.mjs +0 -73
  1217. package/webxr/XRHandModelFactory.mjs +0 -61
  1218. package/webxr/XRHandPrimitiveModel.mjs +0 -68
@@ -1,163 +1,238 @@
1
- "use strict";
2
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const THREE = require("three");
1
+ import { BufferAttribute, Matrix4, Vector3, Matrix3, MeshPhongMaterial, UniformsUtils, ShaderLib, ShaderChunk } from 'three';
2
+
3
+ /**
4
+ * Octahedron and Quantization encodings based on work by:
5
+ *
6
+ * @link https://github.com/tsherif/mesh-quantization-example
7
+ *
8
+ */
4
9
  var GeometryCompressionUtils = {
5
- compressNormals: function(mesh, encodeMethod) {
10
+ /**
11
+ * Make the input mesh.geometry's normal attribute encoded and compressed by 3 different methods.
12
+ * Also will change the mesh.material to `PackedPhongMaterial` which let the vertex shader program decode the normal data.
13
+ *
14
+ * @param {THREE.Mesh} mesh
15
+ * @param {String} encodeMethod "DEFAULT" || "OCT1Byte" || "OCT2Byte" || "ANGLES"
16
+ *
17
+ */
18
+ compressNormals: function (mesh, encodeMethod) {
6
19
  if (!mesh.geometry) {
7
- console.error("Mesh must contain geometry. ");
20
+ console.error('Mesh must contain geometry. ');
8
21
  }
22
+
9
23
  const normal = mesh.geometry.attributes.normal;
24
+
10
25
  if (!normal) {
11
- console.error("Geometry must contain normal attribute. ");
26
+ console.error('Geometry must contain normal attribute. ');
12
27
  }
13
- if (normal.isPacked)
14
- return;
28
+
29
+ if (normal.isPacked) return;
30
+
15
31
  if (normal.itemSize != 3) {
16
- console.error("normal.itemSize is not 3, which cannot be encoded. ");
32
+ console.error('normal.itemSize is not 3, which cannot be encoded. ');
17
33
  }
34
+
18
35
  const array = normal.array;
19
36
  const count = normal.count;
20
37
  let result;
21
- if (encodeMethod == "DEFAULT") {
38
+
39
+ if (encodeMethod == 'DEFAULT') {
40
+ // TODO: Add 1 byte to the result, making the encoded length to be 4 bytes.
22
41
  result = new Uint8Array(count * 3);
42
+
23
43
  for (let idx = 0; idx < array.length; idx += 3) {
24
44
  const encoded = this.EncodingFuncs.defaultEncode(array[idx], array[idx + 1], array[idx + 2], 1);
25
45
  result[idx + 0] = encoded[0];
26
46
  result[idx + 1] = encoded[1];
27
47
  result[idx + 2] = encoded[2];
28
48
  }
29
- mesh.geometry.setAttribute("normal", new THREE.BufferAttribute(result, 3, true));
49
+
50
+ mesh.geometry.setAttribute('normal', new BufferAttribute(result, 3, true));
30
51
  mesh.geometry.attributes.normal.bytes = result.length * 1;
31
- } else if (encodeMethod == "OCT1Byte") {
52
+ } else if (encodeMethod == 'OCT1Byte') {
53
+ /**
54
+ * It is not recommended to use 1-byte octahedron normals encoding unless you want to extremely reduce the memory usage
55
+ * As it makes vertex data not aligned to a 4 byte boundary which may harm some WebGL implementations and sometimes the normal distortion is visible
56
+ * Please refer to @zeux 's comments in https://github.com/mrdoob/three.js/pull/18208
57
+ */
32
58
  result = new Int8Array(count * 2);
59
+
33
60
  for (let idx = 0; idx < array.length; idx += 3) {
34
61
  const encoded = this.EncodingFuncs.octEncodeBest(array[idx], array[idx + 1], array[idx + 2], 1);
35
62
  result[idx / 3 * 2 + 0] = encoded[0];
36
63
  result[idx / 3 * 2 + 1] = encoded[1];
37
64
  }
38
- mesh.geometry.setAttribute("normal", new THREE.BufferAttribute(result, 2, true));
65
+
66
+ mesh.geometry.setAttribute('normal', new BufferAttribute(result, 2, true));
39
67
  mesh.geometry.attributes.normal.bytes = result.length * 1;
40
- } else if (encodeMethod == "OCT2Byte") {
68
+ } else if (encodeMethod == 'OCT2Byte') {
41
69
  result = new Int16Array(count * 2);
70
+
42
71
  for (let idx = 0; idx < array.length; idx += 3) {
43
72
  const encoded = this.EncodingFuncs.octEncodeBest(array[idx], array[idx + 1], array[idx + 2], 2);
44
73
  result[idx / 3 * 2 + 0] = encoded[0];
45
74
  result[idx / 3 * 2 + 1] = encoded[1];
46
75
  }
47
- mesh.geometry.setAttribute("normal", new THREE.BufferAttribute(result, 2, true));
76
+
77
+ mesh.geometry.setAttribute('normal', new BufferAttribute(result, 2, true));
48
78
  mesh.geometry.attributes.normal.bytes = result.length * 2;
49
- } else if (encodeMethod == "ANGLES") {
79
+ } else if (encodeMethod == 'ANGLES') {
50
80
  result = new Uint16Array(count * 2);
81
+
51
82
  for (let idx = 0; idx < array.length; idx += 3) {
52
83
  const encoded = this.EncodingFuncs.anglesEncode(array[idx], array[idx + 1], array[idx + 2]);
53
84
  result[idx / 3 * 2 + 0] = encoded[0];
54
85
  result[idx / 3 * 2 + 1] = encoded[1];
55
86
  }
56
- mesh.geometry.setAttribute("normal", new THREE.BufferAttribute(result, 2, true));
87
+
88
+ mesh.geometry.setAttribute('normal', new BufferAttribute(result, 2, true));
57
89
  mesh.geometry.attributes.normal.bytes = result.length * 2;
58
90
  } else {
59
- console.error("Unrecognized encoding method, should be `DEFAULT` or `ANGLES` or `OCT`. ");
91
+ console.error('Unrecognized encoding method, should be `DEFAULT` or `ANGLES` or `OCT`. ');
60
92
  }
93
+
61
94
  mesh.geometry.attributes.normal.needsUpdate = true;
62
95
  mesh.geometry.attributes.normal.isPacked = true;
63
- mesh.geometry.attributes.normal.packingMethod = encodeMethod;
96
+ mesh.geometry.attributes.normal.packingMethod = encodeMethod; // modify material
97
+
64
98
  if (!(mesh.material instanceof PackedPhongMaterial)) {
65
99
  mesh.material = new PackedPhongMaterial().copy(mesh.material);
66
100
  }
67
- if (encodeMethod == "ANGLES") {
101
+
102
+ if (encodeMethod == 'ANGLES') {
68
103
  mesh.material.defines.USE_PACKED_NORMAL = 0;
69
104
  }
70
- if (encodeMethod == "OCT1Byte") {
105
+
106
+ if (encodeMethod == 'OCT1Byte') {
71
107
  mesh.material.defines.USE_PACKED_NORMAL = 1;
72
108
  }
73
- if (encodeMethod == "OCT2Byte") {
109
+
110
+ if (encodeMethod == 'OCT2Byte') {
74
111
  mesh.material.defines.USE_PACKED_NORMAL = 1;
75
112
  }
76
- if (encodeMethod == "DEFAULT") {
113
+
114
+ if (encodeMethod == 'DEFAULT') {
77
115
  mesh.material.defines.USE_PACKED_NORMAL = 2;
78
116
  }
79
117
  },
80
- compressPositions: function(mesh) {
118
+
119
+ /**
120
+ * Make the input mesh.geometry's position attribute encoded and compressed.
121
+ * Also will change the mesh.material to `PackedPhongMaterial` which let the vertex shader program decode the position data.
122
+ *
123
+ * @param {THREE.Mesh} mesh
124
+ *
125
+ */
126
+ compressPositions: function (mesh) {
81
127
  if (!mesh.geometry) {
82
- console.error("Mesh must contain geometry. ");
128
+ console.error('Mesh must contain geometry. ');
83
129
  }
130
+
84
131
  const position = mesh.geometry.attributes.position;
132
+
85
133
  if (!position) {
86
- console.error("Geometry must contain position attribute. ");
134
+ console.error('Geometry must contain position attribute. ');
87
135
  }
88
- if (position.isPacked)
89
- return;
136
+
137
+ if (position.isPacked) return;
138
+
90
139
  if (position.itemSize != 3) {
91
- console.error("position.itemSize is not 3, which cannot be packed. ");
140
+ console.error('position.itemSize is not 3, which cannot be packed. ');
92
141
  }
142
+
93
143
  const array = position.array;
94
144
  const encodingBytes = 2;
95
145
  const result = this.EncodingFuncs.quantizedEncode(array, encodingBytes);
96
146
  const quantized = result.quantized;
97
- const decodeMat = result.decodeMat;
98
- if (mesh.geometry.boundingBox == null)
99
- mesh.geometry.computeBoundingBox();
100
- if (mesh.geometry.boundingSphere == null)
101
- mesh.geometry.computeBoundingSphere();
102
- mesh.geometry.setAttribute("position", new THREE.BufferAttribute(quantized, 3));
147
+ const decodeMat = result.decodeMat; // IMPORTANT: calculate original geometry bounding info first, before updating packed positions
148
+
149
+ if (mesh.geometry.boundingBox == null) mesh.geometry.computeBoundingBox();
150
+ if (mesh.geometry.boundingSphere == null) mesh.geometry.computeBoundingSphere();
151
+ mesh.geometry.setAttribute('position', new BufferAttribute(quantized, 3));
103
152
  mesh.geometry.attributes.position.isPacked = true;
104
153
  mesh.geometry.attributes.position.needsUpdate = true;
105
- mesh.geometry.attributes.position.bytes = quantized.length * encodingBytes;
154
+ mesh.geometry.attributes.position.bytes = quantized.length * encodingBytes; // modify material
155
+
106
156
  if (!(mesh.material instanceof PackedPhongMaterial)) {
107
157
  mesh.material = new PackedPhongMaterial().copy(mesh.material);
108
158
  }
159
+
109
160
  mesh.material.defines.USE_PACKED_POSITION = 0;
110
161
  mesh.material.uniforms.quantizeMatPos.value = decodeMat;
111
162
  mesh.material.uniforms.quantizeMatPos.needsUpdate = true;
112
163
  },
113
- compressUvs: function(mesh) {
164
+
165
+ /**
166
+ * Make the input mesh.geometry's uv attribute encoded and compressed.
167
+ * Also will change the mesh.material to `PackedPhongMaterial` which let the vertex shader program decode the uv data.
168
+ *
169
+ * @param {THREE.Mesh} mesh
170
+ *
171
+ */
172
+ compressUvs: function (mesh) {
114
173
  if (!mesh.geometry) {
115
- console.error("Mesh must contain geometry property. ");
174
+ console.error('Mesh must contain geometry property. ');
116
175
  }
176
+
117
177
  const uvs = mesh.geometry.attributes.uv;
178
+
118
179
  if (!uvs) {
119
- console.error("Geometry must contain uv attribute. ");
180
+ console.error('Geometry must contain uv attribute. ');
120
181
  }
121
- if (uvs.isPacked)
122
- return;
123
- const range = { min: Infinity, max: -Infinity };
182
+
183
+ if (uvs.isPacked) return;
184
+ const range = {
185
+ min: Infinity,
186
+ max: -Infinity
187
+ };
124
188
  const array = uvs.array;
189
+
125
190
  for (let i = 0; i < array.length; i++) {
126
191
  range.min = Math.min(range.min, array[i]);
127
192
  range.max = Math.max(range.max, array[i]);
128
193
  }
194
+
129
195
  let result;
130
- if (range.min >= -1 && range.max <= 1) {
196
+
197
+ if (range.min >= -1.0 && range.max <= 1.0) {
198
+ // use default encoding method
131
199
  result = new Uint16Array(array.length);
200
+
132
201
  for (let i = 0; i < array.length; i += 2) {
133
202
  const encoded = this.EncodingFuncs.defaultEncode(array[i], array[i + 1], 0, 2);
134
203
  result[i] = encoded[0];
135
204
  result[i + 1] = encoded[1];
136
205
  }
137
- mesh.geometry.setAttribute("uv", new THREE.BufferAttribute(result, 2, true));
206
+
207
+ mesh.geometry.setAttribute('uv', new BufferAttribute(result, 2, true));
138
208
  mesh.geometry.attributes.uv.isPacked = true;
139
209
  mesh.geometry.attributes.uv.needsUpdate = true;
140
210
  mesh.geometry.attributes.uv.bytes = result.length * 2;
211
+
141
212
  if (!(mesh.material instanceof PackedPhongMaterial)) {
142
213
  mesh.material = new PackedPhongMaterial().copy(mesh.material);
143
214
  }
215
+
144
216
  mesh.material.defines.USE_PACKED_UV = 0;
145
217
  } else {
218
+ // use quantized encoding method
146
219
  result = this.EncodingFuncs.quantizedEncodeUV(array, 2);
147
- mesh.geometry.setAttribute("uv", new THREE.BufferAttribute(result.quantized, 2));
220
+ mesh.geometry.setAttribute('uv', new BufferAttribute(result.quantized, 2));
148
221
  mesh.geometry.attributes.uv.isPacked = true;
149
222
  mesh.geometry.attributes.uv.needsUpdate = true;
150
223
  mesh.geometry.attributes.uv.bytes = result.quantized.length * 2;
224
+
151
225
  if (!(mesh.material instanceof PackedPhongMaterial)) {
152
226
  mesh.material = new PackedPhongMaterial().copy(mesh.material);
153
227
  }
228
+
154
229
  mesh.material.defines.USE_PACKED_UV = 1;
155
230
  mesh.material.uniforms.quantizeMatUV.value = result.decodeMat;
156
231
  mesh.material.uniforms.quantizeMatUV.needsUpdate = true;
157
232
  }
158
233
  },
159
234
  EncodingFuncs: {
160
- defaultEncode: function(x, y, z, bytes) {
235
+ defaultEncode: function (x, y, z, bytes) {
161
236
  if (bytes == 1) {
162
237
  const tmpx = Math.round((x + 1) * 0.5 * 255);
163
238
  const tmpy = Math.round((y + 1) * 0.5 * 255);
@@ -169,99 +244,118 @@ var GeometryCompressionUtils = {
169
244
  const tmpz = Math.round((z + 1) * 0.5 * 65535);
170
245
  return new Uint16Array([tmpx, tmpy, tmpz]);
171
246
  } else {
172
- console.error("number of bytes must be 1 or 2");
247
+ console.error('number of bytes must be 1 or 2');
173
248
  }
174
249
  },
175
- defaultDecode: function(array, bytes) {
250
+ defaultDecode: function (array, bytes) {
176
251
  if (bytes == 1) {
177
- return [array[0] / 255 * 2 - 1, array[1] / 255 * 2 - 1, array[2] / 255 * 2 - 1];
252
+ return [array[0] / 255 * 2.0 - 1.0, array[1] / 255 * 2.0 - 1.0, array[2] / 255 * 2.0 - 1.0];
178
253
  } else if (bytes == 2) {
179
- return [array[0] / 65535 * 2 - 1, array[1] / 65535 * 2 - 1, array[2] / 65535 * 2 - 1];
254
+ return [array[0] / 65535 * 2.0 - 1.0, array[1] / 65535 * 2.0 - 1.0, array[2] / 65535 * 2.0 - 1.0];
180
255
  } else {
181
- console.error("number of bytes must be 1 or 2");
256
+ console.error('number of bytes must be 1 or 2');
182
257
  }
183
258
  },
184
- anglesEncode: function(x, y, z) {
185
- const normal0 = parseInt(0.5 * (1 + Math.atan2(y, x) / Math.PI) * 65535);
186
- const normal1 = parseInt(0.5 * (1 + z) * 65535);
259
+ // for `Angles` encoding
260
+ anglesEncode: function (x, y, z) {
261
+ const normal0 = parseInt(0.5 * (1.0 + Math.atan2(y, x) / Math.PI) * 65535);
262
+ const normal1 = parseInt(0.5 * (1.0 + z) * 65535);
187
263
  return new Uint16Array([normal0, normal1]);
188
264
  },
189
- octEncodeBest: function(x, y, z, bytes) {
190
- var oct, dec, best, currentCos, bestCos;
191
- best = oct = octEncodeVec3(x, y, z, "floor", "floor");
265
+ // for `Octahedron` encoding
266
+ octEncodeBest: function (x, y, z, bytes) {
267
+ var oct, dec, best, currentCos, bestCos; // Test various combinations of ceil and floor
268
+ // to minimize rounding errors
269
+
270
+ best = oct = octEncodeVec3(x, y, z, 'floor', 'floor');
192
271
  dec = octDecodeVec2(oct);
193
272
  bestCos = dot(x, y, z, dec);
194
- oct = octEncodeVec3(x, y, z, "ceil", "floor");
273
+ oct = octEncodeVec3(x, y, z, 'ceil', 'floor');
195
274
  dec = octDecodeVec2(oct);
196
275
  currentCos = dot(x, y, z, dec);
276
+
197
277
  if (currentCos > bestCos) {
198
278
  best = oct;
199
279
  bestCos = currentCos;
200
280
  }
201
- oct = octEncodeVec3(x, y, z, "floor", "ceil");
281
+
282
+ oct = octEncodeVec3(x, y, z, 'floor', 'ceil');
202
283
  dec = octDecodeVec2(oct);
203
284
  currentCos = dot(x, y, z, dec);
285
+
204
286
  if (currentCos > bestCos) {
205
287
  best = oct;
206
288
  bestCos = currentCos;
207
289
  }
208
- oct = octEncodeVec3(x, y, z, "ceil", "ceil");
290
+
291
+ oct = octEncodeVec3(x, y, z, 'ceil', 'ceil');
209
292
  dec = octDecodeVec2(oct);
210
293
  currentCos = dot(x, y, z, dec);
294
+
211
295
  if (currentCos > bestCos) {
212
296
  best = oct;
213
297
  }
298
+
214
299
  return best;
300
+
215
301
  function octEncodeVec3(x0, y0, z0, xfunc, yfunc) {
216
- var x2 = x0 / (Math.abs(x0) + Math.abs(y0) + Math.abs(z0));
217
- var y2 = y0 / (Math.abs(x0) + Math.abs(y0) + Math.abs(z0));
302
+ var x = x0 / (Math.abs(x0) + Math.abs(y0) + Math.abs(z0));
303
+ var y = y0 / (Math.abs(x0) + Math.abs(y0) + Math.abs(z0));
304
+
218
305
  if (z < 0) {
219
- var tempx = (1 - Math.abs(y2)) * (x2 >= 0 ? 1 : -1);
220
- var tempy = (1 - Math.abs(x2)) * (y2 >= 0 ? 1 : -1);
221
- x2 = tempx;
222
- y2 = tempy;
223
- var diff = 1 - Math.abs(x2) - Math.abs(y2);
306
+ var tempx = (1 - Math.abs(y)) * (x >= 0 ? 1 : -1);
307
+ var tempy = (1 - Math.abs(x)) * (y >= 0 ? 1 : -1);
308
+ x = tempx;
309
+ y = tempy;
310
+ var diff = 1 - Math.abs(x) - Math.abs(y);
311
+
224
312
  if (diff > 0) {
225
- diff += 1e-3;
226
- x2 += x2 > 0 ? diff / 2 : -diff / 2;
227
- y2 += y2 > 0 ? diff / 2 : -diff / 2;
313
+ diff += 0.001;
314
+ x += x > 0 ? diff / 2 : -diff / 2;
315
+ y += y > 0 ? diff / 2 : -diff / 2;
228
316
  }
229
317
  }
318
+
230
319
  if (bytes == 1) {
231
- return new Int8Array([Math[xfunc](x2 * 127.5 + (x2 < 0 ? 1 : 0)), Math[yfunc](y2 * 127.5 + (y2 < 0 ? 1 : 0))]);
320
+ return new Int8Array([Math[xfunc](x * 127.5 + (x < 0 ? 1 : 0)), Math[yfunc](y * 127.5 + (y < 0 ? 1 : 0))]);
232
321
  }
322
+
233
323
  if (bytes == 2) {
234
- return new Int16Array([
235
- Math[xfunc](x2 * 32767.5 + (x2 < 0 ? 1 : 0)),
236
- Math[yfunc](y2 * 32767.5 + (y2 < 0 ? 1 : 0))
237
- ]);
324
+ return new Int16Array([Math[xfunc](x * 32767.5 + (x < 0 ? 1 : 0)), Math[yfunc](y * 32767.5 + (y < 0 ? 1 : 0))]);
238
325
  }
239
326
  }
240
- function octDecodeVec2(oct2) {
241
- var x2 = oct2[0];
242
- var y2 = oct2[1];
327
+
328
+ function octDecodeVec2(oct) {
329
+ var x = oct[0];
330
+ var y = oct[1];
331
+
243
332
  if (bytes == 1) {
244
- x2 /= x2 < 0 ? 127 : 128;
245
- y2 /= y2 < 0 ? 127 : 128;
333
+ x /= x < 0 ? 127 : 128;
334
+ y /= y < 0 ? 127 : 128;
246
335
  } else if (bytes == 2) {
247
- x2 /= x2 < 0 ? 32767 : 32768;
248
- y2 /= y2 < 0 ? 32767 : 32768;
336
+ x /= x < 0 ? 32767 : 32768;
337
+ y /= y < 0 ? 32767 : 32768;
249
338
  }
250
- var z2 = 1 - Math.abs(x2) - Math.abs(y2);
251
- if (z2 < 0) {
252
- var tmpx = x2;
253
- x2 = (1 - Math.abs(y2)) * (x2 >= 0 ? 1 : -1);
254
- y2 = (1 - Math.abs(tmpx)) * (y2 >= 0 ? 1 : -1);
339
+
340
+ var z = 1 - Math.abs(x) - Math.abs(y);
341
+
342
+ if (z < 0) {
343
+ var tmpx = x;
344
+ x = (1 - Math.abs(y)) * (x >= 0 ? 1 : -1);
345
+ y = (1 - Math.abs(tmpx)) * (y >= 0 ? 1 : -1);
255
346
  }
256
- var length = Math.sqrt(x2 * x2 + y2 * y2 + z2 * z2);
257
- return [x2 / length, y2 / length, z2 / length];
347
+
348
+ var length = Math.sqrt(x * x + y * y + z * z);
349
+ return [x / length, y / length, z / length];
258
350
  }
259
- function dot(x2, y2, z2, vec3) {
260
- return x2 * vec3[0] + y2 * vec3[1] + z2 * vec3[2];
351
+
352
+ function dot(x, y, z, vec3) {
353
+ return x * vec3[0] + y * vec3[1] + z * vec3[2];
261
354
  }
262
355
  },
263
- quantizedEncode: function(array, bytes) {
356
+ quantizedEncode: function (array, bytes) {
264
357
  let quantized, segments;
358
+
265
359
  if (bytes == 1) {
266
360
  quantized = new Uint8Array(array.length);
267
361
  segments = 255;
@@ -269,13 +363,15 @@ var GeometryCompressionUtils = {
269
363
  quantized = new Uint16Array(array.length);
270
364
  segments = 65535;
271
365
  } else {
272
- console.error("number of bytes error! ");
366
+ console.error('number of bytes error! ');
273
367
  }
274
- const decodeMat = new THREE.Matrix4();
368
+
369
+ const decodeMat = new Matrix4();
275
370
  const min = new Float32Array(3);
276
371
  const max = new Float32Array(3);
277
372
  min[0] = min[1] = min[2] = Number.MAX_VALUE;
278
373
  max[0] = max[1] = max[2] = -Number.MAX_VALUE;
374
+
279
375
  for (let i = 0; i < array.length; i += 3) {
280
376
  min[0] = Math.min(min[0], array[i + 0]);
281
377
  min[1] = Math.min(min[1], array[i + 1]);
@@ -284,30 +380,28 @@ var GeometryCompressionUtils = {
284
380
  max[1] = Math.max(max[1], array[i + 1]);
285
381
  max[2] = Math.max(max[2], array[i + 2]);
286
382
  }
287
- decodeMat.scale(
288
- new THREE.Vector3((max[0] - min[0]) / segments, (max[1] - min[1]) / segments, (max[2] - min[2]) / segments)
289
- );
383
+
384
+ decodeMat.scale(new Vector3((max[0] - min[0]) / segments, (max[1] - min[1]) / segments, (max[2] - min[2]) / segments));
290
385
  decodeMat.elements[12] = min[0];
291
386
  decodeMat.elements[13] = min[1];
292
387
  decodeMat.elements[14] = min[2];
293
388
  decodeMat.transpose();
294
- const multiplier = new Float32Array([
295
- max[0] !== min[0] ? segments / (max[0] - min[0]) : 0,
296
- max[1] !== min[1] ? segments / (max[1] - min[1]) : 0,
297
- max[2] !== min[2] ? segments / (max[2] - min[2]) : 0
298
- ]);
389
+ const multiplier = new Float32Array([max[0] !== min[0] ? segments / (max[0] - min[0]) : 0, max[1] !== min[1] ? segments / (max[1] - min[1]) : 0, max[2] !== min[2] ? segments / (max[2] - min[2]) : 0]);
390
+
299
391
  for (let i = 0; i < array.length; i += 3) {
300
392
  quantized[i + 0] = Math.floor((array[i + 0] - min[0]) * multiplier[0]);
301
393
  quantized[i + 1] = Math.floor((array[i + 1] - min[1]) * multiplier[1]);
302
394
  quantized[i + 2] = Math.floor((array[i + 2] - min[2]) * multiplier[2]);
303
395
  }
396
+
304
397
  return {
305
- quantized,
306
- decodeMat
398
+ quantized: quantized,
399
+ decodeMat: decodeMat
307
400
  };
308
401
  },
309
- quantizedEncodeUV: function(array, bytes) {
402
+ quantizedEncodeUV: function (array, bytes) {
310
403
  let quantized, segments;
404
+
311
405
  if (bytes == 1) {
312
406
  quantized = new Uint8Array(array.length);
313
407
  segments = 255;
@@ -315,69 +409,60 @@ var GeometryCompressionUtils = {
315
409
  quantized = new Uint16Array(array.length);
316
410
  segments = 65535;
317
411
  } else {
318
- console.error("number of bytes error! ");
412
+ console.error('number of bytes error! ');
319
413
  }
320
- const decodeMat = new THREE.Matrix3();
414
+
415
+ const decodeMat = new Matrix3();
321
416
  const min = new Float32Array(2);
322
417
  const max = new Float32Array(2);
323
418
  min[0] = min[1] = Number.MAX_VALUE;
324
419
  max[0] = max[1] = -Number.MAX_VALUE;
420
+
325
421
  for (let i = 0; i < array.length; i += 2) {
326
422
  min[0] = Math.min(min[0], array[i + 0]);
327
423
  min[1] = Math.min(min[1], array[i + 1]);
328
424
  max[0] = Math.max(max[0], array[i + 0]);
329
425
  max[1] = Math.max(max[1], array[i + 1]);
330
426
  }
427
+
331
428
  decodeMat.scale((max[0] - min[0]) / segments, (max[1] - min[1]) / segments);
332
429
  decodeMat.elements[6] = min[0];
333
430
  decodeMat.elements[7] = min[1];
334
431
  decodeMat.transpose();
335
- const multiplier = new Float32Array([
336
- max[0] !== min[0] ? segments / (max[0] - min[0]) : 0,
337
- max[1] !== min[1] ? segments / (max[1] - min[1]) : 0
338
- ]);
432
+ const multiplier = new Float32Array([max[0] !== min[0] ? segments / (max[0] - min[0]) : 0, max[1] !== min[1] ? segments / (max[1] - min[1]) : 0]);
433
+
339
434
  for (let i = 0; i < array.length; i += 2) {
340
435
  quantized[i + 0] = Math.floor((array[i + 0] - min[0]) * multiplier[0]);
341
436
  quantized[i + 1] = Math.floor((array[i + 1] - min[1]) * multiplier[1]);
342
437
  }
438
+
343
439
  return {
344
- quantized,
345
- decodeMat
440
+ quantized: quantized,
441
+ decodeMat: decodeMat
346
442
  };
347
443
  }
348
444
  }
349
445
  };
350
- class PackedPhongMaterial extends THREE.MeshPhongMaterial {
446
+ /**
447
+ * `PackedPhongMaterial` inherited from THREE.MeshPhongMaterial
448
+ *
449
+ * @param {Object} parameters
450
+ */
451
+
452
+ class PackedPhongMaterial extends MeshPhongMaterial {
351
453
  constructor(parameters) {
352
454
  super();
353
455
  this.defines = {};
354
- this.type = "PackedPhongMaterial";
355
- this.uniforms = THREE.UniformsUtils.merge([
356
- THREE.ShaderLib.phong.uniforms,
357
- {
358
- quantizeMatPos: { value: null },
359
- quantizeMatUV: { value: null }
456
+ this.type = 'PackedPhongMaterial';
457
+ this.uniforms = UniformsUtils.merge([ShaderLib.phong.uniforms, {
458
+ quantizeMatPos: {
459
+ value: null
460
+ },
461
+ quantizeMatUV: {
462
+ value: null
360
463
  }
361
- ]);
362
- this.vertexShader = [
363
- "#define PHONG",
364
- "varying vec3 vViewPosition;",
365
- "#ifndef FLAT_SHADED",
366
- "varying vec3 vNormal;",
367
- "#endif",
368
- THREE.ShaderChunk.common,
369
- THREE.ShaderChunk.uv_pars_vertex,
370
- THREE.ShaderChunk.uv2_pars_vertex,
371
- THREE.ShaderChunk.displacementmap_pars_vertex,
372
- THREE.ShaderChunk.envmap_pars_vertex,
373
- THREE.ShaderChunk.color_pars_vertex,
374
- THREE.ShaderChunk.fog_pars_vertex,
375
- THREE.ShaderChunk.morphtarget_pars_vertex,
376
- THREE.ShaderChunk.skinning_pars_vertex,
377
- THREE.ShaderChunk.shadowmap_pars_vertex,
378
- THREE.ShaderChunk.logdepthbuf_pars_vertex,
379
- THREE.ShaderChunk.clipping_planes_pars_vertex,
380
- `#ifdef USE_PACKED_NORMAL
464
+ }]);
465
+ this.vertexShader = ['#define PHONG', 'varying vec3 vViewPosition;', '#ifndef FLAT_SHADED', 'varying vec3 vNormal;', '#endif', ShaderChunk.common, ShaderChunk.uv_pars_vertex, ShaderChunk.uv2_pars_vertex, ShaderChunk.displacementmap_pars_vertex, ShaderChunk.envmap_pars_vertex, ShaderChunk.color_pars_vertex, ShaderChunk.fog_pars_vertex, ShaderChunk.morphtarget_pars_vertex, ShaderChunk.skinning_pars_vertex, ShaderChunk.shadowmap_pars_vertex, ShaderChunk.logdepthbuf_pars_vertex, ShaderChunk.clipping_planes_pars_vertex, `#ifdef USE_PACKED_NORMAL
381
466
  #if USE_PACKED_NORMAL == 0
382
467
  vec3 decodeNormal(vec3 packedNormal)
383
468
  {
@@ -408,18 +493,15 @@ class PackedPhongMaterial extends THREE.MeshPhongMaterial {
408
493
  return normalize(v);
409
494
  }
410
495
  #endif
411
- #endif`,
412
- `#ifdef USE_PACKED_POSITION
496
+ #endif`, `#ifdef USE_PACKED_POSITION
413
497
  #if USE_PACKED_POSITION == 0
414
498
  uniform mat4 quantizeMatPos;
415
499
  #endif
416
- #endif`,
417
- `#ifdef USE_PACKED_UV
500
+ #endif`, `#ifdef USE_PACKED_UV
418
501
  #if USE_PACKED_UV == 1
419
502
  uniform mat3 quantizeMatUV;
420
503
  #endif
421
- #endif`,
422
- `#ifdef USE_PACKED_UV
504
+ #endif`, `#ifdef USE_PACKED_UV
423
505
  #if USE_PACKED_UV == 0
424
506
  vec2 decodeUV(vec2 packedUV)
425
507
  {
@@ -435,113 +517,29 @@ class PackedPhongMaterial extends THREE.MeshPhongMaterial {
435
517
  return uv;
436
518
  }
437
519
  #endif
438
- #endif`,
439
- "void main() {",
440
- THREE.ShaderChunk.uv_vertex,
441
- `#ifdef USE_UV
520
+ #endif`, 'void main() {', ShaderChunk.uv_vertex, `#ifdef USE_UV
442
521
  #ifdef USE_PACKED_UV
443
522
  vUv = decodeUV(vUv);
444
523
  #endif
445
- #endif`,
446
- THREE.ShaderChunk.uv2_vertex,
447
- THREE.ShaderChunk.color_vertex,
448
- THREE.ShaderChunk.beginnormal_vertex,
449
- `#ifdef USE_PACKED_NORMAL
524
+ #endif`, ShaderChunk.uv2_vertex, ShaderChunk.color_vertex, ShaderChunk.beginnormal_vertex, `#ifdef USE_PACKED_NORMAL
450
525
  objectNormal = decodeNormal(objectNormal);
451
526
  #endif
452
527
 
453
528
  #ifdef USE_TANGENT
454
529
  vec3 objectTangent = vec3( tangent.xyz );
455
530
  #endif
456
- `,
457
- THREE.ShaderChunk.morphnormal_vertex,
458
- THREE.ShaderChunk.skinbase_vertex,
459
- THREE.ShaderChunk.skinnormal_vertex,
460
- THREE.ShaderChunk.defaultnormal_vertex,
461
- "#ifndef FLAT_SHADED",
462
- " vNormal = normalize( transformedNormal );",
463
- "#endif",
464
- THREE.ShaderChunk.begin_vertex,
465
- `#ifdef USE_PACKED_POSITION
531
+ `, ShaderChunk.morphnormal_vertex, ShaderChunk.skinbase_vertex, ShaderChunk.skinnormal_vertex, ShaderChunk.defaultnormal_vertex, '#ifndef FLAT_SHADED', ' vNormal = normalize( transformedNormal );', '#endif', ShaderChunk.begin_vertex, `#ifdef USE_PACKED_POSITION
466
532
  #if USE_PACKED_POSITION == 0
467
533
  transformed = ( vec4(transformed, 1.0) * quantizeMatPos ).xyz;
468
534
  #endif
469
- #endif`,
470
- THREE.ShaderChunk.morphtarget_vertex,
471
- THREE.ShaderChunk.skinning_vertex,
472
- THREE.ShaderChunk.displacementmap_vertex,
473
- THREE.ShaderChunk.project_vertex,
474
- THREE.ShaderChunk.logdepthbuf_vertex,
475
- THREE.ShaderChunk.clipping_planes_vertex,
476
- "vViewPosition = - mvPosition.xyz;",
477
- THREE.ShaderChunk.worldpos_vertex,
478
- THREE.ShaderChunk.envmap_vertex,
479
- THREE.ShaderChunk.shadowmap_vertex,
480
- THREE.ShaderChunk.fog_vertex,
481
- "}"
482
- ].join("\n");
483
- this.fragmentShader = [
484
- "#define PHONG",
485
- "uniform vec3 diffuse;",
486
- "uniform vec3 emissive;",
487
- "uniform vec3 specular;",
488
- "uniform float shininess;",
489
- "uniform float opacity;",
490
- THREE.ShaderChunk.common,
491
- THREE.ShaderChunk.packing,
492
- THREE.ShaderChunk.dithering_pars_fragment,
493
- THREE.ShaderChunk.color_pars_fragment,
494
- THREE.ShaderChunk.uv_pars_fragment,
495
- THREE.ShaderChunk.uv2_pars_fragment,
496
- THREE.ShaderChunk.map_pars_fragment,
497
- THREE.ShaderChunk.alphamap_pars_fragment,
498
- THREE.ShaderChunk.aomap_pars_fragment,
499
- THREE.ShaderChunk.lightmap_pars_fragment,
500
- THREE.ShaderChunk.emissivemap_pars_fragment,
501
- THREE.ShaderChunk.envmap_common_pars_fragment,
502
- THREE.ShaderChunk.envmap_pars_fragment,
503
- THREE.ShaderChunk.cube_uv_reflection_fragment,
504
- THREE.ShaderChunk.fog_pars_fragment,
505
- THREE.ShaderChunk.bsdfs,
506
- THREE.ShaderChunk.lights_pars_begin,
507
- THREE.ShaderChunk.lights_phong_pars_fragment,
508
- THREE.ShaderChunk.shadowmap_pars_fragment,
509
- THREE.ShaderChunk.bumpmap_pars_fragment,
510
- THREE.ShaderChunk.normalmap_pars_fragment,
511
- THREE.ShaderChunk.specularmap_pars_fragment,
512
- THREE.ShaderChunk.logdepthbuf_pars_fragment,
513
- THREE.ShaderChunk.clipping_planes_pars_fragment,
514
- "void main() {",
515
- THREE.ShaderChunk.clipping_planes_fragment,
516
- "vec4 diffuseColor = vec4( diffuse, opacity );",
517
- "ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );",
518
- "vec3 totalEmissiveRadiance = emissive;",
519
- THREE.ShaderChunk.logdepthbuf_fragment,
520
- THREE.ShaderChunk.map_fragment,
521
- THREE.ShaderChunk.color_fragment,
522
- THREE.ShaderChunk.alphamap_fragment,
523
- THREE.ShaderChunk.alphatest_fragment,
524
- THREE.ShaderChunk.specularmap_fragment,
525
- THREE.ShaderChunk.normal_fragment_begin,
526
- THREE.ShaderChunk.normal_fragment_maps,
527
- THREE.ShaderChunk.emissivemap_fragment,
528
- THREE.ShaderChunk.lights_phong_fragment,
529
- THREE.ShaderChunk.lights_fragment_begin,
530
- THREE.ShaderChunk.lights_fragment_maps,
531
- THREE.ShaderChunk.lights_fragment_end,
532
- THREE.ShaderChunk.aomap_fragment,
533
- "vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;",
534
- THREE.ShaderChunk.envmap_fragment,
535
- "gl_FragColor = vec4( outgoingLight, diffuseColor.a );",
536
- THREE.ShaderChunk.tonemapping_fragment,
537
- THREE.ShaderChunk.encodings_fragment,
538
- THREE.ShaderChunk.fog_fragment,
539
- THREE.ShaderChunk.premultiplied_alpha_fragment,
540
- THREE.ShaderChunk.dithering_fragment,
541
- "}"
542
- ].join("\n");
535
+ #endif`, ShaderChunk.morphtarget_vertex, ShaderChunk.skinning_vertex, ShaderChunk.displacementmap_vertex, ShaderChunk.project_vertex, ShaderChunk.logdepthbuf_vertex, ShaderChunk.clipping_planes_vertex, 'vViewPosition = - mvPosition.xyz;', ShaderChunk.worldpos_vertex, ShaderChunk.envmap_vertex, ShaderChunk.shadowmap_vertex, ShaderChunk.fog_vertex, '}'].join('\n'); // Use the original MeshPhongMaterial's fragmentShader.
536
+
537
+ this.fragmentShader = ['#define PHONG', 'uniform vec3 diffuse;', 'uniform vec3 emissive;', 'uniform vec3 specular;', 'uniform float shininess;', 'uniform float opacity;', ShaderChunk.common, ShaderChunk.packing, ShaderChunk.dithering_pars_fragment, ShaderChunk.color_pars_fragment, ShaderChunk.uv_pars_fragment, ShaderChunk.uv2_pars_fragment, ShaderChunk.map_pars_fragment, ShaderChunk.alphamap_pars_fragment, ShaderChunk.aomap_pars_fragment, ShaderChunk.lightmap_pars_fragment, ShaderChunk.emissivemap_pars_fragment, ShaderChunk.envmap_common_pars_fragment, ShaderChunk.envmap_pars_fragment, ShaderChunk.cube_uv_reflection_fragment, ShaderChunk.fog_pars_fragment, ShaderChunk.bsdfs, ShaderChunk.lights_pars_begin, ShaderChunk.lights_phong_pars_fragment, ShaderChunk.shadowmap_pars_fragment, ShaderChunk.bumpmap_pars_fragment, ShaderChunk.normalmap_pars_fragment, ShaderChunk.specularmap_pars_fragment, ShaderChunk.logdepthbuf_pars_fragment, ShaderChunk.clipping_planes_pars_fragment, 'void main() {', ShaderChunk.clipping_planes_fragment, 'vec4 diffuseColor = vec4( diffuse, opacity );', 'ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );', 'vec3 totalEmissiveRadiance = emissive;', ShaderChunk.logdepthbuf_fragment, ShaderChunk.map_fragment, ShaderChunk.color_fragment, ShaderChunk.alphamap_fragment, ShaderChunk.alphatest_fragment, ShaderChunk.specularmap_fragment, ShaderChunk.normal_fragment_begin, ShaderChunk.normal_fragment_maps, ShaderChunk.emissivemap_fragment, // accumulation
538
+ ShaderChunk.lights_phong_fragment, ShaderChunk.lights_fragment_begin, ShaderChunk.lights_fragment_maps, ShaderChunk.lights_fragment_end, // modulation
539
+ ShaderChunk.aomap_fragment, 'vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;', ShaderChunk.envmap_fragment, 'gl_FragColor = vec4( outgoingLight, diffuseColor.a );', ShaderChunk.tonemapping_fragment, ShaderChunk.encodings_fragment, ShaderChunk.fog_fragment, ShaderChunk.premultiplied_alpha_fragment, ShaderChunk.dithering_fragment, '}'].join('\n');
543
540
  this.setValues(parameters);
544
541
  }
542
+
545
543
  }
546
- exports.GeometryCompressionUtils = GeometryCompressionUtils;
547
- exports.PackedPhongMaterial = PackedPhongMaterial;
544
+
545
+ export { GeometryCompressionUtils, PackedPhongMaterial };