@types/three 0.182.0 → 0.183.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/Addons.d.ts +0 -3
  3. three/examples/jsm/controls/OrbitControls.d.ts +39 -0
  4. three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
  5. three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
  6. three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
  7. three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
  8. three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
  9. three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
  10. three/examples/jsm/inspector/ui/Item.d.ts +5 -0
  11. three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
  12. three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
  13. three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
  14. three/examples/jsm/objects/SkyMesh.d.ts +11 -6
  15. three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
  16. three/examples/jsm/objects/WaterMesh.d.ts +6 -6
  17. three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
  18. three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
  19. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
  20. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
  21. three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
  22. three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
  23. three/examples/jsm/tsl/display/CRT.d.ts +22 -0
  24. three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
  25. three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
  26. three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
  27. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
  28. three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
  29. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
  30. three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
  31. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
  32. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
  33. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
  34. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
  35. three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
  36. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
  37. three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
  38. three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
  39. three/examples/jsm/tsl/display/SSSNode.d.ts +5 -5
  40. three/examples/jsm/tsl/display/Shape.d.ts +3 -0
  41. three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
  42. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
  43. three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
  44. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
  45. three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
  46. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
  47. three/package.json +3 -3
  48. three/src/Three.Core.d.ts +1 -1
  49. three/src/Three.TSL.d.ts +6 -11
  50. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  51. three/src/Three.WebGPU.d.ts +3 -0
  52. three/src/Three.d.ts +2 -2
  53. three/src/animation/AnimationClip.d.ts +1 -1
  54. three/src/animation/KeyframeTrack.d.ts +19 -5
  55. three/src/animation/PropertyMixer.d.ts +5 -4
  56. three/src/audio/Audio.d.ts +224 -157
  57. three/src/audio/AudioAnalyser.d.ts +32 -27
  58. three/src/audio/AudioContext.d.ts +12 -12
  59. three/src/audio/AudioListener.d.ts +44 -65
  60. three/src/audio/PositionalAudio.d.ts +69 -62
  61. three/src/cameras/ArrayCamera.d.ts +21 -24
  62. three/src/cameras/Camera.d.ts +14 -53
  63. three/src/cameras/CubeCamera.d.ts +32 -28
  64. three/src/cameras/OrthographicCamera.d.ts +70 -100
  65. three/src/cameras/PerspectiveCamera.d.ts +133 -146
  66. three/src/cameras/StereoCamera.d.ts +24 -30
  67. three/src/constants.d.ts +14 -2
  68. three/src/core/Clock.d.ts +3 -0
  69. three/src/core/Object3D.d.ts +31 -7
  70. three/src/geometries/TorusGeometry.d.ts +22 -3
  71. three/src/helpers/ArrowHelper.d.ts +34 -50
  72. three/src/helpers/AxesHelper.d.ts +22 -36
  73. three/src/helpers/Box3Helper.d.ts +14 -25
  74. three/src/helpers/BoxHelper.d.ts +28 -39
  75. three/src/helpers/CameraHelper.d.ts +31 -52
  76. three/src/helpers/DirectionalLightHelper.d.ts +32 -53
  77. three/src/helpers/GridHelper.d.ts +15 -29
  78. three/src/helpers/HemisphereLightHelper.d.ts +26 -49
  79. three/src/helpers/PlaneHelper.d.ts +21 -33
  80. three/src/helpers/PointLightHelper.d.ts +25 -50
  81. three/src/helpers/PolarGridHelper.d.ts +19 -32
  82. three/src/helpers/SkeletonHelper.d.ts +26 -50
  83. three/src/helpers/SpotLightHelper.d.ts +28 -55
  84. three/src/lights/AmbientLight.d.ts +15 -23
  85. three/src/lights/DirectionalLight.d.ts +40 -82
  86. three/src/lights/DirectionalLightShadow.d.ts +6 -61
  87. three/src/lights/HemisphereLight.d.ts +20 -47
  88. three/src/lights/Light.d.ts +18 -48
  89. three/src/lights/LightProbe.d.ts +24 -29
  90. three/src/lights/LightShadow.d.ts +107 -91
  91. three/src/lights/PointLight.d.ts +36 -77
  92. three/src/lights/PointLightShadow.d.ts +9 -6
  93. three/src/lights/RectAreaLight.d.ts +39 -59
  94. three/src/lights/SpotLight.d.ts +62 -116
  95. three/src/lights/SpotLightShadow.d.ts +17 -59
  96. three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
  97. three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
  98. three/src/materials/MeshLambertMaterial.d.ts +6 -0
  99. three/src/materials/MeshPhongMaterial.d.ts +6 -0
  100. three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
  101. three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
  102. three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
  103. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
  104. three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
  105. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
  106. three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
  107. three/src/materials/nodes/NodeMaterial.d.ts +9 -3
  108. three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
  109. three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
  110. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
  111. three/src/math/Color.d.ts +1 -0
  112. three/src/math/Vector3.d.ts +2 -2
  113. three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
  114. three/src/nodes/Nodes.d.ts +55 -35
  115. three/src/nodes/TSL.d.ts +2 -5
  116. three/src/nodes/accessors/Arrays.d.ts +19 -10
  117. three/src/nodes/accessors/BufferAttributeNode.d.ts +99 -33
  118. three/src/nodes/accessors/BufferNode.d.ts +21 -7
  119. three/src/nodes/accessors/Camera.d.ts +10 -10
  120. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
  121. three/src/nodes/accessors/InstanceNode.d.ts +6 -0
  122. three/src/nodes/accessors/Lights.d.ts +9 -6
  123. three/src/nodes/accessors/MaterialNode.d.ts +1 -3
  124. three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
  125. three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
  126. three/src/nodes/accessors/ModelNode.d.ts +34 -17
  127. three/src/nodes/accessors/MorphNode.d.ts +1 -1
  128. three/src/nodes/accessors/Normal.d.ts +13 -15
  129. three/src/nodes/accessors/Object3DNode.d.ts +35 -16
  130. three/src/nodes/accessors/Position.d.ts +9 -7
  131. three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
  132. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  133. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  134. three/src/nodes/accessors/SceneProperties.d.ts +5 -0
  135. three/src/nodes/accessors/SkinningNode.d.ts +5 -3
  136. three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
  137. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  138. three/src/nodes/accessors/Tangent.d.ts +5 -7
  139. three/src/nodes/accessors/Texture3DNode.d.ts +1 -1
  140. three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
  141. three/src/nodes/accessors/TextureNode.d.ts +19 -18
  142. three/src/nodes/accessors/UV.d.ts +1 -1
  143. three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
  144. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  145. three/src/nodes/accessors/VelocityNode.d.ts +3 -3
  146. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  147. three/src/nodes/code/FunctionCallNode.d.ts +0 -1
  148. three/src/nodes/code/FunctionNode.d.ts +7 -3
  149. three/src/nodes/core/ArrayNode.d.ts +2 -3
  150. three/src/nodes/core/AttributeNode.d.ts +12 -6
  151. three/src/nodes/core/BypassNode.d.ts +2 -3
  152. three/src/nodes/core/ConstNode.d.ts +10 -3
  153. three/src/nodes/core/ContextNode.d.ts +23 -28
  154. three/src/nodes/core/IndexNode.d.ts +1 -1
  155. three/src/nodes/core/InputNode.d.ts +12 -4
  156. three/src/nodes/core/InspectorNode.d.ts +2 -3
  157. three/src/nodes/core/IsolateNode.d.ts +2 -7
  158. three/src/nodes/core/MRTNode.d.ts +7 -0
  159. three/src/nodes/core/Node.d.ts +258 -39
  160. three/src/nodes/core/NodeAttribute.d.ts +30 -5
  161. three/src/nodes/core/NodeBuilder.d.ts +5 -3
  162. three/src/nodes/core/NodeCache.d.ts +24 -48
  163. three/src/nodes/core/NodeError.d.ts +9 -0
  164. three/src/nodes/core/NodeParser.d.ts +2 -0
  165. three/src/nodes/core/NodeUniform.d.ts +33 -9
  166. three/src/nodes/core/NodeVar.d.ts +33 -5
  167. three/src/nodes/core/NodeVarying.d.ts +32 -4
  168. three/src/nodes/core/ParameterNode.d.ts +11 -4
  169. three/src/nodes/core/PropertyNode.d.ts +45 -35
  170. three/src/nodes/core/StackTrace.d.ts +9 -0
  171. three/src/nodes/core/StructType.d.ts +3 -1
  172. three/src/nodes/core/StructTypeNode.d.ts +19 -5
  173. three/src/nodes/core/TempNode.d.ts +9 -3
  174. three/src/nodes/core/UniformNode.d.ts +53 -15
  175. three/src/nodes/core/VarNode.d.ts +15 -14
  176. three/src/nodes/core/VaryingNode.d.ts +14 -19
  177. three/src/nodes/core/constants.d.ts +9 -4
  178. three/src/nodes/display/BlendModes.d.ts +7 -27
  179. three/src/nodes/display/ColorAdjustment.d.ts +8 -9
  180. three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
  181. three/src/nodes/display/FrontFacingNode.d.ts +1 -1
  182. three/src/nodes/display/PassNode.d.ts +9 -5
  183. three/src/nodes/display/RenderOutputNode.d.ts +3 -7
  184. three/src/nodes/display/ScreenNode.d.ts +25 -17
  185. three/src/nodes/display/ToneMappingNode.d.ts +3 -7
  186. three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
  187. three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
  188. three/src/nodes/fog/Fog.d.ts +5 -3
  189. three/src/nodes/geometry/RangeNode.d.ts +51 -9
  190. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
  191. three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
  192. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
  193. three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -1
  194. three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
  195. three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
  196. three/src/nodes/lighting/LightUtils.d.ts +1 -1
  197. three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
  198. three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
  199. three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
  200. three/src/nodes/math/BitcountNode.d.ts +2 -0
  201. three/src/nodes/math/ConditionalNode.d.ts +43 -22
  202. three/src/nodes/math/Hash.d.ts +1 -1
  203. three/src/nodes/math/MathNode.d.ts +603 -267
  204. three/src/nodes/math/MathUtils.d.ts +9 -5
  205. three/src/nodes/math/OperatorNode.d.ts +490 -227
  206. three/src/nodes/math/TriNoise3D.d.ts +3 -3
  207. three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
  208. three/src/nodes/procedural/Checker.d.ts +1 -1
  209. three/src/nodes/tsl/TSLCore.d.ts +1683 -224
  210. three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
  211. three/src/nodes/utils/DebugNode.d.ts +2 -5
  212. three/src/nodes/utils/Discard.d.ts +2 -3
  213. three/src/nodes/utils/FlipNode.d.ts +11 -0
  214. three/src/nodes/utils/LoopNode.d.ts +17 -13
  215. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  216. three/src/nodes/utils/Oscillators.d.ts +4 -4
  217. three/src/nodes/utils/Packing.d.ts +3 -3
  218. three/src/nodes/utils/PostProcessingUtils.d.ts +5 -5
  219. three/src/nodes/utils/RemapNode.d.ts +33 -39
  220. three/src/nodes/utils/RotateNode.d.ts +17 -8
  221. three/src/nodes/utils/SplitNode.d.ts +1 -2
  222. three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
  223. three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
  224. three/src/nodes/utils/Timer.d.ts +4 -4
  225. three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
  226. three/src/nodes/utils/UVUtils.d.ts +6 -4
  227. three/src/objects/BatchedMesh.d.ts +6 -4
  228. three/src/objects/InstancedMesh.d.ts +32 -24
  229. three/src/renderers/WebGLRenderer.d.ts +4 -93
  230. three/src/renderers/common/Animation.d.ts +46 -9
  231. three/src/renderers/common/Attributes.d.ts +11 -13
  232. three/src/renderers/common/Backend.d.ts +0 -2
  233. three/src/renderers/common/Background.d.ts +17 -15
  234. three/src/renderers/common/BindGroup.d.ts +27 -13
  235. three/src/renderers/common/Binding.d.ts +15 -3
  236. three/src/renderers/common/Bindings.d.ts +41 -17
  237. three/src/renderers/common/BlendMode.d.ts +22 -0
  238. three/src/renderers/common/Buffer.d.ts +35 -11
  239. three/src/renderers/common/BufferUtils.d.ts +3 -4
  240. three/src/renderers/common/BundleGroup.d.ts +16 -6
  241. three/src/renderers/common/CanvasTarget.d.ts +76 -13
  242. three/src/renderers/common/ChainMap.d.ts +12 -9
  243. three/src/renderers/common/ClippingContext.d.ts +61 -10
  244. three/src/renderers/common/Color4.d.ts +10 -5
  245. three/src/renderers/common/ComputePipeline.d.ts +16 -2
  246. three/src/renderers/common/Constants.d.ts +5 -3
  247. three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
  248. three/src/renderers/common/DataMap.d.ts +10 -18
  249. three/src/renderers/common/Geometries.d.ts +39 -20
  250. three/src/renderers/common/Info.d.ts +62 -9
  251. three/src/renderers/common/InspectorBase.d.ts +19 -7
  252. three/src/renderers/common/Lighting.d.ts +2 -6
  253. three/src/renderers/common/Pipeline.d.ts +14 -2
  254. three/src/renderers/common/Pipelines.d.ts +58 -60
  255. three/src/renderers/common/PostProcessing.d.ts +14 -17
  256. three/src/renderers/common/ProgrammableStage.d.ts +48 -8
  257. three/src/renderers/common/RenderBundle.d.ts +4 -2
  258. three/src/renderers/common/RenderBundles.d.ts +6 -3
  259. three/src/renderers/common/RenderContext.d.ts +175 -7
  260. three/src/renderers/common/RenderContexts.d.ts +20 -25
  261. three/src/renderers/common/RenderList.d.ts +77 -11
  262. three/src/renderers/common/RenderLists.d.ts +16 -4
  263. three/src/renderers/common/RenderObject.d.ts +223 -47
  264. three/src/renderers/common/RenderObjectPipeline.d.ts +33 -0
  265. three/src/renderers/common/RenderObjects.d.ts +55 -22
  266. three/src/renderers/common/RenderPipeline.d.ts +20 -17
  267. three/src/renderers/common/Renderer.d.ts +625 -207
  268. three/src/renderers/common/Textures.d.ts +24 -46
  269. three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
  270. three/src/renderers/common/Uniform.d.ts +143 -58
  271. three/src/renderers/common/UniformBuffer.d.ts +7 -5
  272. three/src/renderers/common/UniformsGroup.d.ts +50 -35
  273. three/src/renderers/common/XRManager.d.ts +321 -83
  274. three/src/renderers/common/XRRenderTarget.d.ts +49 -6
  275. three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
  276. three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
  277. three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
  278. three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
  279. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
  280. three/src/renderers/shaders/UniformsLib.d.ts +0 -3
  281. three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
  282. three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
  283. three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
  284. three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
  285. three/src/renderers/webgl/WebGLLights.d.ts +19 -18
  286. three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
  287. three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
  288. three/src/renderers/webgl/WebGLPrograms.d.ts +2 -2
  289. three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
  290. three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
  291. three/src/renderers/webgl/WebGLState.d.ts +305 -28
  292. three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
  293. three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
  294. three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
  295. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
  296. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
  297. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
  298. three/src/scenes/Fog.d.ts +31 -37
  299. three/src/scenes/FogExp2.d.ts +26 -31
  300. three/src/scenes/Scene.d.ts +51 -65
  301. three/src/textures/CompressedArrayTexture.d.ts +1 -1
  302. three/src/textures/DataArrayTexture.d.ts +1 -1
  303. three/src/utils.d.ts +5 -0
  304. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
  305. three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
  306. three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
  307. three/src/nodes/accessors/SceneNode.d.ts +0 -21
  308. three/src/nodes/code/ScriptableNode.d.ts +0 -21
  309. three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
  310. three/src/nodes/display/PosterizeNode.d.ts +0 -13
  311. three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
  312. three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
  313. three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
three/README.md CHANGED
@@ -8,7 +8,7 @@ This package contains type definitions for three (https://threejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/three.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Wed, 10 Dec 2025 22:36:27 GMT
11
+ * Last updated: Fri, 20 Feb 2026 17:44:37 GMT
12
12
  * Dependencies: [@dimforge/rapier3d-compat](https://npmjs.com/package/@dimforge/rapier3d-compat), [@tweenjs/tween.js](https://npmjs.com/package/@tweenjs/tween.js), [@types/stats.js](https://npmjs.com/package/@types/stats.js), [@types/webxr](https://npmjs.com/package/@types/webxr), [@webgpu/types](https://npmjs.com/package/@webgpu/types), [fflate](https://npmjs.com/package/fflate), [meshoptimizer](https://npmjs.com/package/meshoptimizer)
13
13
 
14
14
  # Credits
@@ -123,8 +123,6 @@ export * from "./loaders/VTKLoader.js";
123
123
  export * from "./loaders/XYZLoader.js";
124
124
 
125
125
  export * from "./materials/LDrawConditionalLineMaterial.js";
126
- export * from "./materials/MeshGouraudMaterial.js";
127
- export * from "./materials/MeshPostProcessingMaterial.js";
128
126
 
129
127
  export * from "./math/Capsule.js";
130
128
  export * from "./math/ColorConverter.js";
@@ -225,7 +223,6 @@ export * from "./shaders/FocusShader.js";
225
223
  export * from "./shaders/FreiChenShader.js";
226
224
  export * from "./shaders/FXAAShader.js";
227
225
  export * from "./shaders/GammaCorrectionShader.js";
228
- export * from "./shaders/GodRaysShader.js";
229
226
  export * from "./shaders/GTAOShader.js";
230
227
  export * from "./shaders/HalftoneShader.js";
231
228
  export * from "./shaders/HorizontalBlurShader.js";
@@ -208,6 +208,9 @@ declare class OrbitControls extends Controls<OrbitControlsEventMap> {
208
208
  */
209
209
  constructor(object: Camera, domElement?: HTMLElement | SVGElement | null);
210
210
 
211
+ set cursorStyle(type: "auto" | "grab");
212
+ get cursorStyle(): "auto" | "grab";
213
+
211
214
  /**
212
215
  * Get the current vertical rotation, in radians.
213
216
  */
@@ -245,6 +248,42 @@ declare class OrbitControls extends Controls<OrbitControlsEventMap> {
245
248
  */
246
249
  reset(): void;
247
250
 
251
+ /**
252
+ * Programmatically pan the camera.
253
+ *
254
+ * @param {number} deltaX - The horizontal pan amount in pixels.
255
+ * @param {number} deltaY - The vertical pan amount in pixels.
256
+ */
257
+ pan(deltaX: number, deltaY: number): void;
258
+
259
+ /**
260
+ * Programmatically dolly in (zoom in for perspective camera).
261
+ *
262
+ * @param {number} dollyScale - The dolly scale factor.
263
+ */
264
+ dollyIn(dollyScale: number): void;
265
+
266
+ /**
267
+ * Programmatically dolly out (zoom out for perspective camera).
268
+ *
269
+ * @param {number} dollyScale - The dolly scale factor.
270
+ */
271
+ dollyOut(dollyScale: number): void;
272
+
273
+ /**
274
+ * Programmatically rotate the camera left (around the vertical axis).
275
+ *
276
+ * @param {number} angle - The rotation angle in radians.
277
+ */
278
+ rotateLeft(angle: number): void;
279
+
280
+ /**
281
+ * Programmatically rotate the camera up (around the horizontal axis).
282
+ *
283
+ * @param {number} angle - The rotation angle in radians.
284
+ */
285
+ rotateUp(angle: number): void;
286
+
248
287
  /**
249
288
  * Update the controls. Must be called after any manual changes to the camera's transform, or in the update loop if
250
289
  * {@link .autoRotate} or {@link .enableDamping} are set. `deltaTime`, in seconds, is optional, and is only required
@@ -5,6 +5,10 @@ declare class AnaglyphEffect {
5
5
 
6
6
  colorMatrixRight: Matrix3;
7
7
 
8
+ eyeSep: number;
9
+
10
+ planeDistance: number;
11
+
8
12
  setSize: (width: number, height: number) => void;
9
13
 
10
14
  render: (scene: Scene, camera: Camera) => void;
@@ -0,0 +1,9 @@
1
+ import { ColorRepresentation, Scene } from "three";
2
+
3
+ declare class ColorEnvironment extends Scene {
4
+ constructor(color?: ColorRepresentation);
5
+
6
+ dispose(): void;
7
+ }
8
+
9
+ export { ColorEnvironment };
@@ -1,20 +1,20 @@
1
1
  import { Node, Renderer, StorageBufferNode } from "three/webgpu";
2
2
 
3
- export const getBitonicFlipIndices: (index: Node, blockHeight: Node) => Node;
3
+ export const getBitonicFlipIndices: (index: Node, blockHeight: Node) => Node<"uvec2">;
4
4
 
5
- export const getBitonicDisperseIndices: (index: Node, swapSpan: Node) => Node;
5
+ export const getBitonicDisperseIndices: (index: Node, swapSpan: Node) => Node<"uvec2">;
6
6
 
7
7
  export interface BitonicSortOptions {
8
8
  workgroupSize?: number | undefined;
9
9
  }
10
10
 
11
- export class BitonicSort {
12
- infoStorage: StorageBufferNode;
11
+ export class BitonicSort<TNodeType> {
12
+ infoStorage: StorageBufferNode<TNodeType>;
13
13
 
14
14
  swapOpCount: number;
15
15
  stepCount: number;
16
16
 
17
- constructor(renderer: Renderer, dataBuffer: StorageBufferNode, options?: BitonicSortOptions);
17
+ constructor(renderer: Renderer, dataBuffer: StorageBufferNode<TNodeType>, options?: BitonicSortOptions);
18
18
 
19
19
  computeStep(renderer: Renderer): Promise<void>;
20
20
  compute(renderer: Renderer): Promise<void>;
@@ -0,0 +1,38 @@
1
+ import {
2
+ AnimationClip,
3
+ BufferGeometry,
4
+ ColorRepresentation,
5
+ Line,
6
+ LineBasicMaterial,
7
+ Object3D,
8
+ Points,
9
+ PointsMaterial,
10
+ } from "three";
11
+
12
+ export interface AnimationPathHelperOptions {
13
+ color?: ColorRepresentation | undefined;
14
+ markerColor?: ColorRepresentation | undefined;
15
+ divisions?: number | undefined;
16
+ showMarkers?: boolean | undefined;
17
+ markerSize?: number | undefined;
18
+ }
19
+
20
+ declare class AnimationPathHelper extends Object3D {
21
+ readonly isAnimationPathHelper: boolean;
22
+
23
+ root: Object3D;
24
+ clip: AnimationClip;
25
+ object: Object3D;
26
+ divisions: number;
27
+
28
+ line: Line<BufferGeometry, LineBasicMaterial>;
29
+ points: Points<BufferGeometry, PointsMaterial> | null;
30
+
31
+ constructor(root: Object3D, clip: AnimationClip, object: Object3D, options?: AnimationPathHelperOptions);
32
+
33
+ setColor(color: ColorRepresentation): void;
34
+ setMarkerColor(color: ColorRepresentation): void;
35
+ dispose(): void;
36
+ }
37
+
38
+ export { AnimationPathHelper };
@@ -1,10 +1,11 @@
1
1
  import { Camera, Object3D, Vector3, WebGLRenderer } from "three";
2
2
 
3
- export class ViewHelper extends Object3D {
3
+ declare class ViewHelper extends Object3D {
4
4
  readonly isViewHelper: true;
5
5
 
6
6
  animating: boolean;
7
7
  center: Vector3;
8
+ location: { top: number | null; right: number; bottom: number; left: number | null };
8
9
 
9
10
  render: (renderer: WebGLRenderer) => void;
10
11
  handleClick: (event: MouseEvent) => boolean;
@@ -15,3 +16,5 @@ export class ViewHelper extends Object3D {
15
16
 
16
17
  constructor(camera: Camera, domElement: HTMLElement);
17
18
  }
19
+
20
+ export { ViewHelper };
@@ -1,3 +1,4 @@
1
+ import { Item } from "../ui/Item.js";
1
2
  import { Tab } from "../ui/Tab.js";
2
3
  import { ValueButton, ValueCheckbox, ValueColor, ValueNumber, ValueSelect, ValueSlider } from "../ui/Values.js";
3
4
 
@@ -52,6 +53,8 @@ interface ValueColorWithParameters<
52
53
  declare class ParametersGroup {
53
54
  name: string;
54
55
 
56
+ paramList: Item;
57
+
55
58
  constructor(parameters: never, name: string);
56
59
 
57
60
  add<T, K extends keyof T>(
@@ -0,0 +1,5 @@
1
+ export class Item {
2
+ domElement: HTMLDivElement;
3
+
4
+ constructor(...data: readonly unknown[]);
5
+ }
@@ -1 +1 @@
1
- export * from "meshoptimizer/meshopt_decoder.module.js";
1
+ export * from "meshoptimizer/decoder";
@@ -1,10 +1,16 @@
1
1
  import { CubeTexture, LightProbe, WebGLCubeRenderTarget, WebGLRenderer } from "three";
2
- import { WebGPURenderer } from "three/webgpu";
2
+ import { CubeRenderTarget, WebGPURenderer } from "three/webgpu";
3
3
 
4
- export namespace LightProbeGenerator {
5
- function fromCubeTexture(cubeTexture: CubeTexture): LightProbe;
6
- function fromCubeRenderTarget(
7
- renderer: WebGLRenderer | WebGPURenderer,
4
+ declare class LightProbeGenerator {
5
+ static fromCubeTexture(cubeTexture: CubeTexture): LightProbe;
6
+ static fromCubeRenderTarget(
7
+ renderer: WebGLRenderer,
8
8
  cubeRenderTarget: WebGLCubeRenderTarget,
9
9
  ): Promise<LightProbe>;
10
+ static fromCubeRenderTarget(
11
+ renderer: WebGPURenderer,
12
+ cubeRenderTarget: CubeRenderTarget,
13
+ ): Promise<LightProbe>;
10
14
  }
15
+
16
+ export { LightProbeGenerator };
@@ -1,11 +1,34 @@
1
1
  import { Loader, Scene } from "three";
2
2
 
3
+ export interface ColladaKinematics {
4
+ joints: unknown;
5
+ getJointValue: unknown;
6
+ setJointValue: unknown;
7
+ }
8
+
9
+ export interface ColladaLibrary {
10
+ animations: Record<string, unknown>;
11
+ clips: Record<string, unknown>;
12
+ controllers: Record<string, unknown>;
13
+ images: Record<string, unknown>;
14
+ effects: Record<string, unknown>;
15
+ materials: Record<string, unknown>;
16
+ cameras: Record<string, unknown>;
17
+ lights: Record<string, unknown>;
18
+ geometries: Record<string, unknown>;
19
+ nodes: Record<string, unknown>;
20
+ visualScenes: Record<string, unknown>;
21
+ kinematicsModels: Record<string, unknown>;
22
+ physicsModels: Record<string, unknown>;
23
+ kinematicsScenes: Record<string, unknown>;
24
+ }
25
+
3
26
  export interface Collada {
4
- kinematics: object;
5
- library: object;
27
+ kinematics?: ColladaKinematics;
28
+ library?: ColladaLibrary;
6
29
  scene: Scene;
7
30
  }
8
31
 
9
- export class ColladaLoader extends Loader<Collada> {
10
- parse(text: string, path: string): Collada;
32
+ export class ColladaLoader extends Loader<Collada | null> {
33
+ parse(text: string, path: string): Collada | null;
11
34
  }
@@ -1,12 +1,17 @@
1
1
  import { BoxGeometry, Mesh, NodeMaterial, UniformNode, Vector3 } from "three/webgpu";
2
2
 
3
3
  declare class SkyMesh extends Mesh<BoxGeometry, NodeMaterial> {
4
- turbidity: UniformNode<number>;
5
- rayleigh: UniformNode<number>;
6
- mieCoefficient: UniformNode<number>;
7
- mieDirectionalG: UniformNode<number>;
8
- sunPosition: UniformNode<Vector3>;
9
- upUniform: UniformNode<Vector3>;
4
+ turbidity: UniformNode<"float", number>;
5
+ rayleigh: UniformNode<"float", number>;
6
+ mieCoefficient: UniformNode<"float", number>;
7
+ mieDirectionalG: UniformNode<"float", number>;
8
+ sunPosition: UniformNode<"vec3", Vector3>;
9
+ upUniform: UniformNode<"vec3", Vector3>;
10
+ cloudScale: UniformNode<"float", number>;
11
+ cloudSpeed: UniformNode<"float", number>;
12
+ cloudCoverage: UniformNode<"float", number>;
13
+ cloudDensity: UniformNode<"float", number>;
14
+ cloudElevation: UniformNode<"float", number>;
10
15
 
11
16
  /**
12
17
  * @deprecated
@@ -30,19 +30,19 @@ declare class WaterMesh extends Mesh<BufferGeometry, NodeMaterial> {
30
30
  constructor(geometry: BufferGeometry, options: WaterMeshOptions);
31
31
  }
32
32
 
33
- declare class WaterNode extends TempNode {
33
+ declare class WaterNode extends TempNode<"vec4"> {
34
34
  waterBody: WaterMesh;
35
35
 
36
36
  normalMap0: TextureNode;
37
37
  normalMap1: TextureNode;
38
38
  flowMap: TextureNode;
39
39
 
40
- color: UniformNode<Color>;
41
- flowDirection: UniformNode<Vector2>;
42
- flowSpeed: UniformNode<number>;
43
- reflectivity: UniformNode<number>;
44
- scale: UniformNode<number>;
45
- flowConfig: UniformNode<Vector3>;
40
+ color: UniformNode<"color", Color>;
41
+ flowDirection: UniformNode<"vec2", Vector2>;
42
+ flowSpeed: UniformNode<"float", number>;
43
+ reflectivity: UniformNode<"float", number>;
44
+ scale: UniformNode<"float", number>;
45
+ flowConfig: UniformNode<"vec3", Vector3>;
46
46
 
47
47
  constructor(options: WaterMeshOptions, waterBody: WaterMesh);
48
48
 
@@ -27,12 +27,12 @@ declare class WaterMesh extends Mesh<BufferGeometry, NodeMaterial> {
27
27
  resolutionScale: number;
28
28
 
29
29
  waterNormals: TextureNode;
30
- alpha: UniformNode<number>;
31
- size: UniformNode<number>;
32
- sunColor: UniformNode<Color>;
33
- sunDirection: UniformNode<Vector3>;
34
- waterColor: UniformNode<Color>;
35
- distortionScale: UniformNode<number>;
30
+ alpha: UniformNode<"float", number>;
31
+ size: UniformNode<"float", number>;
32
+ sunColor: UniformNode<"color", Color>;
33
+ sunDirection: UniformNode<"vec3", Vector3>;
34
+ waterColor: UniformNode<"color", Color>;
35
+ distortionScale: UniformNode<"float", number>;
36
36
 
37
37
  constructor(geometry: BufferGeometry, options: WaterMeshOptions);
38
38
  }
@@ -1,22 +1,19 @@
1
- import { Clock, WebGLRenderer, WebGLRenderTarget } from "three";
2
-
3
- import { FullScreenQuad, Pass } from "./Pass.js";
1
+ import { Timer, WebGLRenderer, WebGLRenderTarget } from "three";
2
+ import { Pass } from "./Pass.js";
4
3
  import { ShaderPass } from "./ShaderPass.js";
5
4
 
6
- export { FullScreenQuad } from "./Pass.js";
7
- export { Pass };
8
-
9
- export class EffectComposer {
10
- constructor(renderer: WebGLRenderer, renderTarget?: WebGLRenderTarget);
5
+ declare class EffectComposer {
11
6
  renderer: WebGLRenderer;
12
7
  renderTarget1: WebGLRenderTarget;
13
8
  renderTarget2: WebGLRenderTarget;
14
9
  writeBuffer: WebGLRenderTarget;
15
10
  readBuffer: WebGLRenderTarget;
11
+ renderToScreen: boolean;
16
12
  passes: Pass[];
17
13
  copyPass: ShaderPass;
18
- clock: Clock;
19
- renderToScreen: boolean;
14
+ timer: Timer;
15
+
16
+ constructor(renderer: WebGLRenderer, renderTarget?: WebGLRenderTarget);
20
17
 
21
18
  swapBuffers(): void;
22
19
  addPass(pass: Pass): void;
@@ -29,3 +26,5 @@ export class EffectComposer {
29
26
  setPixelRatio(pixelRatio: number): void;
30
27
  dispose(): void;
31
28
  }
29
+
30
+ export { EffectComposer };
@@ -3,12 +3,13 @@ import { Color, MeshBasicMaterial, ShaderMaterial, Vector2, Vector3, WebGLRender
3
3
  import { FullScreenQuad, Pass } from "./Pass.js";
4
4
 
5
5
  export class UnrealBloomPass extends Pass {
6
- constructor(resolution: Vector2, strength: number, radius: number, threshold: number);
7
- resolution: Vector2;
8
6
  strength: number;
9
7
  radius: number;
10
8
  threshold: number;
9
+ resolution: Vector2;
11
10
  clearColor: Color;
11
+ needsUpdate: boolean;
12
+
12
13
  renderTargetsHorizontal: WebGLRenderTarget[];
13
14
  renderTargetsVertical: WebGLRenderTarget[];
14
15
  nMips: number;
@@ -20,12 +21,6 @@ export class UnrealBloomPass extends Pass {
20
21
  bloomTintColors: Vector3[];
21
22
  copyUniforms: object;
22
23
  blendMaterial: ShaderMaterial;
23
- oldClearColor: Color;
24
- oldClearAlpha: number;
25
- basic: MeshBasicMaterial;
26
- fsQuad: FullScreenQuad;
27
24
 
28
- dispose(): void;
29
- getSeparableBlurMaterial(): ShaderMaterial;
30
- getCompositeMaterial(): ShaderMaterial;
25
+ constructor(resolution: Vector2, strength: number, radius: number, threshold: number);
31
26
  }
@@ -1,12 +1,42 @@
1
1
  import { Camera, Scene } from "three/webgpu";
2
2
  import StereoCompositePassNode from "./StereoCompositePassNode.js";
3
3
 
4
+ declare const AnaglyphAlgorithm: {
5
+ TRUE: "true";
6
+ GREY: "grey";
7
+ COLOUR: "colour";
8
+ HALF_COLOUR: "halfColour";
9
+ DUBOIS: "dubois";
10
+ OPTIMISED: "optimised";
11
+ COMPROMISE: "compromise";
12
+ };
13
+ type AnaglyphAlgorithm = (typeof AnaglyphAlgorithm)[keyof typeof AnaglyphAlgorithm];
14
+
15
+ declare const AnaglyphColorMode: {
16
+ RED_CYAN: "redCyan";
17
+ MAGENTA_CYAN: "magentaCyan";
18
+ MAGENTA_GREEN: "magentaGreen";
19
+ };
20
+ type AnaglyphColorMode = (typeof AnaglyphColorMode)[keyof typeof AnaglyphColorMode];
21
+
4
22
  declare class AnaglyphPassNode extends StereoCompositePassNode {
5
23
  readonly isAnaglyphPassNode: true;
6
24
 
25
+ eyeSep: number;
26
+
27
+ planeDistance: number;
28
+
7
29
  constructor(scene: Scene, camera: Camera);
30
+
31
+ get algorithm(): AnaglyphAlgorithm;
32
+ set algorithm(algorithm: AnaglyphAlgorithm);
33
+
34
+ get colorMode(): AnaglyphColorMode;
35
+ set colorMode(color: AnaglyphColorMode);
8
36
  }
9
37
 
10
38
  export default AnaglyphPassNode;
11
39
 
40
+ export { AnaglyphAlgorithm, AnaglyphColorMode };
41
+
12
42
  export const anaglyphPass: (scene: Scene, camera: Camera) => AnaglyphPassNode;
@@ -1,6 +1,6 @@
1
1
  import { Node, TempNode, Vector2 } from "three/webgpu";
2
2
 
3
- export default class AnamorphicNode extends TempNode {
3
+ export default class AnamorphicNode extends TempNode<"vec4"> {
4
4
  textureNode: Node;
5
5
  thresholdNode: Node;
6
6
  scaleNode: Node;
@@ -0,0 +1,27 @@
1
+ import { Node, TempNode, TextureNode } from "three/webgpu";
2
+
3
+ declare class BilateralBlurNode extends TempNode<"vec4"> {
4
+ textureNode: TextureNode;
5
+ directionNode: Node<"vec2"> | Node<"float"> | null;
6
+ sigma: number;
7
+ sigmaColor: number;
8
+
9
+ constructor(
10
+ textureNode: TextureNode,
11
+ directionNode?: Node<"vec2"> | Node<"float"> | null,
12
+ sigma?: number,
13
+ sigmaColor?: number,
14
+ );
15
+
16
+ setSize(width: number, height: number): void;
17
+ getTextureNode(): TextureNode;
18
+ }
19
+
20
+ export default BilateralBlurNode;
21
+
22
+ export const bilateralBlur: (
23
+ node: Node<"vec4">,
24
+ directionNode?: Node<"vec2"> | Node<"float">,
25
+ sigma?: number,
26
+ sigmaColor?: number,
27
+ ) => BilateralBlurNode;
@@ -1,12 +1,12 @@
1
1
  import { Node, TempNode, TextureNode, UniformNode } from "three/webgpu";
2
2
 
3
- declare class BloomNode extends TempNode {
3
+ declare class BloomNode extends TempNode<"vec4"> {
4
4
  inputNode: Node;
5
- strength: UniformNode<number>;
6
- radius: UniformNode<number>;
7
- threshold: UniformNode<number>;
5
+ strength: UniformNode<"float", number>;
6
+ radius: UniformNode<"float", number>;
7
+ threshold: UniformNode<"float", number>;
8
8
 
9
- smoothWidth: UniformNode<number>;
9
+ smoothWidth: UniformNode<"float", number>;
10
10
 
11
11
  constructor(inputNode: Node, strength?: number, radius?: number, threshold?: number);
12
12
 
@@ -0,0 +1,22 @@
1
+ import { Node } from "three/webgpu";
2
+
3
+ export const barrelUV: (curvature?: Node<"float">, coord?: Node<"vec2">) => Node<"vec2">;
4
+
5
+ export const barrelMast: (coord: Node<"vec2">) => Node<"float">;
6
+
7
+ export const colorBleeding: (color: Node, amount?: Node<"float">) => Node<"vec3">;
8
+
9
+ export const scanlines: (
10
+ color: Node<"vec3">,
11
+ intensity?: Node<"float">,
12
+ count?: Node<"float">,
13
+ speed?: Node<"float">,
14
+ coord?: Node<"vec2">,
15
+ ) => Node<"vec3">;
16
+
17
+ export const vignette: (
18
+ color: Node<"vec3">,
19
+ intensity?: Node<"float">,
20
+ smoothness?: Node<"float"> | number,
21
+ coord?: Node<"vec2">,
22
+ ) => Node<"vec3">;
@@ -7,11 +7,11 @@ declare class DenoiseNode extends TempNode {
7
7
 
8
8
  noiseNode: Node;
9
9
 
10
- lumaPhi: UniformNode<number>;
11
- depthPhi: UniformNode<number>;
12
- normalPhi: UniformNode<number>;
13
- radius: UniformNode<number>;
14
- index: UniformNode<number>;
10
+ lumaPhi: UniformNode<"float", number>;
11
+ depthPhi: UniformNode<"float", number>;
12
+ normalPhi: UniformNode<"float", number>;
13
+ radius: UniformNode<"float", number>;
14
+ index: UniformNode<"float", number>;
15
15
 
16
16
  constructor(textureNode: Node, depthNode: Node, normalNode: Node, noiseNode: Node, camera: Camera);
17
17
  }
@@ -1,19 +1,17 @@
1
- import { Node, TempNode, UniformNode, Vector2 } from "three/webgpu";
1
+ import { Node, TempNode, UniformNode } from "three/webgpu";
2
2
 
3
3
  declare class DotScreenNode extends TempNode {
4
4
  inputNode: Node;
5
- center: UniformNode<Vector2>;
6
- angle: UniformNode<number>;
7
- scale: UniformNode<number>;
5
+ angle: UniformNode<"float", number>;
6
+ scale: UniformNode<"float", number>;
8
7
 
9
- constructor(inputNode: Node, center?: Vector2, angle?: number, scale?: number);
8
+ constructor(inputNode: Node, angle?: number, scale?: number);
10
9
  }
11
10
 
12
11
  export default DotScreenNode;
13
12
 
14
13
  export const dotScreen: (
15
14
  node: Node,
16
- center?: Vector2,
17
15
  angle?: number,
18
16
  scale?: number,
19
17
  ) => DotScreenNode;
@@ -1,18 +1,18 @@
1
1
  import { Camera, Node, TempNode, TextureNode, UniformNode, Vector2 } from "three/webgpu";
2
2
 
3
- declare class GTAONode extends TempNode {
3
+ declare class GTAONode extends TempNode<"float"> {
4
4
  depthNode: Node;
5
5
  normalNode: Node;
6
6
 
7
7
  resolutionScale: number;
8
8
 
9
- radius: UniformNode<number>;
10
- resolution: UniformNode<Vector2>;
11
- thickness: UniformNode<number>;
12
- distanceExponent: UniformNode<number>;
13
- distanceFallOff: UniformNode<number>;
14
- scale: UniformNode<number>;
15
- samples: UniformNode<number>;
9
+ radius: UniformNode<"float", number>;
10
+ resolution: UniformNode<"vec2", Vector2>;
11
+ thickness: UniformNode<"float", number>;
12
+ distanceExponent: UniformNode<"float", number>;
13
+ distanceFallOff: UniformNode<"float", number>;
14
+ scale: UniformNode<"float", number>;
15
+ samples: UniformNode<"float", number>;
16
16
 
17
17
  useTemporalFiltering: boolean;
18
18
 
@@ -2,10 +2,10 @@ import { Node, TempNode, TextureNode, Vector2 } from "three/webgpu";
2
2
 
3
3
  export interface GaussianBlurNodeOptions {
4
4
  premultipliedAlpha?: boolean | undefined;
5
- resolution?: Vector2 | undefined;
5
+ resolutionScale?: number | undefined;
6
6
  }
7
7
 
8
- declare class GaussianBlurNode extends TempNode {
8
+ declare class GaussianBlurNode extends TempNode<"vec4"> {
9
9
  textureNode: TextureNode;
10
10
  directionNode: Node | null;
11
11
  sigma: number;
@@ -14,6 +14,8 @@ declare class GaussianBlurNode extends TempNode {
14
14
 
15
15
  premultipliedAlpha: boolean;
16
16
 
17
+ readonly isGaussianBlurNode: boolean;
18
+
17
19
  constructor(
18
20
  textureNode: TextureNode,
19
21
  directionNode?: Node | null,
@@ -0,0 +1,20 @@
1
+ import { Camera, DirectionalLight, PointLight, TempNode, TextureNode, UniformNode } from "three/webgpu";
2
+
3
+ declare class GodraysNode extends TempNode<"vec4"> {
4
+ depthNode: TextureNode;
5
+
6
+ raymarchSteps: UniformNode<"uint", number>;
7
+ density: UniformNode<"float", number>;
8
+ maxDensity: UniformNode<"float", number>;
9
+ distanceAttenuation: UniformNode<"float", number>;
10
+ resolutionScale: number;
11
+
12
+ constructor(depthNode: TextureNode, camera: Camera, light: DirectionalLight | PointLight);
13
+
14
+ getTextureNode(): TextureNode;
15
+ setSize(width: number, height: number): void;
16
+ }
17
+
18
+ export default GodraysNode;
19
+
20
+ export const godrays: (depthNode: TextureNode, camera: Camera, light: DirectionalLight | PointLight) => GodraysNode;