three-stdlib 2.35.6 → 2.35.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (511) hide show
  1. package/_polyfill/constants.d.cts +1 -0
  2. package/_polyfill/uv1.d.cts +5 -0
  3. package/animation/AnimationClipCreator.d.cts +12 -0
  4. package/animation/AnimationClipCreator.d.ts +1 -1
  5. package/animation/CCDIKSolver.d.cts +30 -0
  6. package/animation/CCDIKSolver.d.ts +1 -1
  7. package/animation/MMDAnimationHelper.d.cts +93 -0
  8. package/animation/MMDAnimationHelper.d.ts +3 -3
  9. package/animation/MMDPhysics.d.cts +119 -0
  10. package/animation/MMDPhysics.d.ts +1 -1
  11. package/cameras/CinematicCamera.d.cts +34 -0
  12. package/cameras/CinematicCamera.d.ts +2 -2
  13. package/controls/ArcballControls.d.cts +376 -0
  14. package/controls/ArcballControls.d.ts +4 -4
  15. package/controls/DeviceOrientationControls.d.cts +29 -0
  16. package/controls/DeviceOrientationControls.d.ts +4 -4
  17. package/controls/DragControls.d.cts +67 -0
  18. package/controls/DragControls.d.ts +3 -3
  19. package/controls/EventDispatcher.d.cts +41 -0
  20. package/controls/FirstPersonControls.d.cts +49 -0
  21. package/controls/FirstPersonControls.d.ts +2 -2
  22. package/controls/FlyControls.d.cts +39 -0
  23. package/controls/FlyControls.d.ts +3 -3
  24. package/controls/OrbitControls.d.cts +74 -0
  25. package/controls/OrbitControls.d.ts +4 -4
  26. package/controls/PointerLockControls.d.cts +39 -0
  27. package/controls/PointerLockControls.d.ts +3 -3
  28. package/controls/StandardControlsEventMap.d.cts +14 -0
  29. package/controls/TrackballControls.d.cts +97 -0
  30. package/controls/TrackballControls.d.ts +4 -4
  31. package/controls/TransformControls.d.cts +151 -0
  32. package/controls/TransformControls.d.ts +2 -2
  33. package/controls/experimental/CameraControls.d.cts +213 -0
  34. package/controls/experimental/CameraControls.d.ts +3 -3
  35. package/csm/CSM.d.cts +61 -0
  36. package/csm/CSM.d.ts +2 -2
  37. package/csm/CSMFrustum.d.cts +19 -0
  38. package/csm/CSMFrustum.d.ts +1 -1
  39. package/csm/CSMHelper.d.cts +26 -0
  40. package/csm/CSMHelper.d.ts +2 -2
  41. package/csm/CSMShader.d.cts +4 -0
  42. package/curves/CurveExtras.d.cts +68 -0
  43. package/curves/CurveExtras.d.ts +1 -1
  44. package/curves/NURBSCurve.d.cts +11 -0
  45. package/curves/NURBSCurve.d.ts +1 -1
  46. package/curves/NURBSSurface.d.cts +13 -0
  47. package/curves/NURBSSurface.d.ts +1 -1
  48. package/curves/NURBSUtils.d.cts +20 -0
  49. package/curves/NURBSUtils.d.ts +1 -1
  50. package/deprecated/Geometry.d.cts +341 -0
  51. package/deprecated/Geometry.d.ts +1 -1
  52. package/effects/AnaglyphEffect.d.cts +11 -0
  53. package/effects/AnaglyphEffect.d.ts +1 -1
  54. package/effects/AsciiEffect.d.cts +18 -0
  55. package/effects/AsciiEffect.d.ts +1 -1
  56. package/effects/OutlineEffect.d.cts +28 -0
  57. package/effects/OutlineEffect.d.ts +1 -1
  58. package/effects/ParallaxBarrierEffect.d.cts +8 -0
  59. package/effects/ParallaxBarrierEffect.d.ts +1 -1
  60. package/effects/PeppersGhostEffect.d.cts +10 -0
  61. package/effects/PeppersGhostEffect.d.ts +1 -1
  62. package/effects/StereoEffect.d.cts +9 -0
  63. package/effects/StereoEffect.d.ts +1 -1
  64. package/environments/RoomEnvironment.d.cts +6 -0
  65. package/environments/RoomEnvironment.d.ts +2 -2
  66. package/exporters/ColladaExporter.d.cts +50 -0
  67. package/exporters/ColladaExporter.d.ts +2 -2
  68. package/exporters/DRACOExporter.d.cts +36 -0
  69. package/exporters/DRACOExporter.d.ts +2 -2
  70. package/exporters/GLTFExporter.d.cts +114 -0
  71. package/exporters/GLTFExporter.d.ts +1 -1
  72. package/exporters/MMDExporter.d.cts +12 -0
  73. package/exporters/MMDExporter.d.ts +2 -2
  74. package/exporters/OBJExporter.d.cts +18 -0
  75. package/exporters/OBJExporter.d.ts +2 -2
  76. package/exporters/PLYExporter.d.cts +23 -0
  77. package/exporters/PLYExporter.d.ts +2 -2
  78. package/exporters/STLExporter.d.cts +28 -0
  79. package/exporters/STLExporter.d.ts +1 -1
  80. package/exporters/USDZExporter.d.cts +27 -0
  81. package/exporters/USDZExporter.d.ts +2 -2
  82. package/geometries/BoxLineGeometry.d.cts +12 -0
  83. package/geometries/BoxLineGeometry.d.ts +1 -1
  84. package/geometries/ConvexGeometry.d.cts +5 -0
  85. package/geometries/ConvexGeometry.d.ts +1 -1
  86. package/geometries/DecalGeometry.d.cts +10 -0
  87. package/geometries/DecalGeometry.d.ts +1 -1
  88. package/geometries/LightningStrike.d.cts +108 -0
  89. package/geometries/LightningStrike.d.ts +1 -1
  90. package/geometries/ParametricGeometries.d.cts +26 -0
  91. package/geometries/ParametricGeometries.d.ts +2 -2
  92. package/geometries/ParametricGeometry.d.cts +18 -0
  93. package/geometries/ParametricGeometry.d.ts +2 -2
  94. package/geometries/RoundedBoxGeometry.d.cts +5 -0
  95. package/geometries/RoundedBoxGeometry.d.ts +1 -1
  96. package/geometries/TeapotGeometry.d.cts +13 -0
  97. package/geometries/TeapotGeometry.d.ts +1 -1
  98. package/geometries/TextGeometry.d.cts +18 -0
  99. package/geometries/TextGeometry.d.ts +3 -3
  100. package/helpers/LightProbeHelper.d.cts +10 -0
  101. package/helpers/LightProbeHelper.d.ts +1 -1
  102. package/helpers/PositionalAudioHelper.d.cts +13 -0
  103. package/helpers/PositionalAudioHelper.d.ts +1 -1
  104. package/helpers/RaycasterHelper.d.cts +33 -0
  105. package/helpers/RaycasterHelper.d.ts +2 -2
  106. package/helpers/RectAreaLightHelper.d.cts +11 -0
  107. package/helpers/RectAreaLightHelper.d.ts +1 -1
  108. package/helpers/VertexNormalsHelper.d.cts +13 -0
  109. package/helpers/VertexNormalsHelper.d.ts +1 -1
  110. package/helpers/VertexTangentsHelper.d.cts +13 -0
  111. package/helpers/VertexTangentsHelper.d.ts +1 -1
  112. package/index.d.cts +262 -0
  113. package/index.d.ts +262 -262
  114. package/interactive/HTMLMesh.d.cts +6 -0
  115. package/interactive/HTMLMesh.d.ts +1 -1
  116. package/interactive/InteractiveGroup.d.cts +5 -0
  117. package/interactive/InteractiveGroup.d.ts +1 -1
  118. package/interactive/SelectionBox.d.cts +15 -0
  119. package/interactive/SelectionBox.d.ts +1 -1
  120. package/interactive/SelectionHelper.d.cts +17 -0
  121. package/interactive/SelectionHelper.d.ts +2 -2
  122. package/libs/MeshoptDecoder.d.cts +12 -0
  123. package/libs/MeshoptDecoder.d.ts +1 -1
  124. package/libs/MotionControllers.d.cts +176 -0
  125. package/libs/MotionControllers.d.ts +1 -1
  126. package/libs/zstddec.d.cts +8 -0
  127. package/lights/LightProbeGenerator.d.cts +6 -0
  128. package/lights/LightProbeGenerator.d.ts +1 -1
  129. package/lights/RectAreaLightUniformsLib.d.cts +3 -0
  130. package/lines/Line2.d.cts +11 -0
  131. package/lines/Line2.d.ts +3 -3
  132. package/lines/LineGeometry.d.cts +10 -0
  133. package/lines/LineGeometry.d.ts +2 -2
  134. package/lines/LineMaterial.d.cts +31 -0
  135. package/lines/LineMaterial.d.ts +1 -1
  136. package/lines/LineSegments2.d.cts +14 -0
  137. package/lines/LineSegments2.d.ts +3 -3
  138. package/lines/LineSegmentsGeometry.d.cts +16 -0
  139. package/lines/LineSegmentsGeometry.d.ts +1 -1
  140. package/lines/Wireframe.d.cts +11 -0
  141. package/lines/Wireframe.d.ts +3 -3
  142. package/lines/WireframeGeometry2.d.cts +8 -0
  143. package/lines/WireframeGeometry2.d.ts +2 -2
  144. package/loaders/3DMLoader.d.cts +17 -0
  145. package/loaders/3DMLoader.d.ts +1 -1
  146. package/loaders/3MFLoader.d.cts +16 -0
  147. package/loaders/3MFLoader.d.ts +1 -1
  148. package/loaders/AMFLoader.d.cts +14 -0
  149. package/loaders/AMFLoader.d.ts +1 -1
  150. package/loaders/AssimpLoader.d.cts +19 -0
  151. package/loaders/AssimpLoader.d.ts +1 -1
  152. package/loaders/BVHLoader.d.cts +21 -0
  153. package/loaders/BVHLoader.d.ts +1 -1
  154. package/loaders/BasisTextureLoader.d.cts +32 -0
  155. package/loaders/BasisTextureLoader.d.ts +1 -1
  156. package/loaders/ColladaLoader.d.cts +20 -0
  157. package/loaders/ColladaLoader.d.ts +1 -1
  158. package/loaders/DDSLoader.d.cts +16 -0
  159. package/loaders/DDSLoader.d.ts +1 -1
  160. package/loaders/DRACOLoader.d.cts +18 -0
  161. package/loaders/DRACOLoader.d.ts +1 -1
  162. package/loaders/EXRLoader.d.cts +18 -0
  163. package/loaders/EXRLoader.d.ts +1 -1
  164. package/loaders/FBXLoader.d.cts +14 -0
  165. package/loaders/FBXLoader.d.ts +1 -1
  166. package/loaders/FontLoader.d.cts +37 -0
  167. package/loaders/FontLoader.d.ts +1 -1
  168. package/loaders/GCodeLoader.d.cts +15 -0
  169. package/loaders/GCodeLoader.d.ts +1 -1
  170. package/loaders/GLTFLoader.d.cts +155 -0
  171. package/loaders/GLTFLoader.d.ts +3 -3
  172. package/loaders/HDRCubeTextureLoader.d.cts +18 -0
  173. package/loaders/HDRCubeTextureLoader.d.ts +2 -2
  174. package/loaders/KMZLoader.d.cts +16 -0
  175. package/loaders/KMZLoader.d.ts +2 -2
  176. package/loaders/KTX2Loader.d.cts +10 -0
  177. package/loaders/KTX2Loader.d.ts +1 -1
  178. package/loaders/KTXLoader.d.cts +16 -0
  179. package/loaders/KTXLoader.d.ts +1 -1
  180. package/loaders/LDrawLoader.d.cts +26 -0
  181. package/loaders/LDrawLoader.d.ts +1 -1
  182. package/loaders/LUT3dlLoader.d.cts +20 -0
  183. package/loaders/LUT3dlLoader.d.ts +1 -1
  184. package/loaders/LUTCubeLoader.d.cts +23 -0
  185. package/loaders/LUTCubeLoader.d.ts +1 -1
  186. package/loaders/LWOLoader.d.cts +26 -0
  187. package/loaders/LWOLoader.d.ts +1 -1
  188. package/loaders/LottieLoader.d.cts +15 -0
  189. package/loaders/LottieLoader.d.ts +1 -1
  190. package/loaders/MD2Loader.d.cts +14 -0
  191. package/loaders/MD2Loader.d.ts +1 -1
  192. package/loaders/MDDLoader.d.cts +19 -0
  193. package/loaders/MDDLoader.d.ts +1 -1
  194. package/loaders/MMDLoader.d.cts +63 -0
  195. package/loaders/MMDLoader.d.ts +1 -1
  196. package/loaders/MTLLoader.d.cts +100 -0
  197. package/loaders/MTLLoader.d.ts +1 -1
  198. package/loaders/NRRDLoader.d.cts +22 -0
  199. package/loaders/NRRDLoader.d.ts +2 -2
  200. package/loaders/OBJLoader.d.cts +17 -0
  201. package/loaders/OBJLoader.d.ts +2 -2
  202. package/loaders/PCDLoader.d.cts +15 -0
  203. package/loaders/PCDLoader.d.ts +1 -1
  204. package/loaders/PDBLoader.d.cts +22 -0
  205. package/loaders/PDBLoader.d.ts +1 -1
  206. package/loaders/PLYLoader.d.cts +16 -0
  207. package/loaders/PLYLoader.d.ts +1 -1
  208. package/loaders/PRWMLoader.d.cts +16 -0
  209. package/loaders/PRWMLoader.d.ts +1 -1
  210. package/loaders/PVRLoader.d.cts +16 -0
  211. package/loaders/PVRLoader.d.ts +1 -1
  212. package/loaders/RGBELoader.d.cts +20 -0
  213. package/loaders/RGBELoader.d.ts +1 -1
  214. package/loaders/RGBMLoader.d.cts +32 -0
  215. package/loaders/RGBMLoader.d.ts +1 -1
  216. package/loaders/STLLoader.d.cts +14 -0
  217. package/loaders/STLLoader.d.ts +1 -1
  218. package/loaders/SVGLoader.d.cts +63 -0
  219. package/loaders/SVGLoader.d.ts +1 -1
  220. package/loaders/TDSLoader.d.cts +42 -0
  221. package/loaders/TDSLoader.d.ts +1 -1
  222. package/loaders/TGALoader.d.cts +14 -0
  223. package/loaders/TGALoader.d.ts +1 -1
  224. package/loaders/TTFLoader.d.cts +15 -0
  225. package/loaders/TTFLoader.d.ts +1 -1
  226. package/loaders/TiltLoader.d.cts +14 -0
  227. package/loaders/TiltLoader.d.ts +1 -1
  228. package/loaders/VOXLoader.d.cts +29 -0
  229. package/loaders/VOXLoader.d.ts +1 -1
  230. package/loaders/VRMLLoader.d.cts +14 -0
  231. package/loaders/VRMLLoader.d.ts +1 -1
  232. package/loaders/VRMLoader.d.cts +19 -0
  233. package/loaders/VRMLoader.d.ts +3 -3
  234. package/loaders/VTKLoader.d.cts +14 -0
  235. package/loaders/VTKLoader.d.ts +1 -1
  236. package/loaders/XLoader.d.cts +19 -0
  237. package/loaders/XLoader.d.ts +1 -1
  238. package/loaders/XYZLoader.d.cts +14 -0
  239. package/loaders/XYZLoader.d.ts +1 -1
  240. package/math/Capsule.d.cts +27 -0
  241. package/math/Capsule.d.ts +1 -1
  242. package/math/ColorConverter.d.cts +21 -0
  243. package/math/ColorConverter.d.ts +1 -1
  244. package/math/ConvexHull.d.cts +89 -0
  245. package/math/ConvexHull.d.ts +1 -1
  246. package/math/ImprovedNoise.d.cts +4 -0
  247. package/math/Lut.d.cts +27 -0
  248. package/math/Lut.d.ts +1 -1
  249. package/math/MeshSurfaceSampler.d.cts +18 -0
  250. package/math/MeshSurfaceSampler.d.ts +1 -1
  251. package/math/OBB.d.cts +24 -0
  252. package/math/OBB.d.ts +1 -1
  253. package/math/Octree.d.cts +24 -0
  254. package/math/Octree.d.ts +2 -2
  255. package/math/SimplexNoise.d.cts +21 -0
  256. package/misc/ConvexObjectBreaker.d.cts +25 -0
  257. package/misc/ConvexObjectBreaker.d.ts +1 -1
  258. package/misc/GPUComputationRenderer.d.cts +53 -0
  259. package/misc/GPUComputationRenderer.d.ts +1 -1
  260. package/misc/Gyroscope.d.cts +5 -0
  261. package/misc/Gyroscope.d.ts +1 -1
  262. package/misc/MD2Character.d.cts +33 -0
  263. package/misc/MD2Character.d.ts +1 -1
  264. package/misc/MD2CharacterComplex.d.cts +47 -0
  265. package/misc/MD2CharacterComplex.d.ts +1 -1
  266. package/misc/MorphAnimMesh.d.cts +13 -0
  267. package/misc/MorphAnimMesh.d.ts +1 -1
  268. package/misc/MorphBlendMesh.d.cts +21 -0
  269. package/misc/MorphBlendMesh.d.ts +1 -1
  270. package/misc/ProgressiveLightmap.d.cts +60 -0
  271. package/misc/ProgressiveLightmap.d.ts +1 -1
  272. package/misc/RollerCoaster.d.cts +21 -0
  273. package/misc/RollerCoaster.d.ts +1 -1
  274. package/misc/Timer.d.cts +27 -0
  275. package/misc/Timer.d.ts +1 -1
  276. package/misc/TubePainter.d.cts +10 -0
  277. package/misc/TubePainter.d.ts +1 -1
  278. package/misc/Volume.d.cts +37 -0
  279. package/misc/Volume.d.ts +2 -2
  280. package/misc/VolumeSlice.d.cts +28 -0
  281. package/misc/VolumeSlice.d.ts +2 -2
  282. package/misc/WebGL.d.cts +5 -0
  283. package/modifiers/CurveModifier.d.cts +91 -0
  284. package/modifiers/CurveModifier.d.ts +1 -1
  285. package/modifiers/EdgeSplitModifier.d.cts +19 -0
  286. package/modifiers/EdgeSplitModifier.d.ts +2 -2
  287. package/modifiers/SimplifyModifier.d.cts +19 -0
  288. package/modifiers/SimplifyModifier.d.ts +2 -2
  289. package/modifiers/TessellateModifier.d.cts +11 -0
  290. package/modifiers/TessellateModifier.d.ts +2 -2
  291. package/objects/BatchedMesh.d.cts +48 -0
  292. package/objects/BatchedMesh.d.ts +2 -2
  293. package/objects/GroundProjectedEnv.d.cts +12 -0
  294. package/objects/GroundProjectedEnv.d.ts +1 -1
  295. package/objects/Lensflare.cjs +10 -8
  296. package/objects/Lensflare.cjs.map +1 -1
  297. package/objects/Lensflare.d.cts +17 -0
  298. package/objects/Lensflare.d.ts +1 -1
  299. package/objects/Lensflare.js +11 -9
  300. package/objects/Lensflare.js.map +1 -1
  301. package/objects/LightningStorm.d.cts +32 -0
  302. package/objects/LightningStorm.d.ts +2 -2
  303. package/objects/MarchingCubes.d.cts +76 -0
  304. package/objects/MarchingCubes.d.ts +1 -1
  305. package/objects/Reflector.d.cts +23 -0
  306. package/objects/Reflector.d.ts +2 -2
  307. package/objects/ReflectorForSSRPass.d.cts +48 -0
  308. package/objects/ReflectorForSSRPass.d.ts +1 -1
  309. package/objects/ReflectorRTT.d.cts +6 -0
  310. package/objects/ReflectorRTT.d.ts +3 -3
  311. package/objects/Refractor.d.cts +23 -0
  312. package/objects/Refractor.d.ts +2 -2
  313. package/objects/ShadowMesh.d.cts +10 -0
  314. package/objects/ShadowMesh.d.ts +1 -1
  315. package/objects/Sky.d.cts +18 -0
  316. package/objects/Sky.d.ts +2 -2
  317. package/objects/Water.d.cts +22 -0
  318. package/objects/Water.d.ts +1 -1
  319. package/objects/Water2.d.cts +23 -0
  320. package/objects/Water2.d.ts +2 -2
  321. package/package.json +11 -5
  322. package/physics/AmmoPhysics.d.cts +7 -0
  323. package/physics/AmmoPhysics.d.ts +1 -1
  324. package/postprocessing/AdaptiveToneMappingPass.d.cts +29 -0
  325. package/postprocessing/AdaptiveToneMappingPass.d.ts +2 -2
  326. package/postprocessing/AfterimagePass.d.cts +15 -0
  327. package/postprocessing/AfterimagePass.d.ts +3 -3
  328. package/postprocessing/BloomPass.d.cts +29 -0
  329. package/postprocessing/BloomPass.d.ts +4 -4
  330. package/postprocessing/BokehPass.d.cts +26 -0
  331. package/postprocessing/BokehPass.d.ts +3 -3
  332. package/postprocessing/ClearPass.d.cts +10 -0
  333. package/postprocessing/ClearPass.d.ts +3 -3
  334. package/postprocessing/CubeTexturePass.d.cts +14 -0
  335. package/postprocessing/CubeTexturePass.d.ts +2 -2
  336. package/postprocessing/DotScreenPass.d.cts +11 -0
  337. package/postprocessing/DotScreenPass.d.ts +4 -4
  338. package/postprocessing/EffectComposer.d.cts +28 -0
  339. package/postprocessing/EffectComposer.d.ts +3 -3
  340. package/postprocessing/FilmPass.d.cts +11 -0
  341. package/postprocessing/FilmPass.d.ts +4 -4
  342. package/postprocessing/GlitchPass.d.cts +16 -0
  343. package/postprocessing/GlitchPass.d.ts +4 -4
  344. package/postprocessing/HalftonePass.d.cts +26 -0
  345. package/postprocessing/HalftonePass.d.ts +3 -3
  346. package/postprocessing/LUTPass.d.cts +13 -0
  347. package/postprocessing/LUTPass.d.ts +2 -2
  348. package/postprocessing/MaskPass.d.cts +14 -0
  349. package/postprocessing/MaskPass.d.ts +3 -3
  350. package/postprocessing/OutlinePass.d.cts +53 -0
  351. package/postprocessing/OutlinePass.d.ts +3 -3
  352. package/postprocessing/Pass.d.cts +21 -0
  353. package/postprocessing/Pass.d.ts +2 -2
  354. package/postprocessing/RenderPass.d.cts +14 -0
  355. package/postprocessing/RenderPass.d.ts +3 -3
  356. package/postprocessing/RenderPixelatedPass.d.cts +34 -0
  357. package/postprocessing/RenderPixelatedPass.d.ts +2 -2
  358. package/postprocessing/SAOPass.d.cts +78 -0
  359. package/postprocessing/SAOPass.d.ts +2 -2
  360. package/postprocessing/SMAAPass.d.cts +21 -0
  361. package/postprocessing/SMAAPass.d.ts +2 -2
  362. package/postprocessing/SSAARenderPass.d.cts +17 -0
  363. package/postprocessing/SSAARenderPass.d.ts +2 -2
  364. package/postprocessing/SSAOPass.d.cts +70 -0
  365. package/postprocessing/SSAOPass.d.ts +2 -2
  366. package/postprocessing/SSRPass.d.cts +123 -0
  367. package/postprocessing/SSRPass.d.ts +3 -3
  368. package/postprocessing/SavePass.d.cts +12 -0
  369. package/postprocessing/SavePass.d.ts +2 -2
  370. package/postprocessing/ShaderPass.d.cts +13 -0
  371. package/postprocessing/ShaderPass.d.ts +4 -4
  372. package/postprocessing/TAARenderPass.d.cts +8 -0
  373. package/postprocessing/TAARenderPass.d.ts +2 -2
  374. package/postprocessing/TexturePass.d.cts +12 -0
  375. package/postprocessing/TexturePass.d.ts +2 -2
  376. package/postprocessing/UnrealBloomPass.d.cts +31 -0
  377. package/postprocessing/UnrealBloomPass.d.ts +2 -2
  378. package/postprocessing/WaterPass.d.cts +35 -0
  379. package/postprocessing/WaterPass.d.ts +3 -3
  380. package/renderers/CSS2DRenderer.d.cts +23 -0
  381. package/renderers/CSS2DRenderer.d.ts +1 -1
  382. package/renderers/CSS3DRenderer.d.cts +26 -0
  383. package/renderers/CSS3DRenderer.d.ts +1 -1
  384. package/renderers/Projector.d.cts +60 -0
  385. package/renderers/Projector.d.ts +1 -1
  386. package/renderers/SVGRenderer.d.cts +25 -0
  387. package/renderers/SVGRenderer.d.ts +1 -1
  388. package/shaders/ACESFilmicToneMappingShader.d.cts +16 -0
  389. package/shaders/ACESFilmicToneMappingShader.d.ts +1 -1
  390. package/shaders/AfterimageShader.d.cts +15 -0
  391. package/shaders/AfterimageShader.d.ts +1 -1
  392. package/shaders/BasicShader.d.cts +8 -0
  393. package/shaders/BasicShader.d.ts +1 -1
  394. package/shaders/BleachBypassShader.d.cts +14 -0
  395. package/shaders/BleachBypassShader.d.ts +1 -1
  396. package/shaders/BlendShader.d.cts +21 -0
  397. package/shaders/BokehShader.d.cts +24 -0
  398. package/shaders/BokehShader.d.ts +1 -1
  399. package/shaders/BokehShader2.d.cts +50 -0
  400. package/shaders/BokehShader2.d.ts +1 -1
  401. package/shaders/BrightnessContrastShader.d.cts +21 -0
  402. package/shaders/ColorCorrectionShader.d.cts +22 -0
  403. package/shaders/ColorCorrectionShader.d.ts +1 -1
  404. package/shaders/ColorifyShader.d.cts +16 -0
  405. package/shaders/ColorifyShader.d.ts +1 -1
  406. package/shaders/ConvolutionShader.d.cts +21 -0
  407. package/shaders/ConvolutionShader.d.ts +2 -2
  408. package/shaders/CopyShader.d.cts +12 -0
  409. package/shaders/CopyShader.d.ts +1 -1
  410. package/shaders/DOFMipMapShader.d.cts +23 -0
  411. package/shaders/DepthLimitedBlurShader.d.cts +28 -0
  412. package/shaders/DepthLimitedBlurShader.d.ts +2 -2
  413. package/shaders/DigitalGlitch.d.cts +39 -0
  414. package/shaders/DotScreenShader.d.cts +27 -0
  415. package/shaders/DotScreenShader.d.ts +1 -1
  416. package/shaders/FXAAShader.d.cts +19 -0
  417. package/shaders/FXAAShader.d.ts +1 -1
  418. package/shaders/FilmShader.d.cts +43 -0
  419. package/shaders/FocusShader.d.cts +26 -0
  420. package/shaders/FreiChenShader.d.cts +19 -0
  421. package/shaders/FreiChenShader.d.ts +1 -1
  422. package/shaders/FresnelShader.d.cts +24 -0
  423. package/shaders/GammaCorrectionShader.d.cts +12 -0
  424. package/shaders/GammaCorrectionShader.d.ts +1 -1
  425. package/shaders/GodRaysShader.d.cts +97 -0
  426. package/shaders/GodRaysShader.d.ts +1 -1
  427. package/shaders/HalftoneShader.d.cts +51 -0
  428. package/shaders/HorizontalBlurShader.d.cts +18 -0
  429. package/shaders/HorizontalBlurShader.d.ts +1 -1
  430. package/shaders/HorizontalTiltShiftShader.d.cts +23 -0
  431. package/shaders/HueSaturationShader.d.cts +21 -0
  432. package/shaders/KaleidoShader.d.cts +24 -0
  433. package/shaders/LuminosityHighPassShader.d.cts +27 -0
  434. package/shaders/LuminosityHighPassShader.d.ts +1 -1
  435. package/shaders/LuminosityShader.d.cts +13 -0
  436. package/shaders/MirrorShader.d.cts +18 -0
  437. package/shaders/NormalMapShader.d.cts +23 -0
  438. package/shaders/NormalMapShader.d.ts +1 -1
  439. package/shaders/ParallaxShader.d.cts +28 -0
  440. package/shaders/PixelShader.d.cts +18 -0
  441. package/shaders/RGBShiftShader.d.cts +24 -0
  442. package/shaders/SAOShader.d.cts +25 -0
  443. package/shaders/SAOShader.d.ts +2 -2
  444. package/shaders/SMAAShader.d.cts +60 -0
  445. package/shaders/SMAAShader.d.ts +1 -1
  446. package/shaders/SSAOShader.d.cts +86 -0
  447. package/shaders/SSAOShader.d.ts +1 -1
  448. package/shaders/SSRShader.d.cts +94 -0
  449. package/shaders/SSRShader.d.ts +1 -1
  450. package/shaders/SepiaShader.d.cts +17 -0
  451. package/shaders/SobelOperatorShader.d.cts +19 -0
  452. package/shaders/SobelOperatorShader.d.ts +1 -1
  453. package/shaders/SubsurfaceScatteringShader.d.cts +5 -0
  454. package/shaders/TechnicolorShader.d.cts +15 -0
  455. package/shaders/ToneMapShader.d.cts +27 -0
  456. package/shaders/ToonShader.d.cts +108 -0
  457. package/shaders/ToonShader.d.ts +1 -1
  458. package/shaders/TriangleBlurShader.d.cts +22 -0
  459. package/shaders/TriangleBlurShader.d.ts +1 -1
  460. package/shaders/UnpackDepthRGBAShader.d.cts +16 -0
  461. package/shaders/VerticalBlurShader.d.cts +18 -0
  462. package/shaders/VerticalBlurShader.d.ts +1 -1
  463. package/shaders/VerticalTiltShiftShader.d.cts +23 -0
  464. package/shaders/VignetteShader.d.cts +20 -0
  465. package/shaders/VolumeShader.d.cts +30 -0
  466. package/shaders/VolumeShader.d.ts +1 -1
  467. package/shaders/WaterRefractionShader.d.cts +21 -0
  468. package/shaders/types.d.cts +13 -0
  469. package/textures/FlakesTexture.d.cts +4 -0
  470. package/textures/FlakesTexture.d.ts +1 -1
  471. package/types/helpers.d.cts +1 -0
  472. package/types/shared.d.cts +9 -0
  473. package/types/utils.d.cts +3 -0
  474. package/utils/BufferGeometryUtils.d.cts +63 -0
  475. package/utils/BufferGeometryUtils.d.ts +1 -1
  476. package/utils/GeometryCompressionUtils.d.cts +7 -0
  477. package/utils/GeometryCompressionUtils.d.ts +1 -1
  478. package/utils/GeometryUtils.d.cts +6 -0
  479. package/utils/GeometryUtils.d.ts +1 -1
  480. package/utils/LDrawUtils.d.cts +5 -0
  481. package/utils/LDrawUtils.d.ts +1 -1
  482. package/utils/RoughnessMipmapper.d.cts +8 -0
  483. package/utils/RoughnessMipmapper.d.ts +1 -1
  484. package/utils/SceneUtils.d.cts +9 -0
  485. package/utils/SceneUtils.d.ts +2 -2
  486. package/utils/ShadowMapViewer.d.cts +24 -0
  487. package/utils/ShadowMapViewer.d.ts +1 -1
  488. package/utils/SkeletonUtils.d.cts +14 -0
  489. package/utils/SkeletonUtils.d.ts +1 -1
  490. package/utils/UVsDebug.d.cts +3 -0
  491. package/utils/UVsDebug.d.ts +1 -1
  492. package/webxr/ARButton.d.cts +6 -0
  493. package/webxr/ARButton.d.ts +2 -2
  494. package/webxr/OculusHandModel.d.cts +23 -0
  495. package/webxr/OculusHandModel.d.ts +3 -3
  496. package/webxr/OculusHandPointerModel.d.cts +65 -0
  497. package/webxr/OculusHandPointerModel.d.ts +1 -1
  498. package/webxr/Text2D.d.cts +3 -0
  499. package/webxr/Text2D.d.ts +1 -1
  500. package/webxr/VRButton.d.cts +11 -0
  501. package/webxr/VRButton.d.ts +2 -2
  502. package/webxr/XRControllerModelFactory.d.cts +23 -0
  503. package/webxr/XRControllerModelFactory.d.ts +4 -4
  504. package/webxr/XREstimatedLight.d.cts +33 -0
  505. package/webxr/XREstimatedLight.d.ts +1 -1
  506. package/webxr/XRHandMeshModel.d.cts +9 -0
  507. package/webxr/XRHandMeshModel.d.ts +2 -2
  508. package/webxr/XRHandModelFactory.d.cts +25 -0
  509. package/webxr/XRHandModelFactory.d.ts +3 -3
  510. package/webxr/XRHandPrimitiveModel.d.cts +24 -0
  511. package/webxr/XRHandPrimitiveModel.d.ts +2 -2
@@ -1,4 +1,4 @@
1
- import { BufferGeometry, InterleavedBuffer, InterleavedBufferAttribute, Mesh, MeshBasicMaterial, Vector3, DataTexture, RGBAFormat, NearestFilter, ClampToEdgeWrapping, RawShaderMaterial, Color, Vector2, AdditiveBlending, Box2, Vector4 } from "three";
1
+ import { BufferGeometry, InterleavedBuffer, InterleavedBufferAttribute, Mesh, MeshBasicMaterial, Vector3, Texture, NearestFilter, RawShaderMaterial, Color, Vector2, AdditiveBlending, Box2, Vector4 } from "three";
2
2
  const Lensflare = /* @__PURE__ */ (() => {
3
3
  class Lensflare2 extends Mesh {
4
4
  constructor() {
@@ -9,16 +9,18 @@ const Lensflare = /* @__PURE__ */ (() => {
9
9
  this.renderOrder = Infinity;
10
10
  const positionScreen = new Vector3();
11
11
  const positionView = new Vector3();
12
- const tempMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat);
13
- tempMap.minFilter = NearestFilter;
12
+ const tempMap = new Texture({ width: 16, height: 16 });
13
+ tempMap.isFramebufferTexture = true;
14
14
  tempMap.magFilter = NearestFilter;
15
- tempMap.wrapS = ClampToEdgeWrapping;
16
- tempMap.wrapT = ClampToEdgeWrapping;
17
- const occlusionMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat);
18
- occlusionMap.minFilter = NearestFilter;
15
+ tempMap.minFilter = NearestFilter;
16
+ tempMap.generateMipmaps = false;
17
+ tempMap.needsUpdate = true;
18
+ const occlusionMap = new Texture({ width: 16, height: 16 });
19
+ occlusionMap.isFramebufferTexture = true;
19
20
  occlusionMap.magFilter = NearestFilter;
20
- occlusionMap.wrapS = ClampToEdgeWrapping;
21
- occlusionMap.wrapT = ClampToEdgeWrapping;
21
+ occlusionMap.minFilter = NearestFilter;
22
+ occlusionMap.generateMipmaps = false;
23
+ occlusionMap.needsUpdate = true;
22
24
  const geometry = Lensflare2.Geometry;
23
25
  const material1a = new RawShaderMaterial({
24
26
  uniforms: {
@@ -1 +1 @@
1
- {"version":3,"file":"Lensflare.js","sources":["../../src/objects/Lensflare.js"],"sourcesContent":["import {\n AdditiveBlending,\n Box2,\n BufferGeometry,\n ClampToEdgeWrapping,\n Color,\n DataTexture,\n InterleavedBuffer,\n InterleavedBufferAttribute,\n Mesh,\n MeshBasicMaterial,\n NearestFilter,\n RGBAFormat,\n RawShaderMaterial,\n Vector2,\n Vector3,\n Vector4,\n} from 'three'\n\nconst Lensflare = /* @__PURE__ */ (() => {\n class Lensflare extends Mesh {\n constructor() {\n super(Lensflare.Geometry, new MeshBasicMaterial({ opacity: 0, transparent: true }))\n\n this.isLensflare = true\n\n this.type = 'Lensflare'\n this.frustumCulled = false\n this.renderOrder = Infinity\n\n //\n\n const positionScreen = new Vector3()\n const positionView = new Vector3()\n\n // textures\n const tempMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat)\n tempMap.minFilter = NearestFilter\n tempMap.magFilter = NearestFilter\n tempMap.wrapS = ClampToEdgeWrapping\n tempMap.wrapT = ClampToEdgeWrapping\n\n const occlusionMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat)\n occlusionMap.minFilter = NearestFilter\n occlusionMap.magFilter = NearestFilter\n occlusionMap.wrapS = ClampToEdgeWrapping\n occlusionMap.wrapT = ClampToEdgeWrapping\n\n // material\n\n const geometry = Lensflare.Geometry\n\n const material1a = new RawShaderMaterial({\n uniforms: {\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );\n\n\t\t\t\t}`,\n depthTest: true,\n depthWrite: false,\n transparent: false,\n })\n\n const material1b = new RawShaderMaterial({\n uniforms: {\n map: { value: tempMap },\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\t\t\t\tattribute vec2 uv;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvUV = uv;\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform sampler2D map;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = texture2D( map, vUV );\n\n\t\t\t\t}`,\n depthTest: false,\n depthWrite: false,\n transparent: false,\n })\n\n // the following object is used for occlusionMap generation\n\n const mesh1 = new Mesh(geometry, material1a)\n\n //\n\n const elements = []\n\n const shader = LensflareElement.Shader\n\n const material2 = new RawShaderMaterial({\n uniforms: {\n map: { value: null },\n occlusionMap: { value: occlusionMap },\n color: { value: new Color(0xffffff) },\n scale: { value: new Vector2() },\n screenPosition: { value: new Vector3() },\n },\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n blending: AdditiveBlending,\n transparent: true,\n depthWrite: false,\n })\n\n const mesh2 = new Mesh(geometry, material2)\n\n this.addElement = function (element) {\n elements.push(element)\n }\n\n //\n\n const scale = new Vector2()\n const screenPositionPixels = new Vector2()\n const validArea = new Box2()\n const viewport = new Vector4()\n\n this.onBeforeRender = function (renderer, scene, camera) {\n renderer.getCurrentViewport(viewport)\n\n const invAspect = viewport.w / viewport.z\n const halfViewportWidth = viewport.z / 2.0\n const halfViewportHeight = viewport.w / 2.0\n\n let size = 16 / viewport.w\n scale.set(size * invAspect, size)\n\n validArea.min.set(viewport.x, viewport.y)\n validArea.max.set(viewport.x + (viewport.z - 16), viewport.y + (viewport.w - 16))\n\n // calculate position in screen space\n\n positionView.setFromMatrixPosition(this.matrixWorld)\n positionView.applyMatrix4(camera.matrixWorldInverse)\n\n if (positionView.z > 0) return // lensflare is behind the camera\n\n positionScreen.copy(positionView).applyMatrix4(camera.projectionMatrix)\n\n // horizontal and vertical coordinate of the lower left corner of the pixels to copy\n\n screenPositionPixels.x = viewport.x + positionScreen.x * halfViewportWidth + halfViewportWidth - 8\n screenPositionPixels.y = viewport.y + positionScreen.y * halfViewportHeight + halfViewportHeight - 8\n\n // screen cull\n\n if (validArea.containsPoint(screenPositionPixels)) {\n // save current RGB to temp texture\n\n renderer.copyFramebufferToTexture(screenPositionPixels, tempMap)\n\n // render pink quad\n\n let uniforms = material1a.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1a, mesh1, null)\n\n // copy result to occlusionMap\n\n renderer.copyFramebufferToTexture(screenPositionPixels, occlusionMap)\n\n // restore graphics\n\n uniforms = material1b.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1b, mesh1, null)\n\n // render elements\n\n const vecX = -positionScreen.x * 2\n const vecY = -positionScreen.y * 2\n\n for (let i = 0, l = elements.length; i < l; i++) {\n const element = elements[i]\n\n const uniforms = material2.uniforms\n\n uniforms['color'].value.copy(element.color)\n uniforms['map'].value = element.texture\n uniforms['screenPosition'].value.x = positionScreen.x + vecX * element.distance\n uniforms['screenPosition'].value.y = positionScreen.y + vecY * element.distance\n\n size = element.size / viewport.w\n const invAspect = viewport.w / viewport.z\n\n uniforms['scale'].value.set(size * invAspect, size)\n\n material2.uniformsNeedUpdate = true\n\n renderer.renderBufferDirect(camera, null, geometry, material2, mesh2, null)\n }\n }\n }\n\n this.dispose = function () {\n material1a.dispose()\n material1b.dispose()\n material2.dispose()\n\n tempMap.dispose()\n occlusionMap.dispose()\n\n for (let i = 0, l = elements.length; i < l; i++) {\n elements[i].texture.dispose()\n }\n }\n }\n }\n\n const _geometry = new BufferGeometry()\n const interleavedBuffer = new InterleavedBuffer(\n new Float32Array([-1, -1, 0, 0, 0, 1, -1, 0, 1, 0, 1, 1, 0, 1, 1, -1, 1, 0, 0, 1]),\n 5,\n )\n\n _geometry.setIndex([0, 1, 2, 0, 2, 3])\n _geometry.setAttribute('position', new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false))\n _geometry.setAttribute('uv', new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false))\n\n Lensflare.Geometry = _geometry\n\n return Lensflare\n})()\n\n//\n\nconst LensflareElement = /* @__PURE__ */ (() => {\n class LensflareElement {\n constructor(texture, size = 1, distance = 0, color = new Color(0xffffff)) {\n this.texture = texture\n this.size = size\n this.distance = distance\n this.color = color\n }\n }\n\n LensflareElement.Shader = {\n uniforms: {\n map: { value: null },\n occlusionMap: { value: null },\n color: { value: null },\n scale: { value: null },\n screenPosition: { value: null },\n },\n\n vertexShader: /* glsl */ `\n\n precision highp float;\n\n uniform vec3 screenPosition;\n uniform vec2 scale;\n\n uniform sampler2D occlusionMap;\n\n attribute vec3 position;\n attribute vec2 uv;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vUV = uv;\n\n vec2 pos = position.xy;\n\n vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\n\n vVisibility = visibility.r / 9.0;\n vVisibility *= 1.0 - visibility.g / 9.0;\n vVisibility *= visibility.b / 9.0;\n\n gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n\n precision highp float;\n\n uniform sampler2D map;\n uniform vec3 color;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vec4 texture = texture2D( map, vUV );\n texture.a *= vVisibility;\n gl_FragColor = texture;\n gl_FragColor.rgb *= color;\n\n }\n `,\n }\n\n return LensflareElement\n})()\n\nexport { Lensflare, LensflareElement }\n"],"names":["Lensflare","uniforms","invAspect","LensflareElement"],"mappings":"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"}
1
+ {"version":3,"file":"Lensflare.js","sources":["../../src/objects/Lensflare.js"],"sourcesContent":["import {\n AdditiveBlending,\n Box2,\n BufferGeometry,\n Color,\n Texture,\n NearestFilter,\n InterleavedBuffer,\n InterleavedBufferAttribute,\n Mesh,\n MeshBasicMaterial,\n RawShaderMaterial,\n Vector2,\n Vector3,\n Vector4,\n} from 'three'\n\nconst Lensflare = /* @__PURE__ */ (() => {\n class Lensflare extends Mesh {\n constructor() {\n super(Lensflare.Geometry, new MeshBasicMaterial({ opacity: 0, transparent: true }))\n\n this.isLensflare = true\n\n this.type = 'Lensflare'\n this.frustumCulled = false\n this.renderOrder = Infinity\n\n //\n\n const positionScreen = new Vector3()\n const positionView = new Vector3()\n\n // textures\n const tempMap = new Texture({ width: 16, height: 16 })\n tempMap.isFramebufferTexture = true\n tempMap.magFilter = NearestFilter\n tempMap.minFilter = NearestFilter\n tempMap.generateMipmaps = false\n tempMap.needsUpdate = true\n\n const occlusionMap = new Texture({ width: 16, height: 16 })\n occlusionMap.isFramebufferTexture = true\n occlusionMap.magFilter = NearestFilter\n occlusionMap.minFilter = NearestFilter\n occlusionMap.generateMipmaps = false\n occlusionMap.needsUpdate = true\n\n // material\n\n const geometry = Lensflare.Geometry\n\n const material1a = new RawShaderMaterial({\n uniforms: {\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );\n\n\t\t\t\t}`,\n depthTest: true,\n depthWrite: false,\n transparent: false,\n })\n\n const material1b = new RawShaderMaterial({\n uniforms: {\n map: { value: tempMap },\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\t\t\t\tattribute vec2 uv;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvUV = uv;\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform sampler2D map;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = texture2D( map, vUV );\n\n\t\t\t\t}`,\n depthTest: false,\n depthWrite: false,\n transparent: false,\n })\n\n // the following object is used for occlusionMap generation\n\n const mesh1 = new Mesh(geometry, material1a)\n\n //\n\n const elements = []\n\n const shader = LensflareElement.Shader\n\n const material2 = new RawShaderMaterial({\n uniforms: {\n map: { value: null },\n occlusionMap: { value: occlusionMap },\n color: { value: new Color(0xffffff) },\n scale: { value: new Vector2() },\n screenPosition: { value: new Vector3() },\n },\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n blending: AdditiveBlending,\n transparent: true,\n depthWrite: false,\n })\n\n const mesh2 = new Mesh(geometry, material2)\n\n this.addElement = function (element) {\n elements.push(element)\n }\n\n //\n\n const scale = new Vector2()\n const screenPositionPixels = new Vector2()\n const validArea = new Box2()\n const viewport = new Vector4()\n\n this.onBeforeRender = function (renderer, scene, camera) {\n renderer.getCurrentViewport(viewport)\n\n const invAspect = viewport.w / viewport.z\n const halfViewportWidth = viewport.z / 2.0\n const halfViewportHeight = viewport.w / 2.0\n\n let size = 16 / viewport.w\n scale.set(size * invAspect, size)\n\n validArea.min.set(viewport.x, viewport.y)\n validArea.max.set(viewport.x + (viewport.z - 16), viewport.y + (viewport.w - 16))\n\n // calculate position in screen space\n\n positionView.setFromMatrixPosition(this.matrixWorld)\n positionView.applyMatrix4(camera.matrixWorldInverse)\n\n if (positionView.z > 0) return // lensflare is behind the camera\n\n positionScreen.copy(positionView).applyMatrix4(camera.projectionMatrix)\n\n // horizontal and vertical coordinate of the lower left corner of the pixels to copy\n\n screenPositionPixels.x = viewport.x + positionScreen.x * halfViewportWidth + halfViewportWidth - 8\n screenPositionPixels.y = viewport.y + positionScreen.y * halfViewportHeight + halfViewportHeight - 8\n\n // screen cull\n\n if (validArea.containsPoint(screenPositionPixels)) {\n // save current RGB to temp texture\n\n renderer.copyFramebufferToTexture(screenPositionPixels, tempMap)\n\n // render pink quad\n\n let uniforms = material1a.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1a, mesh1, null)\n\n // copy result to occlusionMap\n\n renderer.copyFramebufferToTexture(screenPositionPixels, occlusionMap)\n\n // restore graphics\n\n uniforms = material1b.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1b, mesh1, null)\n\n // render elements\n\n const vecX = -positionScreen.x * 2\n const vecY = -positionScreen.y * 2\n\n for (let i = 0, l = elements.length; i < l; i++) {\n const element = elements[i]\n\n const uniforms = material2.uniforms\n\n uniforms['color'].value.copy(element.color)\n uniforms['map'].value = element.texture\n uniforms['screenPosition'].value.x = positionScreen.x + vecX * element.distance\n uniforms['screenPosition'].value.y = positionScreen.y + vecY * element.distance\n\n size = element.size / viewport.w\n const invAspect = viewport.w / viewport.z\n\n uniforms['scale'].value.set(size * invAspect, size)\n\n material2.uniformsNeedUpdate = true\n\n renderer.renderBufferDirect(camera, null, geometry, material2, mesh2, null)\n }\n }\n }\n\n this.dispose = function () {\n material1a.dispose()\n material1b.dispose()\n material2.dispose()\n\n tempMap.dispose()\n occlusionMap.dispose()\n\n for (let i = 0, l = elements.length; i < l; i++) {\n elements[i].texture.dispose()\n }\n }\n }\n }\n\n const _geometry = new BufferGeometry()\n const interleavedBuffer = new InterleavedBuffer(\n new Float32Array([-1, -1, 0, 0, 0, 1, -1, 0, 1, 0, 1, 1, 0, 1, 1, -1, 1, 0, 0, 1]),\n 5,\n )\n\n _geometry.setIndex([0, 1, 2, 0, 2, 3])\n _geometry.setAttribute('position', new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false))\n _geometry.setAttribute('uv', new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false))\n\n Lensflare.Geometry = _geometry\n\n return Lensflare\n})()\n\n//\n\nconst LensflareElement = /* @__PURE__ */ (() => {\n class LensflareElement {\n constructor(texture, size = 1, distance = 0, color = new Color(0xffffff)) {\n this.texture = texture\n this.size = size\n this.distance = distance\n this.color = color\n }\n }\n\n LensflareElement.Shader = {\n uniforms: {\n map: { value: null },\n occlusionMap: { value: null },\n color: { value: null },\n scale: { value: null },\n screenPosition: { value: null },\n },\n\n vertexShader: /* glsl */ `\n\n precision highp float;\n\n uniform vec3 screenPosition;\n uniform vec2 scale;\n\n uniform sampler2D occlusionMap;\n\n attribute vec3 position;\n attribute vec2 uv;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vUV = uv;\n\n vec2 pos = position.xy;\n\n vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\n\n vVisibility = visibility.r / 9.0;\n vVisibility *= 1.0 - visibility.g / 9.0;\n vVisibility *= visibility.b / 9.0;\n\n gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n\n precision highp float;\n\n uniform sampler2D map;\n uniform vec3 color;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vec4 texture = texture2D( map, vUV );\n texture.a *= vVisibility;\n gl_FragColor = texture;\n gl_FragColor.rgb *= color;\n\n }\n `,\n }\n\n return LensflareElement\n})()\n\nexport { Lensflare, LensflareElement }\n"],"names":["Lensflare","uniforms","invAspect","LensflareElement"],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { Material, Object3D, Vector3 } from 'three'
2
+
3
+ import type { LightningStrike, RayParameters } from '../geometries/LightningStrike.d.cts'
4
+
5
+ export interface StormParams {
6
+ size?: number
7
+ minHeight?: number
8
+ maxHeight?: number
9
+ maxSlope?: number
10
+
11
+ maxLightnings?: number
12
+
13
+ lightningMinPeriod?: number
14
+ lightningMaxPeriod?: number
15
+ lightningMinDuration?: number
16
+ lightningMaxDuration?: number
17
+
18
+ lightningParameters?: RayParameters
19
+ lightningMaterial?: Material
20
+
21
+ isEternal?: boolean
22
+
23
+ onRayPosition?: (source: Vector3, dest: Vector3) => void
24
+ onLightningDown?: (lightning: LightningStrike) => void
25
+ }
26
+
27
+ export class LightningStorm extends Object3D {
28
+ constructor(stormParams?: StormParams)
29
+ update(time: number): void
30
+ copy(source: LightningStorm, recursive?: boolean): this
31
+ clone(): this
32
+ }
@@ -1,6 +1,6 @@
1
- import { Material, Object3D, Vector3 } from 'three'
1
+ import type { Material, Object3D, Vector3 } from 'three'
2
2
 
3
- import { LightningStrike, RayParameters } from '../geometries/LightningStrike'
3
+ import type { LightningStrike, RayParameters } from '../geometries/LightningStrike.d.ts'
4
4
 
5
5
  export interface StormParams {
6
6
  size?: number
@@ -0,0 +1,76 @@
1
+ import type { BufferGeometry, Material, Mesh, Color } from 'three'
2
+
3
+ export class MarchingCubes extends Mesh {
4
+ constructor(
5
+ resolution: number,
6
+ material: Material,
7
+ enableUvs?: boolean,
8
+ enableColors?: boolean,
9
+ maxPolyCount?: number,
10
+ )
11
+
12
+ enableUvs: boolean
13
+ enableColors: boolean
14
+
15
+ resolution: number
16
+
17
+ // parameters
18
+
19
+ isolation: number
20
+
21
+ // size of field, 32 is pushing it in Javascript :)
22
+
23
+ size: number
24
+ size2: number
25
+ size3: number
26
+ halfsize: number
27
+
28
+ // deltas
29
+
30
+ delta: number
31
+ yd: number
32
+ zd: number
33
+
34
+ field: Float32Array
35
+ normal_cache: Float32Array
36
+ palette: Float32Array
37
+
38
+ maxCount: number
39
+ count: number
40
+
41
+ hasPositions: boolean
42
+ hasNormals: boolean
43
+ hasColors: boolean
44
+ hasUvs: boolean
45
+
46
+ positionArray: Float32Array
47
+ normalArray: Float32Array
48
+
49
+ uvArray: Float32Array
50
+ colorArray: Float32Array
51
+
52
+ begin(): void
53
+ end(): void
54
+
55
+ init(resolution: number): void
56
+
57
+ addBall(ballx: number, bally: number, ballz: number, strength: number, subtract: number, colors?: Color): void
58
+
59
+ addPlaneX(strength: number, subtract: number): void
60
+ addPlaneY(strength: number, subtract: number): void
61
+ addPlaneZ(strength: number, subtract: number): void
62
+
63
+ setCell(x: number, y: number, z: number, value: number): void
64
+ getCell(x: number, y: number, z: number): number
65
+
66
+ blur(intensity: number): void
67
+
68
+ reset(): void
69
+ update(): void
70
+ render(renderCallback: any): void
71
+ generateGeometry(): BufferGeometry
72
+ generateBufferGeometry(): BufferGeometry
73
+ }
74
+
75
+ export const edgeTable: Int32Array[]
76
+ export const triTable: Int32Array[]
@@ -1,4 +1,4 @@
1
- import { BufferGeometry, Material, Mesh, Color } from 'three'
1
+ import type { BufferGeometry, Material, Mesh, Color } from 'three'
2
2
 
3
3
  export class MarchingCubes extends Mesh {
4
4
  constructor(
@@ -0,0 +1,23 @@
1
+ import type { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.cts'
3
+
4
+ export interface ReflectorOptions {
5
+ color?: Color | string | number
6
+ textureWidth?: number
7
+ textureHeight?: number
8
+ clipBias?: number
9
+ shader?: object
10
+ encoding?: TextureEncoding
11
+ multisample?: number
12
+ }
13
+
14
+ export class Reflector extends Mesh {
15
+ type: 'Reflector'
16
+ camera: PerspectiveCamera
17
+
18
+ constructor(geometry?: BufferGeometry, options?: ReflectorOptions)
19
+
20
+ getRenderTarget(): WebGLRenderTarget
21
+
22
+ dispose(): void
23
+ }
@@ -1,5 +1,5 @@
1
- import { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
- import { TextureEncoding } from '../types/shared'
1
+ import type { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.ts'
3
3
 
4
4
  export interface ReflectorOptions {
5
5
  color?: Color | string | number
@@ -0,0 +1,48 @@
1
+ import type { Mesh, ShaderMaterial, WebGLRenderTarget, BufferGeometry, WebGLRenderer, Scene, Camera, IUniform } from 'three'
2
+
3
+ export interface ReflectorShader {
4
+ defines: {
5
+ DISTANCE_ATTENUATION: boolean
6
+ FRESNEL: boolean
7
+ }
8
+ uniforms: {
9
+ [key: string]: IUniform
10
+ }
11
+ vertexShader: string
12
+ fragmentShader: string
13
+ }
14
+
15
+ export interface ReflectorForSSRPassOptions {
16
+ clipBias?: number | undefined
17
+ textureWidth?: number | undefined
18
+ textureHeight?: number | undefined
19
+ color?: number | undefined
20
+ useDepthTexture?: boolean | undefined
21
+ shader?: ReflectorShader | undefined
22
+ }
23
+
24
+ export class ReflectorForSSRPass<TGeometry extends BufferGeometry = BufferGeometry> extends Mesh<TGeometry> {
25
+ type: 'ReflectorForSSRPass'
26
+ options: ReflectorForSSRPassOptions
27
+
28
+ static ReflectorShader: ReflectorShader
29
+
30
+ needsUpdate: boolean
31
+ maxDistance: number
32
+ opacity: number
33
+
34
+ get distanceAttenuation(): boolean
35
+ set distanceAttenuation(val: boolean)
36
+ get fresnel(): boolean
37
+ set fresnel(val: boolean)
38
+
39
+ material: ShaderMaterial
40
+
41
+ renderTarget: WebGLRenderTarget
42
+
43
+ constructor(geometry: TGeometry, options: ReflectorForSSRPassOptions)
44
+
45
+ doRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera) => void
46
+
47
+ getRenderTarget: () => WebGLRenderTarget
48
+ }
@@ -1,4 +1,4 @@
1
- import { Mesh, ShaderMaterial, WebGLRenderTarget, BufferGeometry, WebGLRenderer, Scene, Camera, IUniform } from 'three'
1
+ import type { Mesh, ShaderMaterial, WebGLRenderTarget, BufferGeometry, WebGLRenderer, Scene, Camera, IUniform } from 'three'
2
2
 
3
3
  export interface ReflectorShader {
4
4
  defines: {
@@ -0,0 +1,6 @@
1
+ import type { BufferGeometry } from 'three';
2
+ import type { Reflector, ReflectorOptions } from '../objects/Reflector.d.cts';
3
+ declare class ReflectorRTT extends Reflector {
4
+ constructor(geometry?: BufferGeometry, options?: ReflectorOptions);
5
+ }
6
+ export { type ReflectorRTT };
@@ -1,6 +1,6 @@
1
- import { BufferGeometry } from 'three';
2
- import { Reflector, ReflectorOptions } from '../objects/Reflector';
1
+ import type { BufferGeometry } from 'three';
2
+ import type { Reflector, ReflectorOptions } from '../objects/Reflector.d.ts';
3
3
  declare class ReflectorRTT extends Reflector {
4
4
  constructor(geometry?: BufferGeometry, options?: ReflectorOptions);
5
5
  }
6
- export { ReflectorRTT };
6
+ export { type ReflectorRTT };
@@ -0,0 +1,23 @@
1
+ import type { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.cts'
3
+
4
+ export interface RefractorOptions {
5
+ color?: Color | string | number
6
+ textureWidth?: number
7
+ textureHeight?: number
8
+ clipBias?: number
9
+ shader?: object
10
+ encoding?: TextureEncoding
11
+ multisample?: number
12
+ }
13
+
14
+ export class Refractor extends Mesh {
15
+ type: 'Refractor'
16
+ camera: PerspectiveCamera
17
+
18
+ constructor(geometry?: BufferGeometry, options?: RefractorOptions)
19
+
20
+ getRenderTarget(): WebGLRenderTarget
21
+
22
+ dispose(): void
23
+ }
@@ -1,5 +1,5 @@
1
- import { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
- import { TextureEncoding } from '../types/shared'
1
+ import type { Mesh, BufferGeometry, Color, WebGLRenderTarget, PerspectiveCamera } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.ts'
3
3
 
4
4
  export interface RefractorOptions {
5
5
  color?: Color | string | number
@@ -0,0 +1,10 @@
1
+ import type { Mesh, Plane, Vector4, Matrix4, MeshBasicMaterial, BufferGeometry } from 'three'
2
+
3
+ export class ShadowMesh extends Mesh<BufferGeometry, MeshBasicMaterial> {
4
+ readonly isShadowMesh: true
5
+ meshMatrix: Matrix4
6
+
7
+ constructor(mesh: Mesh)
8
+
9
+ update(plane: Plane, lightPosition4D: Vector4): void
10
+ }
@@ -1,4 +1,4 @@
1
- import { Mesh, Plane, Vector4, Matrix4, MeshBasicMaterial, BufferGeometry } from 'three'
1
+ import type { Mesh, Plane, Vector4, Matrix4, MeshBasicMaterial, BufferGeometry } from 'three'
2
2
 
3
3
  export class ShadowMesh extends Mesh<BufferGeometry, MeshBasicMaterial> {
4
4
  readonly isShadowMesh: true
@@ -0,0 +1,18 @@
1
+ import type { Mesh, BoxGeometry, ShaderMaterial, Vector3 } from 'three'
2
+
3
+ declare class Sky extends Mesh<BoxGeometry, ShaderMaterial> {
4
+ static SkyShader: {
5
+ uniforms: {
6
+ turbidity: { value: number }
7
+ rayleigh: { value: number }
8
+ mieCoefficient: { value: number }
9
+ mieDirectionalG: { value: number }
10
+ sunPosition: { value: Vector3 }
11
+ up: { value: Vector3 }
12
+ }
13
+ }
14
+
15
+ static material: ShaderMaterial
16
+ }
17
+
18
+ export { type Sky }
package/objects/Sky.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Mesh, BoxGeometry, ShaderMaterial, Vector3 } from 'three'
1
+ import type { Mesh, BoxGeometry, ShaderMaterial, Vector3 } from 'three'
2
2
 
3
3
  declare class Sky extends Mesh<BoxGeometry, ShaderMaterial> {
4
4
  static SkyShader: {
@@ -15,4 +15,4 @@ declare class Sky extends Mesh<BoxGeometry, ShaderMaterial> {
15
15
  static material: ShaderMaterial
16
16
  }
17
17
 
18
- export { Sky }
18
+ export { type Sky }
@@ -0,0 +1,22 @@
1
+ import type { BufferGeometry, Color, Mesh, ShaderMaterial, Side, Texture, Vector3 } from 'three'
2
+
3
+ export interface WaterOptions {
4
+ textureWidth?: number
5
+ textureHeight?: number
6
+ clipBias?: number
7
+ alpha?: number
8
+ time?: number
9
+ waterNormals?: Texture
10
+ sunDirection?: Vector3
11
+ sunColor?: Color | string | number
12
+ waterColor?: Color | string | number
13
+ eye?: Vector3
14
+ distortionScale?: number
15
+ side?: Side
16
+ fog?: boolean
17
+ }
18
+
19
+ export class Water extends Mesh {
20
+ material: ShaderMaterial
21
+ constructor(geometry: BufferGeometry, options: WaterOptions)
22
+ }
@@ -1,4 +1,4 @@
1
- import { BufferGeometry, Color, Mesh, ShaderMaterial, Side, Texture, Vector3 } from 'three'
1
+ import type { BufferGeometry, Color, Mesh, ShaderMaterial, Side, Texture, Vector3 } from 'three'
2
2
 
3
3
  export interface WaterOptions {
4
4
  textureWidth?: number
@@ -0,0 +1,23 @@
1
+ import type { BufferGeometry, Color, Mesh, ShaderMaterial, Texture, Vector2 } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.cts'
3
+
4
+ export interface Water2Options {
5
+ color?: Color | string | number
6
+ textureWidth?: number
7
+ textureHeight?: number
8
+ clipBias?: number
9
+ flowDirection?: Vector2
10
+ flowSpeed?: number
11
+ reflectivity?: number
12
+ scale?: number
13
+ shader?: object
14
+ flowMap?: Texture
15
+ normalMap0?: Texture
16
+ normalMap1?: Texture
17
+ encoding?: TextureEncoding
18
+ }
19
+
20
+ export class Water2 extends Mesh {
21
+ material: ShaderMaterial
22
+ constructor(geometry: BufferGeometry, options: Water2Options)
23
+ }
@@ -1,5 +1,5 @@
1
- import { BufferGeometry, Color, Mesh, ShaderMaterial, Texture, Vector2 } from 'three'
2
- import { TextureEncoding } from '../types/shared'
1
+ import type { BufferGeometry, Color, Mesh, ShaderMaterial, Texture, Vector2 } from 'three'
2
+ import type { TextureEncoding } from '../types/shared.d.ts'
3
3
 
4
4
  export interface Water2Options {
5
5
  color?: Color | string | number
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "three-stdlib",
3
- "version": "2.35.6",
3
+ "version": "2.35.8",
4
4
  "description": "stand-alone library of threejs examples",
5
5
  "keywords": [
6
6
  "three",
@@ -22,9 +22,14 @@
22
22
  "main": "./index.cjs",
23
23
  "module": "./index.js",
24
24
  "exports": {
25
- "types": "./index.d.ts",
26
- "require": "./index.cjs",
27
- "import": "./index.js"
25
+ "require": {
26
+ "types": "./index.d.cts",
27
+ "default": "./index.cjs"
28
+ },
29
+ "default": {
30
+ "types": "./index.d.ts",
31
+ "default": "./index.js"
32
+ }
28
33
  },
29
34
  "sideEffects": false,
30
35
  "devDependencies": {
@@ -34,6 +39,7 @@
34
39
  "json": "^11.0.0",
35
40
  "prettier": "^2.2.1",
36
41
  "rimraf": "^3.0.2",
42
+ "shelljs": "^0.8.5",
37
43
  "three": "^0.128.0",
38
44
  "typescript": "^4.7.4",
39
45
  "vite": "^4.3.8"
@@ -50,7 +56,7 @@
50
56
  "three": ">=0.128.0"
51
57
  },
52
58
  "scripts": {
53
- "build": "rimraf dist && vite build && tsc --emitDeclarationOnly && copyfiles -u 1 \"src/**/*.d.ts\" dist && copyfiles package.json README.md LICENSE dist && json -I -f dist/package.json -e \"this.private=undefined;this.type=\\\"module\\\";\"",
59
+ "build": "rimraf dist && vite build && tsc --emitDeclarationOnly && copyfiles -u 1 \"src/**/*.d.ts\" dist && copyfiles package.json README.md LICENSE dist && json -I -f dist/package.json -e \"this.private=undefined;this.type=\\\"module\\\";\" && node patch-ts.js",
54
60
  "lint": "tsc --noEmit"
55
61
  },
56
62
  "type": "module"
@@ -0,0 +1,7 @@
1
+ import type { Mesh, Vector3 } from 'three'
2
+
3
+ export class AmmoPhysics {
4
+ constructor()
5
+ addMesh(mesh: Mesh, mass: number): void
6
+ setMeshPosition(mesh: Mesh, position: Vector3, index: number): void
7
+ }
@@ -1,4 +1,4 @@
1
- import { Mesh, Vector3 } from 'three'
1
+ import type { Mesh, Vector3 } from 'three'
2
2
 
3
3
  export class AmmoPhysics {
4
4
  constructor()
@@ -0,0 +1,29 @@
1
+ import type { WebGLRenderTarget, ShaderMaterial } from 'three'
2
+
3
+ import type { Pass, FullScreenQuad } from './Pass.d.cts'
4
+
5
+ export class AdaptiveToneMappingPass extends Pass {
6
+ constructor(adaptive?: boolean, resolution?: number)
7
+ adaptive: boolean
8
+ resolution: number
9
+ needsInit: number
10
+ luminanceRT: WebGLRenderTarget
11
+ previousLuminanceRT: WebGLRenderTarget
12
+ currentLuminanceRT: WebGLRenderTarget
13
+ copyUniforms: object
14
+ materialCopy: ShaderMaterial
15
+ materialLuminance: ShaderMaterial
16
+ adaptLuminanceShader: object
17
+ materialAdaptiveLum: ShaderMaterial
18
+ materialToneMap: ShaderMaterial
19
+ fsQuad: FullScreenQuad
20
+
21
+ reset(): void
22
+ setAdaptive(adaptive: boolean): void
23
+ setAdaptionRate(rate: number): void
24
+ setMinLuminance(minLum: number): void
25
+ setMaxLuminance(maxLum: number): void
26
+ setAverageLuminance(avgLum: number): void
27
+ setMiddleGrey(middleGrey: number): void
28
+ dispose(): void
29
+ }
@@ -1,6 +1,6 @@
1
- import { WebGLRenderTarget, ShaderMaterial } from 'three'
1
+ import type { WebGLRenderTarget, ShaderMaterial } from 'three'
2
2
 
3
- import { Pass, FullScreenQuad } from './Pass'
3
+ import type { Pass, FullScreenQuad } from './Pass.d.ts'
4
4
 
5
5
  export class AdaptiveToneMappingPass extends Pass {
6
6
  constructor(adaptive?: boolean, resolution?: number)
@@ -0,0 +1,15 @@
1
+ import type { MeshBasicMaterial, WebGLRenderer, ShaderMaterial, WebGLRenderTarget } from 'three';
2
+ import type { Pass, FullScreenQuad } from './Pass.d.cts';
3
+ declare class AfterimagePass extends Pass {
4
+ shader: import("../shaders/AfterimageShader").IAfterimageShader;
5
+ uniforms: any;
6
+ textureComp: WebGLRenderTarget;
7
+ textureOld: WebGLRenderTarget;
8
+ shaderMaterial: ShaderMaterial;
9
+ compFsQuad: FullScreenQuad<ShaderMaterial>;
10
+ copyFsQuad: FullScreenQuad<MeshBasicMaterial>;
11
+ constructor(damp?: number, shader?: import("../shaders/AfterimageShader").IAfterimageShader);
12
+ render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget): void;
13
+ setSize(width: number, height: number): void;
14
+ }
15
+ export { type AfterimagePass };
@@ -1,5 +1,5 @@
1
- import { MeshBasicMaterial, WebGLRenderer, ShaderMaterial, WebGLRenderTarget } from 'three';
2
- import { Pass, FullScreenQuad } from './Pass';
1
+ import type { MeshBasicMaterial, WebGLRenderer, ShaderMaterial, WebGLRenderTarget } from 'three';
2
+ import type { Pass, FullScreenQuad } from './Pass.d.ts';
3
3
  declare class AfterimagePass extends Pass {
4
4
  shader: import("../shaders/AfterimageShader").IAfterimageShader;
5
5
  uniforms: any;
@@ -12,4 +12,4 @@ declare class AfterimagePass extends Pass {
12
12
  render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget): void;
13
13
  setSize(width: number, height: number): void;
14
14
  }
15
- export { AfterimagePass };
15
+ export { type AfterimagePass };
@@ -0,0 +1,29 @@
1
+ import type { Pass, FullScreenQuad } from './Pass.d.cts';
2
+ import type { IUniform, ShaderMaterial, Vector2, WebGLRenderer, WebGLRenderTarget } from 'three';
3
+ import type { ConvolutionShader } from '../shaders/ConvolutionShader.d.cts';
4
+ declare class BloomPass extends Pass {
5
+ renderTargetX: WebGLRenderTarget;
6
+ renderTargetY: WebGLRenderTarget;
7
+ materialCombine: ShaderMaterial;
8
+ materialConvolution: ShaderMaterial;
9
+ fsQuad: FullScreenQuad;
10
+ combineUniforms: Record<keyof typeof CombineShader['uniforms'], IUniform<any>>;
11
+ convolutionUniforms: Record<keyof typeof ConvolutionShader['uniforms'], IUniform<any>>;
12
+ blurX: Vector2;
13
+ blurY: Vector2;
14
+ constructor(strength?: number, kernelSize?: number, sigma?: number, resolution?: number);
15
+ render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget, deltaTime: number, maskActive: boolean): void;
16
+ }
17
+ declare const CombineShader: {
18
+ uniforms: {
19
+ tDiffuse: {
20
+ value: null;
21
+ };
22
+ strength: {
23
+ value: number;
24
+ };
25
+ };
26
+ vertexShader: string;
27
+ fragmentShader: string;
28
+ };
29
+ export { type BloomPass };