three-stdlib 2.25.0 → 2.26.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (540) hide show
  1. package/controls/OrbitControls.d.ts +1 -0
  2. package/index.cjs +116465 -611
  3. package/index.js +116101 -263
  4. package/package.json +17 -4
  5. package/_polyfill/CapsuleGeometry.cjs +0 -22
  6. package/_polyfill/CapsuleGeometry.js +0 -22
  7. package/_polyfill/CompressedArrayTexture.cjs +0 -12
  8. package/_polyfill/CompressedArrayTexture.js +0 -12
  9. package/_polyfill/Data3DTexture.cjs +0 -17
  10. package/_polyfill/Data3DTexture.js +0 -17
  11. package/animation/AnimationClipCreator.cjs +0 -56
  12. package/animation/AnimationClipCreator.js +0 -56
  13. package/animation/CCDIKSolver.cjs +0 -269
  14. package/animation/CCDIKSolver.js +0 -269
  15. package/animation/MMDAnimationHelper.cjs +0 -688
  16. package/animation/MMDAnimationHelper.js +0 -688
  17. package/animation/MMDPhysics.cjs +0 -830
  18. package/animation/MMDPhysics.js +0 -830
  19. package/cameras/CinematicCamera.cjs +0 -131
  20. package/cameras/CinematicCamera.js +0 -131
  21. package/controls/ArcballControls.cjs +0 -2033
  22. package/controls/ArcballControls.js +0 -2033
  23. package/controls/DeviceOrientationControls.cjs +0 -85
  24. package/controls/DeviceOrientationControls.js +0 -85
  25. package/controls/DragControls.cjs +0 -182
  26. package/controls/DragControls.js +0 -182
  27. package/controls/FirstPersonControls.cjs +0 -229
  28. package/controls/FirstPersonControls.js +0 -229
  29. package/controls/FlyControls.cjs +0 -248
  30. package/controls/FlyControls.js +0 -248
  31. package/controls/OrbitControls.cjs +0 -791
  32. package/controls/OrbitControls.js +0 -791
  33. package/controls/PointerLockControls.cjs +0 -103
  34. package/controls/PointerLockControls.js +0 -103
  35. package/controls/TrackballControls.cjs +0 -502
  36. package/controls/TrackballControls.js +0 -502
  37. package/controls/TransformControls.cjs +0 -1089
  38. package/controls/TransformControls.js +0 -1089
  39. package/controls/experimental/CameraControls.cjs +0 -736
  40. package/controls/experimental/CameraControls.js +0 -736
  41. package/csm/CSM.cjs +0 -244
  42. package/csm/CSM.js +0 -244
  43. package/csm/CSMFrustum.cjs +0 -75
  44. package/csm/CSMFrustum.js +0 -75
  45. package/csm/CSMHelper.cjs +0 -114
  46. package/csm/CSMHelper.js +0 -114
  47. package/csm/CSMShader.cjs +0 -261
  48. package/csm/CSMShader.js +0 -261
  49. package/curves/CurveExtras.cjs +0 -214
  50. package/curves/CurveExtras.js +0 -214
  51. package/curves/NURBSCurve.cjs +0 -35
  52. package/curves/NURBSCurve.js +0 -35
  53. package/curves/NURBSSurface.cjs +0 -28
  54. package/curves/NURBSSurface.js +0 -28
  55. package/curves/NURBSUtils.cjs +0 -226
  56. package/curves/NURBSUtils.js +0 -226
  57. package/deprecated/Geometry.cjs +0 -971
  58. package/deprecated/Geometry.js +0 -971
  59. package/effects/AnaglyphEffect.cjs +0 -102
  60. package/effects/AnaglyphEffect.js +0 -102
  61. package/effects/AsciiEffect.cjs +0 -155
  62. package/effects/AsciiEffect.js +0 -155
  63. package/effects/OutlineEffect.cjs +0 -275
  64. package/effects/OutlineEffect.js +0 -275
  65. package/effects/ParallaxBarrierEffect.cjs +0 -65
  66. package/effects/ParallaxBarrierEffect.js +0 -65
  67. package/effects/PeppersGhostEffect.cjs +0 -88
  68. package/effects/PeppersGhostEffect.js +0 -88
  69. package/effects/StereoEffect.cjs +0 -35
  70. package/effects/StereoEffect.js +0 -35
  71. package/environments/RoomEnvironment.cjs +0 -95
  72. package/environments/RoomEnvironment.js +0 -78
  73. package/exporters/ColladaExporter.cjs +0 -331
  74. package/exporters/ColladaExporter.js +0 -331
  75. package/exporters/DRACOExporter.cjs +0 -141
  76. package/exporters/DRACOExporter.js +0 -141
  77. package/exporters/GLTFExporter.cjs +0 -1909
  78. package/exporters/GLTFExporter.js +0 -1909
  79. package/exporters/MMDExporter.cjs +0 -131
  80. package/exporters/MMDExporter.js +0 -131
  81. package/exporters/OBJExporter.cjs +0 -181
  82. package/exporters/OBJExporter.js +0 -181
  83. package/exporters/PLYExporter.cjs +0 -280
  84. package/exporters/PLYExporter.js +0 -280
  85. package/exporters/STLExporter.cjs +0 -146
  86. package/exporters/STLExporter.js +0 -146
  87. package/exporters/USDZExporter.cjs +0 -340
  88. package/exporters/USDZExporter.js +0 -340
  89. package/geometries/BoxLineGeometry.cjs +0 -45
  90. package/geometries/BoxLineGeometry.js +0 -45
  91. package/geometries/ConvexGeometry.cjs +0 -26
  92. package/geometries/ConvexGeometry.js +0 -26
  93. package/geometries/DecalGeometry.cjs +0 -184
  94. package/geometries/DecalGeometry.js +0 -184
  95. package/geometries/LightningStrike.cjs +0 -553
  96. package/geometries/LightningStrike.js +0 -553
  97. package/geometries/ParametricGeometries.cjs +0 -130
  98. package/geometries/ParametricGeometries.js +0 -130
  99. package/geometries/ParametricGeometry.cjs +0 -63
  100. package/geometries/ParametricGeometry.js +0 -63
  101. package/geometries/RoundedBoxGeometry.cjs +0 -91
  102. package/geometries/RoundedBoxGeometry.js +0 -91
  103. package/geometries/TeapotGeometry.cjs +0 -1563
  104. package/geometries/TeapotGeometry.js +0 -1563
  105. package/geometries/TextGeometry.cjs +0 -27
  106. package/geometries/TextGeometry.js +0 -27
  107. package/helpers/LightProbeHelper.cjs +0 -73
  108. package/helpers/LightProbeHelper.js +0 -73
  109. package/helpers/PositionalAudioHelper.cjs +0 -68
  110. package/helpers/PositionalAudioHelper.js +0 -68
  111. package/helpers/RectAreaLightHelper.cjs +0 -44
  112. package/helpers/RectAreaLightHelper.js +0 -44
  113. package/helpers/VertexNormalsHelper.cjs +0 -47
  114. package/helpers/VertexNormalsHelper.js +0 -47
  115. package/helpers/VertexTangentsHelper.cjs +0 -43
  116. package/helpers/VertexTangentsHelper.js +0 -43
  117. package/interactive/HTMLMesh.cjs +0 -325
  118. package/interactive/HTMLMesh.js +0 -325
  119. package/interactive/InteractiveGroup.cjs +0 -68
  120. package/interactive/InteractiveGroup.js +0 -68
  121. package/interactive/SelectionBox.cjs +0 -134
  122. package/interactive/SelectionBox.js +0 -134
  123. package/interactive/SelectionHelper.cjs +0 -51
  124. package/interactive/SelectionHelper.js +0 -51
  125. package/libs/MeshoptDecoder.cjs +0 -221
  126. package/libs/MeshoptDecoder.js +0 -221
  127. package/libs/MotionControllers.cjs +0 -325
  128. package/libs/MotionControllers.js +0 -325
  129. package/lights/LightProbeGenerator.cjs +0 -145
  130. package/lights/LightProbeGenerator.js +0 -145
  131. package/lights/RectAreaLightUniformsLib.cjs +0 -32846
  132. package/lights/RectAreaLightUniformsLib.js +0 -32846
  133. package/lines/Line2.cjs +0 -13
  134. package/lines/Line2.js +0 -13
  135. package/lines/LineGeometry.cjs +0 -44
  136. package/lines/LineGeometry.js +0 -44
  137. package/lines/LineMaterial.cjs +0 -547
  138. package/lines/LineMaterial.js +0 -547
  139. package/lines/LineSegments2.cjs +0 -203
  140. package/lines/LineSegments2.js +0 -203
  141. package/lines/LineSegmentsGeometry.cjs +0 -124
  142. package/lines/LineSegmentsGeometry.js +0 -124
  143. package/lines/Wireframe.cjs +0 -32
  144. package/lines/Wireframe.js +0 -32
  145. package/lines/WireframeGeometry2.cjs +0 -13
  146. package/lines/WireframeGeometry2.js +0 -13
  147. package/loaders/3DMLoader.cjs +0 -803
  148. package/loaders/3DMLoader.js +0 -803
  149. package/loaders/3MFLoader.cjs +0 -854
  150. package/loaders/3MFLoader.js +0 -854
  151. package/loaders/AMFLoader.cjs +0 -284
  152. package/loaders/AMFLoader.js +0 -284
  153. package/loaders/AssimpLoader.cjs +0 -1434
  154. package/loaders/AssimpLoader.js +0 -1434
  155. package/loaders/BVHLoader.cjs +0 -207
  156. package/loaders/BVHLoader.js +0 -207
  157. package/loaders/BasisTextureLoader.cjs +0 -489
  158. package/loaders/BasisTextureLoader.js +0 -489
  159. package/loaders/ColladaLoader.cjs +0 -2405
  160. package/loaders/ColladaLoader.js +0 -2405
  161. package/loaders/DDSLoader.cjs +0 -148
  162. package/loaders/DDSLoader.js +0 -148
  163. package/loaders/DRACOLoader.cjs +0 -341
  164. package/loaders/DRACOLoader.js +0 -341
  165. package/loaders/EXRLoader.cjs +0 -1356
  166. package/loaders/EXRLoader.js +0 -1356
  167. package/loaders/FBXLoader.cjs +0 -2457
  168. package/loaders/FBXLoader.js +0 -2457
  169. package/loaders/FontLoader.cjs +0 -123
  170. package/loaders/FontLoader.js +0 -123
  171. package/loaders/GCodeLoader.cjs +0 -141
  172. package/loaders/GCodeLoader.js +0 -141
  173. package/loaders/GLTFLoader.cjs +0 -2504
  174. package/loaders/GLTFLoader.js +0 -2504
  175. package/loaders/HDRCubeTextureLoader.cjs +0 -75
  176. package/loaders/HDRCubeTextureLoader.js +0 -75
  177. package/loaders/KMZLoader.cjs +0 -75
  178. package/loaders/KMZLoader.js +0 -75
  179. package/loaders/KTX2Loader.cjs +0 -480
  180. package/loaders/KTX2Loader.js +0 -480
  181. package/loaders/KTXLoader.cjs +0 -93
  182. package/loaders/KTXLoader.js +0 -93
  183. package/loaders/LDrawLoader.cjs +0 -1424
  184. package/loaders/LDrawLoader.js +0 -1424
  185. package/loaders/LUT3dlLoader.cjs +0 -103
  186. package/loaders/LUT3dlLoader.js +0 -103
  187. package/loaders/LUTCubeLoader.cjs +0 -107
  188. package/loaders/LUTCubeLoader.js +0 -107
  189. package/loaders/LWOLoader.cjs +0 -645
  190. package/loaders/LWOLoader.js +0 -645
  191. package/loaders/LottieLoader.cjs +0 -47
  192. package/loaders/LottieLoader.js +0 -47
  193. package/loaders/MD2Loader.cjs +0 -359
  194. package/loaders/MD2Loader.js +0 -359
  195. package/loaders/MDDLoader.cjs +0 -58
  196. package/loaders/MDDLoader.js +0 -58
  197. package/loaders/MMDLoader.cjs +0 -1121
  198. package/loaders/MMDLoader.js +0 -1121
  199. package/loaders/MTLLoader.cjs +0 -304
  200. package/loaders/MTLLoader.js +0 -304
  201. package/loaders/NRRDLoader.cjs +0 -401
  202. package/loaders/NRRDLoader.js +0 -401
  203. package/loaders/OBJLoader.cjs +0 -487
  204. package/loaders/OBJLoader.js +0 -487
  205. package/loaders/PCDLoader.cjs +0 -248
  206. package/loaders/PCDLoader.js +0 -248
  207. package/loaders/PDBLoader.cjs +0 -247
  208. package/loaders/PDBLoader.js +0 -247
  209. package/loaders/PLYLoader.cjs +0 -317
  210. package/loaders/PLYLoader.js +0 -317
  211. package/loaders/PRWMLoader.cjs +0 -160
  212. package/loaders/PRWMLoader.js +0 -160
  213. package/loaders/PVRLoader.cjs +0 -131
  214. package/loaders/PVRLoader.js +0 -131
  215. package/loaders/RGBELoader.cjs +0 -252
  216. package/loaders/RGBELoader.js +0 -252
  217. package/loaders/RGBMLoader.cjs +0 -1004
  218. package/loaders/RGBMLoader.js +0 -1004
  219. package/loaders/STLLoader.cjs +0 -190
  220. package/loaders/STLLoader.js +0 -190
  221. package/loaders/SVGLoader.cjs +0 -1712
  222. package/loaders/SVGLoader.js +0 -1712
  223. package/loaders/TDSLoader.cjs +0 -650
  224. package/loaders/TDSLoader.js +0 -650
  225. package/loaders/TGALoader.cjs +0 -285
  226. package/loaders/TGALoader.js +0 -285
  227. package/loaders/TTFLoader.cjs +0 -131
  228. package/loaders/TTFLoader.js +0 -131
  229. package/loaders/TiltLoader.cjs +0 -375
  230. package/loaders/TiltLoader.js +0 -375
  231. package/loaders/VOXLoader.cjs +0 -432
  232. package/loaders/VOXLoader.js +0 -432
  233. package/loaders/VRMLLoader.cjs +0 -2105
  234. package/loaders/VRMLLoader.js +0 -2105
  235. package/loaders/VRMLoader.cjs +0 -38
  236. package/loaders/VRMLoader.js +0 -38
  237. package/loaders/VTKLoader.cjs +0 -648
  238. package/loaders/VTKLoader.js +0 -648
  239. package/loaders/XLoader.cjs +0 -1258
  240. package/loaders/XLoader.js +0 -1258
  241. package/loaders/XYZLoader.cjs +0 -60
  242. package/loaders/XYZLoader.js +0 -60
  243. package/loaders/lwo/IFFParser.cjs +0 -743
  244. package/loaders/lwo/IFFParser.js +0 -743
  245. package/loaders/lwo/LWO2Parser.cjs +0 -312
  246. package/loaders/lwo/LWO2Parser.js +0 -312
  247. package/loaders/lwo/LWO3Parser.cjs +0 -282
  248. package/loaders/lwo/LWO3Parser.js +0 -282
  249. package/math/Capsule.cjs +0 -98
  250. package/math/Capsule.js +0 -98
  251. package/math/ColorConverter.cjs +0 -42
  252. package/math/ColorConverter.js +0 -42
  253. package/math/ConvexHull.cjs +0 -596
  254. package/math/ConvexHull.js +0 -596
  255. package/math/ImprovedNoise.cjs +0 -304
  256. package/math/ImprovedNoise.js +0 -304
  257. package/math/Lut.cjs +0 -137
  258. package/math/Lut.js +0 -137
  259. package/math/MeshSurfaceSampler.cjs +0 -103
  260. package/math/MeshSurfaceSampler.js +0 -103
  261. package/math/OBB.cjs +0 -242
  262. package/math/OBB.js +0 -242
  263. package/math/Octree.cjs +0 -273
  264. package/math/Octree.js +0 -273
  265. package/math/SimplexNoise.cjs +0 -440
  266. package/math/SimplexNoise.js +0 -440
  267. package/misc/ConvexObjectBreaker.cjs +0 -292
  268. package/misc/ConvexObjectBreaker.js +0 -292
  269. package/misc/GPUComputationRenderer.cjs +0 -205
  270. package/misc/GPUComputationRenderer.js +0 -205
  271. package/misc/Gyroscope.cjs +0 -33
  272. package/misc/Gyroscope.js +0 -33
  273. package/misc/MD2Character.cjs +0 -167
  274. package/misc/MD2Character.js +0 -167
  275. package/misc/MD2CharacterComplex.cjs +0 -332
  276. package/misc/MD2CharacterComplex.js +0 -332
  277. package/misc/MorphAnimMesh.cjs +0 -40
  278. package/misc/MorphAnimMesh.js +0 -40
  279. package/misc/MorphBlendMesh.cjs +0 -179
  280. package/misc/MorphBlendMesh.js +0 -179
  281. package/misc/ProgressiveLightmap.cjs +0 -186
  282. package/misc/ProgressiveLightmap.js +0 -186
  283. package/misc/RollerCoaster.cjs +0 -353
  284. package/misc/RollerCoaster.js +0 -353
  285. package/misc/Timer.cjs +0 -101
  286. package/misc/Timer.js +0 -101
  287. package/misc/TubePainter.cjs +0 -123
  288. package/misc/TubePainter.js +0 -123
  289. package/misc/Volume.cjs +0 -305
  290. package/misc/Volume.js +0 -305
  291. package/misc/VolumeSlice.cjs +0 -114
  292. package/misc/VolumeSlice.js +0 -114
  293. package/misc/WebGL.cjs +0 -74
  294. package/misc/WebGL.js +0 -74
  295. package/modifiers/CurveModifier.cjs +0 -232
  296. package/modifiers/CurveModifier.js +0 -232
  297. package/modifiers/EdgeSplitModifier.cjs +0 -167
  298. package/modifiers/EdgeSplitModifier.js +0 -168
  299. package/modifiers/SimplifyModifier.cjs +0 -301
  300. package/modifiers/SimplifyModifier.js +0 -301
  301. package/modifiers/TessellateModifier.cjs +0 -214
  302. package/modifiers/TessellateModifier.js +0 -214
  303. package/objects/GroundProjectedEnv.cjs +0 -134
  304. package/objects/GroundProjectedEnv.js +0 -134
  305. package/objects/Lensflare.cjs +0 -291
  306. package/objects/Lensflare.js +0 -291
  307. package/objects/LightningStorm.cjs +0 -110
  308. package/objects/LightningStorm.js +0 -110
  309. package/objects/MarchingCubes.cjs +0 -4809
  310. package/objects/MarchingCubes.js +0 -4809
  311. package/objects/Reflector.cjs +0 -202
  312. package/objects/Reflector.js +0 -202
  313. package/objects/ReflectorForSSRPass.cjs +0 -260
  314. package/objects/ReflectorForSSRPass.js +0 -260
  315. package/objects/ReflectorRTT.cjs +0 -10
  316. package/objects/ReflectorRTT.js +0 -10
  317. package/objects/Refractor.cjs +0 -215
  318. package/objects/Refractor.js +0 -215
  319. package/objects/ShadowMesh.cjs +0 -45
  320. package/objects/ShadowMesh.js +0 -45
  321. package/objects/Sky.cjs +0 -200
  322. package/objects/Sky.js +0 -200
  323. package/objects/Water.cjs +0 -242
  324. package/objects/Water.js +0 -242
  325. package/objects/Water2.cjs +0 -256
  326. package/objects/Water2.js +0 -256
  327. package/physics/AmmoPhysics.cjs +0 -166
  328. package/physics/AmmoPhysics.js +0 -166
  329. package/postprocessing/AdaptiveToneMappingPass.cjs +0 -218
  330. package/postprocessing/AdaptiveToneMappingPass.js +0 -218
  331. package/postprocessing/AfterimagePass.cjs +0 -68
  332. package/postprocessing/AfterimagePass.js +0 -68
  333. package/postprocessing/BloomPass.cjs +0 -109
  334. package/postprocessing/BloomPass.js +0 -109
  335. package/postprocessing/BokehPass.cjs +0 -90
  336. package/postprocessing/BokehPass.js +0 -90
  337. package/postprocessing/ClearPass.cjs +0 -36
  338. package/postprocessing/ClearPass.js +0 -36
  339. package/postprocessing/CubeTexturePass.cjs +0 -53
  340. package/postprocessing/CubeTexturePass.js +0 -53
  341. package/postprocessing/DotScreenPass.cjs +0 -49
  342. package/postprocessing/DotScreenPass.js +0 -49
  343. package/postprocessing/EffectComposer.cjs +0 -157
  344. package/postprocessing/EffectComposer.js +0 -157
  345. package/postprocessing/FilmPass.cjs +0 -51
  346. package/postprocessing/FilmPass.js +0 -51
  347. package/postprocessing/GlitchPass.cjs +0 -84
  348. package/postprocessing/GlitchPass.js +0 -84
  349. package/postprocessing/HalftonePass.cjs +0 -53
  350. package/postprocessing/HalftonePass.js +0 -53
  351. package/postprocessing/LUTPass.cjs +0 -142
  352. package/postprocessing/LUTPass.js +0 -142
  353. package/postprocessing/MaskPass.cjs +0 -69
  354. package/postprocessing/MaskPass.js +0 -69
  355. package/postprocessing/OutlinePass.cjs +0 -479
  356. package/postprocessing/OutlinePass.js +0 -479
  357. package/postprocessing/Pass.cjs +0 -48
  358. package/postprocessing/Pass.js +0 -48
  359. package/postprocessing/RenderPass.cjs +0 -59
  360. package/postprocessing/RenderPass.js +0 -59
  361. package/postprocessing/RenderPixelatedPass.cjs +0 -199
  362. package/postprocessing/RenderPixelatedPass.js +0 -199
  363. package/postprocessing/SAOPass.cjs +0 -288
  364. package/postprocessing/SAOPass.js +0 -288
  365. package/postprocessing/SMAAPass.cjs +0 -112
  366. package/postprocessing/SMAAPass.js +0 -112
  367. package/postprocessing/SSAARenderPass.cjs +0 -189
  368. package/postprocessing/SSAARenderPass.js +0 -189
  369. package/postprocessing/SSAOPass.cjs +0 -272
  370. package/postprocessing/SSAOPass.js +0 -272
  371. package/postprocessing/SSRPass.cjs +0 -411
  372. package/postprocessing/SSRPass.js +0 -411
  373. package/postprocessing/SavePass.cjs +0 -38
  374. package/postprocessing/SavePass.js +0 -38
  375. package/postprocessing/ShaderPass.cjs +0 -49
  376. package/postprocessing/ShaderPass.js +0 -49
  377. package/postprocessing/TAARenderPass.cjs +0 -174
  378. package/postprocessing/TAARenderPass.js +0 -174
  379. package/postprocessing/TexturePass.cjs +0 -42
  380. package/postprocessing/TexturePass.js +0 -42
  381. package/postprocessing/UnrealBloomPass.cjs +0 -277
  382. package/postprocessing/UnrealBloomPass.js +0 -277
  383. package/postprocessing/WaterPass.cjs +0 -72
  384. package/postprocessing/WaterPass.js +0 -72
  385. package/renderers/CSS2DRenderer.cjs +0 -122
  386. package/renderers/CSS2DRenderer.js +0 -122
  387. package/renderers/CSS3DRenderer.cjs +0 -167
  388. package/renderers/CSS3DRenderer.js +0 -167
  389. package/renderers/Projector.cjs +0 -499
  390. package/renderers/Projector.js +0 -499
  391. package/renderers/SVGRenderer.cjs +0 -311
  392. package/renderers/SVGRenderer.js +0 -311
  393. package/shaders/ACESFilmicToneMappingShader.cjs +0 -55
  394. package/shaders/ACESFilmicToneMappingShader.js +0 -55
  395. package/shaders/AfterimageShader.cjs +0 -32
  396. package/shaders/AfterimageShader.js +0 -32
  397. package/shaders/BasicShader.cjs +0 -12
  398. package/shaders/BasicShader.js +0 -12
  399. package/shaders/BleachBypassShader.cjs +0 -35
  400. package/shaders/BleachBypassShader.js +0 -35
  401. package/shaders/BlendShader.cjs +0 -30
  402. package/shaders/BlendShader.js +0 -30
  403. package/shaders/BokehShader.cjs +0 -109
  404. package/shaders/BokehShader.js +0 -109
  405. package/shaders/BokehShader2.cjs +0 -269
  406. package/shaders/BokehShader2.js +0 -269
  407. package/shaders/BrightnessContrastShader.cjs +0 -32
  408. package/shaders/BrightnessContrastShader.js +0 -32
  409. package/shaders/ColorCorrectionShader.cjs +0 -30
  410. package/shaders/ColorCorrectionShader.js +0 -30
  411. package/shaders/ColorifyShader.cjs +0 -28
  412. package/shaders/ColorifyShader.js +0 -28
  413. package/shaders/ConvolutionShader.cjs +0 -55
  414. package/shaders/ConvolutionShader.js +0 -55
  415. package/shaders/CopyShader.cjs +0 -25
  416. package/shaders/CopyShader.js +0 -25
  417. package/shaders/DOFMipMapShader.cjs +0 -32
  418. package/shaders/DOFMipMapShader.js +0 -32
  419. package/shaders/DepthLimitedBlurShader.cjs +0 -114
  420. package/shaders/DepthLimitedBlurShader.js +0 -114
  421. package/shaders/DigitalGlitch.cjs +0 -85
  422. package/shaders/DigitalGlitch.js +0 -85
  423. package/shaders/DotScreenShader.cjs +0 -39
  424. package/shaders/DotScreenShader.js +0 -39
  425. package/shaders/FXAAShader.cjs +0 -1098
  426. package/shaders/FXAAShader.js +0 -1098
  427. package/shaders/FilmShader.cjs +0 -53
  428. package/shaders/FilmShader.js +0 -53
  429. package/shaders/FocusShader.cjs +0 -55
  430. package/shaders/FocusShader.js +0 -55
  431. package/shaders/FreiChenShader.cjs +0 -64
  432. package/shaders/FreiChenShader.js +0 -64
  433. package/shaders/FresnelShader.cjs +0 -47
  434. package/shaders/FresnelShader.js +0 -47
  435. package/shaders/GammaCorrectionShader.cjs +0 -23
  436. package/shaders/GammaCorrectionShader.js +0 -23
  437. package/shaders/GodRaysShader.cjs +0 -183
  438. package/shaders/GodRaysShader.js +0 -183
  439. package/shaders/HalftoneShader.cjs +0 -228
  440. package/shaders/HalftoneShader.js +0 -228
  441. package/shaders/HorizontalBlurShader.cjs +0 -49
  442. package/shaders/HorizontalBlurShader.js +0 -49
  443. package/shaders/HorizontalTiltShiftShader.cjs +0 -37
  444. package/shaders/HorizontalTiltShiftShader.js +0 -37
  445. package/shaders/HueSaturationShader.cjs +0 -43
  446. package/shaders/HueSaturationShader.js +0 -43
  447. package/shaders/KaleidoShader.cjs +0 -34
  448. package/shaders/KaleidoShader.js +0 -34
  449. package/shaders/LuminosityHighPassShader.cjs +0 -37
  450. package/shaders/LuminosityHighPassShader.js +0 -37
  451. package/shaders/LuminosityShader.cjs +0 -25
  452. package/shaders/LuminosityShader.js +0 -25
  453. package/shaders/MirrorShader.cjs +0 -35
  454. package/shaders/MirrorShader.js +0 -35
  455. package/shaders/NormalMapShader.cjs +0 -31
  456. package/shaders/NormalMapShader.js +0 -31
  457. package/shaders/ParallaxShader.cjs +0 -133
  458. package/shaders/ParallaxShader.js +0 -133
  459. package/shaders/PixelShader.cjs +0 -28
  460. package/shaders/PixelShader.js +0 -28
  461. package/shaders/RGBShiftShader.cjs +0 -30
  462. package/shaders/RGBShiftShader.js +0 -30
  463. package/shaders/SAOShader.cjs +0 -144
  464. package/shaders/SAOShader.js +0 -144
  465. package/shaders/SMAAShader.cjs +0 -358
  466. package/shaders/SMAAShader.js +0 -358
  467. package/shaders/SSAOShader.cjs +0 -182
  468. package/shaders/SSAOShader.js +0 -182
  469. package/shaders/SSRShader.cjs +0 -342
  470. package/shaders/SSRShader.js +0 -342
  471. package/shaders/SepiaShader.cjs +0 -29
  472. package/shaders/SepiaShader.js +0 -29
  473. package/shaders/SobelOperatorShader.cjs +0 -54
  474. package/shaders/SobelOperatorShader.js +0 -54
  475. package/shaders/SubsurfaceScatteringShader.cjs +0 -98
  476. package/shaders/SubsurfaceScatteringShader.js +0 -98
  477. package/shaders/TechnicolorShader.cjs +0 -24
  478. package/shaders/TechnicolorShader.js +0 -24
  479. package/shaders/ToneMapShader.cjs +0 -51
  480. package/shaders/ToneMapShader.js +0 -51
  481. package/shaders/ToonShader.cjs +0 -188
  482. package/shaders/ToonShader.js +0 -188
  483. package/shaders/TriangleBlurShader.cjs +0 -37
  484. package/shaders/TriangleBlurShader.js +0 -37
  485. package/shaders/UnpackDepthRGBAShader.cjs +0 -26
  486. package/shaders/UnpackDepthRGBAShader.js +0 -26
  487. package/shaders/VerticalBlurShader.cjs +0 -50
  488. package/shaders/VerticalBlurShader.js +0 -50
  489. package/shaders/VerticalTiltShiftShader.cjs +0 -37
  490. package/shaders/VerticalTiltShiftShader.js +0 -37
  491. package/shaders/VignetteShader.cjs +0 -38
  492. package/shaders/VignetteShader.js +0 -38
  493. package/shaders/VolumeShader.cjs +0 -225
  494. package/shaders/VolumeShader.js +0 -225
  495. package/shaders/WaterRefractionShader.cjs +0 -59
  496. package/shaders/WaterRefractionShader.js +0 -59
  497. package/shaders/types.cjs +0 -1
  498. package/shaders/types.js +0 -1
  499. package/textures/FlakesTexture.cjs +0 -30
  500. package/textures/FlakesTexture.js +0 -30
  501. package/types/helpers.cjs +0 -4
  502. package/types/helpers.js +0 -4
  503. package/utils/BufferGeometryUtils.cjs +0 -636
  504. package/utils/BufferGeometryUtils.js +0 -636
  505. package/utils/GeometryCompressionUtils.cjs +0 -573
  506. package/utils/GeometryCompressionUtils.js +0 -573
  507. package/utils/GeometryUtils.cjs +0 -109
  508. package/utils/GeometryUtils.js +0 -109
  509. package/utils/RoughnessMipmapper.cjs +0 -223
  510. package/utils/RoughnessMipmapper.js +0 -223
  511. package/utils/SceneUtils.cjs +0 -36
  512. package/utils/SceneUtils.js +0 -36
  513. package/utils/ShadowMapViewer.cjs +0 -111
  514. package/utils/ShadowMapViewer.js +0 -111
  515. package/utils/SkeletonUtils.cjs +0 -211
  516. package/utils/SkeletonUtils.js +0 -211
  517. package/utils/UVsDebug.cjs +0 -80
  518. package/utils/UVsDebug.js +0 -80
  519. package/utils/WorkerPool.cjs +0 -62
  520. package/utils/WorkerPool.js +0 -62
  521. package/webxr/ARButton.cjs +0 -119
  522. package/webxr/ARButton.js +0 -119
  523. package/webxr/OculusHandModel.cjs +0 -82
  524. package/webxr/OculusHandModel.js +0 -82
  525. package/webxr/OculusHandPointerModel.cjs +0 -241
  526. package/webxr/OculusHandPointerModel.js +0 -224
  527. package/webxr/Text2D.cjs +0 -48
  528. package/webxr/Text2D.js +0 -31
  529. package/webxr/VRButton.cjs +0 -111
  530. package/webxr/VRButton.js +0 -111
  531. package/webxr/XRControllerModelFactory.cjs +0 -174
  532. package/webxr/XRControllerModelFactory.js +0 -174
  533. package/webxr/XREstimatedLight.cjs +0 -126
  534. package/webxr/XREstimatedLight.js +0 -126
  535. package/webxr/XRHandMeshModel.cjs +0 -82
  536. package/webxr/XRHandMeshModel.js +0 -82
  537. package/webxr/XRHandModelFactory.cjs +0 -61
  538. package/webxr/XRHandModelFactory.js +0 -61
  539. package/webxr/XRHandPrimitiveModel.cjs +0 -68
  540. package/webxr/XRHandPrimitiveModel.js +0 -68
@@ -1,553 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
- var __publicField = (obj, key, value) => {
5
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
- return value;
7
- };
8
- Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
9
- const THREE = require("three");
10
- const SimplexNoise = require("../math/SimplexNoise.cjs");
11
- const _LightningStrike = class extends THREE.BufferGeometry {
12
- constructor(rayParameters = {}) {
13
- super();
14
- this.isLightningStrike = true;
15
- this.type = "LightningStrike";
16
- this.init(_LightningStrike.copyParameters(rayParameters, rayParameters));
17
- this.createMesh();
18
- }
19
- static createRandomGenerator() {
20
- const numSeeds = 2053;
21
- const seeds = [];
22
- for (let i = 0; i < numSeeds; i++) {
23
- seeds.push(Math.random());
24
- }
25
- const generator = {
26
- currentSeed: 0,
27
- random: function() {
28
- const value = seeds[generator.currentSeed];
29
- generator.currentSeed = (generator.currentSeed + 1) % numSeeds;
30
- return value;
31
- },
32
- getSeed: function() {
33
- return generator.currentSeed / numSeeds;
34
- },
35
- setSeed: function(seed) {
36
- generator.currentSeed = Math.floor(seed * numSeeds) % numSeeds;
37
- }
38
- };
39
- return generator;
40
- }
41
- static copyParameters(dest = {}, source = {}) {
42
- const vecCopy = function(v) {
43
- if (source === dest) {
44
- return v;
45
- } else {
46
- return v.clone();
47
- }
48
- };
49
- dest.sourceOffset = source.sourceOffset !== void 0 ? vecCopy(source.sourceOffset) : new THREE.Vector3(0, 100, 0), dest.destOffset = source.destOffset !== void 0 ? vecCopy(source.destOffset) : new THREE.Vector3(0, 0, 0), dest.timeScale = source.timeScale !== void 0 ? source.timeScale : 1, dest.roughness = source.roughness !== void 0 ? source.roughness : 0.9, dest.straightness = source.straightness !== void 0 ? source.straightness : 0.7, dest.up0 = source.up0 !== void 0 ? vecCopy(source.up0) : new THREE.Vector3(0, 0, 1);
50
- dest.up1 = source.up1 !== void 0 ? vecCopy(source.up1) : new THREE.Vector3(0, 0, 1), dest.radius0 = source.radius0 !== void 0 ? source.radius0 : 1, dest.radius1 = source.radius1 !== void 0 ? source.radius1 : 1, dest.radius0Factor = source.radius0Factor !== void 0 ? source.radius0Factor : 0.5, dest.radius1Factor = source.radius1Factor !== void 0 ? source.radius1Factor : 0.2, dest.minRadius = source.minRadius !== void 0 ? source.minRadius : 0.2, // These parameters should not be changed after lightning creation. They can be changed but the ray will change its form abruptly:
51
- dest.isEternal = source.isEternal !== void 0 ? source.isEternal : source.birthTime === void 0 || source.deathTime === void 0, dest.birthTime = source.birthTime, dest.deathTime = source.deathTime, dest.propagationTimeFactor = source.propagationTimeFactor !== void 0 ? source.propagationTimeFactor : 0.1, dest.vanishingTimeFactor = source.vanishingTimeFactor !== void 0 ? source.vanishingTimeFactor : 0.9, dest.subrayPeriod = source.subrayPeriod !== void 0 ? source.subrayPeriod : 4, dest.subrayDutyCycle = source.subrayDutyCycle !== void 0 ? source.subrayDutyCycle : 0.6;
52
- dest.maxIterations = source.maxIterations !== void 0 ? source.maxIterations : 9;
53
- dest.isStatic = source.isStatic !== void 0 ? source.isStatic : false;
54
- dest.ramification = source.ramification !== void 0 ? source.ramification : 5;
55
- dest.maxSubrayRecursion = source.maxSubrayRecursion !== void 0 ? source.maxSubrayRecursion : 3;
56
- dest.recursionProbability = source.recursionProbability !== void 0 ? source.recursionProbability : 0.6;
57
- dest.generateUVs = source.generateUVs !== void 0 ? source.generateUVs : false;
58
- dest.randomGenerator = source.randomGenerator, dest.noiseSeed = source.noiseSeed, dest.onDecideSubrayCreation = source.onDecideSubrayCreation, dest.onSubrayCreation = source.onSubrayCreation;
59
- return dest;
60
- }
61
- update(time) {
62
- if (this.isStatic)
63
- return;
64
- if (this.rayParameters.isEternal || this.rayParameters.birthTime <= time && time <= this.rayParameters.deathTime) {
65
- this.updateMesh(time);
66
- if (time < this.subrays[0].endPropagationTime) {
67
- this.state = _LightningStrike.RAY_PROPAGATING;
68
- } else if (time > this.subrays[0].beginVanishingTime) {
69
- this.state = _LightningStrike.RAY_VANISHING;
70
- } else {
71
- this.state = _LightningStrike.RAY_STEADY;
72
- }
73
- this.visible = true;
74
- } else {
75
- this.visible = false;
76
- if (time < this.rayParameters.birthTime) {
77
- this.state = _LightningStrike.RAY_UNBORN;
78
- } else {
79
- this.state = _LightningStrike.RAY_EXTINGUISHED;
80
- }
81
- }
82
- }
83
- init(rayParameters) {
84
- this.rayParameters = rayParameters;
85
- this.maxIterations = rayParameters.maxIterations !== void 0 ? Math.floor(rayParameters.maxIterations) : 9;
86
- rayParameters.maxIterations = this.maxIterations;
87
- this.isStatic = rayParameters.isStatic !== void 0 ? rayParameters.isStatic : false;
88
- rayParameters.isStatic = this.isStatic;
89
- this.ramification = rayParameters.ramification !== void 0 ? Math.floor(rayParameters.ramification) : 5;
90
- rayParameters.ramification = this.ramification;
91
- this.maxSubrayRecursion = rayParameters.maxSubrayRecursion !== void 0 ? Math.floor(rayParameters.maxSubrayRecursion) : 3;
92
- rayParameters.maxSubrayRecursion = this.maxSubrayRecursion;
93
- this.recursionProbability = rayParameters.recursionProbability !== void 0 ? rayParameters.recursionProbability : 0.6;
94
- rayParameters.recursionProbability = this.recursionProbability;
95
- this.generateUVs = rayParameters.generateUVs !== void 0 ? rayParameters.generateUVs : false;
96
- rayParameters.generateUVs = this.generateUVs;
97
- if (rayParameters.randomGenerator !== void 0) {
98
- this.randomGenerator = rayParameters.randomGenerator;
99
- this.seedGenerator = rayParameters.randomGenerator;
100
- if (rayParameters.noiseSeed !== void 0) {
101
- this.seedGenerator.setSeed(rayParameters.noiseSeed);
102
- }
103
- } else {
104
- this.randomGenerator = _LightningStrike.createRandomGenerator();
105
- this.seedGenerator = Math;
106
- }
107
- if (rayParameters.onDecideSubrayCreation !== void 0) {
108
- this.onDecideSubrayCreation = rayParameters.onDecideSubrayCreation;
109
- } else {
110
- this.createDefaultSubrayCreationCallbacks();
111
- if (rayParameters.onSubrayCreation !== void 0) {
112
- this.onSubrayCreation = rayParameters.onSubrayCreation;
113
- }
114
- }
115
- this.state = _LightningStrike.RAY_INITIALIZED;
116
- this.maxSubrays = Math.ceil(1 + Math.pow(this.ramification, Math.max(0, this.maxSubrayRecursion - 1)));
117
- rayParameters.maxSubrays = this.maxSubrays;
118
- this.maxRaySegments = 2 * (1 << this.maxIterations);
119
- this.subrays = [];
120
- for (let i = 0; i < this.maxSubrays; i++) {
121
- this.subrays.push(this.createSubray());
122
- }
123
- this.raySegments = [];
124
- for (let i = 0; i < this.maxRaySegments; i++) {
125
- this.raySegments.push(this.createSegment());
126
- }
127
- this.time = 0;
128
- this.timeFraction = 0;
129
- this.currentSegmentCallback = null;
130
- this.currentCreateTriangleVertices = this.generateUVs ? this.createTriangleVerticesWithUVs : this.createTriangleVerticesWithoutUVs;
131
- this.numSubrays = 0;
132
- this.currentSubray = null;
133
- this.currentSegmentIndex = 0;
134
- this.isInitialSegment = false;
135
- this.subrayProbability = 0;
136
- this.currentVertex = 0;
137
- this.currentIndex = 0;
138
- this.currentCoordinate = 0;
139
- this.currentUVCoordinate = 0;
140
- this.vertices = null;
141
- this.uvs = null;
142
- this.indices = null;
143
- this.positionAttribute = null;
144
- this.uvsAttribute = null;
145
- this.simplexX = new SimplexNoise.SimplexNoise(this.seedGenerator);
146
- this.simplexY = new SimplexNoise.SimplexNoise(this.seedGenerator);
147
- this.simplexZ = new SimplexNoise.SimplexNoise(this.seedGenerator);
148
- this.forwards = new THREE.Vector3();
149
- this.forwardsFill = new THREE.Vector3();
150
- this.side = new THREE.Vector3();
151
- this.down = new THREE.Vector3();
152
- this.middlePos = new THREE.Vector3();
153
- this.middleLinPos = new THREE.Vector3();
154
- this.newPos = new THREE.Vector3();
155
- this.vPos = new THREE.Vector3();
156
- this.cross1 = new THREE.Vector3();
157
- }
158
- createMesh() {
159
- const maxDrawableSegmentsPerSubRay = 1 << this.maxIterations;
160
- const maxVerts = 3 * (maxDrawableSegmentsPerSubRay + 1) * this.maxSubrays;
161
- const maxIndices = 18 * maxDrawableSegmentsPerSubRay * this.maxSubrays;
162
- this.vertices = new Float32Array(maxVerts * 3);
163
- this.indices = new Uint32Array(maxIndices);
164
- if (this.generateUVs) {
165
- this.uvs = new Float32Array(maxVerts * 2);
166
- }
167
- this.fillMesh(0);
168
- this.setIndex(new THREE.Uint32BufferAttribute(this.indices, 1));
169
- this.positionAttribute = new THREE.Float32BufferAttribute(this.vertices, 3);
170
- this.setAttribute("position", this.positionAttribute);
171
- if (this.generateUVs) {
172
- this.uvsAttribute = new THREE.Float32BufferAttribute(new Float32Array(this.uvs), 2);
173
- this.setAttribute("uv", this.uvsAttribute);
174
- }
175
- if (!this.isStatic) {
176
- this.index.usage = THREE.DynamicDrawUsage;
177
- this.positionAttribute.usage = THREE.DynamicDrawUsage;
178
- if (this.generateUVs) {
179
- this.uvsAttribute.usage = THREE.DynamicDrawUsage;
180
- }
181
- }
182
- this.vertices = this.positionAttribute.array;
183
- this.indices = this.index.array;
184
- if (this.generateUVs) {
185
- this.uvs = this.uvsAttribute.array;
186
- }
187
- }
188
- updateMesh(time) {
189
- this.fillMesh(time);
190
- this.drawRange.count = this.currentIndex;
191
- this.index.needsUpdate = true;
192
- this.positionAttribute.needsUpdate = true;
193
- if (this.generateUVs) {
194
- this.uvsAttribute.needsUpdate = true;
195
- }
196
- }
197
- fillMesh(time) {
198
- const scope = this;
199
- this.currentVertex = 0;
200
- this.currentIndex = 0;
201
- this.currentCoordinate = 0;
202
- this.currentUVCoordinate = 0;
203
- this.fractalRay(time, function fillVertices(segment) {
204
- const subray = scope.currentSubray;
205
- if (time < subray.birthTime) {
206
- return;
207
- } else if (this.rayParameters.isEternal && scope.currentSubray.recursion == 0) {
208
- scope.createPrism(segment);
209
- scope.onDecideSubrayCreation(segment, scope);
210
- } else if (time < subray.endPropagationTime) {
211
- if (scope.timeFraction >= segment.fraction0 * subray.propagationTimeFactor) {
212
- scope.createPrism(segment);
213
- scope.onDecideSubrayCreation(segment, scope);
214
- }
215
- } else if (time < subray.beginVanishingTime) {
216
- scope.createPrism(segment);
217
- scope.onDecideSubrayCreation(segment, scope);
218
- } else {
219
- if (scope.timeFraction <= subray.vanishingTimeFactor + segment.fraction1 * (1 - subray.vanishingTimeFactor)) {
220
- scope.createPrism(segment);
221
- }
222
- scope.onDecideSubrayCreation(segment, scope);
223
- }
224
- });
225
- }
226
- addNewSubray() {
227
- return this.subrays[this.numSubrays++];
228
- }
229
- initSubray(subray, rayParameters) {
230
- subray.pos0.copy(rayParameters.sourceOffset);
231
- subray.pos1.copy(rayParameters.destOffset);
232
- subray.up0.copy(rayParameters.up0);
233
- subray.up1.copy(rayParameters.up1);
234
- subray.radius0 = rayParameters.radius0;
235
- subray.radius1 = rayParameters.radius1;
236
- subray.birthTime = rayParameters.birthTime;
237
- subray.deathTime = rayParameters.deathTime;
238
- subray.timeScale = rayParameters.timeScale;
239
- subray.roughness = rayParameters.roughness;
240
- subray.straightness = rayParameters.straightness;
241
- subray.propagationTimeFactor = rayParameters.propagationTimeFactor;
242
- subray.vanishingTimeFactor = rayParameters.vanishingTimeFactor;
243
- subray.maxIterations = this.maxIterations;
244
- subray.seed = rayParameters.noiseSeed !== void 0 ? rayParameters.noiseSeed : 0;
245
- subray.recursion = 0;
246
- }
247
- fractalRay(time, segmentCallback) {
248
- this.time = time;
249
- this.currentSegmentCallback = segmentCallback;
250
- this.numSubrays = 0;
251
- this.initSubray(this.addNewSubray(), this.rayParameters);
252
- for (let subrayIndex = 0; subrayIndex < this.numSubrays; subrayIndex++) {
253
- const subray = this.subrays[subrayIndex];
254
- this.currentSubray = subray;
255
- this.randomGenerator.setSeed(subray.seed);
256
- subray.endPropagationTime = THREE.MathUtils.lerp(subray.birthTime, subray.deathTime, subray.propagationTimeFactor);
257
- subray.beginVanishingTime = THREE.MathUtils.lerp(subray.deathTime, subray.birthTime, 1 - subray.vanishingTimeFactor);
258
- const random1 = this.randomGenerator.random;
259
- subray.linPos0.set(random1(), random1(), random1()).multiplyScalar(1e3);
260
- subray.linPos1.set(random1(), random1(), random1()).multiplyScalar(1e3);
261
- this.timeFraction = (time - subray.birthTime) / (subray.deathTime - subray.birthTime);
262
- this.currentSegmentIndex = 0;
263
- this.isInitialSegment = true;
264
- const segment = this.getNewSegment();
265
- segment.iteration = 0;
266
- segment.pos0.copy(subray.pos0);
267
- segment.pos1.copy(subray.pos1);
268
- segment.linPos0.copy(subray.linPos0);
269
- segment.linPos1.copy(subray.linPos1);
270
- segment.up0.copy(subray.up0);
271
- segment.up1.copy(subray.up1);
272
- segment.radius0 = subray.radius0;
273
- segment.radius1 = subray.radius1;
274
- segment.fraction0 = 0;
275
- segment.fraction1 = 1;
276
- segment.positionVariationFactor = 1 - subray.straightness;
277
- this.subrayProbability = this.ramification * Math.pow(this.recursionProbability, subray.recursion) / (1 << subray.maxIterations);
278
- this.fractalRayRecursive(segment);
279
- }
280
- this.currentSegmentCallback = null;
281
- this.currentSubray = null;
282
- }
283
- fractalRayRecursive(segment) {
284
- if (segment.iteration >= this.currentSubray.maxIterations) {
285
- this.currentSegmentCallback(segment);
286
- return;
287
- }
288
- this.forwards.subVectors(segment.pos1, segment.pos0);
289
- let lForwards = this.forwards.length();
290
- if (lForwards < 1e-6) {
291
- this.forwards.set(0, 0, 0.01);
292
- lForwards = this.forwards.length();
293
- }
294
- const middleRadius = (segment.radius0 + segment.radius1) * 0.5;
295
- const middleFraction = (segment.fraction0 + segment.fraction1) * 0.5;
296
- const timeDimension = this.time * this.currentSubray.timeScale * Math.pow(2, segment.iteration);
297
- this.middlePos.lerpVectors(segment.pos0, segment.pos1, 0.5);
298
- this.middleLinPos.lerpVectors(segment.linPos0, segment.linPos1, 0.5);
299
- const p = this.middleLinPos;
300
- this.newPos.set(
301
- this.simplexX.noise4d(p.x, p.y, p.z, timeDimension),
302
- this.simplexY.noise4d(p.x, p.y, p.z, timeDimension),
303
- this.simplexZ.noise4d(p.x, p.y, p.z, timeDimension)
304
- );
305
- this.newPos.multiplyScalar(segment.positionVariationFactor * lForwards);
306
- this.newPos.add(this.middlePos);
307
- const newSegment1 = this.getNewSegment();
308
- newSegment1.pos0.copy(segment.pos0);
309
- newSegment1.pos1.copy(this.newPos);
310
- newSegment1.linPos0.copy(segment.linPos0);
311
- newSegment1.linPos1.copy(this.middleLinPos);
312
- newSegment1.up0.copy(segment.up0);
313
- newSegment1.up1.copy(segment.up1);
314
- newSegment1.radius0 = segment.radius0;
315
- newSegment1.radius1 = middleRadius;
316
- newSegment1.fraction0 = segment.fraction0;
317
- newSegment1.fraction1 = middleFraction;
318
- newSegment1.positionVariationFactor = segment.positionVariationFactor * this.currentSubray.roughness;
319
- newSegment1.iteration = segment.iteration + 1;
320
- const newSegment2 = this.getNewSegment();
321
- newSegment2.pos0.copy(this.newPos);
322
- newSegment2.pos1.copy(segment.pos1);
323
- newSegment2.linPos0.copy(this.middleLinPos);
324
- newSegment2.linPos1.copy(segment.linPos1);
325
- this.cross1.crossVectors(segment.up0, this.forwards.normalize());
326
- newSegment2.up0.crossVectors(this.forwards, this.cross1).normalize();
327
- newSegment2.up1.copy(segment.up1);
328
- newSegment2.radius0 = middleRadius;
329
- newSegment2.radius1 = segment.radius1;
330
- newSegment2.fraction0 = middleFraction;
331
- newSegment2.fraction1 = segment.fraction1;
332
- newSegment2.positionVariationFactor = segment.positionVariationFactor * this.currentSubray.roughness;
333
- newSegment2.iteration = segment.iteration + 1;
334
- this.fractalRayRecursive(newSegment1);
335
- this.fractalRayRecursive(newSegment2);
336
- }
337
- createPrism(segment) {
338
- this.forwardsFill.subVectors(segment.pos1, segment.pos0).normalize();
339
- if (this.isInitialSegment) {
340
- this.currentCreateTriangleVertices(segment.pos0, segment.up0, this.forwardsFill, segment.radius0, 0);
341
- this.isInitialSegment = false;
342
- }
343
- this.currentCreateTriangleVertices(segment.pos1, segment.up0, this.forwardsFill, segment.radius1, segment.fraction1);
344
- this.createPrismFaces();
345
- }
346
- createTriangleVerticesWithoutUVs(pos, up, forwards, radius) {
347
- this.side.crossVectors(up, forwards).multiplyScalar(radius * _LightningStrike.COS30DEG);
348
- this.down.copy(up).multiplyScalar(-radius * _LightningStrike.SIN30DEG);
349
- const p = this.vPos;
350
- const v = this.vertices;
351
- p.copy(pos).sub(this.side).add(this.down);
352
- v[this.currentCoordinate++] = p.x;
353
- v[this.currentCoordinate++] = p.y;
354
- v[this.currentCoordinate++] = p.z;
355
- p.copy(pos).add(this.side).add(this.down);
356
- v[this.currentCoordinate++] = p.x;
357
- v[this.currentCoordinate++] = p.y;
358
- v[this.currentCoordinate++] = p.z;
359
- p.copy(up).multiplyScalar(radius).add(pos);
360
- v[this.currentCoordinate++] = p.x;
361
- v[this.currentCoordinate++] = p.y;
362
- v[this.currentCoordinate++] = p.z;
363
- this.currentVertex += 3;
364
- }
365
- createTriangleVerticesWithUVs(pos, up, forwards, radius, u) {
366
- this.side.crossVectors(up, forwards).multiplyScalar(radius * _LightningStrike.COS30DEG);
367
- this.down.copy(up).multiplyScalar(-radius * _LightningStrike.SIN30DEG);
368
- const p = this.vPos;
369
- const v = this.vertices;
370
- const uv = this.uvs;
371
- p.copy(pos).sub(this.side).add(this.down);
372
- v[this.currentCoordinate++] = p.x;
373
- v[this.currentCoordinate++] = p.y;
374
- v[this.currentCoordinate++] = p.z;
375
- uv[this.currentUVCoordinate++] = u;
376
- uv[this.currentUVCoordinate++] = 0;
377
- p.copy(pos).add(this.side).add(this.down);
378
- v[this.currentCoordinate++] = p.x;
379
- v[this.currentCoordinate++] = p.y;
380
- v[this.currentCoordinate++] = p.z;
381
- uv[this.currentUVCoordinate++] = u;
382
- uv[this.currentUVCoordinate++] = 0.5;
383
- p.copy(up).multiplyScalar(radius).add(pos);
384
- v[this.currentCoordinate++] = p.x;
385
- v[this.currentCoordinate++] = p.y;
386
- v[this.currentCoordinate++] = p.z;
387
- uv[this.currentUVCoordinate++] = u;
388
- uv[this.currentUVCoordinate++] = 1;
389
- this.currentVertex += 3;
390
- }
391
- createPrismFaces(vertex) {
392
- const indices = this.indices;
393
- vertex = this.currentVertex - 6;
394
- indices[this.currentIndex++] = vertex + 1;
395
- indices[this.currentIndex++] = vertex + 2;
396
- indices[this.currentIndex++] = vertex + 5;
397
- indices[this.currentIndex++] = vertex + 1;
398
- indices[this.currentIndex++] = vertex + 5;
399
- indices[this.currentIndex++] = vertex + 4;
400
- indices[this.currentIndex++] = vertex + 0;
401
- indices[this.currentIndex++] = vertex + 1;
402
- indices[this.currentIndex++] = vertex + 4;
403
- indices[this.currentIndex++] = vertex + 0;
404
- indices[this.currentIndex++] = vertex + 4;
405
- indices[this.currentIndex++] = vertex + 3;
406
- indices[this.currentIndex++] = vertex + 2;
407
- indices[this.currentIndex++] = vertex + 0;
408
- indices[this.currentIndex++] = vertex + 3;
409
- indices[this.currentIndex++] = vertex + 2;
410
- indices[this.currentIndex++] = vertex + 3;
411
- indices[this.currentIndex++] = vertex + 5;
412
- }
413
- createDefaultSubrayCreationCallbacks() {
414
- const random1 = this.randomGenerator.random;
415
- this.onDecideSubrayCreation = function(segment, lightningStrike) {
416
- const subray = lightningStrike.currentSubray;
417
- const period = lightningStrike.rayParameters.subrayPeriod;
418
- const dutyCycle = lightningStrike.rayParameters.subrayDutyCycle;
419
- const phase0 = lightningStrike.rayParameters.isEternal && subray.recursion == 0 ? -random1() * period : THREE.MathUtils.lerp(subray.birthTime, subray.endPropagationTime, segment.fraction0) - random1() * period;
420
- const phase = lightningStrike.time - phase0;
421
- const currentCycle = Math.floor(phase / period);
422
- const childSubraySeed = random1() * (currentCycle + 1);
423
- const isActive = phase % period <= dutyCycle * period;
424
- let probability = 0;
425
- if (isActive) {
426
- probability = lightningStrike.subrayProbability;
427
- }
428
- if (subray.recursion < lightningStrike.maxSubrayRecursion && lightningStrike.numSubrays < lightningStrike.maxSubrays && random1() < probability) {
429
- const childSubray = lightningStrike.addNewSubray();
430
- const parentSeed = lightningStrike.randomGenerator.getSeed();
431
- childSubray.seed = childSubraySeed;
432
- lightningStrike.randomGenerator.setSeed(childSubraySeed);
433
- childSubray.recursion = subray.recursion + 1;
434
- childSubray.maxIterations = Math.max(1, subray.maxIterations - 1);
435
- childSubray.linPos0.set(random1(), random1(), random1()).multiplyScalar(1e3);
436
- childSubray.linPos1.set(random1(), random1(), random1()).multiplyScalar(1e3);
437
- childSubray.up0.copy(subray.up0);
438
- childSubray.up1.copy(subray.up1);
439
- childSubray.radius0 = segment.radius0 * lightningStrike.rayParameters.radius0Factor;
440
- childSubray.radius1 = Math.min(
441
- lightningStrike.rayParameters.minRadius,
442
- segment.radius1 * lightningStrike.rayParameters.radius1Factor
443
- );
444
- childSubray.birthTime = phase0 + currentCycle * period;
445
- childSubray.deathTime = childSubray.birthTime + period * dutyCycle;
446
- if (!lightningStrike.rayParameters.isEternal && subray.recursion == 0) {
447
- childSubray.birthTime = Math.max(childSubray.birthTime, subray.birthTime);
448
- childSubray.deathTime = Math.min(childSubray.deathTime, subray.deathTime);
449
- }
450
- childSubray.timeScale = subray.timeScale * 2;
451
- childSubray.roughness = subray.roughness;
452
- childSubray.straightness = subray.straightness;
453
- childSubray.propagationTimeFactor = subray.propagationTimeFactor;
454
- childSubray.vanishingTimeFactor = subray.vanishingTimeFactor;
455
- lightningStrike.onSubrayCreation(segment, subray, childSubray, lightningStrike);
456
- lightningStrike.randomGenerator.setSeed(parentSeed);
457
- }
458
- };
459
- const vec1Pos = new THREE.Vector3();
460
- const vec2Forward = new THREE.Vector3();
461
- const vec3Side = new THREE.Vector3();
462
- const vec4Up = new THREE.Vector3();
463
- this.onSubrayCreation = function(segment, parentSubray, childSubray, lightningStrike) {
464
- lightningStrike.subrayCylinderPosition(segment, parentSubray, childSubray, 0.5, 0.6, 0.2);
465
- };
466
- this.subrayConePosition = function(segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) {
467
- childSubray.pos0.copy(segment.pos0);
468
- vec1Pos.subVectors(parentSubray.pos1, parentSubray.pos0);
469
- vec2Forward.copy(vec1Pos).normalize();
470
- vec1Pos.multiplyScalar(segment.fraction0 + (1 - segment.fraction0) * (random1() * heightFactor));
471
- const length = vec1Pos.length();
472
- vec3Side.crossVectors(parentSubray.up0, vec2Forward);
473
- const angle = 2 * Math.PI * random1();
474
- vec3Side.multiplyScalar(Math.cos(angle));
475
- vec4Up.copy(parentSubray.up0).multiplyScalar(Math.sin(angle));
476
- childSubray.pos1.copy(vec3Side).add(vec4Up).multiplyScalar(length * sideWidthFactor * (minSideWidthFactor + random1() * (1 - minSideWidthFactor))).add(vec1Pos).add(parentSubray.pos0);
477
- };
478
- this.subrayCylinderPosition = function(segment, parentSubray, childSubray, heightFactor, sideWidthFactor, minSideWidthFactor) {
479
- childSubray.pos0.copy(segment.pos0);
480
- vec1Pos.subVectors(parentSubray.pos1, parentSubray.pos0);
481
- vec2Forward.copy(vec1Pos).normalize();
482
- vec1Pos.multiplyScalar(segment.fraction0 + (1 - segment.fraction0) * ((2 * random1() - 1) * heightFactor));
483
- const length = vec1Pos.length();
484
- vec3Side.crossVectors(parentSubray.up0, vec2Forward);
485
- const angle = 2 * Math.PI * random1();
486
- vec3Side.multiplyScalar(Math.cos(angle));
487
- vec4Up.copy(parentSubray.up0).multiplyScalar(Math.sin(angle));
488
- childSubray.pos1.copy(vec3Side).add(vec4Up).multiplyScalar(length * sideWidthFactor * (minSideWidthFactor + random1() * (1 - minSideWidthFactor))).add(vec1Pos).add(parentSubray.pos0);
489
- };
490
- }
491
- createSubray() {
492
- return {
493
- seed: 0,
494
- maxIterations: 0,
495
- recursion: 0,
496
- pos0: new THREE.Vector3(),
497
- pos1: new THREE.Vector3(),
498
- linPos0: new THREE.Vector3(),
499
- linPos1: new THREE.Vector3(),
500
- up0: new THREE.Vector3(),
501
- up1: new THREE.Vector3(),
502
- radius0: 0,
503
- radius1: 0,
504
- birthTime: 0,
505
- deathTime: 0,
506
- timeScale: 0,
507
- roughness: 0,
508
- straightness: 0,
509
- propagationTimeFactor: 0,
510
- vanishingTimeFactor: 0,
511
- endPropagationTime: 0,
512
- beginVanishingTime: 0
513
- };
514
- }
515
- createSegment() {
516
- return {
517
- iteration: 0,
518
- pos0: new THREE.Vector3(),
519
- pos1: new THREE.Vector3(),
520
- linPos0: new THREE.Vector3(),
521
- linPos1: new THREE.Vector3(),
522
- up0: new THREE.Vector3(),
523
- up1: new THREE.Vector3(),
524
- radius0: 0,
525
- radius1: 0,
526
- fraction0: 0,
527
- fraction1: 0,
528
- positionVariationFactor: 0
529
- };
530
- }
531
- getNewSegment() {
532
- return this.raySegments[this.currentSegmentIndex++];
533
- }
534
- copy(source) {
535
- super.copy(source);
536
- this.init(_LightningStrike.copyParameters({}, source.rayParameters));
537
- return this;
538
- }
539
- clone() {
540
- return new this.constructor(_LightningStrike.copyParameters({}, this.rayParameters));
541
- }
542
- };
543
- let LightningStrike = _LightningStrike;
544
- // Ray states
545
- __publicField(LightningStrike, "RAY_INITIALIZED", 0);
546
- __publicField(LightningStrike, "RAY_UNBORN", 1);
547
- __publicField(LightningStrike, "RAY_PROPAGATING", 2);
548
- __publicField(LightningStrike, "RAY_STEADY", 3);
549
- __publicField(LightningStrike, "RAY_VANISHING", 4);
550
- __publicField(LightningStrike, "RAY_EXTINGUISHED", 5);
551
- __publicField(LightningStrike, "COS30DEG", Math.cos(30 * Math.PI / 180));
552
- __publicField(LightningStrike, "SIN30DEG", Math.sin(30 * Math.PI / 180));
553
- exports.LightningStrike = LightningStrike;