@types/three 0.181.0 → 0.183.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 (351) hide show
  1. three/README.md +1 -1
  2. three/examples/jsm/Addons.d.ts +0 -3
  3. three/examples/jsm/controls/ArcballControls.d.ts +1 -1
  4. three/examples/jsm/controls/DragControls.d.ts +1 -1
  5. three/examples/jsm/controls/FirstPersonControls.d.ts +1 -1
  6. three/examples/jsm/controls/FlyControls.d.ts +1 -1
  7. three/examples/jsm/controls/OrbitControls.d.ts +40 -1
  8. three/examples/jsm/controls/PointerLockControls.d.ts +1 -1
  9. three/examples/jsm/controls/TrackballControls.d.ts +1 -1
  10. three/examples/jsm/controls/TransformControls.d.ts +1 -1
  11. three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
  12. three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
  13. three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
  14. three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
  15. three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
  16. three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
  17. three/examples/jsm/inspector/ui/Item.d.ts +5 -0
  18. three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
  19. three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
  20. three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
  21. three/examples/jsm/loaders/UltraHDRLoader.d.ts +7 -0
  22. three/examples/jsm/loaders/VOXLoader.d.ts +22 -5
  23. three/examples/jsm/math/Octree.d.ts +36 -14
  24. three/examples/jsm/objects/SkyMesh.d.ts +16 -6
  25. three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
  26. three/examples/jsm/objects/WaterMesh.d.ts +6 -6
  27. three/examples/jsm/physics/AmmoPhysics.d.ts +1 -1
  28. three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
  29. three/examples/jsm/postprocessing/OutputPass.d.ts +10 -6
  30. three/examples/jsm/postprocessing/RenderPass.d.ts +15 -10
  31. three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
  32. three/examples/jsm/transpiler/AST.d.ts +17 -0
  33. three/examples/jsm/transpiler/TSLEncoder.d.ts +2 -0
  34. three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
  35. three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
  36. three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
  37. three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -1
  38. three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
  39. three/examples/jsm/tsl/display/CRT.d.ts +22 -0
  40. three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
  41. three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
  42. three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
  43. three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
  44. three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
  45. three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
  46. three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
  47. three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
  48. three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
  49. three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
  50. three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
  51. three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
  52. three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
  53. three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
  54. three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
  55. three/examples/jsm/tsl/display/SSSNode.d.ts +7 -5
  56. three/examples/jsm/tsl/display/Shape.d.ts +3 -0
  57. three/examples/jsm/tsl/display/TRAANode.d.ts +5 -0
  58. three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
  59. three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
  60. three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
  61. three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
  62. three/examples/jsm/tsl/display/radialBlur.d.ts +12 -0
  63. three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
  64. three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
  65. three/package.json +4 -4
  66. three/src/Three.Core.d.ts +1 -1
  67. three/src/Three.TSL.d.ts +20 -13
  68. three/src/Three.WebGPU.Nodes.d.ts +2 -0
  69. three/src/Three.WebGPU.d.ts +3 -0
  70. three/src/Three.d.ts +2 -2
  71. three/src/animation/AnimationClip.d.ts +1 -1
  72. three/src/animation/AnimationMixer.d.ts +42 -0
  73. three/src/animation/AnimationUtils.d.ts +3 -8
  74. three/src/animation/KeyframeTrack.d.ts +19 -5
  75. three/src/animation/PropertyMixer.d.ts +5 -4
  76. three/src/audio/Audio.d.ts +224 -157
  77. three/src/audio/AudioAnalyser.d.ts +32 -27
  78. three/src/audio/AudioContext.d.ts +12 -12
  79. three/src/audio/AudioListener.d.ts +44 -65
  80. three/src/audio/PositionalAudio.d.ts +69 -62
  81. three/src/cameras/ArrayCamera.d.ts +21 -24
  82. three/src/cameras/Camera.d.ts +14 -53
  83. three/src/cameras/CubeCamera.d.ts +32 -28
  84. three/src/cameras/OrthographicCamera.d.ts +70 -100
  85. three/src/cameras/PerspectiveCamera.d.ts +133 -146
  86. three/src/cameras/StereoCamera.d.ts +24 -30
  87. three/src/constants.d.ts +28 -2
  88. three/src/core/BufferGeometry.d.ts +3 -1
  89. three/src/core/Clock.d.ts +3 -0
  90. three/src/core/Object3D.d.ts +31 -7
  91. three/src/extras/Controls.d.ts +3 -3
  92. three/src/geometries/TorusGeometry.d.ts +22 -3
  93. three/src/helpers/ArrowHelper.d.ts +34 -50
  94. three/src/helpers/AxesHelper.d.ts +22 -36
  95. three/src/helpers/Box3Helper.d.ts +14 -25
  96. three/src/helpers/BoxHelper.d.ts +28 -39
  97. three/src/helpers/CameraHelper.d.ts +31 -52
  98. three/src/helpers/DirectionalLightHelper.d.ts +32 -53
  99. three/src/helpers/GridHelper.d.ts +15 -29
  100. three/src/helpers/HemisphereLightHelper.d.ts +26 -49
  101. three/src/helpers/PlaneHelper.d.ts +21 -33
  102. three/src/helpers/PointLightHelper.d.ts +25 -50
  103. three/src/helpers/PolarGridHelper.d.ts +19 -32
  104. three/src/helpers/SkeletonHelper.d.ts +26 -50
  105. three/src/helpers/SpotLightHelper.d.ts +28 -55
  106. three/src/lights/AmbientLight.d.ts +15 -23
  107. three/src/lights/DirectionalLight.d.ts +49 -83
  108. three/src/lights/DirectionalLightShadow.d.ts +6 -61
  109. three/src/lights/HemisphereLight.d.ts +27 -47
  110. three/src/lights/Light.d.ts +22 -56
  111. three/src/lights/LightProbe.d.ts +31 -32
  112. three/src/lights/LightShadow.d.ts +107 -91
  113. three/src/lights/PointLight.d.ts +47 -77
  114. three/src/lights/PointLightShadow.d.ts +7 -11
  115. three/src/lights/RectAreaLight.d.ts +39 -59
  116. three/src/lights/SpotLight.d.ts +78 -117
  117. three/src/lights/SpotLightShadow.d.ts +17 -59
  118. three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
  119. three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
  120. three/src/materials/Material.d.ts +1 -0
  121. three/src/materials/MeshLambertMaterial.d.ts +6 -0
  122. three/src/materials/MeshPhongMaterial.d.ts +6 -0
  123. three/src/materials/ShaderMaterial.d.ts +18 -3
  124. three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
  125. three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
  126. three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
  127. three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
  128. three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
  129. three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
  130. three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
  131. three/src/materials/nodes/NodeMaterial.d.ts +15 -2
  132. three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
  133. three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
  134. three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
  135. three/src/math/Color.d.ts +1 -0
  136. three/src/math/Vector3.d.ts +2 -2
  137. three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
  138. three/src/nodes/Nodes.d.ts +55 -35
  139. three/src/nodes/TSL.d.ts +6 -6
  140. three/src/nodes/accessors/Arrays.d.ts +19 -10
  141. three/src/nodes/accessors/BufferAttributeNode.d.ts +108 -41
  142. three/src/nodes/accessors/BufferNode.d.ts +21 -7
  143. three/src/nodes/accessors/Camera.d.ts +10 -10
  144. three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
  145. three/src/nodes/accessors/InstanceNode.d.ts +13 -6
  146. three/src/nodes/accessors/Lights.d.ts +9 -6
  147. three/src/nodes/accessors/MaterialNode.d.ts +1 -3
  148. three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
  149. three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
  150. three/src/nodes/accessors/ModelNode.d.ts +34 -17
  151. three/src/nodes/accessors/MorphNode.d.ts +1 -1
  152. three/src/nodes/accessors/Normal.d.ts +13 -15
  153. three/src/nodes/accessors/Object3DNode.d.ts +35 -16
  154. three/src/nodes/accessors/Position.d.ts +9 -7
  155. three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
  156. three/src/nodes/accessors/ReflectVector.d.ts +4 -5
  157. three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
  158. three/src/nodes/accessors/SceneProperties.d.ts +5 -0
  159. three/src/nodes/accessors/SkinningNode.d.ts +5 -3
  160. three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
  161. three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
  162. three/src/nodes/accessors/Tangent.d.ts +5 -7
  163. three/src/nodes/accessors/Texture3DNode.d.ts +13 -1
  164. three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
  165. three/src/nodes/accessors/TextureNode.d.ts +19 -18
  166. three/src/nodes/accessors/UV.d.ts +1 -1
  167. three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
  168. three/src/nodes/accessors/UserDataNode.d.ts +1 -1
  169. three/src/nodes/accessors/VelocityNode.d.ts +3 -3
  170. three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
  171. three/src/nodes/code/FunctionCallNode.d.ts +0 -1
  172. three/src/nodes/code/FunctionNode.d.ts +7 -3
  173. three/src/nodes/core/ArrayNode.d.ts +2 -3
  174. three/src/nodes/core/AttributeNode.d.ts +12 -6
  175. three/src/nodes/core/BypassNode.d.ts +2 -3
  176. three/src/nodes/core/ConstNode.d.ts +10 -3
  177. three/src/nodes/core/ContextNode.d.ts +32 -21
  178. three/src/nodes/core/IndexNode.d.ts +1 -1
  179. three/src/nodes/core/InputNode.d.ts +12 -4
  180. three/src/nodes/core/InspectorNode.d.ts +2 -3
  181. three/src/nodes/core/IsolateNode.d.ts +2 -7
  182. three/src/nodes/core/MRTNode.d.ts +7 -0
  183. three/src/nodes/core/Node.d.ts +258 -39
  184. three/src/nodes/core/NodeAttribute.d.ts +30 -5
  185. three/src/nodes/core/NodeBuilder.d.ts +5 -3
  186. three/src/nodes/core/NodeCache.d.ts +24 -48
  187. three/src/nodes/core/NodeError.d.ts +9 -0
  188. three/src/nodes/core/NodeParser.d.ts +2 -0
  189. three/src/nodes/core/NodeUniform.d.ts +33 -9
  190. three/src/nodes/core/NodeUtils.d.ts +1 -1
  191. three/src/nodes/core/NodeVar.d.ts +33 -5
  192. three/src/nodes/core/NodeVarying.d.ts +32 -4
  193. three/src/nodes/core/ParameterNode.d.ts +11 -4
  194. three/src/nodes/core/PropertyNode.d.ts +45 -33
  195. three/src/nodes/core/StackTrace.d.ts +9 -0
  196. three/src/nodes/core/StructType.d.ts +3 -1
  197. three/src/nodes/core/StructTypeNode.d.ts +19 -5
  198. three/src/nodes/core/TempNode.d.ts +9 -3
  199. three/src/nodes/core/UniformNode.d.ts +53 -15
  200. three/src/nodes/core/VarNode.d.ts +15 -14
  201. three/src/nodes/core/VaryingNode.d.ts +14 -19
  202. three/src/nodes/core/constants.d.ts +9 -4
  203. three/src/nodes/display/BlendModes.d.ts +7 -27
  204. three/src/nodes/display/ColorAdjustment.d.ts +8 -9
  205. three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
  206. three/src/nodes/display/FrontFacingNode.d.ts +1 -1
  207. three/src/nodes/display/NormalMapNode.d.ts +3 -1
  208. three/src/nodes/display/PassNode.d.ts +16 -4
  209. three/src/nodes/display/RenderOutputNode.d.ts +3 -7
  210. three/src/nodes/display/ScreenNode.d.ts +25 -17
  211. three/src/nodes/display/ToneMappingNode.d.ts +3 -7
  212. three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
  213. three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
  214. three/src/nodes/fog/Fog.d.ts +5 -3
  215. three/src/nodes/functions/BSDF/DFGLUT.d.ts +12 -0
  216. three/src/nodes/functions/PhysicalLightingModel.d.ts +8 -1
  217. three/src/nodes/geometry/RangeNode.d.ts +51 -9
  218. three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
  219. three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
  220. three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
  221. three/src/nodes/lighting/AnalyticLightNode.d.ts +3 -1
  222. three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
  223. three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
  224. three/src/nodes/lighting/LightUtils.d.ts +1 -1
  225. three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
  226. three/src/nodes/lighting/PointShadowNode.d.ts +11 -15
  227. three/src/nodes/lighting/ShadowFilterNode.d.ts +2 -0
  228. three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
  229. three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
  230. three/src/nodes/math/BitcountNode.d.ts +23 -0
  231. three/src/nodes/math/ConditionalNode.d.ts +43 -22
  232. three/src/nodes/math/Hash.d.ts +1 -1
  233. three/src/nodes/math/MathNode.d.ts +603 -267
  234. three/src/nodes/math/MathUtils.d.ts +9 -5
  235. three/src/nodes/math/OperatorNode.d.ts +490 -227
  236. three/src/nodes/math/PackFloatNode.d.ts +19 -0
  237. three/src/nodes/math/TriNoise3D.d.ts +3 -3
  238. three/src/nodes/math/UnpackFloatNode.d.ts +18 -0
  239. three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
  240. three/src/nodes/procedural/Checker.d.ts +1 -1
  241. three/src/nodes/tsl/TSLCore.d.ts +1683 -224
  242. three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
  243. three/src/nodes/utils/DebugNode.d.ts +2 -5
  244. three/src/nodes/utils/Discard.d.ts +2 -3
  245. three/src/nodes/utils/FlipNode.d.ts +11 -0
  246. three/src/nodes/utils/LoopNode.d.ts +17 -13
  247. three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
  248. three/src/nodes/utils/Oscillators.d.ts +4 -4
  249. three/src/nodes/utils/Packing.d.ts +3 -2
  250. three/src/nodes/utils/PostProcessingUtils.d.ts +6 -4
  251. three/src/nodes/utils/RemapNode.d.ts +33 -39
  252. three/src/nodes/utils/RotateNode.d.ts +17 -8
  253. three/src/nodes/utils/SplitNode.d.ts +1 -2
  254. three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
  255. three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
  256. three/src/nodes/utils/Timer.d.ts +4 -4
  257. three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
  258. three/src/nodes/utils/UVUtils.d.ts +8 -3
  259. three/src/objects/BatchedMesh.d.ts +6 -4
  260. three/src/objects/InstancedMesh.d.ts +32 -24
  261. three/src/objects/LOD.d.ts +1 -1
  262. three/src/objects/Skeleton.d.ts +4 -2
  263. three/src/renderers/WebGLRenderer.d.ts +25 -96
  264. three/src/renderers/common/Animation.d.ts +46 -9
  265. three/src/renderers/common/Attributes.d.ts +11 -13
  266. three/src/renderers/common/Backend.d.ts +0 -2
  267. three/src/renderers/common/Background.d.ts +17 -15
  268. three/src/renderers/common/BindGroup.d.ts +27 -13
  269. three/src/renderers/common/Binding.d.ts +21 -3
  270. three/src/renderers/common/Bindings.d.ts +41 -17
  271. three/src/renderers/common/BlendMode.d.ts +22 -0
  272. three/src/renderers/common/Buffer.d.ts +53 -5
  273. three/src/renderers/common/BufferUtils.d.ts +3 -4
  274. three/src/renderers/common/BundleGroup.d.ts +16 -6
  275. three/src/renderers/common/CanvasTarget.d.ts +76 -13
  276. three/src/renderers/common/ChainMap.d.ts +18 -8
  277. three/src/renderers/common/ClippingContext.d.ts +61 -10
  278. three/src/renderers/common/Color4.d.ts +10 -5
  279. three/src/renderers/common/ComputePipeline.d.ts +16 -2
  280. three/src/renderers/common/Constants.d.ts +5 -3
  281. three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
  282. three/src/renderers/common/DataMap.d.ts +10 -18
  283. three/src/renderers/common/Geometries.d.ts +45 -19
  284. three/src/renderers/common/Info.d.ts +62 -9
  285. three/src/renderers/common/InspectorBase.d.ts +19 -7
  286. three/src/renderers/common/Lighting.d.ts +2 -6
  287. three/src/renderers/common/Pipeline.d.ts +14 -2
  288. three/src/renderers/common/Pipelines.d.ts +58 -60
  289. three/src/renderers/common/PostProcessing.d.ts +14 -17
  290. three/src/renderers/common/ProgrammableStage.d.ts +48 -8
  291. three/src/renderers/common/RenderBundle.d.ts +4 -2
  292. three/src/renderers/common/RenderBundles.d.ts +6 -3
  293. three/src/renderers/common/RenderContext.d.ts +175 -7
  294. three/src/renderers/common/RenderContexts.d.ts +21 -24
  295. three/src/renderers/common/RenderList.d.ts +77 -11
  296. three/src/renderers/common/RenderLists.d.ts +16 -4
  297. three/src/renderers/common/RenderObject.d.ts +229 -47
  298. three/src/renderers/common/{RenderPipeline.d.ts → RenderObjectPipeline.d.ts} +17 -5
  299. three/src/renderers/common/RenderObjects.d.ts +55 -22
  300. three/src/renderers/common/Renderer.d.ts +645 -216
  301. three/src/renderers/common/Textures.d.ts +24 -46
  302. three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
  303. three/src/renderers/common/Uniform.d.ts +143 -58
  304. three/src/renderers/common/UniformBuffer.d.ts +7 -5
  305. three/src/renderers/common/UniformsGroup.d.ts +51 -35
  306. three/src/renderers/common/XRManager.d.ts +321 -83
  307. three/src/renderers/common/XRRenderTarget.d.ts +49 -6
  308. three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
  309. three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
  310. three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
  311. three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
  312. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
  313. three/src/renderers/shaders/ShaderLib.d.ts +1 -1
  314. three/src/renderers/shaders/UniformsLib.d.ts +0 -3
  315. three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
  316. three/src/renderers/webgl/WebGLCapabilities.d.ts +2 -2
  317. three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
  318. three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
  319. three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
  320. three/src/renderers/webgl/WebGLLights.d.ts +19 -18
  321. three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
  322. three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
  323. three/src/renderers/webgl/WebGLPrograms.d.ts +2 -3
  324. three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
  325. three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
  326. three/src/renderers/webgl/WebGLState.d.ts +305 -28
  327. three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
  328. three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
  329. three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
  330. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
  331. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
  332. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
  333. three/src/scenes/Fog.d.ts +31 -37
  334. three/src/scenes/FogExp2.d.ts +26 -31
  335. three/src/scenes/Scene.d.ts +51 -65
  336. three/src/textures/CompressedArrayTexture.d.ts +1 -1
  337. three/src/textures/CubeDepthTexture.d.ts +41 -0
  338. three/src/textures/CubeTexture.d.ts +4 -4
  339. three/src/textures/DataArrayTexture.d.ts +1 -1
  340. three/src/utils.d.ts +18 -1
  341. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
  342. three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
  343. three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
  344. three/src/nodes/accessors/SceneNode.d.ts +0 -21
  345. three/src/nodes/code/ScriptableNode.d.ts +0 -21
  346. three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
  347. three/src/nodes/display/PosterizeNode.d.ts +0 -13
  348. three/src/nodes/functions/BSDF/DFGApprox.d.ts +0 -10
  349. three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
  350. three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
  351. three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
@@ -2,81 +2,61 @@ import { ColorRepresentation } from "../math/Color.js";
2
2
  import { Light } from "./Light.js";
3
3
 
4
4
  /**
5
- * {@link RectAreaLight} emits light uniformly across the face a rectangular plane
6
- * @remarks
7
- * This light type can be used to simulate light sources such as bright windows or strip lighting.
5
+ * This class emits light uniformly across the face a rectangular plane.
6
+ * This light type can be used to simulate light sources such as bright
7
+ * windows or strip lighting.
8
+ *
8
9
  * Important Notes:
9
- * - There is no shadow support.
10
- * - Only {@link MeshStandardMaterial | MeshStandardMaterial} and {@link MeshPhysicalMaterial | MeshPhysicalMaterial} are supported.
11
- * - You have to include {@link https://threejs.org/examples/jsm/lights/RectAreaLightUniformsLib.js | RectAreaLightUniformsLib} into your scene and call `init()`.
12
- * @example
13
- * ```typescript
14
- * const width = 10;
15
- * const height = 10;
16
- * const intensity = 1;
17
- * const rectLight = new THREE.RectAreaLight(0xffffff, intensity, width, height);
18
- * rectLight.position.set(5, 5, 0);
19
- * rectLight.lookAt(0, 0, 0);
20
- * scene.add(rectLight)
21
- * const rectLightHelper = new RectAreaLightHelper(rectLight);
22
- * rectLight.add(rectLightHelper);
10
+ *
11
+ * - There is no shadow support.
12
+ * - Only PBR materials are supported.
13
+ * - You have to include `RectAreaLightUniformsLib` (`WebGLRenderer`) or `RectAreaLightTexturesLib` (`WebGPURenderer`)
14
+ * into your app and init the uniforms/textures.
15
+ *
16
+ * ```js
17
+ * RectAreaLightUniformsLib.init(); // only relevant for WebGLRenderer
18
+ * THREE.RectAreaLightNode.setLTC( RectAreaLightTexturesLib.init() ); // only relevant for WebGPURenderer
19
+ *
20
+ * const intensity = 1; const width = 10; const height = 10;
21
+ * const rectLight = new THREE.RectAreaLight( 0xffffff, intensity, width, height );
22
+ * rectLight.position.set( 5, 5, 0 );
23
+ * rectLight.lookAt( 0, 0, 0 );
24
+ * scene.add( rectLight )
23
25
  * ```
24
- * @see Example: {@link https://threejs.org/examples/#webgl_lights_rectarealight | WebGL / {@link RectAreaLight} }
25
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/RectAreaLight | Official Documentation}
26
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/RectAreaLight.js | Source}
27
26
  */
28
- export class RectAreaLight extends Light<undefined> {
27
+ export class RectAreaLight extends Light {
29
28
  /**
30
- * Creates a new {@link RectAreaLight}.
31
- * @param color Hexadecimal color of the light. Default `0xffffff` _(white)_.
32
- * @param intensity The light's intensity, or brightness. Expects a `Float`. Default `1`
33
- * @param width Width of the light. Expects a `Float`. Default `10`
34
- * @param height Height of the light. Expects a `Float`. Default `10`
29
+ * Constructs a new area light.
30
+ *
31
+ * @param {(number|Color|string)} [color=0xffffff] - The light's color.
32
+ * @param {number} [intensity=1] - The light's strength/intensity.
33
+ * @param {number} [width=10] - The width of the light.
34
+ * @param {number} [height=10] - The height of the light.
35
35
  */
36
36
  constructor(color?: ColorRepresentation, intensity?: number, width?: number, height?: number);
37
-
38
37
  /**
39
- * Read-only flag to check if a given object is of type {@link RectAreaLight}.
40
- * @remarks This is a _constant_ value
41
- * @defaultValue `true`
38
+ * This flag can be used for type testing.
39
+ *
40
+ * @default true
42
41
  */
43
- readonly isRectAreaLight: true;
44
-
45
- /**
46
- * A Read-only _string_ to check if `this` object type.
47
- * @remarks Sub-classes will update this value.
48
- * @defaultValue `RectAreaLight`
49
- */
50
- override readonly type: string | "RectAreaLight";
51
-
42
+ readonly isRectAreaLight: boolean;
52
43
  /**
53
44
  * The width of the light.
54
- * @remarks Expects a `Float`
55
- * @defaultValue `10`
45
+ *
46
+ * @default 10
56
47
  */
57
48
  width: number;
58
-
59
49
  /**
60
50
  * The height of the light.
61
- * @remarks Expects a `Float`
62
- * @defaultValue `10`
51
+ *
52
+ * @default 10
63
53
  */
64
54
  height: number;
65
-
66
- /**
67
- * The light's intensity.
68
- * @remarks Changing the intensity will also change the light's power.
69
- * When **{@link WebGLRenderer.useLegacyLights | legacy lighting mode} is disabled** — intensity is the luminance (brightness) of the light measured in nits (cd/m^2).
70
- * @remarks Expects a `Float`
71
- * @defaultValue `1`
72
- */
73
- intensity: number;
74
-
55
+ set power(power: number);
75
56
  /**
76
- * The light's power.
77
- * @remarks Changing the power will also change the light's intensity.
78
- * When **{@link WebGLRenderer.useLegacyLights | legacy lighting mode} is disabled** — power is the luminous power of the light measured in lumens (lm).
79
- * @remarks Expects a `Float`
57
+ * The light's power. Power is the luminous power of the light measured in lumens (lm).
58
+ * Changing the power will also change the light's intensity.
80
59
  */
81
- power: number;
60
+ get power(): number;
61
+ copy(source: RectAreaLight): this;
82
62
  }
@@ -1,40 +1,52 @@
1
- import { Object3D } from "../core/Object3D.js";
1
+ import { JSONMeta, Object3D } from "../core/Object3D.js";
2
2
  import { ColorRepresentation } from "../math/Color.js";
3
- import { Vector3 } from "../math/Vector3.js";
4
3
  import { Texture } from "../textures/Texture.js";
5
- import { Light } from "./Light.js";
4
+ import { Light, LightJSON } from "./Light.js";
5
+ import { LightShadowJSON } from "./LightShadow.js";
6
6
  import { SpotLightShadow } from "./SpotLightShadow.js";
7
7
 
8
+ export interface SpotLightJSON extends LightJSON {
9
+ distance: number;
10
+ angle: number;
11
+ decay: number;
12
+ penumbra: number;
13
+
14
+ target: string;
15
+ map?: string | undefined;
16
+
17
+ shadow: LightShadowJSON;
18
+ }
19
+
8
20
  /**
9
- * This light gets emitted from a single point in one direction, along a cone that increases in size the further from the light it gets.
10
- * @example
11
- * ```typescript
12
- * // white {@link SpotLight} shining from the side, modulated by a texture, casting a shadow
13
- * const {@link SpotLight} = new THREE.SpotLight(0xffffff);
14
- * spotLight.position.set(100, 1000, 100);
15
- * spotLight.map = new THREE.TextureLoader().load(url);
21
+ * This light gets emitted from a single point in one direction, along a cone
22
+ * that increases in size the further from the light it gets.
23
+ *
24
+ * This light can cast shadows - see the {@link SpotLightShadow} for details.
25
+ *
26
+ * ```js
27
+ * // white spotlight shining from the side, modulated by a texture
28
+ * const spotLight = new THREE.SpotLight( 0xffffff );
29
+ * spotLight.position.set( 100, 1000, 100 );
30
+ * spotLight.map = new THREE.TextureLoader().load( url );
31
+ *
16
32
  * spotLight.castShadow = true;
17
33
  * spotLight.shadow.mapSize.width = 1024;
18
34
  * spotLight.shadow.mapSize.height = 1024;
19
35
  * spotLight.shadow.camera.near = 500;
20
36
  * spotLight.shadow.camera.far = 4000;
21
- * spotLight.shadow.camera.fov = 30;
22
- * scene.add(spotLight);
37
+ * spotLight.shadow.camera.fov = 30;s
23
38
  * ```
24
- * @see Example: {@link https://threejs.org/examples/#webgl_lights_spotlight | lights / {@link SpotLight} }
25
- * @see Example: {@link https://threejs.org/examples/#webgl_lights_spotlights | lights / spotlights }
26
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/SpotLight | Official Documentation}
27
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/SpotLight.js | Source}
28
39
  */
29
- export class SpotLight extends Light<SpotLightShadow> {
40
+ export class SpotLight extends Light {
30
41
  /**
31
- * Creates a new SpotLight.
32
- * @param color Hexadecimal color of the light. Default `0xffffff` _(white)_.
33
- * @param intensity Numeric value of the light's strength/intensity. Expects a `Float`. Default `1`.
34
- * @param distance Maximum range of the light. Default is 0 (no limit). Expects a `Float`.
35
- * @param angle Maximum angle of light dispersion from its direction whose upper bound is Math.PI/2.
36
- * @param penumbra Percent of the {@link SpotLight} cone that is attenuated due to penumbra. Takes values between zero and 1. Expects a `Float`. Default `0`.
37
- * @param decay The amount the light dims along the distance of the light. Expects a `Float`. Default `2`.
42
+ * Constructs a new spot light.
43
+ *
44
+ * @param {(number|Color|string)} [color=0xffffff] - The light's color.
45
+ * @param {number} [intensity=1] - The light's strength/intensity measured in candela (cd).
46
+ * @param {number} [distance=0] - Maximum range of the light. `0` means no limit.
47
+ * @param {number} [angle=Math.PI/3] - Maximum angle of light dispersion from its direction whose upper bound is `Math.PI/2`.
48
+ * @param {number} [penumbra=0] - Percent of the spotlight cone that is attenuated due to penumbra. Value range is `[0,1]`.
49
+ * @param {number} [decay=2] - The amount the light dims along the distance of the light.
38
50
  */
39
51
  constructor(
40
52
  color?: ColorRepresentation,
@@ -44,121 +56,70 @@ export class SpotLight extends Light<SpotLightShadow> {
44
56
  penumbra?: number,
45
57
  decay?: number,
46
58
  );
47
-
48
- /**
49
- * Read-only flag to check if a given object is of type {@link SpotLight}.
50
- * @remarks This is a _constant_ value
51
- * @defaultValue `true`
52
- */
53
- readonly isSpotLight: true;
54
-
55
59
  /**
56
- * A Read-only _string_ to check if `this` object type.
57
- * @remarks Sub-classes will update this value.
58
- * @defaultValue `SpotLight`
60
+ * This flag can be used for type testing.
61
+ *
62
+ * @default true
59
63
  */
60
- override readonly type: string | "SpotLight";
61
-
64
+ readonly isSpotLight: boolean;
62
65
  /**
63
- * This is set equal to {@link THREE.Object3D.DEFAULT_UP | Object3D.DEFAULT_UP} (0, 1, 0), so that the light shines from the top down.
64
- * @defaultValue `{@link Object3D.DEFAULT_UP}`
65
- */
66
- readonly position: Vector3;
67
-
68
- /**
69
- * The {@link SpotLight} points from its {@link SpotLight.position | position} to target.position.
70
- * @remarks
71
- * **Note**: For the target's position to be changed to anything other than the default,
72
- * it must be added to the {@link Scene | scene} using
66
+ * The spot light points from its position to the
67
+ * target's position.
73
68
  *
74
- * ```typescript
75
- * scene.add( light.target );
76
- * ```
69
+ * For the target's position to be changed to anything other
70
+ * than the default, it must be added to the scene.
77
71
  *
78
- * This is so that the target's {@link Object3D.matrixWorld | matrixWorld} gets automatically updated each frame.
79
- * It is also possible to set the target to be another object in the scene (anything with a {@link THREE.Object3D.position | position} property), like so:
80
- * ```typescript
81
- * const targetObject = new THREE.Object3D();
82
- * scene.add(targetObject);
83
- * light.target = targetObject;
84
- * ```
85
- * The {@link SpotLight} will now track the target object.
86
- * @defaultValue `new THREE.Object3D()` _The default position of the target is *(0, 0, 0)*._
72
+ * It is also possible to set the target to be another 3D object
73
+ * in the scene. The light will now track the target object.
87
74
  */
88
75
  target: Object3D;
89
-
90
- /**
91
- * If set to `true` light will cast dynamic shadows.
92
- * @remarks **Warning**: This is expensive and requires tweaking to get shadows looking right. the {@link THREE.SpotLightShadow | SpotLightShadow} for details.
93
- * @defaultValue `false`
94
- */
95
- override castShadow: boolean;
96
-
97
76
  /**
98
- * The light's intensity.
99
- * @remarks Changing the intensity will also change the light's power.
100
- * When **{@link WebGLRenderer.useLegacyLights | legacy lighting mode} is disabled** — intensity is the luminous intensity of the light measured in candela (cd).
101
- * @remarks Expects a `Float`
102
- * @defaultValue `1`
103
- */
104
- intensity: number;
105
-
106
- /**
107
- * When **Default mode** — When distance is zero, light does not attenuate. When distance is non-zero,
108
- * light will attenuate linearly from maximum intensity at the light's position down to zero at this distance from the light.
77
+ * Maximum range of the light. `0` means no limit.
109
78
  *
110
- * When **{@link WebGLRenderer.useLegacyLights | legacy lighting mode} is disabled** — When distance is zero,
111
- * light will attenuate according to inverse-square law to infinite distance.
112
- * When distance is non-zero, light will attenuate according to inverse-square law until near the distance cutoff,
113
- * where it will then attenuate quickly and smoothly to `0`. Inherently, cutoffs are not physically correct.
114
- * @remarks Expects a `Float`
115
- * @defaultValue `0.0`
79
+ * @default 0
116
80
  */
117
81
  distance: number;
118
-
119
82
  /**
120
- * Maximum extent of the spotlight, in radians, from its direction.
121
- * @remarks Should be no more than `Math.PI/2`.
122
- * @remarks Expects a `Float`
123
- * @defaultValue `Math.PI / 3`
83
+ * Maximum angle of light dispersion from its direction whose upper bound is `Math.PI/2`.
84
+ *
85
+ * @default Math.PI/3
124
86
  */
125
87
  angle: number;
126
-
127
88
  /**
128
- * The amount the light dims along the distance of the light.
129
- * In context of physically-correct rendering the default value should not be changed.
130
- * @remarks Expects a `Float`
131
- * @defaultValue `2`
89
+ * Percent of the spotlight cone that is attenuated due to penumbra.
90
+ * Value range is `[0,1]`.
91
+ *
92
+ * @default 0
132
93
  */
133
- decay: number;
134
-
94
+ penumbra: number;
135
95
  /**
136
- * A {@link THREE.SpotLightShadow | SpotLightShadow} used to calculate shadows for this light.
137
- * @defaultValue `new THREE.SpotLightShadow()`
96
+ * The amount the light dims along the distance of the light. In context of
97
+ * physically-correct rendering the default value should not be changed.
98
+ *
99
+ * @default 2
138
100
  */
139
- shadow: SpotLightShadow;
140
-
101
+ decay: number;
141
102
  /**
142
- * The light's power.
143
- * @remarks Changing the power will also change the light's intensity.
144
- * When **{@link WebGLRenderer.useLegacyLights | legacy lighting mode} is disabled** — power is the luminous power of the light measured in lumens (lm).
145
- * @remarks Expects a `Float`
103
+ * A texture used to modulate the color of the light. The spot light
104
+ * color is mixed with the RGB value of this texture, with a ratio
105
+ * corresponding to its alpha value. The cookie-like masking effect is
106
+ * reproduced using pixel values (0, 0, 0, 1-cookie_value).
107
+ *
108
+ * *Warning*: This property is disabled if {@link Object3D#castShadow} is set to `false`.
109
+ *
110
+ * @default null
146
111
  */
147
- power: number;
148
-
112
+ map: Texture | null;
149
113
  /**
150
- * Percent of the {@link SpotLight} cone that is attenuated due to penumbra.
151
- * @remarks Takes values between zero and 1.
152
- * @remarks Expects a `Float`
153
- * @defaultValue `0.0`
114
+ * This property holds the light's shadow configuration.
154
115
  */
155
- penumbra: number;
156
-
116
+ shadow: SpotLightShadow;
117
+ set power(power: number);
157
118
  /**
158
- * A {@link THREE.Texture | Texture} used to modulate the color of the light.
159
- * The spot light color is mixed with the _RGB_ value of this texture, with a ratio corresponding to its alpha value.
160
- * The cookie-like masking effect is reproduced using pixel values (0, 0, 0, 1-cookie_value).
161
- * @remarks **Warning**: {@link SpotLight.map} is disabled if {@link SpotLight.castShadow} is `false`.
119
+ * The light's power. Power is the luminous power of the light measured in lumens (lm).
120
+ * Changing the power will also change the light's intensity.
162
121
  */
163
- map: Texture | null;
122
+ get power(): number;
123
+ copy(source: SpotLight, recursive?: boolean): this;
124
+ toJSON(meta?: JSONMeta): SpotLightJSON;
164
125
  }
@@ -2,73 +2,31 @@ import { PerspectiveCamera } from "../cameras/PerspectiveCamera.js";
2
2
  import { LightShadow } from "./LightShadow.js";
3
3
 
4
4
  /**
5
- * This is used internally by {@link SpotLight | SpotLights} for calculating shadows.
6
- * @example
7
- * ```typescript
8
- * //Create a WebGLRenderer and turn on shadows in the renderer
9
- * const renderer = new THREE.WebGLRenderer();
10
- * renderer.shadowMap.enabled = true;
11
- * renderer.shadowMap.type = THREE.PCFSoftShadowMap; // default THREE.PCFShadowMap
12
- * //Create a SpotLight and turn on shadows for the light
13
- * const light = new THREE.SpotLight(0xffffff);
14
- * light.castShadow = true; // default false
15
- * scene.add(light);
16
- * //Set up shadow properties for the light
17
- * light.shadow.mapSize.width = 512; // default
18
- * light.shadow.mapSize.height = 512; // default
19
- * light.shadow.camera.near = 0.5; // default
20
- * light.shadow.camera.far = 500; // default
21
- * light.shadow.focus = 1; // default
22
- * //Create a sphere that cast shadows (but does not receive them)
23
- * const sphereGeometry = new THREE.SphereGeometry(5, 32, 32);
24
- * const sphereMaterial = new THREE.MeshStandardMaterial({
25
- * color: 0xff0000
26
- * });
27
- * const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial);
28
- * sphere.castShadow = true; //default is false
29
- * sphere.receiveShadow = false; //default
30
- * scene.add(sphere);
31
- * //Create a plane that receives shadows (but does not cast them)
32
- * const planeGeometry = new THREE.PlaneGeometry(20, 20, 32, 32);
33
- * const planeMaterial = new THREE.MeshStandardMaterial({
34
- * color: 0x00ff00
35
- * })
36
- * const plane = new THREE.Mesh(planeGeometry, planeMaterial);
37
- * plane.receiveShadow = true;
38
- * scene.add(plane);
39
- * //Create a helper for the shadow camera (optional)
40
- * const helper = new THREE.CameraHelper(light.shadow.camera);
41
- * scene.add(helper);
42
- * ```
43
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/shadows/SpotLightShadow | Official Documentation}
44
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/SpotLightShadow.js | Source}
5
+ * Represents the shadow configuration of directional lights.
45
6
  */
46
7
  export class SpotLightShadow extends LightShadow<PerspectiveCamera> {
47
8
  /**
48
- * Read-only flag to check if a given object is of type {@link SpotLightShadow}.
49
- * @remarks This is a _constant_ value
50
- * @defaultValue `true`
9
+ * Constructs a new spot light shadow.
51
10
  */
52
- readonly isSpotLightShadow: true;
53
-
11
+ constructor();
54
12
  /**
55
- * The light's view of the world.
56
- * @remarks This is used to generate a depth map of the scene; objects behind other objects from the light's perspective will be in shadow.
57
- * @remarks
58
- * The {@link THREE.PerspectiveCamera.fov | fov} will track the {@link THREE.SpotLight.angle | angle} property
59
- * of the owning {@link SpotLight | SpotLight} via the {@link SpotLightShadow.update | update} method.
60
- * Similarly, the {@link THREE.PerspectiveCamera.aspect | aspect} property will track the aspect of the {@link LightShadow.mapSize | mapSize}.
61
- * If the {@link SpotLight.distance | distance} property of the light is set, the {@link THREE.PerspectiveCamera.far | far} clipping plane will track that, otherwise it defaults to `500`.
62
- * @defaultValue is a {@link THREE.PerspectiveCamera | PerspectiveCamera} with {@link THREE.PerspectiveCamera.near | near} clipping plane at `0.5`.
13
+ * This flag can be used for type testing.
14
+ *
15
+ * @default true
63
16
  */
64
- camera: PerspectiveCamera;
65
-
17
+ readonly isSpotLightShadow: boolean;
66
18
  /**
67
- * Used to focus the shadow camera.
68
- * @remarks The camera's field of view is set as a percentage of the spotlight's field-of-view. Range is `[0, 1]`. 0`.
69
- * @defaultValue `1`
19
+ * Used to focus the shadow camera. The camera's field of view is set as a
20
+ * percentage of the spotlight's field-of-view. Range is `[0, 1]`.
21
+ *
22
+ * @default 1
70
23
  */
71
24
  focus: number;
72
-
25
+ /**
26
+ * Texture aspect ratio.
27
+ *
28
+ * @default 1
29
+ */
73
30
  aspect: number;
31
+ copy(source: SpotLightShadow): this;
74
32
  }
@@ -1,6 +1,18 @@
1
1
  import { Texture } from "../../textures/Texture.js";
2
2
  import { SpotLight } from "../SpotLight.js";
3
3
 
4
- export default class IESSpotLight extends SpotLight {
4
+ /**
5
+ * A IES version of {@link SpotLight}. Can only be used with {@link WebGPURenderer}.
6
+ */
7
+ declare class IESSpotLight extends SpotLight {
8
+ /**
9
+ * The IES map. It's a lookup table that stores normalized attenuation factors
10
+ * (0.0 to 1.0) that represent the light's intensity at a specific angle.
11
+ *
12
+ * @default null
13
+ */
5
14
  iesMap: Texture | null;
15
+ copy(source: IESSpotLight, recursive?: boolean): this;
6
16
  }
17
+
18
+ export default IESSpotLight;
@@ -1,17 +1,16 @@
1
- import { ColorRepresentation } from "../../math/Color.js";
2
1
  import { SpotLight } from "../SpotLight.js";
3
2
 
3
+ /**
4
+ * A projector light version of {@link SpotLight}. Can only be used with {@link WebGPURenderer}.
5
+ */
4
6
  declare class ProjectorLight extends SpotLight {
7
+ /**
8
+ * Aspect ratio of the light. Set to `null` to use the texture aspect ratio.
9
+ *
10
+ * @default null
11
+ */
5
12
  aspect: number | null;
6
-
7
- constructor(
8
- color?: ColorRepresentation,
9
- intensity?: number,
10
- distance?: number,
11
- angle?: number,
12
- penumbra?: number,
13
- decay?: number,
14
- );
13
+ copy(source: ProjectorLight, recursive?: boolean): this;
15
14
  }
16
15
 
17
16
  export default ProjectorLight;
@@ -548,6 +548,7 @@ export class Material extends EventDispatcher<{ dispose: {} }> {
548
548
  * @default 0
549
549
  */
550
550
  readonly version: number;
551
+ defines?: Record<string, unknown> | undefined;
551
552
  /**
552
553
  * An optional callback that is executed immediately before the material is used to render a 3D object.
553
554
  *
@@ -180,6 +180,12 @@ export interface MeshLambertMaterialProperties extends MaterialProperties {
180
180
  * @default 1
181
181
  */
182
182
  reflectivity: number;
183
+ /**
184
+ * Scales the effect of the environment map by multiplying its color.
185
+ *
186
+ * @default 1
187
+ */
188
+ envMapIntensity: number;
183
189
  /**
184
190
  * The index of refraction (IOR) of air (approximately 1) divided by the
185
191
  * index of refraction of the material. It is used with environment mapping
@@ -194,6 +194,12 @@ export interface MeshPhongMaterialProperties extends MaterialProperties {
194
194
  * @default 1
195
195
  */
196
196
  reflectivity: number;
197
+ /**
198
+ * Scales the effect of the environment map by multiplying its color.
199
+ *
200
+ * @default 1
201
+ */
202
+ envMapIntensity: number;
197
203
  /**
198
204
  * The index of refraction (IOR) of air (approximately 1) divided by the
199
205
  * index of refraction of the material. It is used with environment mapping
@@ -26,7 +26,7 @@ export interface ShaderMaterialProperties extends MaterialProperties {
26
26
  * #define BAR true
27
27
  * ```
28
28
  */
29
- defines: { [key: string]: any };
29
+ defines: Record<string, unknown>;
30
30
  /**
31
31
  * An object of the form:
32
32
  * ```js
@@ -85,9 +85,22 @@ export interface ShaderMaterialProperties extends MaterialProperties {
85
85
  */
86
86
  wireframeLinewidth: number;
87
87
  /**
88
- * Define whether the material color is affected by global fog settings; `true`
88
+ * Defines whether the material color is affected by global fog settings; `true`
89
89
  * to pass fog uniforms to the shader.
90
90
  *
91
+ * Setting this property to `true` requires the definition of fog uniforms. It is
92
+ * recommended to use `UniformsUtils.merge()` to combine the custom shader uniforms
93
+ * with predefined fog uniforms.
94
+ *
95
+ * ```js
96
+ * const material = new ShaderMaterial( {
97
+ * uniforms: UniformsUtils.merge( [ UniformsLib[ 'fog' ], shaderUniforms ] );
98
+ * vertexShader: vertexShader,
99
+ * fragmentShader: fragmentShader,
100
+ * fog: true
101
+ * } );
102
+ * ```
103
+ *
91
104
  * @default false
92
105
  */
93
106
  fog: boolean;
@@ -248,4 +261,6 @@ export class ShaderMaterial extends Material {
248
261
  }
249
262
 
250
263
  // eslint-disable-next-line @typescript-eslint/no-empty-interface
251
- export interface ShaderMaterial extends ShaderMaterialProperties {}
264
+ export interface ShaderMaterial extends ShaderMaterialProperties {
265
+ defines: Record<string, unknown>;
266
+ }
@@ -4,12 +4,6 @@ import { MapColorPropertiesToColorRepresentations } from "../Material.js";
4
4
  import NodeMaterial, { NodeMaterialNodeProperties } from "./NodeMaterial.js";
5
5
 
6
6
  export interface Line2NodeMaterialNodeProperties extends NodeMaterialNodeProperties {
7
- /**
8
- * Whether vertex colors should be used or not.
9
- *
10
- * @default false
11
- */
12
- useColor: boolean;
13
7
  /**
14
8
  * The dash offset.
15
9
  *
@@ -15,8 +15,6 @@ export interface LineBasicNodeMaterialParameters
15
15
 
16
16
  /**
17
17
  * Node material version of {@link LineBasicMaterial}.
18
- *
19
- * @augments NodeMaterial
20
18
  */
21
19
  declare class LineBasicNodeMaterial extends NodeMaterial {
22
20
  /**
@@ -28,8 +26,6 @@ declare class LineBasicNodeMaterial extends NodeMaterial {
28
26
  /**
29
27
  * This flag can be used for type testing.
30
28
  *
31
- * @type {boolean}
32
- * @readonly
33
29
  * @default true
34
30
  */
35
31
  readonly isLineBasicNodeMaterial: boolean;
@@ -5,6 +5,7 @@ import { MapColorPropertiesToColorRepresentations } from "../Material.js";
5
5
  import { MeshBasicMaterialParameters, MeshBasicMaterialProperties } from "../MeshBasicMaterial.js";
6
6
  import NodeMaterial, { NodeMaterialNodeProperties } from "./NodeMaterial.js";
7
7
 
8
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
8
9
  export interface MeshBasicNodeMaterialNodeProperties extends NodeMaterialNodeProperties {
9
10
  }
10
11
 
@@ -28,8 +29,6 @@ declare class MeshBasicNodeMaterial extends NodeMaterial {
28
29
  /**
29
30
  * This flag can be used for type testing.
30
31
  *
31
- * @type {boolean}
32
- * @readonly
33
32
  * @default true
34
33
  */
35
34
  readonly isMeshBasicNodeMaterial: boolean;
@@ -29,8 +29,6 @@ declare class MeshLambertNodeMaterial extends NodeMaterial {
29
29
  /**
30
30
  * This flag can be used for type testing.
31
31
  *
32
- * @type {boolean}
33
- * @readonly
34
32
  * @default true
35
33
  */
36
34
  readonly isMeshLambertNodeMaterial: boolean;
@@ -25,8 +25,6 @@ declare class MeshNormalNodeMaterial extends NodeMaterial {
25
25
  constructor(parameters?: MeshNormalNodeMaterialParameters);
26
26
  /**
27
27
  * This flag can be used for type testing.
28
- *
29
- * @type {boolean}
30
28
  */
31
29
  readonly isMeshNormalNodeMaterial: boolean;
32
30
  setValues(values?: MeshNormalNodeMaterialParameters): void;