three-stdlib 2.15.1 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1218) hide show
  1. package/animation/AnimationClipCreator.js +32 -52
  2. package/animation/AnimationClipCreator.mjs +57 -0
  3. package/animation/CCDIKSolver.js +196 -302
  4. package/animation/CCDIKSolver.mjs +223 -0
  5. package/animation/MMDAnimationHelper.js +150 -341
  6. package/animation/MMDAnimationHelper.mjs +514 -0
  7. package/animation/MMDPhysics.js +154 -361
  8. package/animation/MMDPhysics.mjs +769 -0
  9. package/cameras/CinematicCamera.js +67 -77
  10. package/cameras/CinematicCamera.mjs +129 -0
  11. package/controls/ArcballControls.js +544 -1449
  12. package/controls/ArcballControls.mjs +1737 -0
  13. package/controls/DeviceOrientationControls.js +52 -97
  14. package/controls/DeviceOrientationControls.mjs +74 -0
  15. package/controls/DragControls.js +85 -187
  16. package/controls/DragControls.mjs +172 -0
  17. package/controls/FirstPersonControls.js +123 -193
  18. package/controls/FirstPersonControls.mjs +220 -0
  19. package/controls/FlyControls.js +82 -152
  20. package/controls/FlyControls.mjs +239 -0
  21. package/controls/OrbitControls.js +232 -481
  22. package/controls/OrbitControls.mjs +731 -0
  23. package/controls/PointerLockControls.js +63 -99
  24. package/controls/PointerLockControls.mjs +88 -0
  25. package/controls/TrackballControls.js +211 -383
  26. package/controls/TrackballControls.mjs +481 -0
  27. package/controls/TransformControls.js +575 -782
  28. package/controls/TransformControls.mjs +1068 -0
  29. package/controls/experimental/CameraControls.js +329 -609
  30. package/controls/experimental/CameraControls.mjs +673 -0
  31. package/csm/CSM.js +47 -108
  32. package/csm/CSM.mjs +244 -0
  33. package/csm/CSMFrustum.js +14 -29
  34. package/csm/CSMFrustum.mjs +75 -0
  35. package/csm/CSMHelper.js +20 -34
  36. package/csm/CSMHelper.mjs +114 -0
  37. package/csm/CSMShader.js +7 -11
  38. package/csm/CSMShader.mjs +251 -0
  39. package/curves/CurveExtras.js +73 -115
  40. package/curves/CurveExtras.mjs +224 -0
  41. package/curves/NURBSCurve.js +15 -43
  42. package/curves/NURBSCurve.mjs +35 -0
  43. package/curves/NURBSSurface.js +11 -27
  44. package/curves/NURBSSurface.mjs +28 -0
  45. package/curves/NURBSUtils.js +54 -203
  46. package/curves/NURBSUtils.mjs +226 -0
  47. package/deprecated/Geometry.js +191 -486
  48. package/deprecated/Geometry.mjs +966 -0
  49. package/effects/AnaglyphEffect.js +95 -60
  50. package/effects/AnaglyphEffect.mjs +120 -0
  51. package/effects/AsciiEffect.js +80 -110
  52. package/effects/AsciiEffect.mjs +173 -0
  53. package/effects/OutlineEffect.js +121 -204
  54. package/effects/OutlineEffect.mjs +295 -0
  55. package/effects/ParallaxBarrierEffect.js +39 -38
  56. package/effects/ParallaxBarrierEffect.mjs +64 -0
  57. package/effects/PeppersGhostEffect.js +19 -68
  58. package/effects/PeppersGhostEffect.mjs +85 -0
  59. package/effects/StereoEffect.js +12 -16
  60. package/effects/StereoEffect.mjs +32 -0
  61. package/environments/RoomEnvironment.js +52 -47
  62. package/environments/RoomEnvironment.mjs +78 -0
  63. package/exporters/ColladaExporter.js +115 -241
  64. package/exporters/ColladaExporter.mjs +299 -0
  65. package/exporters/DRACOExporter.js +67 -121
  66. package/exporters/DRACOExporter.mjs +132 -0
  67. package/exporters/GLTFExporter.js +463 -1014
  68. package/exporters/GLTFExporter.mjs +1381 -0
  69. package/exporters/MMDExporter.js +44 -102
  70. package/exporters/MMDExporter.mjs +102 -0
  71. package/exporters/OBJExporter.js +78 -140
  72. package/exporters/OBJExporter.mjs +166 -0
  73. package/exporters/PLYExporter.js +93 -154
  74. package/exporters/PLYExporter.mjs +278 -0
  75. package/exporters/STLExporter.js +30 -81
  76. package/exporters/STLExporter.mjs +129 -0
  77. package/exporters/USDZExporter.js +84 -144
  78. package/exporters/USDZExporter.mjs +328 -0
  79. package/geometries/BoxLineGeometry.js +7 -14
  80. package/geometries/BoxLineGeometry.mjs +45 -0
  81. package/geometries/ConvexGeometry.js +14 -23
  82. package/geometries/ConvexGeometry.mjs +29 -0
  83. package/geometries/DecalGeometry.js +108 -162
  84. package/geometries/DecalGeometry.mjs +184 -0
  85. package/geometries/LightningStrike.js +101 -294
  86. package/geometries/LightningStrike.mjs +547 -0
  87. package/geometries/ParametricGeometries.js +26 -76
  88. package/geometries/ParametricGeometries.mjs +129 -0
  89. package/geometries/ParametricGeometry.js +24 -48
  90. package/geometries/ParametricGeometry.mjs +63 -0
  91. package/geometries/RoundedBoxGeometry.js +33 -64
  92. package/geometries/RoundedBoxGeometry.mjs +91 -0
  93. package/geometries/TeapotGeometry.js +1434 -174
  94. package/geometries/TeapotGeometry.mjs +1557 -0
  95. package/geometries/TextGeometry.js +9 -17
  96. package/geometries/TextGeometry.mjs +23 -0
  97. package/helpers/LightProbeHelper.js +53 -21
  98. package/helpers/LightProbeHelper.mjs +72 -0
  99. package/helpers/PositionalAudioHelper.js +23 -30
  100. package/helpers/PositionalAudioHelper.mjs +68 -0
  101. package/helpers/RectAreaLightHelper.js +17 -33
  102. package/helpers/RectAreaLightHelper.mjs +44 -0
  103. package/helpers/VertexNormalsHelper.js +20 -41
  104. package/helpers/VertexNormalsHelper.mjs +54 -0
  105. package/helpers/VertexTangentsHelper.js +18 -36
  106. package/helpers/VertexTangentsHelper.mjs +45 -0
  107. package/index.js +969 -333
  108. package/index.mjs +969 -0
  109. package/interactive/SelectionBox.js +31 -46
  110. package/interactive/SelectionBox.mjs +137 -0
  111. package/interactive/SelectionHelper.js +16 -21
  112. package/interactive/SelectionHelper.mjs +54 -0
  113. package/libs/MeshoptDecoder.js +147 -58
  114. package/libs/MeshoptDecoder.mjs +210 -0
  115. package/libs/MotionControllers.js +66 -208
  116. package/libs/MotionControllers.mjs +261 -0
  117. package/lights/LightProbeGenerator.js +40 -96
  118. package/lights/LightProbeGenerator.mjs +145 -0
  119. package/lights/RectAreaLightUniformsLib.js +32842 -9
  120. package/lights/RectAreaLightUniformsLib.mjs +32842 -0
  121. package/lines/Line2.js +9 -12
  122. package/lines/Line2.mjs +13 -0
  123. package/lines/LineGeometry.js +7 -19
  124. package/lines/LineGeometry.mjs +44 -0
  125. package/lines/LineMaterial.js +51 -89
  126. package/lines/LineMaterial.mjs +539 -0
  127. package/lines/LineSegments2.js +56 -165
  128. package/lines/LineSegments2.mjs +202 -0
  129. package/lines/LineSegmentsGeometry.js +29 -71
  130. package/lines/LineSegmentsGeometry.mjs +124 -0
  131. package/lines/Wireframe.js +15 -29
  132. package/lines/Wireframe.mjs +31 -0
  133. package/lines/WireframeGeometry2.js +8 -9
  134. package/lines/WireframeGeometry2.mjs +13 -0
  135. package/loaders/3DMLoader.js +234 -469
  136. package/loaders/3DMLoader.mjs +802 -0
  137. package/loaders/3MFLoader.js +340 -555
  138. package/loaders/3MFLoader.mjs +837 -0
  139. package/loaders/AMFLoader.js +114 -219
  140. package/loaders/AMFLoader.mjs +284 -0
  141. package/loaders/AssimpLoader.js +328 -725
  142. package/loaders/AssimpLoader.mjs +1396 -0
  143. package/loaders/BVHLoader.js +94 -200
  144. package/loaders/BVHLoader.mjs +207 -0
  145. package/loaders/BasisTextureLoader.js +229 -357
  146. package/loaders/BasisTextureLoader.mjs +474 -0
  147. package/loaders/ColladaLoader.js +932 -1522
  148. package/loaders/ColladaLoader.mjs +2403 -0
  149. package/loaders/DDSLoader.js +42 -108
  150. package/loaders/DDSLoader.mjs +148 -0
  151. package/loaders/DRACOLoader.js +103 -210
  152. package/loaders/DRACOLoader.mjs +340 -0
  153. package/loaders/EXRLoader.js +461 -809
  154. package/loaders/EXRLoader.mjs +1351 -0
  155. package/loaders/FBXLoader.js +842 -1397
  156. package/loaders/FBXLoader.mjs +2362 -0
  157. package/loaders/FontLoader.js +33 -66
  158. package/loaders/FontLoader.mjs +111 -0
  159. package/loaders/GCodeLoader.js +63 -111
  160. package/loaders/GCodeLoader.mjs +141 -0
  161. package/loaders/GLTFLoader.js +771 -1484
  162. package/loaders/GLTFLoader.mjs +2316 -0
  163. package/loaders/HDRCubeTextureLoader.js +45 -50
  164. package/loaders/HDRCubeTextureLoader.mjs +77 -0
  165. package/loaders/KMZLoader.js +42 -55
  166. package/loaders/KMZLoader.mjs +75 -0
  167. package/loaders/KTX2Loader.js +229 -362
  168. package/loaders/KTX2Loader.mjs +427 -0
  169. package/loaders/KTXLoader.js +37 -99
  170. package/loaders/KTXLoader.mjs +87 -0
  171. package/loaders/LDrawLoader.js +313 -746
  172. package/loaders/LDrawLoader.mjs +1409 -0
  173. package/loaders/LUT3dlLoader.js +50 -62
  174. package/loaders/LUT3dlLoader.mjs +100 -0
  175. package/loaders/LUTCubeLoader.js +45 -56
  176. package/loaders/LUTCubeLoader.mjs +104 -0
  177. package/loaders/LWOLoader.js +227 -339
  178. package/loaders/LWOLoader.mjs +625 -0
  179. package/loaders/LottieLoader.js +36 -38
  180. package/loaders/LottieLoader.mjs +47 -0
  181. package/loaders/MD2Loader.js +248 -91
  182. package/loaders/MD2Loader.mjs +359 -0
  183. package/loaders/MDDLoader.js +25 -45
  184. package/loaders/MDDLoader.mjs +58 -0
  185. package/loaders/MMDLoader.js +359 -795
  186. package/loaders/MMDLoader.mjs +998 -0
  187. package/loaders/MTLLoader.js +91 -201
  188. package/loaders/MTLLoader.mjs +280 -0
  189. package/loaders/NRRDLoader.js +182 -263
  190. package/loaders/NRRDLoader.mjs +401 -0
  191. package/loaders/NodeMaterialLoader.js +121 -14
  192. package/loaders/NodeMaterialLoader.mjs +146 -0
  193. package/loaders/OBJLoader.js +161 -283
  194. package/loaders/OBJLoader.mjs +487 -0
  195. package/loaders/PCDLoader.js +145 -164
  196. package/loaders/PCDLoader.mjs +248 -0
  197. package/loaders/PDBLoader.js +45 -63
  198. package/loaders/PDBLoader.mjs +246 -0
  199. package/loaders/PLYLoader.js +106 -203
  200. package/loaders/PLYLoader.mjs +317 -0
  201. package/loaders/PRWMLoader.js +73 -110
  202. package/loaders/PRWMLoader.mjs +160 -0
  203. package/loaders/PVRLoader.js +32 -93
  204. package/loaders/PVRLoader.mjs +131 -0
  205. package/loaders/RGBELoader.js +96 -233
  206. package/loaders/RGBELoader.mjs +244 -0
  207. package/loaders/RGBMLoader.js +344 -514
  208. package/loaders/RGBMLoader.mjs +998 -0
  209. package/loaders/STLLoader.js +59 -165
  210. package/loaders/STLLoader.mjs +190 -0
  211. package/loaders/SVGLoader.js +481 -851
  212. package/loaders/SVGLoader.mjs +1709 -0
  213. package/loaders/TDSLoader.js +137 -527
  214. package/loaders/TDSLoader.mjs +480 -0
  215. package/loaders/TGALoader.js +94 -205
  216. package/loaders/TGALoader.mjs +285 -0
  217. package/loaders/TTFLoader.js +58 -79
  218. package/loaders/TTFLoader.mjs +131 -0
  219. package/loaders/TiltLoader.js +129 -167
  220. package/loaders/TiltLoader.mjs +373 -0
  221. package/loaders/VOXLoader.js +320 -84
  222. package/loaders/VOXLoader.mjs +431 -0
  223. package/loaders/VRMLLoader.js +786 -1268
  224. package/loaders/VRMLLoader.mjs +2093 -0
  225. package/loaders/VRMLoader.js +23 -31
  226. package/loaders/VRMLoader.mjs +38 -0
  227. package/loaders/VTKLoader.js +219 -407
  228. package/loaders/VTKLoader.mjs +646 -0
  229. package/loaders/XLoader.js +1083 -1259
  230. package/loaders/XLoader.mjs +1258 -0
  231. package/loaders/XYZLoader.js +28 -34
  232. package/loaders/XYZLoader.mjs +60 -0
  233. package/loaders/lwo/IFFParser.js +238 -492
  234. package/loaders/lwo/IFFParser.mjs +697 -0
  235. package/loaders/lwo/LWO2Parser.js +176 -279
  236. package/loaders/lwo/LWO2Parser.mjs +327 -0
  237. package/loaders/lwo/LWO3Parser.js +160 -247
  238. package/loaders/lwo/LWO3Parser.mjs +298 -0
  239. package/math/Capsule.js +56 -43
  240. package/math/Capsule.mjs +100 -0
  241. package/math/ColorConverter.js +18 -32
  242. package/math/ColorConverter.mjs +51 -0
  243. package/math/ConvexHull.js +97 -357
  244. package/math/ConvexHull.mjs +574 -0
  245. package/math/ImprovedNoise.js +282 -32
  246. package/math/ImprovedNoise.mjs +302 -0
  247. package/math/Lut.js +51 -35
  248. package/math/Lut.mjs +135 -0
  249. package/math/MeshSurfaceSampler.js +25 -68
  250. package/math/MeshSurfaceSampler.mjs +107 -0
  251. package/math/OBB.js +91 -152
  252. package/math/OBB.mjs +235 -0
  253. package/math/Octree.js +76 -139
  254. package/math/Octree.mjs +278 -0
  255. package/math/SimplexNoise.js +217 -238
  256. package/math/SimplexNoise.mjs +425 -0
  257. package/misc/ConvexObjectBreaker.js +79 -185
  258. package/misc/ConvexObjectBreaker.mjs +292 -0
  259. package/misc/GPUComputationRenderer.js +69 -194
  260. package/misc/GPUComputationRenderer.mjs +171 -0
  261. package/misc/Gyroscope.js +16 -22
  262. package/misc/Gyroscope.mjs +35 -0
  263. package/misc/MD2Character.js +52 -74
  264. package/misc/MD2Character.mjs +162 -0
  265. package/misc/MD2CharacterComplex.js +112 -163
  266. package/misc/MD2CharacterComplex.mjs +328 -0
  267. package/misc/MorphAnimMesh.js +20 -28
  268. package/misc/MorphAnimMesh.mjs +40 -0
  269. package/misc/MorphBlendMesh.js +45 -69
  270. package/misc/MorphBlendMesh.mjs +179 -0
  271. package/misc/ProgressiveLightmap.js +70 -187
  272. package/misc/ProgressiveLightmap.mjs +166 -0
  273. package/misc/RollerCoaster.js +106 -135
  274. package/misc/RollerCoaster.mjs +346 -0
  275. package/misc/TubePainter.js +74 -92
  276. package/misc/TubePainter.mjs +123 -0
  277. package/misc/Volume.js +108 -270
  278. package/misc/Volume.mjs +244 -0
  279. package/misc/VolumeSlice.js +34 -122
  280. package/misc/VolumeSlice.mjs +106 -0
  281. package/misc/WebGL.js +37 -34
  282. package/misc/WebGL.mjs +74 -0
  283. package/modifiers/CurveModifier.js +46 -151
  284. package/modifiers/CurveModifier.mjs +182 -0
  285. package/modifiers/EdgeSplitModifier.js +46 -90
  286. package/modifiers/EdgeSplitModifier.mjs +162 -0
  287. package/modifiers/SimplifyModifier.js +77 -202
  288. package/modifiers/SimplifyModifier.mjs +282 -0
  289. package/modifiers/TessellateModifier.js +65 -90
  290. package/modifiers/TessellateModifier.mjs +206 -0
  291. package/nodes/Nodes.js +274 -140
  292. package/nodes/Nodes.mjs +400 -0
  293. package/nodes/ShaderNode.js +296 -196
  294. package/nodes/ShaderNode.mjs +408 -0
  295. package/nodes/accessors/BufferNode.js +4 -8
  296. package/nodes/accessors/BufferNode.mjs +15 -0
  297. package/nodes/accessors/CameraNode.js +20 -25
  298. package/nodes/accessors/CameraNode.mjs +44 -0
  299. package/nodes/accessors/CubeTextureNode.js +14 -26
  300. package/nodes/accessors/CubeTextureNode.mjs +42 -0
  301. package/nodes/accessors/MaterialNode.js +43 -53
  302. package/nodes/accessors/MaterialNode.mjs +71 -0
  303. package/nodes/accessors/MaterialReferenceNode.js +3 -6
  304. package/nodes/accessors/MaterialReferenceNode.mjs +14 -0
  305. package/nodes/accessors/ModelNode.js +3 -5
  306. package/nodes/accessors/ModelNode.mjs +9 -0
  307. package/nodes/accessors/ModelViewProjectionNode.js +14 -13
  308. package/nodes/accessors/ModelViewProjectionNode.mjs +24 -0
  309. package/nodes/accessors/NormalNode.js +40 -39
  310. package/nodes/accessors/NormalNode.mjs +62 -0
  311. package/nodes/accessors/Object3DNode.js +40 -50
  312. package/nodes/accessors/Object3DNode.mjs +76 -0
  313. package/nodes/accessors/PointUVNode.js +5 -9
  314. package/nodes/accessors/PointUVNode.mjs +13 -0
  315. package/nodes/accessors/PositionNode.js +42 -41
  316. package/nodes/accessors/PositionNode.mjs +65 -0
  317. package/nodes/accessors/ReferenceNode.js +10 -17
  318. package/nodes/accessors/ReferenceNode.mjs +37 -0
  319. package/nodes/accessors/ReflectNode.js +23 -26
  320. package/nodes/accessors/ReflectNode.mjs +43 -0
  321. package/nodes/accessors/SkinningNode.js +46 -48
  322. package/nodes/accessors/SkinningNode.mjs +58 -0
  323. package/nodes/accessors/TextureNode.js +14 -29
  324. package/nodes/accessors/TextureNode.mjs +54 -0
  325. package/nodes/accessors/UVNode.js +5 -11
  326. package/nodes/accessors/UVNode.mjs +23 -0
  327. package/nodes/core/ArrayUniformNode.js +3 -7
  328. package/nodes/core/ArrayUniformNode.mjs +14 -0
  329. package/nodes/core/AttributeNode.js +5 -12
  330. package/nodes/core/AttributeNode.mjs +30 -0
  331. package/nodes/core/BypassNode.js +5 -12
  332. package/nodes/core/BypassNode.mjs +22 -0
  333. package/nodes/core/CodeNode.js +4 -12
  334. package/nodes/core/CodeNode.mjs +28 -0
  335. package/nodes/core/ConstNode.js +3 -7
  336. package/nodes/core/ConstNode.mjs +14 -0
  337. package/nodes/core/ContextNode.js +3 -8
  338. package/nodes/core/ContextNode.mjs +22 -0
  339. package/nodes/core/ExpressionNode.js +5 -9
  340. package/nodes/core/ExpressionNode.mjs +19 -0
  341. package/nodes/core/FunctionCallNode.js +6 -15
  342. package/nodes/core/FunctionCallNode.mjs +37 -0
  343. package/nodes/core/FunctionNode.js +10 -25
  344. package/nodes/core/FunctionNode.mjs +56 -0
  345. package/nodes/core/InputNode.js +12 -23
  346. package/nodes/core/InputNode.mjs +38 -0
  347. package/nodes/core/Node.js +35 -75
  348. package/nodes/core/Node.mjs +139 -0
  349. package/nodes/core/NodeAttribute.js +2 -4
  350. package/nodes/core/NodeAttribute.mjs +10 -0
  351. package/nodes/core/NodeBuilder.js +110 -224
  352. package/nodes/core/NodeBuilder.mjs +395 -0
  353. package/nodes/core/NodeCode.js +4 -7
  354. package/nodes/core/NodeCode.mjs +11 -0
  355. package/nodes/core/NodeFrame.js +9 -12
  356. package/nodes/core/NodeFrame.mjs +35 -0
  357. package/nodes/core/NodeFunctionInput.js +3 -5
  358. package/nodes/core/NodeFunctionInput.mjs +13 -0
  359. package/nodes/core/NodeKeywords.js +5 -16
  360. package/nodes/core/NodeKeywords.mjs +44 -0
  361. package/nodes/core/NodeUniform.js +3 -7
  362. package/nodes/core/NodeUniform.mjs +18 -0
  363. package/nodes/core/NodeUtils.js +39 -43
  364. package/nodes/core/NodeUtils.mjs +57 -0
  365. package/nodes/core/NodeVar.js +2 -4
  366. package/nodes/core/NodeVar.mjs +10 -0
  367. package/nodes/core/NodeVary.js +2 -4
  368. package/nodes/core/NodeVary.mjs +10 -0
  369. package/nodes/core/PropertyNode.js +4 -10
  370. package/nodes/core/PropertyNode.mjs +21 -0
  371. package/nodes/core/TempNode.js +5 -11
  372. package/nodes/core/TempNode.mjs +25 -0
  373. package/nodes/core/UniformNode.js +4 -10
  374. package/nodes/core/UniformNode.mjs +23 -0
  375. package/nodes/core/VarNode.js +3 -11
  376. package/nodes/core/VarNode.mjs +31 -0
  377. package/nodes/core/VaryNode.js +6 -15
  378. package/nodes/core/VaryNode.mjs +30 -0
  379. package/nodes/core/constants.js +20 -7
  380. package/nodes/core/constants.mjs +24 -0
  381. package/nodes/display/ColorSpaceNode.js +34 -38
  382. package/nodes/display/ColorSpaceNode.mjs +63 -0
  383. package/nodes/display/NormalMapNode.js +35 -53
  384. package/nodes/display/NormalMapNode.mjs +54 -0
  385. package/nodes/fog/FogNode.js +5 -9
  386. package/nodes/fog/FogNode.mjs +15 -0
  387. package/nodes/fog/FogRangeNode.js +5 -9
  388. package/nodes/fog/FogRangeNode.mjs +17 -0
  389. package/nodes/functions/BSDFs.js +61 -118
  390. package/nodes/functions/BSDFs.mjs +64 -0
  391. package/nodes/lights/LightContextNode.js +14 -23
  392. package/nodes/lights/LightContextNode.mjs +35 -0
  393. package/nodes/lights/LightNode.js +27 -31
  394. package/nodes/lights/LightNode.mjs +58 -0
  395. package/nodes/lights/LightsNode.js +9 -28
  396. package/nodes/lights/LightsNode.mjs +59 -0
  397. package/nodes/loaders/NodeLoader.js +27 -42
  398. package/nodes/loaders/NodeLoader.mjs +66 -0
  399. package/nodes/loaders/NodeMaterialLoader.js +4 -10
  400. package/nodes/loaders/NodeMaterialLoader.mjs +24 -0
  401. package/nodes/loaders/NodeObjectLoader.js +9 -19
  402. package/nodes/loaders/NodeObjectLoader.mjs +40 -0
  403. package/nodes/materials/LineBasicNodeMaterial.js +5 -10
  404. package/nodes/materials/LineBasicNodeMaterial.mjs +27 -0
  405. package/nodes/materials/Materials.js +14 -17
  406. package/nodes/materials/Materials.mjs +28 -0
  407. package/nodes/materials/MeshBasicNodeMaterial.js +5 -10
  408. package/nodes/materials/MeshBasicNodeMaterial.mjs +28 -0
  409. package/nodes/materials/MeshStandardNodeMaterial.js +5 -8
  410. package/nodes/materials/MeshStandardNodeMaterial.mjs +41 -0
  411. package/nodes/materials/NodeMaterial.js +20 -36
  412. package/nodes/materials/NodeMaterial.mjs +64 -0
  413. package/nodes/materials/PointsNodeMaterial.js +5 -10
  414. package/nodes/materials/PointsNodeMaterial.mjs +30 -0
  415. package/nodes/math/CondNode.js +11 -23
  416. package/nodes/math/CondNode.mjs +38 -0
  417. package/nodes/math/MathNode.js +98 -142
  418. package/nodes/math/MathNode.mjs +163 -0
  419. package/nodes/math/OperatorNode.js +24 -46
  420. package/nodes/math/OperatorNode.mjs +103 -0
  421. package/nodes/procedural/CheckerNode.js +13 -19
  422. package/nodes/procedural/CheckerNode.mjs +21 -0
  423. package/nodes/utils/ArrayElementNode.js +4 -8
  424. package/nodes/utils/ArrayElementNode.mjs +19 -0
  425. package/nodes/utils/ConvertNode.js +3 -8
  426. package/nodes/utils/ConvertNode.mjs +25 -0
  427. package/nodes/utils/JoinNode.js +7 -11
  428. package/nodes/utils/JoinNode.mjs +26 -0
  429. package/nodes/utils/MatcapUVNode.js +8 -11
  430. package/nodes/utils/MatcapUVNode.mjs +16 -0
  431. package/nodes/utils/OscNode.js +27 -33
  432. package/nodes/utils/OscNode.mjs +50 -0
  433. package/nodes/utils/SplitNode.js +6 -20
  434. package/nodes/utils/SplitNode.mjs +45 -0
  435. package/nodes/utils/SpriteSheetUVNode.js +23 -23
  436. package/nodes/utils/SpriteSheetUVNode.mjs +40 -0
  437. package/nodes/utils/TimerNode.js +20 -24
  438. package/nodes/utils/TimerNode.mjs +44 -0
  439. package/objects/GroundProjectedEnv.js +22 -37
  440. package/objects/GroundProjectedEnv.mjs +130 -0
  441. package/objects/Lensflare.js +86 -156
  442. package/objects/Lensflare.mjs +262 -0
  443. package/objects/LightningStorm.js +38 -102
  444. package/objects/LightningStorm.mjs +110 -0
  445. package/objects/MarchingCubes.js +150 -303
  446. package/objects/MarchingCubes.mjs +457 -0
  447. package/objects/Reflector.js +50 -72
  448. package/objects/Reflector.mjs +166 -0
  449. package/objects/ReflectorForSSRPass.js +80 -131
  450. package/objects/ReflectorForSSRPass.mjs +247 -0
  451. package/objects/ReflectorRTT.js +6 -7
  452. package/objects/ReflectorRTT.mjs +10 -0
  453. package/objects/Refractor.js +64 -106
  454. package/objects/Refractor.mjs +178 -0
  455. package/objects/ShadowMesh.js +8 -17
  456. package/objects/ShadowMesh.mjs +41 -0
  457. package/objects/Sky.js +119 -80
  458. package/objects/Sky.mjs +124 -0
  459. package/objects/Water.js +83 -127
  460. package/objects/Water.mjs +235 -0
  461. package/objects/Water2.js +72 -108
  462. package/objects/Water2.mjs +252 -0
  463. package/offscreen/jank.js +10 -14
  464. package/offscreen/jank.mjs +27 -0
  465. package/offscreen/offscreen.js +4 -5
  466. package/offscreen/offscreen.mjs +5 -0
  467. package/offscreen/scene.js +45 -48
  468. package/offscreen/scene.mjs +52 -0
  469. package/package.json +3 -3
  470. package/physics/AmmoPhysics.js +30 -71
  471. package/physics/AmmoPhysics.mjs +165 -0
  472. package/postprocessing/AdaptiveToneMappingPass.js +97 -123
  473. package/postprocessing/AdaptiveToneMappingPass.mjs +221 -0
  474. package/postprocessing/AfterimagePass.js +28 -49
  475. package/postprocessing/AfterimagePass.mjs +55 -0
  476. package/postprocessing/BloomPass.js +43 -69
  477. package/postprocessing/BloomPass.mjs +90 -0
  478. package/postprocessing/BokehPass.js +39 -69
  479. package/postprocessing/BokehPass.mjs +76 -0
  480. package/postprocessing/ClearPass.js +10 -25
  481. package/postprocessing/ClearPass.mjs +27 -0
  482. package/postprocessing/CubeTexturePass.js +28 -27
  483. package/postprocessing/CubeTexturePass.mjs +49 -0
  484. package/postprocessing/DotScreenPass.js +24 -32
  485. package/postprocessing/DotScreenPass.mjs +40 -0
  486. package/postprocessing/EffectComposer.js +39 -86
  487. package/postprocessing/EffectComposer.mjs +139 -0
  488. package/postprocessing/FilmPass.js +25 -30
  489. package/postprocessing/FilmPass.mjs +42 -0
  490. package/postprocessing/GlitchPass.js +38 -61
  491. package/postprocessing/GlitchPass.mjs +75 -0
  492. package/postprocessing/HalftonePass.js +19 -39
  493. package/postprocessing/HalftonePass.mjs +44 -0
  494. package/postprocessing/LUTPass.js +13 -38
  495. package/postprocessing/LUTPass.mjs +136 -0
  496. package/postprocessing/MaskPass.js +19 -38
  497. package/postprocessing/MaskPass.mjs +60 -0
  498. package/postprocessing/OutlinePass.js +135 -277
  499. package/postprocessing/OutlinePass.mjs +438 -0
  500. package/postprocessing/Pass.js +20 -44
  501. package/postprocessing/Pass.mjs +37 -0
  502. package/postprocessing/RenderPass.js +13 -36
  503. package/postprocessing/RenderPass.mjs +48 -0
  504. package/postprocessing/RenderPixelatedPass.js +44 -58
  505. package/postprocessing/RenderPixelatedPass.mjs +199 -0
  506. package/postprocessing/SAOPass.js +154 -189
  507. package/postprocessing/SAOPass.mjs +282 -0
  508. package/postprocessing/SMAAPass.js +64 -84
  509. package/postprocessing/SMAAPass.mjs +112 -0
  510. package/postprocessing/SSAARenderPass.js +121 -69
  511. package/postprocessing/SSAARenderPass.mjs +170 -0
  512. package/postprocessing/SSAOPass.js +123 -172
  513. package/postprocessing/SSAOPass.mjs +265 -0
  514. package/postprocessing/SSRPass.js +211 -280
  515. package/postprocessing/SSRPass.mjs +432 -0
  516. package/postprocessing/SavePass.js +20 -25
  517. package/postprocessing/SavePass.mjs +37 -0
  518. package/postprocessing/ShaderPass.js +14 -30
  519. package/postprocessing/ShaderPass.mjs +39 -0
  520. package/postprocessing/TAARenderPass.js +42 -61
  521. package/postprocessing/TAARenderPass.mjs +88 -0
  522. package/postprocessing/TexturePass.js +21 -22
  523. package/postprocessing/TexturePass.mjs +39 -0
  524. package/postprocessing/UnrealBloomPass.js +105 -213
  525. package/postprocessing/UnrealBloomPass.mjs +220 -0
  526. package/renderers/CSS2DRenderer.js +44 -56
  527. package/renderers/CSS2DRenderer.mjs +112 -0
  528. package/renderers/CSS3DRenderer.js +53 -86
  529. package/renderers/CSS3DRenderer.mjs +133 -0
  530. package/renderers/Projector.js +107 -274
  531. package/renderers/Projector.mjs +511 -0
  532. package/renderers/SVGRenderer.js +72 -182
  533. package/renderers/SVGRenderer.mjs +306 -0
  534. package/renderers/nodes/accessors/CameraNode.js +29 -40
  535. package/renderers/nodes/accessors/CameraNode.mjs +63 -0
  536. package/renderers/nodes/accessors/ModelNode.js +28 -37
  537. package/renderers/nodes/accessors/ModelNode.mjs +61 -0
  538. package/renderers/nodes/accessors/ModelViewProjectionNode.js +10 -23
  539. package/renderers/nodes/accessors/ModelViewProjectionNode.mjs +21 -0
  540. package/renderers/nodes/accessors/NormalNode.js +35 -45
  541. package/renderers/nodes/accessors/NormalNode.mjs +61 -0
  542. package/renderers/nodes/accessors/PositionNode.js +18 -19
  543. package/renderers/nodes/accessors/PositionNode.mjs +30 -0
  544. package/renderers/nodes/accessors/UVNode.js +5 -10
  545. package/renderers/nodes/accessors/UVNode.mjs +13 -0
  546. package/renderers/nodes/core/AttributeNode.js +5 -14
  547. package/renderers/nodes/core/AttributeNode.mjs +35 -0
  548. package/renderers/nodes/core/InputNode.js +4 -14
  549. package/renderers/nodes/core/InputNode.mjs +31 -0
  550. package/renderers/nodes/core/Node.js +7 -17
  551. package/renderers/nodes/core/Node.mjs +34 -0
  552. package/renderers/nodes/core/NodeAttribute.js +3 -6
  553. package/renderers/nodes/core/NodeAttribute.mjs +10 -0
  554. package/renderers/nodes/core/NodeBuilder.js +87 -154
  555. package/renderers/nodes/core/NodeBuilder.mjs +243 -0
  556. package/renderers/nodes/core/NodeFrame.js +9 -12
  557. package/renderers/nodes/core/NodeFrame.mjs +35 -0
  558. package/renderers/nodes/core/NodeSlot.js +2 -3
  559. package/renderers/nodes/core/NodeSlot.mjs +10 -0
  560. package/renderers/nodes/core/NodeUniform.js +4 -9
  561. package/renderers/nodes/core/NodeUniform.mjs +18 -0
  562. package/renderers/nodes/core/NodeVary.js +4 -7
  563. package/renderers/nodes/core/NodeVary.mjs +11 -0
  564. package/renderers/nodes/core/VaryNode.js +6 -12
  565. package/renderers/nodes/core/VaryNode.mjs +22 -0
  566. package/renderers/nodes/core/constants.js +16 -13
  567. package/renderers/nodes/core/constants.mjs +22 -0
  568. package/renderers/nodes/inputs/ColorNode.js +5 -11
  569. package/renderers/nodes/inputs/ColorNode.mjs +11 -0
  570. package/renderers/nodes/inputs/FloatNode.js +5 -11
  571. package/renderers/nodes/inputs/FloatNode.mjs +11 -0
  572. package/renderers/nodes/inputs/Matrix3Node.js +7 -13
  573. package/renderers/nodes/inputs/Matrix3Node.mjs +12 -0
  574. package/renderers/nodes/inputs/Matrix4Node.js +7 -13
  575. package/renderers/nodes/inputs/Matrix4Node.mjs +12 -0
  576. package/renderers/nodes/inputs/TextureNode.js +7 -15
  577. package/renderers/nodes/inputs/TextureNode.mjs +20 -0
  578. package/renderers/nodes/inputs/Vector2Node.js +5 -11
  579. package/renderers/nodes/inputs/Vector2Node.mjs +11 -0
  580. package/renderers/nodes/inputs/Vector3Node.js +7 -13
  581. package/renderers/nodes/inputs/Vector3Node.mjs +12 -0
  582. package/renderers/nodes/inputs/Vector4Node.js +7 -13
  583. package/renderers/nodes/inputs/Vector4Node.mjs +12 -0
  584. package/renderers/nodes/math/MathNode.js +20 -30
  585. package/renderers/nodes/math/MathNode.mjs +55 -0
  586. package/renderers/nodes/math/OperatorNode.js +4 -20
  587. package/renderers/nodes/math/OperatorNode.mjs +42 -0
  588. package/renderers/nodes/utils/SwitchNode.js +4 -9
  589. package/renderers/nodes/utils/SwitchNode.mjs +20 -0
  590. package/renderers/nodes/utils/TimerNode.js +5 -10
  591. package/renderers/nodes/utils/TimerNode.mjs +14 -0
  592. package/renderers/webgpu/WebGPU.js +14 -16
  593. package/renderers/webgpu/WebGPU.mjs +24 -0
  594. package/renderers/webgpu/WebGPUAttributes.js +16 -23
  595. package/renderers/webgpu/WebGPUAttributes.mjs +69 -0
  596. package/renderers/webgpu/WebGPUBackground.js +13 -30
  597. package/renderers/webgpu/WebGPUBackground.mjs +61 -0
  598. package/renderers/webgpu/WebGPUBinding.js +4 -7
  599. package/renderers/webgpu/WebGPUBinding.mjs +14 -0
  600. package/renderers/webgpu/WebGPUBindings.js +21 -57
  601. package/renderers/webgpu/WebGPUBindings.mjs +155 -0
  602. package/renderers/webgpu/WebGPUComputePipelines.js +14 -25
  603. package/renderers/webgpu/WebGPUComputePipelines.mjs +44 -0
  604. package/renderers/webgpu/WebGPUGeometries.js +5 -15
  605. package/renderers/webgpu/WebGPUGeometries.mjs +41 -0
  606. package/renderers/webgpu/WebGPUInfo.js +3 -8
  607. package/renderers/webgpu/WebGPUInfo.mjs +46 -0
  608. package/renderers/webgpu/WebGPUObjects.js +5 -10
  609. package/renderers/webgpu/WebGPUObjects.mjs +25 -0
  610. package/renderers/webgpu/WebGPUProperties.js +5 -11
  611. package/renderers/webgpu/WebGPUProperties.mjs +22 -0
  612. package/renderers/webgpu/WebGPURenderLists.js +20 -36
  613. package/renderers/webgpu/WebGPURenderLists.mjs +119 -0
  614. package/renderers/webgpu/WebGPURenderPipelines.js +260 -387
  615. package/renderers/webgpu/WebGPURenderPipelines.mjs +545 -0
  616. package/renderers/webgpu/WebGPURenderer.js +124 -262
  617. package/renderers/webgpu/WebGPURenderer.mjs +574 -0
  618. package/renderers/webgpu/WebGPUSampledTexture.js +18 -31
  619. package/renderers/webgpu/WebGPUSampledTexture.mjs +40 -0
  620. package/renderers/webgpu/WebGPUSampler.js +7 -12
  621. package/renderers/webgpu/WebGPUSampler.mjs +15 -0
  622. package/renderers/webgpu/WebGPUStorageBuffer.js +7 -12
  623. package/renderers/webgpu/WebGPUStorageBuffer.mjs +15 -0
  624. package/renderers/webgpu/WebGPUTextureRenderer.js +5 -11
  625. package/renderers/webgpu/WebGPUTextureRenderer.mjs +23 -0
  626. package/renderers/webgpu/WebGPUTextureUtils.js +29 -40
  627. package/renderers/webgpu/WebGPUTextureUtils.mjs +98 -0
  628. package/renderers/webgpu/WebGPUTextures.js +186 -333
  629. package/renderers/webgpu/WebGPUTextures.mjs +484 -0
  630. package/renderers/webgpu/WebGPUUniform.js +25 -51
  631. package/renderers/webgpu/WebGPUUniform.mjs +81 -0
  632. package/renderers/webgpu/WebGPUUniformsGroup.js +32 -72
  633. package/renderers/webgpu/WebGPUUniformsGroup.mjs +176 -0
  634. package/renderers/webgpu/constants.js +190 -181
  635. package/renderers/webgpu/constants.mjs +230 -0
  636. package/renderers/webgpu/nodes/ShaderLib.js +2 -2
  637. package/renderers/webgpu/nodes/ShaderLib.mjs +42 -0
  638. package/renderers/webgpu/nodes/WebGPUNodeBuilder.js +53 -124
  639. package/renderers/webgpu/nodes/WebGPUNodeBuilder.mjs +165 -0
  640. package/renderers/webgpu/nodes/WebGPUNodeUniform.js +17 -31
  641. package/renderers/webgpu/nodes/WebGPUNodeUniform.mjs +73 -0
  642. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.js +8 -9
  643. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.mjs +15 -0
  644. package/renderers/webgpu/nodes/WebGPUNodes.js +7 -45
  645. package/renderers/webgpu/nodes/WebGPUNodes.mjs +40 -0
  646. package/shaders/ACESFilmicToneMappingShader.js +44 -24
  647. package/shaders/ACESFilmicToneMappingShader.mjs +48 -0
  648. package/shaders/AfterimageShader.js +28 -18
  649. package/shaders/AfterimageShader.mjs +32 -0
  650. package/shaders/BasicShader.js +9 -7
  651. package/shaders/BasicShader.mjs +12 -0
  652. package/shaders/BleachBypassShader.js +31 -15
  653. package/shaders/BleachBypassShader.mjs +35 -0
  654. package/shaders/BlendShader.js +26 -19
  655. package/shaders/BlendShader.mjs +30 -0
  656. package/shaders/BokehShader.js +98 -36
  657. package/shaders/BokehShader.mjs +106 -0
  658. package/shaders/BokehShader2.js +261 -90
  659. package/shaders/BokehShader2.mjs +269 -0
  660. package/shaders/BrightnessContrastShader.js +28 -19
  661. package/shaders/BrightnessContrastShader.mjs +32 -0
  662. package/shaders/ColorCorrectionShader.js +26 -22
  663. package/shaders/ColorCorrectionShader.mjs +30 -0
  664. package/shaders/ColorifyShader.js +24 -16
  665. package/shaders/ColorifyShader.mjs +28 -0
  666. package/shaders/ConvolutionShader.js +40 -36
  667. package/shaders/ConvolutionShader.mjs +55 -0
  668. package/shaders/CopyShader.js +21 -13
  669. package/shaders/CopyShader.mjs +25 -0
  670. package/shaders/DOFMipMapShader.js +28 -21
  671. package/shaders/DOFMipMapShader.mjs +32 -0
  672. package/shaders/DepthLimitedBlurShader.js +85 -40
  673. package/shaders/DepthLimitedBlurShader.mjs +114 -0
  674. package/shaders/DigitalGlitch.js +74 -46
  675. package/shaders/DigitalGlitch.mjs +78 -0
  676. package/shaders/DotScreenShader.js +35 -27
  677. package/shaders/DotScreenShader.mjs +39 -0
  678. package/shaders/FXAAShader.js +1094 -19
  679. package/shaders/FXAAShader.mjs +1098 -0
  680. package/shaders/FilmShader.js +38 -52
  681. package/shaders/FilmShader.mjs +42 -0
  682. package/shaders/FocusShader.js +51 -24
  683. package/shaders/FocusShader.mjs +55 -0
  684. package/shaders/FreiChenShader.js +57 -24
  685. package/shaders/FreiChenShader.mjs +61 -0
  686. package/shaders/FresnelShader.js +43 -22
  687. package/shaders/FresnelShader.mjs +47 -0
  688. package/shaders/GammaCorrectionShader.js +19 -11
  689. package/shaders/GammaCorrectionShader.mjs +23 -0
  690. package/shaders/GodRaysShader.js +103 -94
  691. package/shaders/GodRaysShader.mjs +146 -0
  692. package/shaders/HalftoneShader.js +208 -65
  693. package/shaders/HalftoneShader.mjs +212 -0
  694. package/shaders/HorizontalBlurShader.js +7 -23
  695. package/shaders/HorizontalBlurShader.mjs +43 -0
  696. package/shaders/HorizontalTiltShiftShader.js +33 -21
  697. package/shaders/HorizontalTiltShiftShader.mjs +37 -0
  698. package/shaders/HueSaturationShader.js +37 -21
  699. package/shaders/HueSaturationShader.mjs +41 -0
  700. package/shaders/KaleidoShader.js +30 -22
  701. package/shaders/KaleidoShader.mjs +34 -0
  702. package/shaders/LuminosityHighPassShader.js +33 -27
  703. package/shaders/LuminosityHighPassShader.mjs +37 -0
  704. package/shaders/LuminosityShader.js +21 -11
  705. package/shaders/LuminosityShader.mjs +25 -0
  706. package/shaders/MirrorShader.js +31 -16
  707. package/shaders/MirrorShader.mjs +35 -0
  708. package/shaders/NormalMapShader.js +27 -23
  709. package/shaders/NormalMapShader.mjs +31 -0
  710. package/shaders/ParallaxShader.js +107 -48
  711. package/shaders/ParallaxShader.mjs +113 -0
  712. package/shaders/PixelShader.js +24 -16
  713. package/shaders/PixelShader.mjs +28 -0
  714. package/shaders/RGBShiftShader.js +26 -22
  715. package/shaders/RGBShiftShader.mjs +30 -0
  716. package/shaders/SAOShader.js +132 -48
  717. package/shaders/SAOShader.mjs +144 -0
  718. package/shaders/SMAAShader.js +256 -135
  719. package/shaders/SMAAShader.mjs +272 -0
  720. package/shaders/SSAOShader.js +153 -81
  721. package/shaders/SSAOShader.mjs +172 -0
  722. package/shaders/SSRShader.js +32 -87
  723. package/shaders/SSRShader.mjs +324 -0
  724. package/shaders/SepiaShader.js +25 -15
  725. package/shaders/SepiaShader.mjs +29 -0
  726. package/shaders/SobelOperatorShader.js +40 -29
  727. package/shaders/SobelOperatorShader.mjs +44 -0
  728. package/shaders/SubsurfaceScatteringShader.js +53 -39
  729. package/shaders/SubsurfaceScatteringShader.mjs +59 -0
  730. package/shaders/TechnicolorShader.js +20 -13
  731. package/shaders/TechnicolorShader.mjs +24 -0
  732. package/shaders/ToneMapShader.js +44 -28
  733. package/shaders/ToneMapShader.mjs +48 -0
  734. package/shaders/ToonShader.js +172 -96
  735. package/shaders/ToonShader.mjs +188 -0
  736. package/shaders/TriangleBlurShader.js +32 -23
  737. package/shaders/TriangleBlurShader.mjs +36 -0
  738. package/shaders/UnpackDepthRGBAShader.js +22 -14
  739. package/shaders/UnpackDepthRGBAShader.mjs +26 -0
  740. package/shaders/VerticalBlurShader.js +7 -23
  741. package/shaders/VerticalBlurShader.mjs +44 -0
  742. package/shaders/VerticalTiltShiftShader.js +33 -21
  743. package/shaders/VerticalTiltShiftShader.mjs +37 -0
  744. package/shaders/VignetteShader.js +24 -28
  745. package/shaders/VignetteShader.mjs +28 -0
  746. package/shaders/VolumeShader.js +174 -77
  747. package/shaders/VolumeShader.mjs +178 -0
  748. package/shaders/WaterRefractionShader.js +38 -6
  749. package/shaders/WaterRefractionShader.mjs +57 -0
  750. package/shaders/types.js +1 -1
  751. package/{custom.d.js → shaders/types.mjs} +0 -0
  752. package/textures/FlakesTexture.js +8 -10
  753. package/textures/FlakesTexture.mjs +30 -0
  754. package/types/helpers.js +3 -2
  755. package/types/helpers.mjs +4 -0
  756. package/utils/BufferGeometryUtils.js +251 -325
  757. package/utils/BufferGeometryUtils.mjs +570 -0
  758. package/utils/GeometryCompressionUtils.js +241 -239
  759. package/utils/GeometryCompressionUtils.mjs +547 -0
  760. package/utils/GeometryUtils.js +41 -94
  761. package/utils/GeometryUtils.mjs +108 -0
  762. package/utils/RoughnessMipmapper.js +38 -82
  763. package/utils/RoughnessMipmapper.mjs +213 -0
  764. package/utils/SceneUtils.js +15 -20
  765. package/utils/SceneUtils.mjs +36 -0
  766. package/utils/ShadowMapViewer.js +49 -95
  767. package/utils/ShadowMapViewer.mjs +114 -0
  768. package/utils/SkeletonUtils.js +74 -165
  769. package/utils/SkeletonUtils.mjs +292 -0
  770. package/utils/UVsDebug.js +32 -62
  771. package/utils/UVsDebug.mjs +85 -0
  772. package/utils/WorkerPool.js +13 -33
  773. package/utils/WorkerPool.mjs +62 -0
  774. package/webxr/ARButton.js +72 -98
  775. package/webxr/ARButton.mjs +119 -0
  776. package/webxr/OculusHandModel.js +18 -37
  777. package/webxr/OculusHandModel.mjs +71 -0
  778. package/webxr/OculusHandPointerModel.js +58 -80
  779. package/webxr/OculusHandPointerModel.mjs +207 -0
  780. package/webxr/Text2D.js +37 -19
  781. package/webxr/Text2D.mjs +31 -0
  782. package/webxr/VRButton.js +59 -90
  783. package/webxr/VRButton.mjs +105 -0
  784. package/webxr/XRControllerModelFactory.js +58 -116
  785. package/webxr/XRControllerModelFactory.mjs +146 -0
  786. package/webxr/XREstimatedLight.js +39 -66
  787. package/webxr/XREstimatedLight.mjs +126 -0
  788. package/webxr/XRHandMeshModel.js +40 -29
  789. package/webxr/XRHandMeshModel.mjs +73 -0
  790. package/webxr/XRHandModelFactory.js +28 -31
  791. package/webxr/XRHandModelFactory.mjs +61 -0
  792. package/webxr/XRHandPrimitiveModel.js +41 -27
  793. package/webxr/XRHandPrimitiveModel.mjs +68 -0
  794. package/BufferGeometryUtils-1a7a235c.js +0 -655
  795. package/BufferGeometryUtils-971dfde3.js +0 -1
  796. package/Nodes-4f766d71.js +0 -471
  797. package/Nodes-9aa16d74.js +0 -1
  798. package/animation/AnimationClipCreator.cjs.js +0 -1
  799. package/animation/CCDIKSolver.cjs.js +0 -1
  800. package/animation/MMDAnimationHelper.cjs.js +0 -1
  801. package/animation/MMDPhysics.cjs.js +0 -1
  802. package/cameras/CinematicCamera.cjs.js +0 -1
  803. package/controls/ArcballControls.cjs.js +0 -1
  804. package/controls/DeviceOrientationControls.cjs.js +0 -1
  805. package/controls/DragControls.cjs.js +0 -1
  806. package/controls/FirstPersonControls.cjs.js +0 -1
  807. package/controls/FlyControls.cjs.js +0 -1
  808. package/controls/OrbitControls.cjs.js +0 -1
  809. package/controls/PointerLockControls.cjs.js +0 -1
  810. package/controls/TrackballControls.cjs.js +0 -1
  811. package/controls/TransformControls.cjs.js +0 -1
  812. package/controls/experimental/CameraControls.cjs.js +0 -1
  813. package/csm/CSM.cjs.js +0 -1
  814. package/csm/CSMFrustum.cjs.js +0 -1
  815. package/csm/CSMHelper.cjs.js +0 -1
  816. package/csm/CSMShader.cjs.js +0 -1
  817. package/curves/CurveExtras.cjs.js +0 -1
  818. package/curves/NURBSCurve.cjs.js +0 -1
  819. package/curves/NURBSSurface.cjs.js +0 -1
  820. package/curves/NURBSUtils.cjs.js +0 -1
  821. package/custom.d.cjs.js +0 -1
  822. package/deprecated/Geometry.cjs.js +0 -1
  823. package/effects/AnaglyphEffect.cjs.js +0 -1
  824. package/effects/AsciiEffect.cjs.js +0 -1
  825. package/effects/OutlineEffect.cjs.js +0 -1
  826. package/effects/ParallaxBarrierEffect.cjs.js +0 -1
  827. package/effects/PeppersGhostEffect.cjs.js +0 -1
  828. package/effects/StereoEffect.cjs.js +0 -1
  829. package/environments/RoomEnvironment.cjs.js +0 -1
  830. package/exporters/ColladaExporter.cjs.js +0 -1
  831. package/exporters/DRACOExporter.cjs.js +0 -1
  832. package/exporters/GLTFExporter.cjs.js +0 -1
  833. package/exporters/MMDExporter.cjs.js +0 -1
  834. package/exporters/OBJExporter.cjs.js +0 -1
  835. package/exporters/PLYExporter.cjs.js +0 -1
  836. package/exporters/STLExporter.cjs.js +0 -1
  837. package/exporters/USDZExporter.cjs.js +0 -1
  838. package/geometries/BoxLineGeometry.cjs.js +0 -1
  839. package/geometries/ConvexGeometry.cjs.js +0 -1
  840. package/geometries/DecalGeometry.cjs.js +0 -1
  841. package/geometries/LightningStrike.cjs.js +0 -1
  842. package/geometries/ParametricGeometries.cjs.js +0 -1
  843. package/geometries/ParametricGeometry.cjs.js +0 -1
  844. package/geometries/RoundedBoxGeometry.cjs.js +0 -1
  845. package/geometries/TeapotGeometry.cjs.js +0 -1
  846. package/geometries/TextGeometry.cjs.js +0 -1
  847. package/helpers/LightProbeHelper.cjs.js +0 -1
  848. package/helpers/PositionalAudioHelper.cjs.js +0 -1
  849. package/helpers/RectAreaLightHelper.cjs.js +0 -1
  850. package/helpers/VertexNormalsHelper.cjs.js +0 -1
  851. package/helpers/VertexTangentsHelper.cjs.js +0 -1
  852. package/index.cjs.js +0 -1
  853. package/interactive/InteractiveGroup.cjs.js +0 -1
  854. package/interactive/InteractiveGroup.d.ts +0 -5
  855. package/interactive/InteractiveGroup.js +0 -87
  856. package/interactive/SelectionBox.cjs.js +0 -1
  857. package/interactive/SelectionHelper.cjs.js +0 -1
  858. package/libs/MeshoptDecoder.cjs.js +0 -1
  859. package/libs/MotionControllers.cjs.js +0 -1
  860. package/lights/LightProbeGenerator.cjs.js +0 -1
  861. package/lights/RectAreaLightUniformsLib.cjs.js +0 -1
  862. package/lines/Line2.cjs.js +0 -1
  863. package/lines/LineGeometry.cjs.js +0 -1
  864. package/lines/LineMaterial.cjs.js +0 -1
  865. package/lines/LineSegments2.cjs.js +0 -1
  866. package/lines/LineSegmentsGeometry.cjs.js +0 -1
  867. package/lines/Wireframe.cjs.js +0 -1
  868. package/lines/WireframeGeometry2.cjs.js +0 -1
  869. package/loaders/3DMLoader.cjs.js +0 -1
  870. package/loaders/3MFLoader.cjs.js +0 -1
  871. package/loaders/AMFLoader.cjs.js +0 -1
  872. package/loaders/AssimpLoader.cjs.js +0 -1
  873. package/loaders/BVHLoader.cjs.js +0 -1
  874. package/loaders/BasisTextureLoader.cjs.js +0 -1
  875. package/loaders/ColladaLoader.cjs.js +0 -1
  876. package/loaders/DDSLoader.cjs.js +0 -1
  877. package/loaders/DRACOLoader.cjs.js +0 -1
  878. package/loaders/EXRLoader.cjs.js +0 -1
  879. package/loaders/FBXLoader.cjs.js +0 -1
  880. package/loaders/FontLoader.cjs.js +0 -1
  881. package/loaders/GCodeLoader.cjs.js +0 -1
  882. package/loaders/GLTFLoader.cjs.js +0 -1
  883. package/loaders/HDRCubeTextureLoader.cjs.js +0 -1
  884. package/loaders/KMZLoader.cjs.js +0 -1
  885. package/loaders/KTX2Loader.cjs.js +0 -1
  886. package/loaders/KTXLoader.cjs.js +0 -1
  887. package/loaders/LDrawLoader.cjs.js +0 -1
  888. package/loaders/LUT3dlLoader.cjs.js +0 -1
  889. package/loaders/LUTCubeLoader.cjs.js +0 -1
  890. package/loaders/LWOLoader.cjs.js +0 -1
  891. package/loaders/LottieLoader.cjs.js +0 -1
  892. package/loaders/MD2Loader.cjs.js +0 -1
  893. package/loaders/MDDLoader.cjs.js +0 -1
  894. package/loaders/MMDLoader.cjs.js +0 -1
  895. package/loaders/MTLLoader.cjs.js +0 -1
  896. package/loaders/NRRDLoader.cjs.js +0 -1
  897. package/loaders/NodeMaterialLoader.cjs.js +0 -1
  898. package/loaders/OBJLoader.cjs.js +0 -1
  899. package/loaders/PCDLoader.cjs.js +0 -1
  900. package/loaders/PDBLoader.cjs.js +0 -1
  901. package/loaders/PLYLoader.cjs.js +0 -1
  902. package/loaders/PRWMLoader.cjs.js +0 -1
  903. package/loaders/PVRLoader.cjs.js +0 -1
  904. package/loaders/RGBELoader.cjs.js +0 -1
  905. package/loaders/RGBMLoader.cjs.js +0 -1
  906. package/loaders/STLLoader.cjs.js +0 -1
  907. package/loaders/SVGLoader.cjs.js +0 -1
  908. package/loaders/TDSLoader.cjs.js +0 -1
  909. package/loaders/TGALoader.cjs.js +0 -1
  910. package/loaders/TTFLoader.cjs.js +0 -1
  911. package/loaders/TiltLoader.cjs.js +0 -1
  912. package/loaders/VOXLoader.cjs.js +0 -1
  913. package/loaders/VRMLLoader.cjs.js +0 -1
  914. package/loaders/VRMLoader.cjs.js +0 -1
  915. package/loaders/VTKLoader.cjs.js +0 -1
  916. package/loaders/XLoader.cjs.js +0 -1
  917. package/loaders/XYZLoader.cjs.js +0 -1
  918. package/loaders/lwo/IFFParser.cjs.js +0 -1
  919. package/loaders/lwo/LWO2Parser.cjs.js +0 -1
  920. package/loaders/lwo/LWO3Parser.cjs.js +0 -1
  921. package/math/Capsule.cjs.js +0 -1
  922. package/math/ColorConverter.cjs.js +0 -1
  923. package/math/ConvexHull.cjs.js +0 -1
  924. package/math/ImprovedNoise.cjs.js +0 -1
  925. package/math/Lut.cjs.js +0 -1
  926. package/math/MeshSurfaceSampler.cjs.js +0 -1
  927. package/math/OBB.cjs.js +0 -1
  928. package/math/Octree.cjs.js +0 -1
  929. package/math/SimplexNoise.cjs.js +0 -1
  930. package/misc/ConvexObjectBreaker.cjs.js +0 -1
  931. package/misc/GPUComputationRenderer.cjs.js +0 -1
  932. package/misc/Gyroscope.cjs.js +0 -1
  933. package/misc/MD2Character.cjs.js +0 -1
  934. package/misc/MD2CharacterComplex.cjs.js +0 -1
  935. package/misc/MorphAnimMesh.cjs.js +0 -1
  936. package/misc/MorphBlendMesh.cjs.js +0 -1
  937. package/misc/ProgressiveLightmap.cjs.js +0 -1
  938. package/misc/RollerCoaster.cjs.js +0 -1
  939. package/misc/TubePainter.cjs.js +0 -1
  940. package/misc/Volume.cjs.js +0 -1
  941. package/misc/VolumeSlice.cjs.js +0 -1
  942. package/misc/WebGL.cjs.js +0 -1
  943. package/modifiers/CurveModifier.cjs.js +0 -1
  944. package/modifiers/EdgeSplitModifier.cjs.js +0 -1
  945. package/modifiers/SimplifyModifier.cjs.js +0 -1
  946. package/modifiers/TessellateModifier.cjs.js +0 -1
  947. package/nodes/Nodes.cjs.js +0 -1
  948. package/nodes/ShaderNode.cjs.js +0 -1
  949. package/nodes/accessors/BufferNode.cjs.js +0 -1
  950. package/nodes/accessors/CameraNode.cjs.js +0 -1
  951. package/nodes/accessors/CubeTextureNode.cjs.js +0 -1
  952. package/nodes/accessors/MaterialNode.cjs.js +0 -1
  953. package/nodes/accessors/MaterialReferenceNode.cjs.js +0 -1
  954. package/nodes/accessors/ModelNode.cjs.js +0 -1
  955. package/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  956. package/nodes/accessors/NormalNode.cjs.js +0 -1
  957. package/nodes/accessors/Object3DNode.cjs.js +0 -1
  958. package/nodes/accessors/PointUVNode.cjs.js +0 -1
  959. package/nodes/accessors/PositionNode.cjs.js +0 -1
  960. package/nodes/accessors/ReferenceNode.cjs.js +0 -1
  961. package/nodes/accessors/ReflectNode.cjs.js +0 -1
  962. package/nodes/accessors/SkinningNode.cjs.js +0 -1
  963. package/nodes/accessors/TextureNode.cjs.js +0 -1
  964. package/nodes/accessors/UVNode.cjs.js +0 -1
  965. package/nodes/core/ArrayUniformNode.cjs.js +0 -1
  966. package/nodes/core/AttributeNode.cjs.js +0 -1
  967. package/nodes/core/BypassNode.cjs.js +0 -1
  968. package/nodes/core/CodeNode.cjs.js +0 -1
  969. package/nodes/core/ConstNode.cjs.js +0 -1
  970. package/nodes/core/ContextNode.cjs.js +0 -1
  971. package/nodes/core/ExpressionNode.cjs.js +0 -1
  972. package/nodes/core/FunctionCallNode.cjs.js +0 -1
  973. package/nodes/core/FunctionNode.cjs.js +0 -1
  974. package/nodes/core/InputNode.cjs.js +0 -1
  975. package/nodes/core/Node.cjs.js +0 -1
  976. package/nodes/core/NodeAttribute.cjs.js +0 -1
  977. package/nodes/core/NodeBuilder.cjs.js +0 -1
  978. package/nodes/core/NodeCode.cjs.js +0 -1
  979. package/nodes/core/NodeFrame.cjs.js +0 -1
  980. package/nodes/core/NodeFunction.cjs.js +0 -1
  981. package/nodes/core/NodeFunction.js +0 -17
  982. package/nodes/core/NodeFunctionInput.cjs.js +0 -1
  983. package/nodes/core/NodeKeywords.cjs.js +0 -1
  984. package/nodes/core/NodeParser.cjs.js +0 -1
  985. package/nodes/core/NodeParser.js +0 -8
  986. package/nodes/core/NodeUniform.cjs.js +0 -1
  987. package/nodes/core/NodeUtils.cjs.js +0 -1
  988. package/nodes/core/NodeVar.cjs.js +0 -1
  989. package/nodes/core/NodeVary.cjs.js +0 -1
  990. package/nodes/core/PropertyNode.cjs.js +0 -1
  991. package/nodes/core/TempNode.cjs.js +0 -1
  992. package/nodes/core/UniformNode.cjs.js +0 -1
  993. package/nodes/core/VarNode.cjs.js +0 -1
  994. package/nodes/core/VaryNode.cjs.js +0 -1
  995. package/nodes/core/constants.cjs.js +0 -1
  996. package/nodes/display/ColorSpaceNode.cjs.js +0 -1
  997. package/nodes/display/NormalMapNode.cjs.js +0 -1
  998. package/nodes/fog/FogNode.cjs.js +0 -1
  999. package/nodes/fog/FogRangeNode.cjs.js +0 -1
  1000. package/nodes/functions/BSDFs.cjs.js +0 -1
  1001. package/nodes/functions/PhysicalMaterialFunctions.cjs.js +0 -1
  1002. package/nodes/functions/PhysicalMaterialFunctions.js +0 -57
  1003. package/nodes/lights/LightContextNode.cjs.js +0 -1
  1004. package/nodes/lights/LightNode.cjs.js +0 -1
  1005. package/nodes/lights/LightsNode.cjs.js +0 -1
  1006. package/nodes/loaders/NodeLoader.cjs.js +0 -1
  1007. package/nodes/loaders/NodeMaterialLoader.cjs.js +0 -1
  1008. package/nodes/loaders/NodeObjectLoader.cjs.js +0 -1
  1009. package/nodes/materials/LineBasicNodeMaterial.cjs.js +0 -1
  1010. package/nodes/materials/Materials.cjs.js +0 -1
  1011. package/nodes/materials/MeshBasicNodeMaterial.cjs.js +0 -1
  1012. package/nodes/materials/MeshStandardNodeMaterial.cjs.js +0 -1
  1013. package/nodes/materials/NodeMaterial.cjs.js +0 -1
  1014. package/nodes/materials/PointsNodeMaterial.cjs.js +0 -1
  1015. package/nodes/math/CondNode.cjs.js +0 -1
  1016. package/nodes/math/MathNode.cjs.js +0 -1
  1017. package/nodes/math/OperatorNode.cjs.js +0 -1
  1018. package/nodes/parsers/GLSLNodeFunction.cjs.js +0 -1
  1019. package/nodes/parsers/GLSLNodeFunction.js +0 -101
  1020. package/nodes/parsers/GLSLNodeParser.cjs.js +0 -1
  1021. package/nodes/parsers/GLSLNodeParser.js +0 -13
  1022. package/nodes/parsers/WGSLNodeFunction.cjs.js +0 -1
  1023. package/nodes/parsers/WGSLNodeFunction.js +0 -71
  1024. package/nodes/parsers/WGSLNodeParser.cjs.js +0 -1
  1025. package/nodes/parsers/WGSLNodeParser.js +0 -13
  1026. package/nodes/procedural/CheckerNode.cjs.js +0 -1
  1027. package/nodes/utils/ArrayElementNode.cjs.js +0 -1
  1028. package/nodes/utils/ConvertNode.cjs.js +0 -1
  1029. package/nodes/utils/JoinNode.cjs.js +0 -1
  1030. package/nodes/utils/MatcapUVNode.cjs.js +0 -1
  1031. package/nodes/utils/OscNode.cjs.js +0 -1
  1032. package/nodes/utils/SplitNode.cjs.js +0 -1
  1033. package/nodes/utils/SpriteSheetUVNode.cjs.js +0 -1
  1034. package/nodes/utils/TimerNode.cjs.js +0 -1
  1035. package/objects/GroundProjectedEnv.cjs.js +0 -1
  1036. package/objects/Lensflare.cjs.js +0 -1
  1037. package/objects/LightningStorm.cjs.js +0 -1
  1038. package/objects/MarchingCubes.cjs.js +0 -1
  1039. package/objects/Reflector.cjs.js +0 -1
  1040. package/objects/ReflectorForSSRPass.cjs.js +0 -1
  1041. package/objects/ReflectorRTT.cjs.js +0 -1
  1042. package/objects/Refractor.cjs.js +0 -1
  1043. package/objects/ShadowMesh.cjs.js +0 -1
  1044. package/objects/Sky.cjs.js +0 -1
  1045. package/objects/Water.cjs.js +0 -1
  1046. package/objects/Water2.cjs.js +0 -1
  1047. package/offscreen/jank.cjs.js +0 -1
  1048. package/offscreen/offscreen.cjs.js +0 -1
  1049. package/offscreen/scene.cjs.js +0 -1
  1050. package/physics/AmmoPhysics.cjs.js +0 -1
  1051. package/postprocessing/AdaptiveToneMappingPass.cjs.js +0 -1
  1052. package/postprocessing/AfterimagePass.cjs.js +0 -1
  1053. package/postprocessing/BloomPass.cjs.js +0 -1
  1054. package/postprocessing/BokehPass.cjs.js +0 -1
  1055. package/postprocessing/ClearPass.cjs.js +0 -1
  1056. package/postprocessing/CubeTexturePass.cjs.js +0 -1
  1057. package/postprocessing/DotScreenPass.cjs.js +0 -1
  1058. package/postprocessing/EffectComposer.cjs.js +0 -1
  1059. package/postprocessing/FilmPass.cjs.js +0 -1
  1060. package/postprocessing/GlitchPass.cjs.js +0 -1
  1061. package/postprocessing/HalftonePass.cjs.js +0 -1
  1062. package/postprocessing/LUTPass.cjs.js +0 -1
  1063. package/postprocessing/MaskPass.cjs.js +0 -1
  1064. package/postprocessing/OutlinePass.cjs.js +0 -1
  1065. package/postprocessing/Pass.cjs.js +0 -1
  1066. package/postprocessing/RenderPass.cjs.js +0 -1
  1067. package/postprocessing/RenderPixelatedPass.cjs.js +0 -1
  1068. package/postprocessing/SAOPass.cjs.js +0 -1
  1069. package/postprocessing/SMAAPass.cjs.js +0 -1
  1070. package/postprocessing/SSAARenderPass.cjs.js +0 -1
  1071. package/postprocessing/SSAOPass.cjs.js +0 -1
  1072. package/postprocessing/SSRPass.cjs.js +0 -1
  1073. package/postprocessing/SavePass.cjs.js +0 -1
  1074. package/postprocessing/ShaderPass.cjs.js +0 -1
  1075. package/postprocessing/TAARenderPass.cjs.js +0 -1
  1076. package/postprocessing/TexturePass.cjs.js +0 -1
  1077. package/postprocessing/UnrealBloomPass.cjs.js +0 -1
  1078. package/renderers/CSS2DRenderer.cjs.js +0 -1
  1079. package/renderers/CSS3DRenderer.cjs.js +0 -1
  1080. package/renderers/Projector.cjs.js +0 -1
  1081. package/renderers/SVGRenderer.cjs.js +0 -1
  1082. package/renderers/nodes/accessors/CameraNode.cjs.js +0 -1
  1083. package/renderers/nodes/accessors/ModelNode.cjs.js +0 -1
  1084. package/renderers/nodes/accessors/ModelViewProjectionNode.cjs.js +0 -1
  1085. package/renderers/nodes/accessors/NormalNode.cjs.js +0 -1
  1086. package/renderers/nodes/accessors/PositionNode.cjs.js +0 -1
  1087. package/renderers/nodes/accessors/UVNode.cjs.js +0 -1
  1088. package/renderers/nodes/core/AttributeNode.cjs.js +0 -1
  1089. package/renderers/nodes/core/InputNode.cjs.js +0 -1
  1090. package/renderers/nodes/core/Node.cjs.js +0 -1
  1091. package/renderers/nodes/core/NodeAttribute.cjs.js +0 -1
  1092. package/renderers/nodes/core/NodeBuilder.cjs.js +0 -1
  1093. package/renderers/nodes/core/NodeFrame.cjs.js +0 -1
  1094. package/renderers/nodes/core/NodeSlot.cjs.js +0 -1
  1095. package/renderers/nodes/core/NodeUniform.cjs.js +0 -1
  1096. package/renderers/nodes/core/NodeVary.cjs.js +0 -1
  1097. package/renderers/nodes/core/VaryNode.cjs.js +0 -1
  1098. package/renderers/nodes/core/constants.cjs.js +0 -1
  1099. package/renderers/nodes/inputs/ColorNode.cjs.js +0 -1
  1100. package/renderers/nodes/inputs/FloatNode.cjs.js +0 -1
  1101. package/renderers/nodes/inputs/Matrix3Node.cjs.js +0 -1
  1102. package/renderers/nodes/inputs/Matrix4Node.cjs.js +0 -1
  1103. package/renderers/nodes/inputs/TextureNode.cjs.js +0 -1
  1104. package/renderers/nodes/inputs/Vector2Node.cjs.js +0 -1
  1105. package/renderers/nodes/inputs/Vector3Node.cjs.js +0 -1
  1106. package/renderers/nodes/inputs/Vector4Node.cjs.js +0 -1
  1107. package/renderers/nodes/math/MathNode.cjs.js +0 -1
  1108. package/renderers/nodes/math/OperatorNode.cjs.js +0 -1
  1109. package/renderers/nodes/utils/SwitchNode.cjs.js +0 -1
  1110. package/renderers/nodes/utils/TimerNode.cjs.js +0 -1
  1111. package/renderers/webgpu/WebGPU.cjs.js +0 -1
  1112. package/renderers/webgpu/WebGPUAttributes.cjs.js +0 -1
  1113. package/renderers/webgpu/WebGPUBackground.cjs.js +0 -1
  1114. package/renderers/webgpu/WebGPUBinding.cjs.js +0 -1
  1115. package/renderers/webgpu/WebGPUBindings.cjs.js +0 -1
  1116. package/renderers/webgpu/WebGPUComputePipelines.cjs.js +0 -1
  1117. package/renderers/webgpu/WebGPUGeometries.cjs.js +0 -1
  1118. package/renderers/webgpu/WebGPUInfo.cjs.js +0 -1
  1119. package/renderers/webgpu/WebGPUObjects.cjs.js +0 -1
  1120. package/renderers/webgpu/WebGPUProperties.cjs.js +0 -1
  1121. package/renderers/webgpu/WebGPURenderLists.cjs.js +0 -1
  1122. package/renderers/webgpu/WebGPURenderPipelines.cjs.js +0 -1
  1123. package/renderers/webgpu/WebGPURenderer.cjs.js +0 -1
  1124. package/renderers/webgpu/WebGPUSampledTexture.cjs.js +0 -1
  1125. package/renderers/webgpu/WebGPUSampler.cjs.js +0 -1
  1126. package/renderers/webgpu/WebGPUStorageBuffer.cjs.js +0 -1
  1127. package/renderers/webgpu/WebGPUTextureRenderer.cjs.js +0 -1
  1128. package/renderers/webgpu/WebGPUTextureUtils.cjs.js +0 -1
  1129. package/renderers/webgpu/WebGPUTextures.cjs.js +0 -1
  1130. package/renderers/webgpu/WebGPUUniform.cjs.js +0 -1
  1131. package/renderers/webgpu/WebGPUUniformsGroup.cjs.js +0 -1
  1132. package/renderers/webgpu/constants.cjs.js +0 -1
  1133. package/renderers/webgpu/nodes/ShaderLib.cjs.js +0 -1
  1134. package/renderers/webgpu/nodes/WebGPUNodeBuilder.cjs.js +0 -1
  1135. package/renderers/webgpu/nodes/WebGPUNodeUniform.cjs.js +0 -1
  1136. package/renderers/webgpu/nodes/WebGPUNodeUniformsGroup.cjs.js +0 -1
  1137. package/renderers/webgpu/nodes/WebGPUNodes.cjs.js +0 -1
  1138. package/shaders/ACESFilmicToneMappingShader.cjs.js +0 -1
  1139. package/shaders/AfterimageShader.cjs.js +0 -1
  1140. package/shaders/BasicShader.cjs.js +0 -1
  1141. package/shaders/BleachBypassShader.cjs.js +0 -1
  1142. package/shaders/BlendShader.cjs.js +0 -1
  1143. package/shaders/BokehShader.cjs.js +0 -1
  1144. package/shaders/BokehShader2.cjs.js +0 -1
  1145. package/shaders/BrightnessContrastShader.cjs.js +0 -1
  1146. package/shaders/ColorCorrectionShader.cjs.js +0 -1
  1147. package/shaders/ColorifyShader.cjs.js +0 -1
  1148. package/shaders/ConvolutionShader.cjs.js +0 -1
  1149. package/shaders/CopyShader.cjs.js +0 -1
  1150. package/shaders/DOFMipMapShader.cjs.js +0 -1
  1151. package/shaders/DepthLimitedBlurShader.cjs.js +0 -1
  1152. package/shaders/DigitalGlitch.cjs.js +0 -1
  1153. package/shaders/DotScreenShader.cjs.js +0 -1
  1154. package/shaders/FXAAShader.cjs.js +0 -1
  1155. package/shaders/FilmShader.cjs.js +0 -1
  1156. package/shaders/FocusShader.cjs.js +0 -1
  1157. package/shaders/FreiChenShader.cjs.js +0 -1
  1158. package/shaders/FresnelShader.cjs.js +0 -1
  1159. package/shaders/GammaCorrectionShader.cjs.js +0 -1
  1160. package/shaders/GodRaysShader.cjs.js +0 -1
  1161. package/shaders/HalftoneShader.cjs.js +0 -1
  1162. package/shaders/HorizontalBlurShader.cjs.js +0 -1
  1163. package/shaders/HorizontalTiltShiftShader.cjs.js +0 -1
  1164. package/shaders/HueSaturationShader.cjs.js +0 -1
  1165. package/shaders/KaleidoShader.cjs.js +0 -1
  1166. package/shaders/LuminosityHighPassShader.cjs.js +0 -1
  1167. package/shaders/LuminosityShader.cjs.js +0 -1
  1168. package/shaders/MirrorShader.cjs.js +0 -1
  1169. package/shaders/NormalMapShader.cjs.js +0 -1
  1170. package/shaders/ParallaxShader.cjs.js +0 -1
  1171. package/shaders/PixelShader.cjs.js +0 -1
  1172. package/shaders/RGBShiftShader.cjs.js +0 -1
  1173. package/shaders/SAOShader.cjs.js +0 -1
  1174. package/shaders/SMAAShader.cjs.js +0 -1
  1175. package/shaders/SSAOShader.cjs.js +0 -1
  1176. package/shaders/SSRShader.cjs.js +0 -1
  1177. package/shaders/SepiaShader.cjs.js +0 -1
  1178. package/shaders/SobelOperatorShader.cjs.js +0 -1
  1179. package/shaders/SubsurfaceScatteringShader.cjs.js +0 -1
  1180. package/shaders/TechnicolorShader.cjs.js +0 -1
  1181. package/shaders/ToneMapShader.cjs.js +0 -1
  1182. package/shaders/ToonShader.cjs.js +0 -1
  1183. package/shaders/TriangleBlurShader.cjs.js +0 -1
  1184. package/shaders/UnpackDepthRGBAShader.cjs.js +0 -1
  1185. package/shaders/VerticalBlurShader.cjs.js +0 -1
  1186. package/shaders/VerticalTiltShiftShader.cjs.js +0 -1
  1187. package/shaders/VignetteShader.cjs.js +0 -1
  1188. package/shaders/VolumeShader.cjs.js +0 -1
  1189. package/shaders/WaterRefractionShader.cjs.js +0 -1
  1190. package/shaders/types.cjs.js +0 -1
  1191. package/textures/FlakesTexture.cjs.js +0 -1
  1192. package/types/helpers.cjs.js +0 -1
  1193. package/types/shared.cjs.js +0 -1
  1194. package/types/shared.js +0 -1
  1195. package/types/utils.cjs.js +0 -1
  1196. package/types/utils.js +0 -1
  1197. package/utils/BufferGeometryUtils.cjs.js +0 -1
  1198. package/utils/GeometryCompressionUtils.cjs.js +0 -1
  1199. package/utils/GeometryUtils.cjs.js +0 -1
  1200. package/utils/LDrawUtils.cjs.js +0 -1
  1201. package/utils/LDrawUtils.d.ts +0 -5
  1202. package/utils/LDrawUtils.js +0 -144
  1203. package/utils/RoughnessMipmapper.cjs.js +0 -1
  1204. package/utils/SceneUtils.cjs.js +0 -1
  1205. package/utils/ShadowMapViewer.cjs.js +0 -1
  1206. package/utils/SkeletonUtils.cjs.js +0 -1
  1207. package/utils/UVsDebug.cjs.js +0 -1
  1208. package/utils/WorkerPool.cjs.js +0 -1
  1209. package/webxr/ARButton.cjs.js +0 -1
  1210. package/webxr/OculusHandModel.cjs.js +0 -1
  1211. package/webxr/OculusHandPointerModel.cjs.js +0 -1
  1212. package/webxr/Text2D.cjs.js +0 -1
  1213. package/webxr/VRButton.cjs.js +0 -1
  1214. package/webxr/XRControllerModelFactory.cjs.js +0 -1
  1215. package/webxr/XREstimatedLight.cjs.js +0 -1
  1216. package/webxr/XRHandMeshModel.cjs.js +0 -1
  1217. package/webxr/XRHandModelFactory.cjs.js +0 -1
  1218. package/webxr/XRHandPrimitiveModel.cjs.js +0 -1
@@ -1,6 +1,6 @@
1
- import { GPUInputStepMode, OneMinusBlendColorFactor, BlendColorFactor, GPUColorWriteFlags, GPUPrimitiveTopology, GPUStencilOperation, GPUVertexFormat, GPUIndexFormat, GPUBlendFactor, GPUBlendOperation, GPUTextureFormat, GPUCompareFunction, GPUFrontFace, GPUCullMode } from './constants.js';
2
- import { NoBlending, CustomBlending, MultiplyBlending, SubtractiveBlending, AdditiveBlending, NormalBlending, SrcAlphaSaturateFactor, OneMinusDstAlphaFactor, DstAlphaFactor, OneMinusDstColorFactor, DstColorFactor, OneMinusSrcAlphaFactor, SrcAlphaFactor, OneMinusSrcColorFactor, SrcColorFactor, OneFactor, ZeroFactor, MaxEquation, MinEquation, ReverseSubtractEquation, SubtractEquation, AddEquation, NotEqualDepth, GreaterDepth, GreaterEqualDepth, EqualDepth, LessEqualDepth, LessDepth, AlwaysDepth, NeverDepth, DoubleSide, BackSide, FrontSide, NotEqualStencilFunc, GreaterStencilFunc, GreaterEqualStencilFunc, EqualStencilFunc, LessEqualStencilFunc, LessStencilFunc, AlwaysStencilFunc, NeverStencilFunc, DecrementWrapStencilOp, IncrementWrapStencilOp, DecrementStencilOp, IncrementStencilOp, InvertStencilOp, ReplaceStencilOp, ZeroStencilOp, KeepStencilOp } from 'three';
3
-
1
+ "use strict";
2
+ const constants = require("./constants.js");
3
+ const THREE = require("three");
4
4
  class WebGPURenderPipelines {
5
5
  constructor(renderer, properties, device, glslang, sampleCount, nodes) {
6
6
  this.renderer = renderer;
@@ -9,115 +9,76 @@ class WebGPURenderPipelines {
9
9
  this.glslang = glslang;
10
10
  this.sampleCount = sampleCount;
11
11
  this.nodes = nodes;
12
- this.pipelines = new WeakMap();
13
- this.shaderAttributes = new WeakMap();
12
+ this.pipelines = /* @__PURE__ */ new WeakMap();
13
+ this.shaderAttributes = /* @__PURE__ */ new WeakMap();
14
14
  this.shaderModules = {
15
- vertex: new Map(),
16
- fragment: new Map()
15
+ vertex: /* @__PURE__ */ new Map(),
16
+ fragment: /* @__PURE__ */ new Map()
17
17
  };
18
18
  }
19
-
20
19
  get(object) {
21
- // @TODO: Avoid a 1:1 relationship between pipelines and objects. It's necessary
22
- // to check various conditions in order to request an appropriate pipeline.
23
- //
24
- // - material's version and node configuration
25
- // - environment map (material)
26
- // - fog and environment (scene)
27
- // - output encoding (renderer)
28
- // - light state
29
- // - clipping planes
30
- //
31
- // The renderer needs to manage multiple pipelines per object so
32
- // GPUDevice.createRenderPipeline() is only called when no pipeline exists for the
33
- // current configuration.
34
20
  let pipeline = this.pipelines.get(object);
35
-
36
- if (pipeline === undefined) {
21
+ if (pipeline === void 0) {
37
22
  const device = this.device;
38
23
  const properties = this.properties;
39
- const material = object.material; // get shader
40
-
41
- const nodeBuilder = this.nodes.get(material); // shader modules
42
-
24
+ const material = object.material;
25
+ const nodeBuilder = this.nodes.get(material);
43
26
  const glslang = this.glslang;
44
27
  let moduleVertex = this.shaderModules.vertex.get(nodeBuilder.vertexShader);
45
-
46
- if (moduleVertex === undefined) {
47
- const byteCodeVertex = glslang.compileGLSL(nodeBuilder.vertexShader, 'vertex');
28
+ if (moduleVertex === void 0) {
29
+ const byteCodeVertex = glslang.compileGLSL(nodeBuilder.vertexShader, "vertex");
48
30
  moduleVertex = {
49
- module: device.createShaderModule({
50
- code: byteCodeVertex
51
- }),
52
- entryPoint: 'main'
31
+ module: device.createShaderModule({ code: byteCodeVertex }),
32
+ entryPoint: "main"
53
33
  };
54
34
  this.shaderModules.vertex.set(nodeBuilder.vertexShader, moduleVertex);
55
35
  }
56
-
57
36
  let moduleFragment = this.shaderModules.fragment.get(nodeBuilder.fragmentShader);
58
-
59
- if (moduleFragment === undefined) {
60
- const byteCodeFragment = glslang.compileGLSL(nodeBuilder.fragmentShader, 'fragment');
37
+ if (moduleFragment === void 0) {
38
+ const byteCodeFragment = glslang.compileGLSL(nodeBuilder.fragmentShader, "fragment");
61
39
  moduleFragment = {
62
- module: device.createShaderModule({
63
- code: byteCodeFragment
64
- }),
65
- entryPoint: 'main'
40
+ module: device.createShaderModule({ code: byteCodeFragment }),
41
+ entryPoint: "main"
66
42
  };
67
43
  this.shaderModules.fragment.set(nodeBuilder.fragmentShader, moduleFragment);
68
- } // dispose material
69
-
70
-
44
+ }
71
45
  const materialProperties = properties.get(material);
72
-
73
- if (materialProperties.disposeCallback === undefined) {
46
+ if (materialProperties.disposeCallback === void 0) {
74
47
  const disposeCallback = onMaterialDispose.bind(this);
75
48
  materialProperties.disposeCallback = disposeCallback;
76
- material.addEventListener('dispose', disposeCallback);
77
- } // determine shader attributes
78
-
79
-
80
- const shaderAttributes = this._parseShaderAttributes(nodeBuilder.vertexShader); // vertex buffers
81
-
82
-
49
+ material.addEventListener("dispose", disposeCallback);
50
+ }
51
+ const shaderAttributes = this._parseShaderAttributes(nodeBuilder.vertexShader);
83
52
  const vertexBuffers = [];
84
53
  const geometry = object.geometry;
85
-
86
54
  for (let attribute of shaderAttributes) {
87
55
  const name = attribute.name;
88
56
  const geometryAttribute = geometry.getAttribute(name);
89
- const stepMode = geometryAttribute !== undefined && geometryAttribute.isInstancedBufferAttribute ? GPUInputStepMode.Instance : GPUInputStepMode.Vertex;
57
+ const stepMode = geometryAttribute !== void 0 && geometryAttribute.isInstancedBufferAttribute ? constants.GPUInputStepMode.Instance : constants.GPUInputStepMode.Vertex;
90
58
  vertexBuffers.push({
91
59
  arrayStride: attribute.arrayStride,
92
- attributes: [{
93
- shaderLocation: attribute.slot,
94
- offset: 0,
95
- format: attribute.format
96
- }],
97
- stepMode: stepMode
60
+ attributes: [
61
+ {
62
+ shaderLocation: attribute.slot,
63
+ offset: 0,
64
+ format: attribute.format
65
+ }
66
+ ],
67
+ stepMode
98
68
  });
99
- } //
100
-
101
-
69
+ }
102
70
  let indexFormat;
103
-
104
71
  if (object.isLine) {
105
72
  const count = geometry.index ? geometry.index.count : geometry.attributes.position.count;
106
- indexFormat = count > 65535 ? GPUIndexFormat.Uint32 : GPUIndexFormat.Uint16; // define data type for primitive restart value
107
- } //
108
-
109
-
73
+ indexFormat = count > 65535 ? constants.GPUIndexFormat.Uint32 : constants.GPUIndexFormat.Uint16;
74
+ }
110
75
  let alphaBlend = {};
111
76
  let colorBlend = {};
112
-
113
- if (material.transparent === true && material.blending !== NoBlending) {
77
+ if (material.transparent === true && material.blending !== THREE.NoBlending) {
114
78
  alphaBlend = this._getAlphaBlend(material);
115
79
  colorBlend = this._getColorBlend(material);
116
- } //
117
-
118
-
80
+ }
119
81
  let stencilFront = {};
120
-
121
82
  if (material.stencilWrite === true) {
122
83
  stencilFront = {
123
84
  compare: this._getStencilCompare(material),
@@ -125,133 +86,122 @@ class WebGPURenderPipelines {
125
86
  depthFailOp: this._getStencilOperation(material.stencilZFail),
126
87
  passOp: this._getStencilOperation(material.stencilZPass)
127
88
  };
128
- } // pipeline
129
-
130
-
89
+ }
131
90
  const primitiveTopology = this._getPrimitiveTopology(object);
132
-
133
91
  const rasterizationState = this._getRasterizationStateDescriptor(material);
134
-
135
92
  const colorWriteMask = this._getColorWriteMask(material);
136
-
137
93
  const depthCompare = this._getDepthCompare(material);
138
-
139
94
  const colorFormat = this._getColorFormat(this.renderer);
140
-
141
95
  const depthStencilFormat = this._getDepthStencilFormat(this.renderer);
142
-
143
96
  pipeline = device.createRenderPipeline({
144
97
  vertexStage: moduleVertex,
145
98
  fragmentStage: moduleFragment,
146
- primitiveTopology: primitiveTopology,
147
- rasterizationState: rasterizationState,
148
- colorStates: [{
149
- format: colorFormat,
150
- alphaBlend: alphaBlend,
151
- colorBlend: colorBlend,
152
- writeMask: colorWriteMask
153
- }],
99
+ primitiveTopology,
100
+ rasterizationState,
101
+ colorStates: [
102
+ {
103
+ format: colorFormat,
104
+ alphaBlend,
105
+ colorBlend,
106
+ writeMask: colorWriteMask
107
+ }
108
+ ],
154
109
  depthStencilState: {
155
110
  format: depthStencilFormat,
156
111
  depthWriteEnabled: material.depthWrite,
157
- depthCompare: depthCompare,
158
- stencilFront: stencilFront,
112
+ depthCompare,
113
+ stencilFront,
159
114
  stencilBack: {},
160
- // three.js does not provide an API to configure the back function (gl.stencilFuncSeparate() was never used)
161
115
  stencilReadMask: material.stencilFuncMask,
162
116
  stencilWriteMask: material.stencilWriteMask
163
117
  },
164
118
  vertexState: {
165
- indexFormat: indexFormat,
166
- vertexBuffers: vertexBuffers
119
+ indexFormat,
120
+ vertexBuffers
167
121
  },
168
122
  sampleCount: this.sampleCount
169
123
  });
170
124
  this.pipelines.set(object, pipeline);
171
125
  this.shaderAttributes.set(pipeline, shaderAttributes);
172
126
  }
173
-
174
127
  return pipeline;
175
128
  }
176
-
177
129
  getShaderAttributes(pipeline) {
178
130
  return this.shaderAttributes.get(pipeline);
179
131
  }
180
-
181
132
  dispose() {
182
- this.pipelines = new WeakMap();
183
- this.shaderAttributes = new WeakMap();
133
+ this.pipelines = /* @__PURE__ */ new WeakMap();
134
+ this.shaderAttributes = /* @__PURE__ */ new WeakMap();
184
135
  this.shaderModules = {
185
- vertex: new Map(),
186
- fragment: new Map()
136
+ vertex: /* @__PURE__ */ new Map(),
137
+ fragment: /* @__PURE__ */ new Map()
187
138
  };
188
139
  }
189
-
190
140
  _getArrayStride(type) {
191
- // @TODO: This code is GLSL specific. We need to update when we switch to WGSL.
192
- if (type === 'float') return 4;
193
- if (type === 'vec2') return 8;
194
- if (type === 'vec3') return 12;
195
- if (type === 'vec4') return 16;
196
- if (type === 'int') return 4;
197
- if (type === 'ivec2') return 8;
198
- if (type === 'ivec3') return 12;
199
- if (type === 'ivec4') return 16;
200
- if (type === 'uint') return 4;
201
- if (type === 'uvec2') return 8;
202
- if (type === 'uvec3') return 12;
203
- if (type === 'uvec4') return 16;
204
- console.error('THREE.WebGPURenderer: Shader variable type not supported yet.', type);
141
+ if (type === "float")
142
+ return 4;
143
+ if (type === "vec2")
144
+ return 8;
145
+ if (type === "vec3")
146
+ return 12;
147
+ if (type === "vec4")
148
+ return 16;
149
+ if (type === "int")
150
+ return 4;
151
+ if (type === "ivec2")
152
+ return 8;
153
+ if (type === "ivec3")
154
+ return 12;
155
+ if (type === "ivec4")
156
+ return 16;
157
+ if (type === "uint")
158
+ return 4;
159
+ if (type === "uvec2")
160
+ return 8;
161
+ if (type === "uvec3")
162
+ return 12;
163
+ if (type === "uvec4")
164
+ return 16;
165
+ console.error("THREE.WebGPURenderer: Shader variable type not supported yet.", type);
205
166
  }
206
-
207
167
  _getAlphaBlend(material) {
208
168
  const blending = material.blending;
209
169
  const premultipliedAlpha = material.premultipliedAlpha;
210
- let alphaBlend = undefined;
211
-
170
+ let alphaBlend = void 0;
212
171
  switch (blending) {
213
- case NormalBlending:
172
+ case THREE.NormalBlending:
214
173
  if (premultipliedAlpha === false) {
215
174
  alphaBlend = {
216
- srcFactor: GPUBlendFactor.One,
217
- dstFactor: GPUBlendFactor.OneMinusSrcAlpha,
218
- operation: GPUBlendOperation.Add
175
+ srcFactor: constants.GPUBlendFactor.One,
176
+ dstFactor: constants.GPUBlendFactor.OneMinusSrcAlpha,
177
+ operation: constants.GPUBlendOperation.Add
219
178
  };
220
179
  }
221
-
222
180
  break;
223
-
224
- case AdditiveBlending:
225
- // no alphaBlend settings
181
+ case THREE.AdditiveBlending:
226
182
  break;
227
-
228
- case SubtractiveBlending:
183
+ case THREE.SubtractiveBlending:
229
184
  if (premultipliedAlpha === true) {
230
185
  alphaBlend = {
231
- srcFactor: GPUBlendFactor.OneMinusSrcColor,
232
- dstFactor: GPUBlendFactor.OneMinusSrcAlpha,
233
- operation: GPUBlendOperation.Add
186
+ srcFactor: constants.GPUBlendFactor.OneMinusSrcColor,
187
+ dstFactor: constants.GPUBlendFactor.OneMinusSrcAlpha,
188
+ operation: constants.GPUBlendOperation.Add
234
189
  };
235
190
  }
236
-
237
191
  break;
238
-
239
- case MultiplyBlending:
192
+ case THREE.MultiplyBlending:
240
193
  if (premultipliedAlpha === true) {
241
194
  alphaBlend = {
242
- srcFactor: GPUBlendFactor.Zero,
243
- dstFactor: GPUBlendFactor.SrcAlpha,
244
- operation: GPUBlendOperation.Add
195
+ srcFactor: constants.GPUBlendFactor.Zero,
196
+ dstFactor: constants.GPUBlendFactor.SrcAlpha,
197
+ operation: constants.GPUBlendOperation.Add
245
198
  };
246
199
  }
247
-
248
200
  break;
249
-
250
- case CustomBlending:
201
+ case THREE.CustomBlending:
251
202
  const blendSrcAlpha = material.blendSrcAlpha;
252
203
  const blendDstAlpha = material.blendDstAlpha;
253
204
  const blendEquationAlpha = material.blendEquationAlpha;
254
-
255
205
  if (blendSrcAlpha !== null && blendDstAlpha !== null && blendEquationAlpha !== null) {
256
206
  alphaBlend = {
257
207
  srcFactor: this._getBlendFactor(blendSrcAlpha),
@@ -259,110 +209,82 @@ class WebGPURenderPipelines {
259
209
  operation: this._getBlendOperation(blendEquationAlpha)
260
210
  };
261
211
  }
262
-
263
212
  break;
264
-
265
213
  default:
266
- console.error('THREE.WebGPURenderer: Blending not supported.', blending);
214
+ console.error("THREE.WebGPURenderer: Blending not supported.", blending);
267
215
  }
268
-
269
216
  return alphaBlend;
270
217
  }
271
-
272
218
  _getBlendFactor(blend) {
273
219
  let blendFactor;
274
-
275
220
  switch (blend) {
276
- case ZeroFactor:
277
- blendFactor = GPUBlendFactor.Zero;
221
+ case THREE.ZeroFactor:
222
+ blendFactor = constants.GPUBlendFactor.Zero;
278
223
  break;
279
-
280
- case OneFactor:
281
- blendFactor = GPUBlendFactor.One;
224
+ case THREE.OneFactor:
225
+ blendFactor = constants.GPUBlendFactor.One;
282
226
  break;
283
-
284
- case SrcColorFactor:
285
- blendFactor = GPUBlendFactor.SrcColor;
227
+ case THREE.SrcColorFactor:
228
+ blendFactor = constants.GPUBlendFactor.SrcColor;
286
229
  break;
287
-
288
- case OneMinusSrcColorFactor:
289
- blendFactor = GPUBlendFactor.OneMinusSrcColor;
230
+ case THREE.OneMinusSrcColorFactor:
231
+ blendFactor = constants.GPUBlendFactor.OneMinusSrcColor;
290
232
  break;
291
-
292
- case SrcAlphaFactor:
293
- blendFactor = GPUBlendFactor.SrcAlpha;
233
+ case THREE.SrcAlphaFactor:
234
+ blendFactor = constants.GPUBlendFactor.SrcAlpha;
294
235
  break;
295
-
296
- case OneMinusSrcAlphaFactor:
297
- blendFactor = GPUBlendFactor.OneMinusSrcAlpha;
236
+ case THREE.OneMinusSrcAlphaFactor:
237
+ blendFactor = constants.GPUBlendFactor.OneMinusSrcAlpha;
298
238
  break;
299
-
300
- case DstColorFactor:
301
- blendFactor = GPUBlendFactor.DstColor;
239
+ case THREE.DstColorFactor:
240
+ blendFactor = constants.GPUBlendFactor.DstColor;
302
241
  break;
303
-
304
- case OneMinusDstColorFactor:
305
- blendFactor = GPUBlendFactor.OneMinusDstColor;
242
+ case THREE.OneMinusDstColorFactor:
243
+ blendFactor = constants.GPUBlendFactor.OneMinusDstColor;
306
244
  break;
307
-
308
- case DstAlphaFactor:
309
- blendFactor = GPUBlendFactor.DstAlpha;
245
+ case THREE.DstAlphaFactor:
246
+ blendFactor = constants.GPUBlendFactor.DstAlpha;
310
247
  break;
311
-
312
- case OneMinusDstAlphaFactor:
313
- blendFactor = GPUBlendFactor.OneMinusDstAlpha;
248
+ case THREE.OneMinusDstAlphaFactor:
249
+ blendFactor = constants.GPUBlendFactor.OneMinusDstAlpha;
314
250
  break;
315
-
316
- case SrcAlphaSaturateFactor:
317
- blendFactor = GPUBlendFactor.SrcAlphaSaturated;
251
+ case THREE.SrcAlphaSaturateFactor:
252
+ blendFactor = constants.GPUBlendFactor.SrcAlphaSaturated;
318
253
  break;
319
-
320
- case BlendColorFactor:
321
- blendFactor = GPUBlendFactor.BlendColor;
254
+ case constants.BlendColorFactor:
255
+ blendFactor = constants.GPUBlendFactor.BlendColor;
322
256
  break;
323
-
324
- case OneMinusBlendColorFactor:
325
- blendFactor = GPUBlendFactor.OneMinusBlendColor;
257
+ case constants.OneMinusBlendColorFactor:
258
+ blendFactor = constants.GPUBlendFactor.OneMinusBlendColor;
326
259
  break;
327
-
328
260
  default:
329
- console.error('THREE.WebGPURenderer: Blend factor not supported.', blend);
261
+ console.error("THREE.WebGPURenderer: Blend factor not supported.", blend);
330
262
  }
331
-
332
263
  return blendFactor;
333
264
  }
334
-
335
265
  _getBlendOperation(blendEquation) {
336
266
  let blendOperation;
337
-
338
267
  switch (blendEquation) {
339
- case AddEquation:
340
- blendOperation = GPUBlendOperation.Add;
268
+ case THREE.AddEquation:
269
+ blendOperation = constants.GPUBlendOperation.Add;
341
270
  break;
342
-
343
- case SubtractEquation:
344
- blendOperation = GPUBlendOperation.Subtract;
271
+ case THREE.SubtractEquation:
272
+ blendOperation = constants.GPUBlendOperation.Subtract;
345
273
  break;
346
-
347
- case ReverseSubtractEquation:
348
- blendOperation = GPUBlendOperation.ReverseSubtract;
274
+ case THREE.ReverseSubtractEquation:
275
+ blendOperation = constants.GPUBlendOperation.ReverseSubtract;
349
276
  break;
350
-
351
- case MinEquation:
352
- blendOperation = GPUBlendOperation.Min;
277
+ case THREE.MinEquation:
278
+ blendOperation = constants.GPUBlendOperation.Min;
353
279
  break;
354
-
355
- case MaxEquation:
356
- blendOperation = GPUBlendOperation.Max;
280
+ case THREE.MaxEquation:
281
+ blendOperation = constants.GPUBlendOperation.Max;
357
282
  break;
358
-
359
283
  default:
360
- console.error('THREE.WebGPURenderer: Blend equation not supported.', blendEquation);
284
+ console.error("THREE.WebGPURenderer: Blend equation not supported.", blendEquation);
361
285
  }
362
-
363
286
  return blendOperation;
364
287
  }
365
-
366
288
  _getColorBlend(material) {
367
289
  const blending = material.blending;
368
290
  const premultipliedAlpha = material.premultipliedAlpha;
@@ -371,289 +293,241 @@ class WebGPURenderPipelines {
371
293
  dstFactor: null,
372
294
  operation: null
373
295
  };
374
-
375
296
  switch (blending) {
376
- case NormalBlending:
377
- colorBlend.srcFactor = premultipliedAlpha === true ? GPUBlendFactor.One : GPUBlendFactor.SrcAlpha;
378
- colorBlend.dstFactor = GPUBlendFactor.OneMinusSrcAlpha;
379
- colorBlend.operation = GPUBlendOperation.Add;
380
- break;
381
-
382
- case AdditiveBlending:
383
- colorBlend.srcFactor = premultipliedAlpha === true ? GPUBlendFactor.One : GPUBlendFactor.SrcAlpha;
384
- colorBlend.operation = GPUBlendOperation.Add;
385
- break;
386
-
387
- case SubtractiveBlending:
388
- colorBlend.srcFactor = GPUBlendFactor.Zero;
389
- colorBlend.dstFactor = premultipliedAlpha === true ? GPUBlendFactor.Zero : GPUBlendFactor.OneMinusSrcColor;
390
- colorBlend.operation = GPUBlendOperation.Add;
391
- break;
392
-
393
- case MultiplyBlending:
394
- colorBlend.srcFactor = GPUBlendFactor.Zero;
395
- colorBlend.dstFactor = GPUBlendFactor.SrcColor;
396
- colorBlend.operation = GPUBlendOperation.Add;
397
- break;
398
-
399
- case CustomBlending:
297
+ case THREE.NormalBlending:
298
+ colorBlend.srcFactor = premultipliedAlpha === true ? constants.GPUBlendFactor.One : constants.GPUBlendFactor.SrcAlpha;
299
+ colorBlend.dstFactor = constants.GPUBlendFactor.OneMinusSrcAlpha;
300
+ colorBlend.operation = constants.GPUBlendOperation.Add;
301
+ break;
302
+ case THREE.AdditiveBlending:
303
+ colorBlend.srcFactor = premultipliedAlpha === true ? constants.GPUBlendFactor.One : constants.GPUBlendFactor.SrcAlpha;
304
+ colorBlend.operation = constants.GPUBlendOperation.Add;
305
+ break;
306
+ case THREE.SubtractiveBlending:
307
+ colorBlend.srcFactor = constants.GPUBlendFactor.Zero;
308
+ colorBlend.dstFactor = premultipliedAlpha === true ? constants.GPUBlendFactor.Zero : constants.GPUBlendFactor.OneMinusSrcColor;
309
+ colorBlend.operation = constants.GPUBlendOperation.Add;
310
+ break;
311
+ case THREE.MultiplyBlending:
312
+ colorBlend.srcFactor = constants.GPUBlendFactor.Zero;
313
+ colorBlend.dstFactor = constants.GPUBlendFactor.SrcColor;
314
+ colorBlend.operation = constants.GPUBlendOperation.Add;
315
+ break;
316
+ case THREE.CustomBlending:
400
317
  colorBlend.srcFactor = this._getBlendFactor(material.blendSrc);
401
318
  colorBlend.dstFactor = this._getBlendFactor(material.blendDst);
402
319
  colorBlend.operation = this._getBlendOperation(material.blendEquation);
403
320
  break;
404
-
405
321
  default:
406
- console.error('THREE.WebGPURenderer: Blending not supported.', blending);
322
+ console.error("THREE.WebGPURenderer: Blending not supported.", blending);
407
323
  }
408
-
409
324
  return colorBlend;
410
325
  }
411
-
412
326
  _getColorFormat(renderer) {
413
327
  let format;
414
328
  const renderTarget = renderer.getRenderTarget();
415
-
416
329
  if (renderTarget !== null) {
417
330
  const renderTargetProperties = this.properties.get(renderTarget);
418
331
  format = renderTargetProperties.colorTextureFormat;
419
332
  } else {
420
- format = GPUTextureFormat.BRGA8Unorm; // default swap chain format
333
+ format = constants.GPUTextureFormat.BRGA8Unorm;
421
334
  }
422
-
423
335
  return format;
424
336
  }
425
-
426
337
  _getColorWriteMask(material) {
427
- return material.colorWrite === true ? GPUColorWriteFlags.All : GPUColorWriteFlags.None;
338
+ return material.colorWrite === true ? constants.GPUColorWriteFlags.All : constants.GPUColorWriteFlags.None;
428
339
  }
429
-
430
340
  _getDepthCompare(material) {
431
341
  let depthCompare;
432
-
433
342
  if (material.depthTest === false) {
434
- depthCompare = GPUCompareFunction.Always;
343
+ depthCompare = constants.GPUCompareFunction.Always;
435
344
  } else {
436
345
  const depthFunc = material.depthFunc;
437
-
438
346
  switch (depthFunc) {
439
- case NeverDepth:
440
- depthCompare = GPUCompareFunction.Never;
347
+ case THREE.NeverDepth:
348
+ depthCompare = constants.GPUCompareFunction.Never;
441
349
  break;
442
-
443
- case AlwaysDepth:
444
- depthCompare = GPUCompareFunction.Always;
350
+ case THREE.AlwaysDepth:
351
+ depthCompare = constants.GPUCompareFunction.Always;
445
352
  break;
446
-
447
- case LessDepth:
448
- depthCompare = GPUCompareFunction.Less;
353
+ case THREE.LessDepth:
354
+ depthCompare = constants.GPUCompareFunction.Less;
449
355
  break;
450
-
451
- case LessEqualDepth:
452
- depthCompare = GPUCompareFunction.LessEqual;
356
+ case THREE.LessEqualDepth:
357
+ depthCompare = constants.GPUCompareFunction.LessEqual;
453
358
  break;
454
-
455
- case EqualDepth:
456
- depthCompare = GPUCompareFunction.Equal;
359
+ case THREE.EqualDepth:
360
+ depthCompare = constants.GPUCompareFunction.Equal;
457
361
  break;
458
-
459
- case GreaterEqualDepth:
460
- depthCompare = GPUCompareFunction.GreaterEqual;
362
+ case THREE.GreaterEqualDepth:
363
+ depthCompare = constants.GPUCompareFunction.GreaterEqual;
461
364
  break;
462
-
463
- case GreaterDepth:
464
- depthCompare = GPUCompareFunction.Greater;
365
+ case THREE.GreaterDepth:
366
+ depthCompare = constants.GPUCompareFunction.Greater;
465
367
  break;
466
-
467
- case NotEqualDepth:
468
- depthCompare = GPUCompareFunction.NotEqual;
368
+ case THREE.NotEqualDepth:
369
+ depthCompare = constants.GPUCompareFunction.NotEqual;
469
370
  break;
470
-
471
371
  default:
472
- console.error('THREE.WebGPURenderer: Invalid depth function.', depthFunc);
372
+ console.error("THREE.WebGPURenderer: Invalid depth function.", depthFunc);
473
373
  }
474
374
  }
475
-
476
375
  return depthCompare;
477
376
  }
478
-
479
377
  _getDepthStencilFormat(renderer) {
480
378
  let format;
481
379
  const renderTarget = renderer.getRenderTarget();
482
-
483
380
  if (renderTarget !== null) {
484
381
  const renderTargetProperties = this.properties.get(renderTarget);
485
382
  format = renderTargetProperties.depthTextureFormat;
486
383
  } else {
487
- format = GPUTextureFormat.Depth24PlusStencil8;
384
+ format = constants.GPUTextureFormat.Depth24PlusStencil8;
488
385
  }
489
-
490
386
  return format;
491
387
  }
492
-
493
388
  _getPrimitiveTopology(object) {
494
- if (object.isMesh) return GPUPrimitiveTopology.TriangleList;else if (object.isPoints) return GPUPrimitiveTopology.PointList;else if (object.isLine) return GPUPrimitiveTopology.LineStrip;else if (object.isLineSegments) return GPUPrimitiveTopology.LineList;
389
+ if (object.isMesh)
390
+ return constants.GPUPrimitiveTopology.TriangleList;
391
+ else if (object.isPoints)
392
+ return constants.GPUPrimitiveTopology.PointList;
393
+ else if (object.isLine)
394
+ return constants.GPUPrimitiveTopology.LineStrip;
395
+ else if (object.isLineSegments)
396
+ return constants.GPUPrimitiveTopology.LineList;
495
397
  }
496
-
497
398
  _getRasterizationStateDescriptor(material) {
498
399
  const descriptor = {};
499
-
500
400
  switch (material.side) {
501
- case FrontSide:
502
- descriptor.frontFace = GPUFrontFace.CCW;
503
- descriptor.cullMode = GPUCullMode.Back;
401
+ case THREE.FrontSide:
402
+ descriptor.frontFace = constants.GPUFrontFace.CCW;
403
+ descriptor.cullMode = constants.GPUCullMode.Back;
504
404
  break;
505
-
506
- case BackSide:
507
- descriptor.frontFace = GPUFrontFace.CW;
508
- descriptor.cullMode = GPUCullMode.Back;
405
+ case THREE.BackSide:
406
+ descriptor.frontFace = constants.GPUFrontFace.CW;
407
+ descriptor.cullMode = constants.GPUCullMode.Back;
509
408
  break;
510
-
511
- case DoubleSide:
512
- descriptor.frontFace = GPUFrontFace.CCW;
513
- descriptor.cullMode = GPUCullMode.None;
409
+ case THREE.DoubleSide:
410
+ descriptor.frontFace = constants.GPUFrontFace.CCW;
411
+ descriptor.cullMode = constants.GPUCullMode.None;
514
412
  break;
515
-
516
413
  default:
517
- console.error('THREE.WebGPURenderer: Unknown Material.side value.', material.side);
414
+ console.error("THREE.WebGPURenderer: Unknown Material.side value.", material.side);
518
415
  break;
519
416
  }
520
-
521
417
  return descriptor;
522
418
  }
523
-
524
419
  _getStencilCompare(material) {
525
420
  let stencilCompare;
526
421
  const stencilFunc = material.stencilFunc;
527
-
528
422
  switch (stencilFunc) {
529
- case NeverStencilFunc:
530
- stencilCompare = GPUCompareFunction.Never;
423
+ case THREE.NeverStencilFunc:
424
+ stencilCompare = constants.GPUCompareFunction.Never;
531
425
  break;
532
-
533
- case AlwaysStencilFunc:
534
- stencilCompare = GPUCompareFunction.Always;
426
+ case THREE.AlwaysStencilFunc:
427
+ stencilCompare = constants.GPUCompareFunction.Always;
535
428
  break;
536
-
537
- case LessStencilFunc:
538
- stencilCompare = GPUCompareFunction.Less;
429
+ case THREE.LessStencilFunc:
430
+ stencilCompare = constants.GPUCompareFunction.Less;
539
431
  break;
540
-
541
- case LessEqualStencilFunc:
542
- stencilCompare = GPUCompareFunction.LessEqual;
432
+ case THREE.LessEqualStencilFunc:
433
+ stencilCompare = constants.GPUCompareFunction.LessEqual;
543
434
  break;
544
-
545
- case EqualStencilFunc:
546
- stencilCompare = GPUCompareFunction.Equal;
435
+ case THREE.EqualStencilFunc:
436
+ stencilCompare = constants.GPUCompareFunction.Equal;
547
437
  break;
548
-
549
- case GreaterEqualStencilFunc:
550
- stencilCompare = GPUCompareFunction.GreaterEqual;
438
+ case THREE.GreaterEqualStencilFunc:
439
+ stencilCompare = constants.GPUCompareFunction.GreaterEqual;
551
440
  break;
552
-
553
- case GreaterStencilFunc:
554
- stencilCompare = GPUCompareFunction.Greater;
441
+ case THREE.GreaterStencilFunc:
442
+ stencilCompare = constants.GPUCompareFunction.Greater;
555
443
  break;
556
-
557
- case NotEqualStencilFunc:
558
- stencilCompare = GPUCompareFunction.NotEqual;
444
+ case THREE.NotEqualStencilFunc:
445
+ stencilCompare = constants.GPUCompareFunction.NotEqual;
559
446
  break;
560
-
561
447
  default:
562
- console.error('THREE.WebGPURenderer: Invalid stencil function.', stencilFunc);
448
+ console.error("THREE.WebGPURenderer: Invalid stencil function.", stencilFunc);
563
449
  }
564
-
565
450
  return stencilCompare;
566
451
  }
567
-
568
452
  _getStencilOperation(op) {
569
453
  let stencilOperation;
570
-
571
454
  switch (op) {
572
- case KeepStencilOp:
573
- stencilOperation = GPUStencilOperation.Keep;
455
+ case THREE.KeepStencilOp:
456
+ stencilOperation = constants.GPUStencilOperation.Keep;
574
457
  break;
575
-
576
- case ZeroStencilOp:
577
- stencilOperation = GPUStencilOperation.Zero;
458
+ case THREE.ZeroStencilOp:
459
+ stencilOperation = constants.GPUStencilOperation.Zero;
578
460
  break;
579
-
580
- case ReplaceStencilOp:
581
- stencilOperation = GPUStencilOperation.Replace;
461
+ case THREE.ReplaceStencilOp:
462
+ stencilOperation = constants.GPUStencilOperation.Replace;
582
463
  break;
583
-
584
- case InvertStencilOp:
585
- stencilOperation = GPUStencilOperation.Invert;
464
+ case THREE.InvertStencilOp:
465
+ stencilOperation = constants.GPUStencilOperation.Invert;
586
466
  break;
587
-
588
- case IncrementStencilOp:
589
- stencilOperation = GPUStencilOperation.IncrementClamp;
467
+ case THREE.IncrementStencilOp:
468
+ stencilOperation = constants.GPUStencilOperation.IncrementClamp;
590
469
  break;
591
-
592
- case DecrementStencilOp:
593
- stencilOperation = GPUStencilOperation.DecrementClamp;
470
+ case THREE.DecrementStencilOp:
471
+ stencilOperation = constants.GPUStencilOperation.DecrementClamp;
594
472
  break;
595
-
596
- case IncrementWrapStencilOp:
597
- stencilOperation = GPUStencilOperation.IncrementWrap;
473
+ case THREE.IncrementWrapStencilOp:
474
+ stencilOperation = constants.GPUStencilOperation.IncrementWrap;
598
475
  break;
599
-
600
- case DecrementWrapStencilOp:
601
- stencilOperation = GPUStencilOperation.DecrementWrap;
476
+ case THREE.DecrementWrapStencilOp:
477
+ stencilOperation = constants.GPUStencilOperation.DecrementWrap;
602
478
  break;
603
-
604
479
  default:
605
- console.error('THREE.WebGPURenderer: Invalid stencil operation.', stencilOperation);
480
+ console.error("THREE.WebGPURenderer: Invalid stencil operation.", stencilOperation);
606
481
  }
607
-
608
482
  return stencilOperation;
609
483
  }
610
-
611
484
  _getVertexFormat(type) {
612
- // @TODO: This code is GLSL specific. We need to update when we switch to WGSL.
613
- if (type === 'float') return GPUVertexFormat.Float;
614
- if (type === 'vec2') return GPUVertexFormat.Float2;
615
- if (type === 'vec3') return GPUVertexFormat.Float3;
616
- if (type === 'vec4') return GPUVertexFormat.Float4;
617
- if (type === 'int') return GPUVertexFormat.Int;
618
- if (type === 'ivec2') return GPUVertexFormat.Int2;
619
- if (type === 'ivec3') return GPUVertexFormat.Int3;
620
- if (type === 'ivec4') return GPUVertexFormat.Int4;
621
- if (type === 'uint') return GPUVertexFormat.UInt;
622
- if (type === 'uvec2') return GPUVertexFormat.UInt2;
623
- if (type === 'uvec3') return GPUVertexFormat.UInt3;
624
- if (type === 'uvec4') return GPUVertexFormat.UInt4;
625
- console.error('THREE.WebGPURenderer: Shader variable type not supported yet.', type);
485
+ if (type === "float")
486
+ return constants.GPUVertexFormat.Float;
487
+ if (type === "vec2")
488
+ return constants.GPUVertexFormat.Float2;
489
+ if (type === "vec3")
490
+ return constants.GPUVertexFormat.Float3;
491
+ if (type === "vec4")
492
+ return constants.GPUVertexFormat.Float4;
493
+ if (type === "int")
494
+ return constants.GPUVertexFormat.Int;
495
+ if (type === "ivec2")
496
+ return constants.GPUVertexFormat.Int2;
497
+ if (type === "ivec3")
498
+ return constants.GPUVertexFormat.Int3;
499
+ if (type === "ivec4")
500
+ return constants.GPUVertexFormat.Int4;
501
+ if (type === "uint")
502
+ return constants.GPUVertexFormat.UInt;
503
+ if (type === "uvec2")
504
+ return constants.GPUVertexFormat.UInt2;
505
+ if (type === "uvec3")
506
+ return constants.GPUVertexFormat.UInt3;
507
+ if (type === "uvec4")
508
+ return constants.GPUVertexFormat.UInt4;
509
+ console.error("THREE.WebGPURenderer: Shader variable type not supported yet.", type);
626
510
  }
627
-
628
511
  _parseShaderAttributes(shader) {
629
- // find "layout (location = num) in type name" in vertex shader
630
512
  const regex = /\s*layout\s*\(\s*location\s*=\s*(?<location>[0-9]+)\s*\)\s*in\s+(?<type>\w+)\s+(?<name>\w+)\s*;/gim;
631
513
  let shaderAttribute = null;
632
514
  const attributes = [];
633
-
634
515
  while (shaderAttribute = regex.exec(shader)) {
635
516
  const shaderLocation = parseInt(shaderAttribute.groups.location);
636
-
637
517
  const arrayStride = this._getArrayStride(shaderAttribute.groups.type);
638
-
639
518
  const vertexFormat = this._getVertexFormat(shaderAttribute.groups.type);
640
-
641
519
  attributes.push({
642
520
  name: shaderAttribute.groups.name,
643
- arrayStride: arrayStride,
521
+ arrayStride,
644
522
  slot: shaderLocation,
645
523
  format: vertexFormat
646
524
  });
647
- } // the sort ensures to setup vertex buffers in the correct order
648
-
649
-
650
- return attributes.sort(function (a, b) {
525
+ }
526
+ return attributes.sort(function(a, b) {
651
527
  return a.slot - b.slot;
652
528
  });
653
529
  }
654
-
655
530
  }
656
-
657
531
  function onMaterialDispose(event) {
658
532
  const properties = this.properties;
659
533
  const nodes = this.nodes;
@@ -661,11 +535,10 @@ function onMaterialDispose(event) {
661
535
  const material = event.target;
662
536
  const materialProperties = properties.get(material);
663
537
  const nodeBuilder = nodes.get(material);
664
- material.removeEventListener('dispose', materialProperties.disposeCallback);
538
+ material.removeEventListener("dispose", materialProperties.disposeCallback);
665
539
  properties.remove(material);
666
540
  nodes.remove(material);
667
541
  shaderModules.vertex.delete(nodeBuilder.vertexShader);
668
- shaderModules.fragment.delete(nodeBuilder.fragmentShader); // @TODO: still needed remove bindings and pipeline
542
+ shaderModules.fragment.delete(nodeBuilder.fragmentShader);
669
543
  }
670
-
671
- export default WebGPURenderPipelines;
544
+ module.exports = WebGPURenderPipelines;