super-three 0.175.0 → 0.177.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/README.md +3 -3
  2. package/build/three.cjs +7631 -6743
  3. package/build/three.core.js +7496 -6758
  4. package/build/three.core.min.js +1 -1
  5. package/build/three.module.js +172 -22
  6. package/build/three.module.min.js +1 -1
  7. package/build/three.tsl.js +14 -6
  8. package/build/three.tsl.min.js +1 -1
  9. package/build/three.webgpu.js +3948 -1678
  10. package/build/three.webgpu.min.js +1 -1
  11. package/build/three.webgpu.nodes.js +3941 -1678
  12. package/build/three.webgpu.nodes.min.js +1 -1
  13. package/examples/jsm/Addons.js +0 -1
  14. package/examples/jsm/animation/AnimationClipCreator.js +1 -0
  15. package/examples/jsm/animation/CCDIKSolver.js +6 -3
  16. package/examples/jsm/capabilities/WebGL.js +1 -0
  17. package/examples/jsm/capabilities/WebGPU.js +1 -0
  18. package/examples/jsm/controls/ArcballControls.js +14 -3
  19. package/examples/jsm/controls/DragControls.js +1 -0
  20. package/examples/jsm/controls/FirstPersonControls.js +1 -0
  21. package/examples/jsm/controls/FlyControls.js +1 -0
  22. package/examples/jsm/controls/MapControls.js +1 -0
  23. package/examples/jsm/controls/OrbitControls.js +1 -0
  24. package/examples/jsm/controls/PointerLockControls.js +5 -3
  25. package/examples/jsm/controls/TrackballControls.js +1 -0
  26. package/examples/jsm/controls/TransformControls.js +1 -0
  27. package/examples/jsm/csm/CSM.js +2 -0
  28. package/examples/jsm/csm/CSMFrustum.js +2 -0
  29. package/examples/jsm/csm/CSMHelper.js +1 -0
  30. package/examples/jsm/csm/CSMShader.js +4 -1
  31. package/examples/jsm/csm/CSMShadowNode.js +18 -4
  32. package/examples/jsm/curves/CurveExtras.js +14 -0
  33. package/examples/jsm/curves/NURBSCurve.js +1 -0
  34. package/examples/jsm/curves/NURBSSurface.js +2 -0
  35. package/examples/jsm/curves/NURBSUtils.js +4 -1
  36. package/examples/jsm/curves/NURBSVolume.js +2 -0
  37. package/examples/jsm/effects/AnaglyphEffect.js +2 -0
  38. package/examples/jsm/effects/AsciiEffect.js +2 -0
  39. package/examples/jsm/effects/OutlineEffect.js +2 -0
  40. package/examples/jsm/effects/ParallaxBarrierEffect.js +2 -0
  41. package/examples/jsm/effects/StereoEffect.js +2 -0
  42. package/examples/jsm/environments/DebugEnvironment.js +1 -0
  43. package/examples/jsm/environments/RoomEnvironment.js +49 -35
  44. package/examples/jsm/exporters/DRACOExporter.js +4 -2
  45. package/examples/jsm/exporters/EXRExporter.js +2 -0
  46. package/examples/jsm/exporters/GLTFExporter.js +7 -4
  47. package/examples/jsm/exporters/KTX2Exporter.js +2 -0
  48. package/examples/jsm/exporters/OBJExporter.js +3 -1
  49. package/examples/jsm/exporters/PLYExporter.js +4 -2
  50. package/examples/jsm/exporters/STLExporter.js +2 -0
  51. package/examples/jsm/exporters/USDZExporter.js +12 -10
  52. package/examples/jsm/geometries/BoxLineGeometry.js +1 -0
  53. package/examples/jsm/geometries/ConvexGeometry.js +1 -0
  54. package/examples/jsm/geometries/DecalGeometry.js +1 -0
  55. package/examples/jsm/geometries/ParametricFunctions.js +4 -1
  56. package/examples/jsm/geometries/ParametricGeometry.js +1 -0
  57. package/examples/jsm/geometries/RoundedBoxGeometry.js +1 -0
  58. package/examples/jsm/geometries/TeapotGeometry.js +1 -0
  59. package/examples/jsm/geometries/TextGeometry.js +1 -0
  60. package/examples/jsm/helpers/LightProbeHelper.js +1 -0
  61. package/examples/jsm/helpers/LightProbeHelperGPU.js +1 -0
  62. package/examples/jsm/helpers/OctreeHelper.js +1 -0
  63. package/examples/jsm/helpers/PositionalAudioHelper.js +1 -0
  64. package/examples/jsm/helpers/RapierHelper.js +59 -0
  65. package/examples/jsm/helpers/RectAreaLightHelper.js +1 -0
  66. package/examples/jsm/helpers/TextureHelper.js +1 -0
  67. package/examples/jsm/helpers/TextureHelperGPU.js +5 -4
  68. package/examples/jsm/helpers/VertexNormalsHelper.js +1 -0
  69. package/examples/jsm/helpers/VertexTangentsHelper.js +1 -0
  70. package/examples/jsm/helpers/ViewHelper.js +1 -0
  71. package/examples/jsm/interactive/HTMLMesh.js +7 -0
  72. package/examples/jsm/interactive/InteractiveGroup.js +1 -0
  73. package/examples/jsm/interactive/SelectionBox.js +2 -0
  74. package/examples/jsm/interactive/SelectionHelper.js +2 -0
  75. package/examples/jsm/lighting/TiledLighting.js +1 -0
  76. package/examples/jsm/lights/LightProbeGenerator.js +1 -0
  77. package/examples/jsm/lights/RectAreaLightTexturesLib.js +1 -0
  78. package/examples/jsm/lights/RectAreaLightUniformsLib.js +1 -0
  79. package/examples/jsm/lines/Line2.js +1 -0
  80. package/examples/jsm/lines/LineGeometry.js +1 -0
  81. package/examples/jsm/lines/LineMaterial.js +4 -4
  82. package/examples/jsm/lines/LineSegments2.js +1 -0
  83. package/examples/jsm/lines/LineSegmentsGeometry.js +1 -0
  84. package/examples/jsm/lines/Wireframe.js +1 -0
  85. package/examples/jsm/lines/WireframeGeometry2.js +1 -0
  86. package/examples/jsm/lines/webgpu/Line2.js +1 -0
  87. package/examples/jsm/lines/webgpu/LineSegments2.js +3 -1
  88. package/examples/jsm/lines/webgpu/Wireframe.js +1 -0
  89. package/examples/jsm/loaders/3DMLoader.js +1 -0
  90. package/examples/jsm/loaders/3MFLoader.js +1 -0
  91. package/examples/jsm/loaders/AMFLoader.js +1 -0
  92. package/examples/jsm/loaders/BVHLoader.js +1 -0
  93. package/examples/jsm/loaders/ColladaLoader.js +5 -4
  94. package/examples/jsm/loaders/DDSLoader.js +1 -0
  95. package/examples/jsm/loaders/DRACOLoader.js +2 -1
  96. package/examples/jsm/loaders/EXRLoader.js +1 -0
  97. package/examples/jsm/loaders/FBXLoader.js +24 -22
  98. package/examples/jsm/loaders/FontLoader.js +1 -0
  99. package/examples/jsm/loaders/GCodeLoader.js +1 -0
  100. package/examples/jsm/loaders/GLTFLoader.js +10 -82
  101. package/examples/jsm/loaders/HDRCubeTextureLoader.js +1 -0
  102. package/examples/jsm/loaders/IESLoader.js +1 -0
  103. package/examples/jsm/loaders/KMZLoader.js +1 -0
  104. package/examples/jsm/loaders/KTX2Loader.js +67 -26
  105. package/examples/jsm/loaders/KTXLoader.js +1 -0
  106. package/examples/jsm/loaders/LDrawLoader.js +55 -3
  107. package/examples/jsm/loaders/LUT3dlLoader.js +1 -0
  108. package/examples/jsm/loaders/LUTCubeLoader.js +1 -0
  109. package/examples/jsm/loaders/LUTImageLoader.js +1 -0
  110. package/examples/jsm/loaders/LWOLoader.js +1 -13
  111. package/examples/jsm/loaders/LottieLoader.js +15 -0
  112. package/examples/jsm/loaders/MD2Loader.js +1 -0
  113. package/examples/jsm/loaders/MDDLoader.js +1 -0
  114. package/examples/jsm/loaders/MTLLoader.js +4 -3
  115. package/examples/jsm/loaders/MaterialXLoader.js +1 -0
  116. package/examples/jsm/loaders/NRRDLoader.js +1 -0
  117. package/examples/jsm/loaders/OBJLoader.js +1 -0
  118. package/examples/jsm/loaders/PCDLoader.js +122 -19
  119. package/examples/jsm/loaders/PDBLoader.js +1 -0
  120. package/examples/jsm/loaders/PLYLoader.js +1 -0
  121. package/examples/jsm/loaders/PVRLoader.js +1 -0
  122. package/examples/jsm/loaders/RGBELoader.js +1 -0
  123. package/examples/jsm/loaders/RGBMLoader.js +1 -0
  124. package/examples/jsm/loaders/STLLoader.js +1 -0
  125. package/examples/jsm/loaders/SVGLoader.js +1 -0
  126. package/examples/jsm/loaders/TDSLoader.js +1 -0
  127. package/examples/jsm/loaders/TGALoader.js +1 -0
  128. package/examples/jsm/loaders/TIFFLoader.js +1 -0
  129. package/examples/jsm/loaders/TTFLoader.js +1 -0
  130. package/examples/jsm/loaders/USDZLoader.js +1 -0
  131. package/examples/jsm/loaders/UltraHDRLoader.js +1 -0
  132. package/examples/jsm/loaders/VOXLoader.js +1 -0
  133. package/examples/jsm/loaders/VRMLLoader.js +3 -2
  134. package/examples/jsm/loaders/VTKLoader.js +1 -0
  135. package/examples/jsm/loaders/XYZLoader.js +1 -0
  136. package/examples/jsm/loaders/lwo/IFFParser.js +74 -74
  137. package/examples/jsm/materials/LDrawConditionalLineMaterial.js +1 -0
  138. package/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +1 -0
  139. package/examples/jsm/materials/MeshPostProcessingMaterial.js +1 -0
  140. package/examples/jsm/math/Capsule.js +2 -0
  141. package/examples/jsm/math/ColorConverter.js +1 -0
  142. package/examples/jsm/math/ConvexHull.js +2 -0
  143. package/examples/jsm/math/ImprovedNoise.js +19 -14
  144. package/examples/jsm/math/Lut.js +2 -0
  145. package/examples/jsm/math/MeshSurfaceSampler.js +2 -0
  146. package/examples/jsm/math/OBB.js +2 -0
  147. package/examples/jsm/math/Octree.js +20 -1
  148. package/examples/jsm/math/SimplexNoise.js +2 -0
  149. package/examples/jsm/misc/ConvexObjectBreaker.js +3 -1
  150. package/examples/jsm/misc/GPUComputationRenderer.js +2 -0
  151. package/examples/jsm/misc/Gyroscope.js +1 -0
  152. package/examples/jsm/misc/MD2Character.js +2 -0
  153. package/examples/jsm/misc/MD2CharacterComplex.js +5 -3
  154. package/examples/jsm/misc/MorphAnimMesh.js +1 -0
  155. package/examples/jsm/misc/MorphBlendMesh.js +1 -0
  156. package/examples/jsm/misc/ProgressiveLightMap.js +2 -0
  157. package/examples/jsm/misc/ProgressiveLightMapGPU.js +2 -0
  158. package/examples/jsm/misc/RollerCoaster.js +5 -0
  159. package/examples/jsm/misc/Timer.js +2 -0
  160. package/examples/jsm/misc/TubePainter.js +1 -0
  161. package/examples/jsm/misc/Volume.js +2 -0
  162. package/examples/jsm/misc/VolumeSlice.js +1 -0
  163. package/examples/jsm/modifiers/CurveModifier.js +3 -0
  164. package/examples/jsm/modifiers/CurveModifierGPU.js +2 -0
  165. package/examples/jsm/modifiers/EdgeSplitModifier.js +2 -0
  166. package/examples/jsm/modifiers/SimplifyModifier.js +2 -0
  167. package/examples/jsm/modifiers/TessellateModifier.js +2 -0
  168. package/examples/jsm/objects/GroundedSkybox.js +1 -0
  169. package/examples/jsm/objects/Lensflare.js +3 -0
  170. package/examples/jsm/objects/LensflareMesh.js +1 -0
  171. package/examples/jsm/objects/MarchingCubes.js +2 -0
  172. package/examples/jsm/objects/Reflector.js +1 -0
  173. package/examples/jsm/objects/ReflectorForSSRPass.js +1 -0
  174. package/examples/jsm/objects/Refractor.js +1 -0
  175. package/examples/jsm/objects/ShadowMesh.js +1 -0
  176. package/examples/jsm/objects/Sky.js +2 -1
  177. package/examples/jsm/objects/SkyMesh.js +20 -17
  178. package/examples/jsm/objects/Water.js +1 -0
  179. package/examples/jsm/objects/Water2.js +1 -0
  180. package/examples/jsm/objects/Water2Mesh.js +3 -1
  181. package/examples/jsm/objects/WaterMesh.js +2 -1
  182. package/examples/jsm/physics/AmmoPhysics.js +1 -0
  183. package/examples/jsm/physics/JoltPhysics.js +1 -0
  184. package/examples/jsm/physics/RapierPhysics.js +58 -1
  185. package/examples/jsm/postprocessing/AfterimagePass.js +20 -2
  186. package/examples/jsm/postprocessing/BloomPass.js +2 -1
  187. package/examples/jsm/postprocessing/BokehPass.js +2 -1
  188. package/examples/jsm/postprocessing/ClearPass.js +1 -0
  189. package/examples/jsm/postprocessing/CubeTexturePass.js +1 -0
  190. package/examples/jsm/postprocessing/DotScreenPass.js +1 -0
  191. package/examples/jsm/postprocessing/EffectComposer.js +5 -6
  192. package/examples/jsm/postprocessing/FXAAPass.js +40 -0
  193. package/examples/jsm/postprocessing/FilmPass.js +1 -0
  194. package/examples/jsm/postprocessing/GTAOPass.js +4 -3
  195. package/examples/jsm/postprocessing/GlitchPass.js +2 -1
  196. package/examples/jsm/postprocessing/HalftonePass.js +2 -1
  197. package/examples/jsm/postprocessing/LUTPass.js +1 -0
  198. package/examples/jsm/postprocessing/MaskPass.js +1 -0
  199. package/examples/jsm/postprocessing/OutlinePass.js +5 -2
  200. package/examples/jsm/postprocessing/OutputPass.js +1 -0
  201. package/examples/jsm/postprocessing/Pass.js +3 -1
  202. package/examples/jsm/postprocessing/RenderPass.js +1 -0
  203. package/examples/jsm/postprocessing/RenderPixelatedPass.js +2 -1
  204. package/examples/jsm/postprocessing/RenderTransitionPass.js +4 -3
  205. package/examples/jsm/postprocessing/SAOPass.js +3 -2
  206. package/examples/jsm/postprocessing/SMAAPass.js +3 -2
  207. package/examples/jsm/postprocessing/SSAARenderPass.js +2 -1
  208. package/examples/jsm/postprocessing/SSAOPass.js +2 -1
  209. package/examples/jsm/postprocessing/SSRPass.js +4 -3
  210. package/examples/jsm/postprocessing/SavePass.js +2 -1
  211. package/examples/jsm/postprocessing/ShaderPass.js +1 -0
  212. package/examples/jsm/postprocessing/TAARenderPass.js +1 -0
  213. package/examples/jsm/postprocessing/TexturePass.js +1 -0
  214. package/examples/jsm/postprocessing/UnrealBloomPass.js +2 -1
  215. package/examples/jsm/renderers/CSS2DRenderer.js +3 -0
  216. package/examples/jsm/renderers/CSS3DRenderer.js +4 -0
  217. package/examples/jsm/renderers/Projector.js +2 -0
  218. package/examples/jsm/renderers/SVGRenderer.js +3 -0
  219. package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +4 -1
  220. package/examples/jsm/shaders/AfterimageShader.js +4 -1
  221. package/examples/jsm/shaders/BasicShader.js +4 -1
  222. package/examples/jsm/shaders/BleachBypassShader.js +4 -1
  223. package/examples/jsm/shaders/BlendShader.js +4 -1
  224. package/examples/jsm/shaders/BokehShader.js +4 -1
  225. package/examples/jsm/shaders/BokehShader2.js +4 -1
  226. package/examples/jsm/shaders/BrightnessContrastShader.js +4 -1
  227. package/examples/jsm/shaders/ColorCorrectionShader.js +4 -1
  228. package/examples/jsm/shaders/ColorifyShader.js +4 -1
  229. package/examples/jsm/shaders/ConvolutionShader.js +4 -1
  230. package/examples/jsm/shaders/CopyShader.js +4 -1
  231. package/examples/jsm/shaders/DOFMipMapShader.js +4 -1
  232. package/examples/jsm/shaders/DepthLimitedBlurShader.js +4 -1
  233. package/examples/jsm/shaders/DigitalGlitch.js +4 -1
  234. package/examples/jsm/shaders/DotScreenShader.js +4 -1
  235. package/examples/jsm/shaders/ExposureShader.js +4 -1
  236. package/examples/jsm/shaders/FXAAShader.js +4 -1
  237. package/examples/jsm/shaders/FilmShader.js +4 -1
  238. package/examples/jsm/shaders/FocusShader.js +4 -1
  239. package/examples/jsm/shaders/FreiChenShader.js +4 -1
  240. package/examples/jsm/shaders/GTAOShader.js +4 -1
  241. package/examples/jsm/shaders/GammaCorrectionShader.js +4 -1
  242. package/examples/jsm/shaders/GodRaysShader.js +4 -1
  243. package/examples/jsm/shaders/HalftoneShader.js +4 -1
  244. package/examples/jsm/shaders/HorizontalBlurShader.js +4 -1
  245. package/examples/jsm/shaders/HorizontalTiltShiftShader.js +4 -1
  246. package/examples/jsm/shaders/HueSaturationShader.js +4 -1
  247. package/examples/jsm/shaders/KaleidoShader.js +4 -1
  248. package/examples/jsm/shaders/LuminosityHighPassShader.js +4 -1
  249. package/examples/jsm/shaders/LuminosityShader.js +4 -1
  250. package/examples/jsm/shaders/MirrorShader.js +4 -1
  251. package/examples/jsm/shaders/NormalMapShader.js +4 -1
  252. package/examples/jsm/shaders/OutputShader.js +4 -1
  253. package/examples/jsm/shaders/PoissonDenoiseShader.js +4 -1
  254. package/examples/jsm/shaders/RGBShiftShader.js +4 -1
  255. package/examples/jsm/shaders/SAOShader.js +4 -1
  256. package/examples/jsm/shaders/SMAAShader.js +1 -0
  257. package/examples/jsm/shaders/SSAOShader.js +4 -1
  258. package/examples/jsm/shaders/SSRShader.js +1 -0
  259. package/examples/jsm/shaders/SepiaShader.js +4 -1
  260. package/examples/jsm/shaders/SobelOperatorShader.js +4 -1
  261. package/examples/jsm/shaders/SubsurfaceScatteringShader.js +4 -1
  262. package/examples/jsm/shaders/TechnicolorShader.js +4 -1
  263. package/examples/jsm/shaders/ToonShader.js +2 -1
  264. package/examples/jsm/shaders/TriangleBlurShader.js +4 -1
  265. package/examples/jsm/shaders/UnpackDepthRGBAShader.js +4 -1
  266. package/examples/jsm/shaders/VelocityShader.js +4 -1
  267. package/examples/jsm/shaders/VerticalBlurShader.js +4 -1
  268. package/examples/jsm/shaders/VerticalTiltShiftShader.js +4 -1
  269. package/examples/jsm/shaders/VignetteShader.js +4 -1
  270. package/examples/jsm/shaders/VolumeShader.js +5 -2
  271. package/examples/jsm/shaders/WaterRefractionShader.js +4 -1
  272. package/examples/jsm/textures/FlakesTexture.js +2 -0
  273. package/examples/jsm/transpiler/GLSLDecoder.js +1 -2
  274. package/examples/jsm/transpiler/TSLEncoder.js +52 -8
  275. package/examples/jsm/transpiler/Transpiler.js +2 -0
  276. package/examples/jsm/tsl/display/AfterImageNode.js +2 -3
  277. package/examples/jsm/tsl/display/AnaglyphPassNode.js +1 -0
  278. package/examples/jsm/tsl/display/AnamorphicNode.js +5 -4
  279. package/examples/jsm/tsl/display/BloomNode.js +1 -0
  280. package/examples/jsm/tsl/display/DenoiseNode.js +33 -33
  281. package/examples/jsm/tsl/display/DepthOfFieldNode.js +1 -0
  282. package/examples/jsm/tsl/display/DotScreenNode.js +1 -0
  283. package/examples/jsm/tsl/display/FXAANode.js +3 -2
  284. package/examples/jsm/tsl/display/FilmNode.js +1 -0
  285. package/examples/jsm/tsl/display/GTAONode.js +1 -0
  286. package/examples/jsm/tsl/display/GaussianBlurNode.js +2 -27
  287. package/examples/jsm/tsl/display/LensflareNode.js +1 -0
  288. package/examples/jsm/tsl/display/Lut3DNode.js +1 -0
  289. package/examples/jsm/tsl/display/OutlineNode.js +1 -0
  290. package/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +1 -0
  291. package/examples/jsm/tsl/display/PixelationPassNode.js +1 -0
  292. package/examples/jsm/tsl/display/RGBShiftNode.js +1 -0
  293. package/examples/jsm/tsl/display/SMAANode.js +9 -8
  294. package/examples/jsm/tsl/display/SSAAPassNode.js +3 -2
  295. package/examples/jsm/tsl/display/SSRNode.js +1 -0
  296. package/examples/jsm/tsl/display/SobelOperatorNode.js +1 -0
  297. package/examples/jsm/tsl/display/StereoCompositePassNode.js +1 -0
  298. package/examples/jsm/tsl/display/StereoPassNode.js +1 -0
  299. package/examples/jsm/tsl/display/TRAAPassNode.js +5 -4
  300. package/examples/jsm/tsl/display/TransitionNode.js +1 -0
  301. package/examples/jsm/tsl/display/hashBlur.js +28 -6
  302. package/examples/jsm/tsl/lighting/TiledLightsNode.js +4 -3
  303. package/examples/jsm/tsl/math/Bayer.js +4 -1
  304. package/examples/jsm/tsl/shadows/TileShadowNode.js +456 -0
  305. package/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +212 -0
  306. package/examples/jsm/tsl/utils/Raymarching.js +6 -3
  307. package/examples/jsm/utils/BufferGeometryUtils.js +4 -1
  308. package/examples/jsm/utils/CameraUtils.js +4 -1
  309. package/examples/jsm/utils/GeometryCompressionUtils.js +4 -1
  310. package/examples/jsm/utils/GeometryUtils.js +4 -1
  311. package/examples/jsm/utils/LDrawUtils.js +2 -0
  312. package/examples/jsm/utils/SceneOptimizer.js +2 -0
  313. package/examples/jsm/utils/SceneUtils.js +4 -1
  314. package/examples/jsm/utils/ShadowMapViewer.js +2 -0
  315. package/examples/jsm/utils/ShadowMapViewerGPU.js +2 -0
  316. package/examples/jsm/utils/SkeletonUtils.js +4 -1
  317. package/examples/jsm/utils/SortUtils.js +4 -1
  318. package/examples/jsm/utils/UVsDebug.js +4 -1
  319. package/examples/jsm/utils/WebGLTextureUtils.js +4 -1
  320. package/examples/jsm/utils/WebGPUTextureUtils.js +4 -1
  321. package/examples/jsm/utils/WorkerPool.js +2 -0
  322. package/examples/jsm/webxr/ARButton.js +1 -0
  323. package/examples/jsm/webxr/OculusHandModel.js +1 -0
  324. package/examples/jsm/webxr/OculusHandPointerModel.js +1 -0
  325. package/examples/jsm/webxr/Text2D.js +4 -1
  326. package/examples/jsm/webxr/VRButton.js +1 -0
  327. package/examples/jsm/webxr/XRButton.js +1 -0
  328. package/examples/jsm/webxr/XRControllerModelFactory.js +2 -0
  329. package/examples/jsm/webxr/XREstimatedLight.js +1 -0
  330. package/examples/jsm/webxr/XRHandMeshModel.js +2 -0
  331. package/examples/jsm/webxr/XRHandModelFactory.js +2 -0
  332. package/examples/jsm/webxr/XRHandPrimitiveModel.js +2 -0
  333. package/examples/jsm/webxr/XRPlanes.js +1 -0
  334. package/package.json +6 -4
  335. package/src/Three.Core.js +1 -1
  336. package/src/Three.TSL.js +13 -5
  337. package/src/Three.WebGPU.Nodes.js +1 -0
  338. package/src/Three.WebGPU.js +1 -0
  339. package/src/audio/AudioListener.js +13 -10
  340. package/src/cameras/ArrayCamera.js +9 -1
  341. package/src/constants.js +47 -20
  342. package/src/core/BufferAttribute.js +1 -1
  343. package/src/core/BufferGeometry.js +2 -5
  344. package/src/core/Object3D.js +22 -21
  345. package/src/core/RenderTarget.js +65 -21
  346. package/src/core/RenderTarget3D.js +1 -0
  347. package/src/extras/TextureUtils.js +1 -5
  348. package/src/extras/core/Curve.js +1 -1
  349. package/src/geometries/CapsuleGeometry.js +167 -17
  350. package/src/geometries/ExtrudeGeometry.js +39 -29
  351. package/src/helpers/ArrowHelper.js +2 -2
  352. package/src/helpers/SkeletonHelper.js +1 -1
  353. package/src/lights/LightShadow.js +14 -0
  354. package/src/lights/SpotLightShadow.js +9 -1
  355. package/src/lights/webgpu/ProjectorLight.js +46 -0
  356. package/src/loaders/BufferGeometryLoader.js +1 -10
  357. package/src/loaders/ImageBitmapLoader.js +21 -5
  358. package/src/loaders/ObjectLoader.js +44 -16
  359. package/src/loaders/nodes/NodeObjectLoader.js +2 -2
  360. package/src/materials/Material.js +1 -7
  361. package/src/materials/nodes/NodeMaterial.js +81 -18
  362. package/src/materials/nodes/manager/NodeMaterialObserver.js +20 -2
  363. package/src/math/Box3.js +28 -0
  364. package/src/math/Color.js +7 -7
  365. package/src/math/ColorManagement.js +22 -3
  366. package/src/math/FrustumArray.js +253 -0
  367. package/src/math/Ray.js +2 -0
  368. package/src/math/Sphere.js +28 -0
  369. package/src/nodes/Nodes.js +1 -0
  370. package/src/nodes/TSL.js +1 -0
  371. package/src/nodes/accessors/Bitangent.js +31 -9
  372. package/src/nodes/accessors/Camera.js +31 -4
  373. package/src/nodes/accessors/CubeTextureNode.js +50 -2
  374. package/src/nodes/accessors/InstanceNode.js +5 -4
  375. package/src/nodes/accessors/Lights.js +2 -2
  376. package/src/nodes/accessors/MaterialNode.js +4 -0
  377. package/src/nodes/accessors/ModelNode.js +1 -1
  378. package/src/nodes/accessors/Normal.js +26 -6
  379. package/src/nodes/accessors/Object3DNode.js +6 -7
  380. package/src/nodes/accessors/Position.js +14 -4
  381. package/src/nodes/accessors/ReferenceBaseNode.js +1 -1
  382. package/src/nodes/accessors/ReferenceNode.js +1 -1
  383. package/src/nodes/accessors/SkinningNode.js +3 -2
  384. package/src/nodes/accessors/StorageBufferNode.js +25 -0
  385. package/src/nodes/accessors/StorageTextureNode.js +14 -3
  386. package/src/nodes/accessors/TextureNode.js +59 -8
  387. package/src/nodes/accessors/VelocityNode.js +1 -0
  388. package/src/nodes/accessors/VertexColorNode.js +4 -4
  389. package/src/nodes/code/CodeNode.js +8 -11
  390. package/src/nodes/core/AssignNode.js +27 -5
  391. package/src/nodes/core/AttributeNode.js +2 -2
  392. package/src/nodes/core/CacheNode.js +14 -0
  393. package/src/nodes/core/ContextNode.js +7 -3
  394. package/src/nodes/core/Node.js +68 -19
  395. package/src/nodes/core/NodeBuilder.js +100 -12
  396. package/src/nodes/core/NodeUtils.js +42 -0
  397. package/src/nodes/core/NodeVarying.js +19 -1
  398. package/src/nodes/core/PropertyNode.js +8 -12
  399. package/src/nodes/core/StackNode.js +127 -2
  400. package/src/nodes/core/StructTypeNode.js +26 -4
  401. package/src/nodes/core/VarNode.js +11 -2
  402. package/src/nodes/core/VaryingNode.js +40 -21
  403. package/src/nodes/display/BlendModes.js +42 -1
  404. package/src/nodes/display/ColorSpaceNode.js +4 -27
  405. package/src/nodes/display/PassNode.js +8 -11
  406. package/src/nodes/functions/ShadowMaskModel.js +5 -1
  407. package/src/nodes/functions/material/getParallaxCorrectNormal.js +1 -1
  408. package/src/nodes/gpgpu/AtomicFunctionNode.js +28 -10
  409. package/src/nodes/gpgpu/BarrierNode.js +3 -3
  410. package/src/nodes/gpgpu/ComputeNode.js +1 -1
  411. package/src/nodes/lighting/AnalyticLightNode.js +7 -13
  412. package/src/nodes/lighting/HemisphereLightNode.js +2 -2
  413. package/src/nodes/lighting/IESSpotLightNode.js +2 -1
  414. package/src/nodes/lighting/LightsNode.js +25 -7
  415. package/src/nodes/lighting/ProjectorLightNode.js +78 -0
  416. package/src/nodes/lighting/ShadowBaseNode.js +1 -12
  417. package/src/nodes/lighting/ShadowFilterNode.js +274 -0
  418. package/src/nodes/lighting/ShadowNode.js +172 -240
  419. package/src/nodes/lighting/SpotLightNode.js +44 -7
  420. package/src/nodes/materialx/lib/mx_noise.js +1 -1
  421. package/src/nodes/math/MathNode.js +56 -20
  422. package/src/nodes/math/OperatorNode.js +109 -82
  423. package/src/nodes/shapes/Shapes.js +5 -4
  424. package/src/nodes/tsl/TSLCore.js +140 -49
  425. package/src/nodes/utils/DebugNode.js +15 -3
  426. package/src/nodes/utils/Discard.js +2 -2
  427. package/src/nodes/utils/LoopNode.js +64 -17
  428. package/src/nodes/utils/ReflectorNode.js +67 -4
  429. package/src/objects/BatchedMesh.js +16 -4
  430. package/src/objects/Mesh.js +9 -0
  431. package/src/objects/Skeleton.js +1 -1
  432. package/src/objects/Sprite.js +9 -0
  433. package/src/renderers/WebGL3DRenderTarget.js +1 -0
  434. package/src/renderers/WebGLArrayRenderTarget.js +1 -0
  435. package/src/renderers/WebGLCubeRenderTarget.js +2 -4
  436. package/src/renderers/WebGLRenderer.js +21 -10
  437. package/src/renderers/common/Animation.js +2 -2
  438. package/src/renderers/common/Background.js +11 -0
  439. package/src/renderers/common/RenderList.js +0 -4
  440. package/src/renderers/common/RenderObject.js +12 -1
  441. package/src/renderers/common/Renderer.js +116 -8
  442. package/src/renderers/common/Textures.js +15 -21
  443. package/src/renderers/common/TimestampQueryPool.js +1 -0
  444. package/src/renderers/common/Uniform.js +1 -1
  445. package/src/renderers/common/UniformsGroup.js +14 -18
  446. package/src/renderers/common/XRManager.js +154 -25
  447. package/src/renderers/common/extras/PMREMGenerator.js +29 -22
  448. package/src/renderers/common/nodes/Nodes.js +13 -3
  449. package/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +1 -1
  450. package/src/renderers/shaders/ShaderLib/background.glsl.js +1 -1
  451. package/src/renderers/webgl/WebGLShadowMap.js +3 -2
  452. package/src/renderers/webgl/WebGLTextures.js +143 -4
  453. package/src/renderers/webgl/WebGLUtils.js +1 -3
  454. package/src/renderers/webgl-fallback/WebGLBackend.js +170 -34
  455. package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +75 -7
  456. package/src/renderers/webgl-fallback/utils/WebGLConstants.js +1 -0
  457. package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +42 -29
  458. package/src/renderers/webgl-fallback/utils/WebGLUtils.js +22 -21
  459. package/src/renderers/webgpu/WebGPUBackend.js +442 -127
  460. package/src/renderers/webgpu/WebGPURenderer.js +7 -0
  461. package/src/renderers/webgpu/nodes/BasicNodeLibrary.js +4 -1
  462. package/src/renderers/webgpu/nodes/StandardNodeLibrary.js +4 -1
  463. package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +75 -27
  464. package/src/renderers/webgpu/nodes/WGSLNodeFunction.js +3 -0
  465. package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +3 -1
  466. package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +18 -5
  467. package/src/renderers/webgpu/utils/WebGPUConstants.js +1 -1
  468. package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +34 -4
  469. package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +44 -49
  470. package/src/renderers/webxr/WebXRController.js +1 -1
  471. package/src/renderers/webxr/WebXRManager.js +2 -1
  472. package/src/textures/DepthTexture.js +6 -10
  473. package/src/textures/Source.js +22 -0
  474. package/src/textures/Texture.js +118 -1
  475. package/src/textures/VideoTexture.js +1 -1
  476. package/examples/jsm/effects/PeppersGhostEffect.js +0 -172
  477. package/src/core/RenderTargetArray.js +0 -40
@@ -21,6 +21,7 @@ import { Pass } from './Pass.js';
21
21
  * ```
22
22
  *
23
23
  * @augments Pass
24
+ * @three_import import { CubeTexturePass } from 'three/addons/postprocessing/CubeTexturePass.js';
24
25
  */
25
26
  class CubeTexturePass extends Pass {
26
27
 
@@ -14,6 +14,7 @@ import { DotScreenShader } from '../shaders/DotScreenShader.js';
14
14
  * ```
15
15
  *
16
16
  * @augments Pass
17
+ * @three_import import { DotScreenPass } from 'three/addons/postprocessing/DotScreenPass.js';
17
18
  */
18
19
  class DotScreenPass extends Pass {
19
20
 
@@ -9,7 +9,6 @@ import { CopyShader } from '../shaders/CopyShader.js';
9
9
  import { ShaderPass } from './ShaderPass.js';
10
10
  import { ClearMaskPass, MaskPass } from './MaskPass.js';
11
11
 
12
- <<<<<<< HEAD
13
12
  /**
14
13
  * Used to implement post-processing effects in three.js.
15
14
  * The class manages a chain of post-processing passes to produce the final visual result.
@@ -37,11 +36,11 @@ import { ClearMaskPass, MaskPass } from './MaskPass.js';
37
36
  *
38
37
  * }
39
38
  * ```
39
+ *
40
+ * @three_import import { EffectComposer } from 'three/addons/postprocessing/EffectComposer.js';
40
41
  */
41
- =======
42
42
  const size = /* @__PURE__ */ new Vector2();
43
43
 
44
- >>>>>>> d575277f70 (Enable post-processing in VR (#20))
45
44
  class EffectComposer {
46
45
 
47
46
  /**
@@ -124,13 +123,13 @@ class EffectComposer {
124
123
  this.copyPass.material.blending = NoBlending;
125
124
 
126
125
  /**
127
- * The intenral clock for managing time data.
126
+ * The internal clock for managing time data.
128
127
  *
129
128
  * @private
130
129
  * @type {Clock}
131
130
  */
132
131
  this.clock = new Clock();
133
-
132
+
134
133
  this.onSessionStateChange = this.onSessionStateChange.bind( this );
135
134
  this.renderer.xr.addEventListener( 'sessionstart', this.onSessionStateChange );
136
135
  this.renderer.xr.addEventListener( 'sessionend', this.onSessionStateChange );
@@ -206,7 +205,7 @@ class EffectComposer {
206
205
  * Returns `true` if the pass for the given index is the last enabled pass in the pass chain.
207
206
  *
208
207
  * @param {number} passIndex - The pass index.
209
- * @return {boolean} Whether the the pass for the given index is the last pass in the pass chain.
208
+ * @return {boolean} Whether the pass for the given index is the last pass in the pass chain.
210
209
  */
211
210
  isLastEnabledPass( passIndex ) {
212
211
 
@@ -0,0 +1,40 @@
1
+ import { FXAAShader } from '../shaders/FXAAShader.js';
2
+ import { ShaderPass } from './ShaderPass.js';
3
+
4
+ /**
5
+ * A pass for applying FXAA.
6
+ *
7
+ * ```js
8
+ * const fxaaPass = new FXAAPass();
9
+ * composer.addPass( fxaaPass );
10
+ * ```
11
+ *
12
+ * @augments ShaderPass
13
+ * @three_import import { FXAAPass } from 'three/addons/postprocessing/FXAAPass.js';
14
+ */
15
+ class FXAAPass extends ShaderPass {
16
+
17
+ /**
18
+ * Constructs a new FXAA pass.
19
+ */
20
+ constructor() {
21
+
22
+ super( FXAAShader );
23
+
24
+ }
25
+
26
+ /**
27
+ * Sets the size of the pass.
28
+ *
29
+ * @param {number} width - The width to set.
30
+ * @param {number} height - The height to set.
31
+ */
32
+ setSize( width, height ) {
33
+
34
+ this.material.uniforms[ 'resolution' ].value.set( 1 / width, 1 / height );
35
+
36
+ }
37
+
38
+ }
39
+
40
+ export { FXAAPass };
@@ -14,6 +14,7 @@ import { FilmShader } from '../shaders/FilmShader.js';
14
14
  * ```
15
15
  *
16
16
  * @augments Pass
17
+ * @three_import import { FilmPass } from 'three/addons/postprocessing/FilmPass.js';
17
18
  */
18
19
  class FilmPass extends Pass {
19
20
 
@@ -38,6 +38,7 @@ import { SimplexNoise } from '../math/SimplexNoise.js';
38
38
  * ```
39
39
  *
40
40
  * @augments Pass
41
+ * @three_import import { GTAOPass } from 'three/addons/postprocessing/GTAOPass.js';
41
42
  */
42
43
  class GTAOPass extends Pass {
43
44
 
@@ -241,7 +242,7 @@ class GTAOPass extends Pass {
241
242
  * Sets the size of the pass.
242
243
  *
243
244
  * @param {number} width - The width to set.
244
- * @param {number} height - The width to set.
245
+ * @param {number} height - The height to set.
245
246
  */
246
247
  setSize( width, height ) {
247
248
 
@@ -366,7 +367,7 @@ class GTAOPass extends Pass {
366
367
  }
367
368
 
368
369
  /**
369
- * Updates the GTAO material from the given paramter object.
370
+ * Updates the GTAO material from the given parameter object.
370
371
  *
371
372
  * @param {Object} parameters - The GTAO material parameters.
372
373
  */
@@ -420,7 +421,7 @@ class GTAOPass extends Pass {
420
421
  }
421
422
 
422
423
  /**
423
- * Updates the Denoise material from the given paramter object.
424
+ * Updates the Denoise material from the given parameter object.
424
425
  *
425
426
  * @param {Object} parameters - The denoise parameters.
426
427
  */
@@ -18,6 +18,7 @@ import { DigitalGlitch } from '../shaders/DigitalGlitch.js';
18
18
  * ```
19
19
  *
20
20
  * @augments Pass
21
+ * @three_import import { GlitchPass } from 'three/addons/postprocessing/GlitchPass.js';
21
22
  */
22
23
  class GlitchPass extends Pass {
23
24
 
@@ -50,7 +51,7 @@ class GlitchPass extends Pass {
50
51
  } );
51
52
 
52
53
  /**
53
- * Whether to noticeably increase the effect instensity or not.
54
+ * Whether to noticeably increase the effect intensity or not.
54
55
  *
55
56
  * @type {boolean}
56
57
  * @default false
@@ -26,6 +26,7 @@ import { HalftoneShader } from '../shaders/HalftoneShader.js';
26
26
  * ```
27
27
  *
28
28
  * @augments Pass
29
+ * @three_import import { HalftonePass } from 'three/addons/postprocessing/HalftonePass.js';
29
30
  */
30
31
  class HalftonePass extends Pass {
31
32
 
@@ -107,7 +108,7 @@ class HalftonePass extends Pass {
107
108
  * Sets the size of the pass.
108
109
  *
109
110
  * @param {number} width - The width to set.
110
- * @param {number} height - The width to set.
111
+ * @param {number} height - The height to set.
111
112
  */
112
113
  setSize( width, height ) {
113
114
 
@@ -65,6 +65,7 @@ const LUTShader = {
65
65
  * ```
66
66
  *
67
67
  * @augments ShaderPass
68
+ * @three_import import { LUTPass } from 'three/addons/postprocessing/LUTPass.js';
68
69
  */
69
70
  class LUTPass extends ShaderPass {
70
71
 
@@ -12,6 +12,7 @@ import { Pass } from './Pass.js';
12
12
  * ```
13
13
  *
14
14
  * @augments Pass
15
+ * @three_import import { MaskPass } from 'three/addons/postprocessing/MaskPass.js';
15
16
  */
16
17
  class MaskPass extends Pass {
17
18
 
@@ -26,6 +26,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
26
26
  * ```
27
27
  *
28
28
  * @augments Pass
29
+ * @three_import import { OutlinePass } from 'three/addons/postprocessing/OutlinePass.js';
29
30
  */
30
31
  class OutlinePass extends Pass {
31
32
 
@@ -268,7 +269,7 @@ class OutlinePass extends Pass {
268
269
  * Sets the size of the pass.
269
270
  *
270
271
  * @param {number} width - The width to set.
271
- * @param {number} height - The width to set.
272
+ * @param {number} height - The height to set.
272
273
  */
273
274
  setSize( width, height ) {
274
275
 
@@ -557,7 +558,8 @@ class OutlinePass extends Pass {
557
558
  },
558
559
 
559
560
  vertexShader:
560
- `#include <morphtarget_pars_vertex>
561
+ `#include <batching_pars_vertex>
562
+ #include <morphtarget_pars_vertex>
561
563
  #include <skinning_pars_vertex>
562
564
 
563
565
  varying vec4 projTexCoord;
@@ -566,6 +568,7 @@ class OutlinePass extends Pass {
566
568
 
567
569
  void main() {
568
570
 
571
+ #include <batching_vertex>
569
572
  #include <skinbase_vertex>
570
573
  #include <begin_vertex>
571
574
  #include <morphtarget_vertex>
@@ -28,6 +28,7 @@ import { OutputShader } from '../shaders/OutputShader.js';
28
28
  * ```
29
29
  *
30
30
  * @augments Pass
31
+ * @three_import import { OutputPass } from 'three/addons/postprocessing/OutputPass.js';
31
32
  */
32
33
  class OutputPass extends Pass {
33
34
 
@@ -11,6 +11,7 @@ import {
11
11
  * This module is only relevant for post processing with {@link WebGLRenderer}.
12
12
  *
13
13
  * @abstract
14
+ * @three_import import { Pass } from 'three/addons/postprocessing/Pass.js';
14
15
  */
15
16
  class Pass {
16
17
 
@@ -68,7 +69,7 @@ class Pass {
68
69
  *
69
70
  * @abstract
70
71
  * @param {number} width - The width to set.
71
- * @param {number} height - The width to set.
72
+ * @param {number} height - The height to set.
72
73
  */
73
74
  setSize( /* width, height */ ) {}
74
75
 
@@ -132,6 +133,7 @@ const _geometry = new FullscreenTriangleGeometry();
132
133
  * This module can only be used with {@link WebGLRenderer}.
133
134
  *
134
135
  * @augments Mesh
136
+ * @three_import import { FullScreenQuad } from 'three/addons/postprocessing/Pass.js';
135
137
  */
136
138
  class FullScreenQuad {
137
139
 
@@ -13,6 +13,7 @@ import { Pass } from './Pass.js';
13
13
  * ```
14
14
  *
15
15
  * @augments Pass
16
+ * @three_import import { RenderPass } from 'three/addons/postprocessing/RenderPass.js';
16
17
  */
17
18
  class RenderPass extends Pass {
18
19
 
@@ -19,6 +19,7 @@ import { Pass, FullScreenQuad } from './Pass.js';
19
19
  * ```
20
20
  *
21
21
  * @augments Pass
22
+ * @three_import import { RenderPixelatedPass } from 'three/addons/postprocessing/RenderPixelatedPass.js';
22
23
  */
23
24
  class RenderPixelatedPass extends Pass {
24
25
 
@@ -120,7 +121,7 @@ class RenderPixelatedPass extends Pass {
120
121
  * Sets the size of the pass.
121
122
  *
122
123
  * @param {number} width - The width to set.
123
- * @param {number} height - The width to set.
124
+ * @param {number} height - The height to set.
124
125
  */
125
126
  setSize( width, height ) {
126
127
 
@@ -16,6 +16,7 @@ import { FullScreenQuad, Pass } from './Pass.js';
16
16
  * ```
17
17
  *
18
18
  * @augments Pass
19
+ * @three_import import { RenderTransitionPass } from 'three/addons/postprocessing/RenderTransitionPass.js';
19
20
  */
20
21
  class RenderTransitionPass extends Pass {
21
22
 
@@ -82,7 +83,7 @@ class RenderTransitionPass extends Pass {
82
83
  * Sets the transition factor. Must be in the range `[0,1]`.
83
84
  * This value determines to what degree both scenes are mixed.
84
85
  *
85
- * @param {boolenumberan} value - The transition factor.
86
+ * @param {boolean|number} value - The transition factor.
86
87
  */
87
88
  setTransition( value ) {
88
89
 
@@ -116,7 +117,7 @@ class RenderTransitionPass extends Pass {
116
117
  * Sets the texture threshold. This value defined how strong the texture effects
117
118
  * the transition. Must be in the range `[0,1]` (0 means full effect, 1 means no effect).
118
119
  *
119
- * @param {boolenumberan} value - The threshold value.
120
+ * @param {boolean|number} value - The threshold value.
120
121
  */
121
122
  setTextureThreshold( value ) {
122
123
 
@@ -128,7 +129,7 @@ class RenderTransitionPass extends Pass {
128
129
  * Sets the size of the pass.
129
130
  *
130
131
  * @param {number} width - The width to set.
131
- * @param {number} height - The width to set.
132
+ * @param {number} height - The height to set.
132
133
  */
133
134
  setSize( width, height ) {
134
135
 
@@ -33,6 +33,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
33
33
  * ```
34
34
  *
35
35
  * @augments Pass
36
+ * @three_import import { SAOPass } from 'three/addons/postprocessing/SAOPass.js';
36
37
  */
37
38
  class SAOPass extends Pass {
38
39
 
@@ -82,7 +83,7 @@ class SAOPass extends Pass {
82
83
  this._oldClearAlpha = 1;
83
84
 
84
85
  /**
85
- * The SAO paramter.
86
+ * The SAO parameter.
86
87
  *
87
88
  * @type {Object}
88
89
  */
@@ -293,7 +294,7 @@ class SAOPass extends Pass {
293
294
  * Sets the size of the pass.
294
295
  *
295
296
  * @param {number} width - The width to set.
296
- * @param {number} height - The width to set.
297
+ * @param {number} height - The height to set.
297
298
  */
298
299
  setSize( width, height ) {
299
300
 
@@ -12,7 +12,7 @@ import { SMAABlendShader, SMAAEdgesShader, SMAAWeightsShader } from '../shaders/
12
12
 
13
13
  /**
14
14
  * A pass for applying SMAA. Unlike {@link FXAAPass}, `SMAAPass` operates in
15
- * `linar-srgb` so this pass must be executed before {@link OutputPass}.
15
+ * `linear-srgb` so this pass must be executed before {@link OutputPass}.
16
16
  *
17
17
  * ```js
18
18
  * const smaaPass = new SMAAPass();
@@ -20,6 +20,7 @@ import { SMAABlendShader, SMAAEdgesShader, SMAAWeightsShader } from '../shaders/
20
20
  * ```
21
21
  *
22
22
  * @augments Pass
23
+ * @three_import import { SMAAPass } from 'three/addons/postprocessing/SMAAPass.js';
23
24
  */
24
25
  class SMAAPass extends Pass {
25
26
 
@@ -177,7 +178,7 @@ class SMAAPass extends Pass {
177
178
  * Sets the size of the pass.
178
179
  *
179
180
  * @param {number} width - The width to set.
180
- * @param {number} height - The width to set.
181
+ * @param {number} height - The height to set.
181
182
  */
182
183
  setSize( width, height ) {
183
184
 
@@ -21,6 +21,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
21
21
  * ```
22
22
  *
23
23
  * @augments Pass
24
+ * @three_import import { SSAARenderPass } from 'three/addons/postprocessing/SSAARenderPass.js';
24
25
  */
25
26
  class SSAARenderPass extends Pass {
26
27
 
@@ -140,7 +141,7 @@ class SSAARenderPass extends Pass {
140
141
  * Sets the size of the pass.
141
142
  *
142
143
  * @param {number} width - The width to set.
143
- * @param {number} height - The width to set.
144
+ * @param {number} height - The height to set.
144
145
  */
145
146
  setSize( width, height ) {
146
147
 
@@ -39,6 +39,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
39
39
  * ```
40
40
  *
41
41
  * @augments Pass
42
+ * @three_import import { SSAOPass } from 'three/addons/postprocessing/SSAOPass.js';
42
43
  */
43
44
  class SSAOPass extends Pass {
44
45
 
@@ -350,7 +351,7 @@ class SSAOPass extends Pass {
350
351
  * Sets the size of the pass.
351
352
  *
352
353
  * @param {number} width - The width to set.
353
- * @param {number} height - The width to set.
354
+ * @param {number} height - The height to set.
354
355
  */
355
356
  setSize( width, height ) {
356
357
 
@@ -34,6 +34,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
34
34
  * ```
35
35
  *
36
36
  * @augments Pass
37
+ * @three_import import { SSRPass } from 'three/addons/postprocessing/SSRPass.js';
37
38
  */
38
39
  class SSRPass extends Pass {
39
40
 
@@ -100,7 +101,7 @@ class SSRPass extends Pass {
100
101
  this.groundReflector = groundReflector;
101
102
 
102
103
  /**
103
- * The opactiy.
104
+ * The opacity.
104
105
  *
105
106
  * @type {number}
106
107
  * @default 0.5
@@ -221,7 +222,7 @@ class SSRPass extends Pass {
221
222
  this._distanceAttenuation = SSRShader.defines.DISTANCE_ATTENUATION;
222
223
 
223
224
  /**
224
- * Whether to use distance attenutation or not.
225
+ * Whether to use distance attenuation or not.
225
226
  *
226
227
  * @name SSRPass#distanceAttenuation
227
228
  * @type {boolean}
@@ -653,7 +654,7 @@ class SSRPass extends Pass {
653
654
  * Sets the size of the pass.
654
655
  *
655
656
  * @param {number} width - The width to set.
656
- * @param {number} height - The width to set.
657
+ * @param {number} height - The height to set.
657
658
  */
658
659
  setSize( width, height ) {
659
660
 
@@ -17,6 +17,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
17
17
  * ```
18
18
  *
19
19
  * @augments Pass
20
+ * @three_import import { SavePass } from 'three/addons/postprocessing/SavePass.js';
20
21
  */
21
22
  class SavePass extends Pass {
22
23
 
@@ -104,7 +105,7 @@ class SavePass extends Pass {
104
105
  * Sets the size of the pass.
105
106
  *
106
107
  * @param {number} width - The width to set.
107
- * @param {number} height - The width to set.
108
+ * @param {number} height - The height to set.
108
109
  */
109
110
  setSize( width, height ) {
110
111
 
@@ -15,6 +15,7 @@ import { Pass, FullScreenQuad } from './Pass.js';
15
15
  * ```
16
16
  *
17
17
  * @augments Pass
18
+ * @three_import import { ShaderPass } from 'three/addons/postprocessing/ShaderPass.js';
18
19
  */
19
20
  class ShaderPass extends Pass {
20
21
 
@@ -20,6 +20,7 @@ import { SSAARenderPass } from './SSAARenderPass.js';
20
20
  * ```
21
21
  *
22
22
  * @augments SSAARenderPass
23
+ * @three_import import { TAARenderPass } from 'three/addons/postprocessing/TAARenderPass.js';
23
24
  */
24
25
  class TAARenderPass extends SSAARenderPass {
25
26
 
@@ -17,6 +17,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
17
17
  * ```
18
18
  *
19
19
  * @augments Pass
20
+ * @three_import import { TexturePass } from 'three/addons/postprocessing/TexturePass.js';
20
21
  */
21
22
  class TexturePass extends Pass {
22
23
 
@@ -31,6 +31,7 @@ import { LuminosityHighPassShader } from '../shaders/LuminosityHighPassShader.js
31
31
  * ```
32
32
  *
33
33
  * @augments Pass
34
+ * @three_import import { UnrealBloomPass } from 'three/addons/postprocessing/UnrealBloomPass.js';
34
35
  */
35
36
  class UnrealBloomPass extends Pass {
36
37
 
@@ -241,7 +242,7 @@ class UnrealBloomPass extends Pass {
241
242
  * Sets the size of the pass.
242
243
  *
243
244
  * @param {number} width - The width to set.
244
- * @param {number} height - The width to set.
245
+ * @param {number} height - The height to set.
245
246
  */
246
247
  setSize( width, height ) {
247
248
 
@@ -9,6 +9,7 @@ import {
9
9
  * The only type of 3D object that is supported by {@link CSS2DRenderer}.
10
10
  *
11
11
  * @augments Object3D
12
+ * @three_import import { CSS2DObject } from 'three/addons/renderers/CSS2DRenderer.js';
12
13
  */
13
14
  class CSS2DObject extends Object3D {
14
15
 
@@ -103,6 +104,8 @@ const _b = new Vector3();
103
104
  * scene graph. All other types of renderable 3D objects (like meshes or point clouds) are ignored.
104
105
  *
105
106
  * `CSS2DRenderer` only supports 100% browser and display zoom.
107
+ *
108
+ * @three_import import { CSS2DRenderer } from 'three/addons/renderers/CSS2DRenderer.js';
106
109
  */
107
110
  class CSS2DRenderer {
108
111
 
@@ -15,6 +15,7 @@ const _scale = new Vector3();
15
15
  * The base 3D object that is supported by {@link CSS3DRenderer}.
16
16
  *
17
17
  * @augments Object3D
18
+ * @three_import import { CSS3DObject } from 'three/addons/renderers/CSS3DRenderer.js';
18
19
  */
19
20
  class CSS3DObject extends Object3D {
20
21
 
@@ -86,6 +87,7 @@ class CSS3DObject extends Object3D {
86
87
  * DOM elements as sprites.
87
88
  *
88
89
  * @augments CSS3DObject
90
+ * @three_import import { CSS3DSprite } from 'three/addons/renderers/CSS3DRenderer.js';
89
91
  */
90
92
  class CSS3DSprite extends CSS3DObject {
91
93
 
@@ -148,6 +150,8 @@ const _matrix2 = new Matrix4();
148
150
  *
149
151
  * So `CSS3DRenderer` is just focused on ordinary DOM elements. These elements are wrapped into special
150
152
  * 3D objects ({@link CSS3DObject} or {@link CSS3DSprite}) and then added to the scene graph.
153
+ *
154
+ * @three_import import { CSS3DRenderer } from 'three/addons/renderers/CSS3DRenderer.js';
151
155
  */
152
156
  class CSS3DRenderer {
153
157
 
@@ -124,6 +124,8 @@ class RenderableSprite {
124
124
  * This class can project a given scene in 3D space into a 2D representation
125
125
  * used for rendering with a 2D API. `Projector` is currently used by {@link SVGRenderer}
126
126
  * and was previously used by the legacy `CanvasRenderer`.
127
+ *
128
+ * @three_import import { Projector } from 'three/addons/renderers/Projector.js';
127
129
  */
128
130
  class Projector {
129
131
 
@@ -19,6 +19,7 @@ import {
19
19
  * Can be used to wrap SVG elements into a 3D object.
20
20
  *
21
21
  * @augments Object3D
22
+ * @three_import import { SVGObject } from 'three/addons/renderers/SVGRenderer.js';
22
23
  */
23
24
  class SVGObject extends Object3D {
24
25
 
@@ -69,6 +70,8 @@ class SVGObject extends Object3D {
69
70
  * - No advanced shading.
70
71
  * - No texture support.
71
72
  * - No shadow support.
73
+ *
74
+ * @three_import import { SVGRenderer } from 'three/addons/renderers/SVGRenderer.js';
72
75
  */
73
76
  class SVGRenderer {
74
77
 
@@ -1,4 +1,7 @@
1
- /** @module ACESFilmicToneMappingShader */
1
+ /**
2
+ * @module ACESFilmicToneMappingShader
3
+ * @three_import import { ACESFilmicToneMappingShader } from 'three/addons/shaders/ACESFilmicToneMappingShader.js';
4
+ */
2
5
 
3
6
  /**
4
7
  * ACES Filmic Tone Mapping Shader by Stephen Hill.
@@ -1,4 +1,7 @@
1
- /** @module AfterimageShader */
1
+ /**
2
+ * @module AfterimageShader
3
+ * @three_import import { AfterimageShader } from 'three/addons/shaders/AfterimageShader.js';
4
+ */
2
5
 
3
6
  /**
4
7
  * Inspired by [Three.js FBO motion trails]{@link https://codepen.io/brunoimbrizi/pen/MoRJaN?page=1&}.
@@ -1,4 +1,7 @@
1
- /** @module BasicShader */
1
+ /**
2
+ * @module BasicShader
3
+ * @three_import import { BasicShader } from 'three/addons/shaders/BasicShader.js';
4
+ */
2
5
 
3
6
  /**
4
7
  * Simple shader for testing.
@@ -1,5 +1,8 @@
1
1
 
2
- /** @module BleachBypassShader */
2
+ /**
3
+ * @module BleachBypassShader
4
+ * @three_import import { BleachBypassShader } from 'three/addons/shaders/BleachBypassShader.js';
5
+ */
3
6
 
4
7
  /**
5
8
  * Bleach bypass shader [http://en.wikipedia.org/wiki/Bleach_bypass] based on
@@ -1,4 +1,7 @@
1
- /** @module BlendShader */
1
+ /**
2
+ * @module BlendShader
3
+ * @three_import import { BlendShader } from 'three/addons/shaders/BlendShader.js';
4
+ */
2
5
 
3
6
  /**
4
7
  * Blends two textures.
@@ -1,4 +1,7 @@
1
- /** @module BokehShader */
1
+ /**
2
+ * @module BokehShader
3
+ * @three_import import { BokehShader } from 'three/addons/shaders/BokehShader.js';
4
+ */
2
5
 
3
6
  /**
4
7
  * Depth-of-field shader with bokeh ported from
@@ -2,7 +2,10 @@ import {
2
2
  Vector2
3
3
  } from 'three';
4
4
 
5
- /** @module BokehShader2 */
5
+ /**
6
+ * @module BokehShader2
7
+ * @three_import import { BokehShader, BokehDepthShader } from 'three/addons/shaders/BokehShader2.js';
8
+ */
6
9
 
7
10
  /**
8
11
  * Depth-of-field shader with bokeh ported from