@types/three 0.182.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 (312) 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/{RenderPipeline.d.ts → RenderObjectPipeline.d.ts} +17 -5
  265. three/src/renderers/common/RenderObjects.d.ts +55 -22
  266. three/src/renderers/common/Renderer.d.ts +625 -207
  267. three/src/renderers/common/Textures.d.ts +24 -46
  268. three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
  269. three/src/renderers/common/Uniform.d.ts +143 -58
  270. three/src/renderers/common/UniformBuffer.d.ts +7 -5
  271. three/src/renderers/common/UniformsGroup.d.ts +50 -35
  272. three/src/renderers/common/XRManager.d.ts +321 -83
  273. three/src/renderers/common/XRRenderTarget.d.ts +49 -6
  274. three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
  275. three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
  276. three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
  277. three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
  278. three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
  279. three/src/renderers/shaders/UniformsLib.d.ts +0 -3
  280. three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
  281. three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
  282. three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
  283. three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
  284. three/src/renderers/webgl/WebGLLights.d.ts +19 -18
  285. three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
  286. three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
  287. three/src/renderers/webgl/WebGLPrograms.d.ts +2 -2
  288. three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
  289. three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
  290. three/src/renderers/webgl/WebGLState.d.ts +305 -28
  291. three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
  292. three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
  293. three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
  294. three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
  295. three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
  296. three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
  297. three/src/scenes/Fog.d.ts +31 -37
  298. three/src/scenes/FogExp2.d.ts +26 -31
  299. three/src/scenes/Scene.d.ts +51 -65
  300. three/src/textures/CompressedArrayTexture.d.ts +1 -1
  301. three/src/textures/DataArrayTexture.d.ts +1 -1
  302. three/src/utils.d.ts +5 -0
  303. three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
  304. three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
  305. three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
  306. three/src/nodes/accessors/SceneNode.d.ts +0 -21
  307. three/src/nodes/code/ScriptableNode.d.ts +0 -21
  308. three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
  309. three/src/nodes/display/PosterizeNode.d.ts +0 -13
  310. three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
  311. three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
  312. three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
@@ -1,77 +1,50 @@
1
1
  import { Object3D } from "../core/Object3D.js";
2
- import { Light } from "../lights/Light.js";
2
+ import { SpotLight } from "../lights/SpotLight.js";
3
3
  import { ColorRepresentation } from "../math/Color.js";
4
- import { Matrix4 } from "../math/Matrix4.js";
5
4
  import { LineSegments } from "../objects/LineSegments.js";
6
5
 
7
6
  /**
8
- * This displays a cone shaped helper object for a {@link THREE.SpotLight | SpotLight}.
9
- * @example
10
- * ```typescript
11
- * const spotLight = new THREE.SpotLight(0xffffff);
12
- * spotLight.position.set(10, 10, 10);
13
- * scene.add(spotLight);
14
- * const {@link SpotLightHelper} = new THREE.SpotLightHelper(spotLight);
15
- * scene.add(spotLightHelper);
7
+ * This displays a cone shaped helper object for a {@link SpotLight}.
8
+ *
9
+ * When the spot light or its target are transformed or light properties are
10
+ * changed, it's necessary to call the `update()` method of the respective helper.
11
+ *
12
+ * ```js
13
+ * const spotLight = new THREE.SpotLight( 0xffffff );
14
+ * spotLight.position.set( 10, 10, 10 );
15
+ * scene.add( spotLight );
16
+ *
17
+ * const spotLightHelper = new THREE.SpotLightHelper( spotLight );
18
+ * scene.add( spotLightHelper );
16
19
  * ```
17
- * @see Example: {@link https://threejs.org/examples/#webgl_lights_spotlights | WebGL/ lights / spotlights }
18
- * @see {@link https://threejs.org/docs/index.html#api/en/helpers/SpotLightHelper | Official Documentation}
19
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/helpers/SpotLightHelper.js | Source}
20
20
  */
21
21
  export class SpotLightHelper extends Object3D {
22
22
  /**
23
- * Create a new instance of {@link SpotLightHelper}
24
- * @param light The {@link THREE.SpotLight | SpotLight} to be visualized.
25
- * @param color If this is not the set the helper will take the color of the light. Default `light.color`
23
+ * Constructs a new spot light helper.
24
+ *
25
+ * @param {HemisphereLight} light - The light to be visualized.
26
+ * @param {number|Color|string} [color] - The helper's color. If not set, the helper will take
27
+ * the color of the light.
26
28
  */
27
- constructor(light: Light, color?: ColorRepresentation);
28
-
29
- /**
30
- * A Read-only _string_ to check if `this` object type.
31
- * @remarks Sub-classes will update this value.
32
- * @override
33
- * @defaultValue `SpotLightHelper`
34
- */
35
- override readonly type: string | "SpotLightHelper";
36
-
37
- /**
38
- * {@link THREE.LineSegments | LineSegments} used to visualize the light.
39
- */
40
- cone: LineSegments;
41
-
42
- /**
43
- * Reference to the {@link THREE.SpotLight | SpotLight} being visualized.
44
- */
45
- light: Light;
46
-
29
+ constructor(light: SpotLight, color?: ColorRepresentation);
47
30
  /**
48
- * Reference to the spotLight's {@link Object3D.matrixWorld | matrixWorld}.
31
+ * The light being visualized.
49
32
  */
50
- matrix: Matrix4;
51
-
33
+ light: SpotLight;
52
34
  /**
53
35
  * The color parameter passed in the constructor.
54
- * If this is changed, the helper's color will update the next time {@link SpotLightHelper.update | update} is called.
55
- * @defaultValue `undefined`
36
+ * If not set, the helper will take the color of the light.
56
37
  */
57
38
  color: ColorRepresentation | undefined;
58
-
39
+ cone: LineSegments;
59
40
  /**
60
- * Is set to `false`, as the helper is using the {@link THREE.Light.matrixWorld | light.matrixWorld}.
61
- * @see {@link THREE.Object3D.matrixAutoUpdate | Object3D.matrixAutoUpdate}.
62
- * @defaultValue `false`.
41
+ * Frees the GPU-related resources allocated by this instance. Call this
42
+ * method whenever this instance is no longer used in your app.
63
43
  */
64
- override matrixAutoUpdate: boolean;
65
-
44
+ dispose(): void;
66
45
  /**
67
- * Updates the light helper.
46
+ * Updates the helper to match the position and direction of the
47
+ * light being visualized.
68
48
  */
69
49
  update(): void;
70
-
71
- /**
72
- * Frees the GPU-related resources allocated by this instance
73
- * @remarks
74
- * Call this method whenever this instance is no longer used in your app.
75
- */
76
- dispose(): void;
77
50
  }
@@ -3,34 +3,26 @@ import { Light } from "./Light.js";
3
3
 
4
4
  /**
5
5
  * This light globally illuminates all objects in the scene equally.
6
- * @remarks This light cannot be used to cast shadows as it does not have a direction.
7
- * @example
8
- * ```typescript
9
- * const light = new THREE.AmbientLight(0x404040); // soft white light
10
- * scene.add(light);
6
+ *
7
+ * It cannot be used to cast shadows as it does not have a direction.
8
+ *
9
+ * ```js
10
+ * const light = new THREE.AmbientLight( 0x404040 ); // soft white light
11
+ * scene.add( light );
11
12
  * ```
12
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/AmbientLight | Official Documentation}
13
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/AmbientLight.js | Source}
14
13
  */
15
- export class AmbientLight extends Light<undefined> {
14
+ export class AmbientLight extends Light {
16
15
  /**
17
- * Creates a new {@link AmbientLight}.
18
- * @param color Numeric value of the RGB component of the color. Default `0xffffff`
19
- * @param intensity Numeric value of the light's strength/intensity. Expects a `Float`. Default `1`
16
+ * Constructs a new ambient light.
17
+ *
18
+ * @param {(number|Color|string)} [color=0xffffff] - The light's color.
19
+ * @param {number} [intensity=1] - The light's strength/intensity.
20
20
  */
21
21
  constructor(color?: ColorRepresentation, intensity?: number);
22
-
23
- /**
24
- * Read-only flag to check if a given object is of type {@link AmbientLight}.
25
- * @remarks This is a _constant_ value
26
- * @defaultValue `true`
27
- */
28
- readonly isAmbientLight: true;
29
-
30
22
  /**
31
- * A Read-only _string_ to check if `this` object type.
32
- * @remarks Sub-classes will update this value.
33
- * @defaultValue `AmbientLight`
23
+ * This flag can be used for type testing.
24
+ *
25
+ * @default true
34
26
  */
35
- override readonly type: string | "AmbientLight";
27
+ readonly isAmbientLight: boolean;
36
28
  }
@@ -1,6 +1,5 @@
1
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 { DirectionalLightShadow } from "./DirectionalLightShadow.js";
5
4
  import { Light, LightJSON } from "./Light.js";
6
5
  import { LightShadowJSON } from "./LightShadow.js";
@@ -11,100 +10,59 @@ export interface DirectionalLightJSON extends LightJSON {
11
10
  }
12
11
 
13
12
  /**
14
- * A light that gets emitted in a specific direction
15
- * @remarks
16
- * This light will behave as though it is infinitely far away and the rays produced from it are all parallel
17
- * The common use case for this is to simulate daylight; the sun is far enough away that its position can be considered to be infinite, and all light rays coming from it are parallel.
18
- * A common point of confusion for directional lights is that setting the rotation has no effect
19
- * This is because three.js's {@link DirectionalLight} is the equivalent to what is often called a 'Target Direct Light' in other applications.
20
- * This means that its direction is calculated as pointing from the light's {@link THREE.Object3D.position | position} to the {@link THREE.DirectionalLight.target | target}'s
21
- * position (as opposed to a 'Free Direct Light' that just has a rotation component).
22
- * See the {@link THREE.DirectionalLight.target | target} property below for details on updating the target.
23
- * @example
24
- * ```typescript
13
+ * A light that gets emitted in a specific direction. This light will behave
14
+ * as though it is infinitely far away and the rays produced from it are all
15
+ * parallel. The common use case for this is to simulate daylight; the sun is
16
+ * far enough away that its position can be considered to be infinite, and
17
+ * all light rays coming from it are parallel.
18
+ *
19
+ * A common point of confusion for directional lights is that setting the
20
+ * rotation has no effect. This is because three.js's DirectionalLight is the
21
+ * equivalent to what is often called a 'Target Direct Light' in other
22
+ * applications.
23
+ *
24
+ * This means that its direction is calculated as pointing from the light's
25
+ * {@link Object3D#position} to the {@link DirectionalLight#target} position
26
+ * (as opposed to a 'Free Direct Light' that just has a rotation
27
+ * component).
28
+ *
29
+ * This light can cast shadows - see the {@link DirectionalLightShadow} for details.
30
+ *
31
+ * ```js
25
32
  * // White directional light at half intensity shining from the top.
26
- * const {@link DirectionalLight} = new THREE.DirectionalLight(0xffffff, 0.5);
27
- * scene.add(directionalLight);
33
+ * const directionalLight = new THREE.DirectionalLight( 0xffffff, 0.5 );
34
+ * scene.add( directionalLight );
28
35
  * ```
29
- * @see Example: {@link https://threejs.org/examples/#misc_controls_fly | controls / fly }
30
- * @see Example: {@link https://threejs.org/examples/#webgl_effects_parallaxbarrier | effects / parallaxbarrier }
31
- * @see Example: {@link https://threejs.org/examples/#webgl_effects_stereo | effects / stereo }
32
- * @see Example: {@link https://threejs.org/examples/#webgl_geometry_extrude_splines | geometry / extrude / splines }
33
- * @see Example: {@link https://threejs.org/examples/#webgl_materials_bumpmap | materials / bumpmap }
34
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/DirectionalLight | Official Documentation}
35
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/DirectionalLight.js | Source}
36
36
  */
37
- export class DirectionalLight extends Light<DirectionalLightShadow> {
37
+ export class DirectionalLight extends Light {
38
38
  /**
39
- * Creates a new {@link DirectionalLight}.
40
- * @param color Hexadecimal color of the light. Default `0xffffff` _(white)_.
41
- * @param intensity Numeric value of the light's strength/intensity. Expects a `Float`. Default `1`
39
+ * Constructs a new directional light.
40
+ *
41
+ * @param {(number|Color|string)} [color=0xffffff] - The light's color.
42
+ * @param {number} [intensity=1] - The light's strength/intensity.
42
43
  */
43
44
  constructor(color?: ColorRepresentation, intensity?: number);
44
-
45
- /**
46
- * Read-only flag to check if a given object is of type {@link DirectionalLight}.
47
- * @remarks This is a _constant_ value
48
- * @defaultValue `true`
49
- */
50
- readonly isDirectionalLight: true;
51
-
52
- /**
53
- * A Read-only _string_ to check if `this` object type.
54
- * @remarks Sub-classes will update this value.
55
- * @defaultValue `DirectionalLight`
56
- */
57
- override readonly type: string | "DirectionalLight";
58
-
59
- /**
60
- * Whether the object gets rendered into shadow map.
61
- * @remarks
62
- * If set to `true` light will cast dynamic shadows.
63
- * **Warning**: This is expensive and requires tweaking to get shadows looking right.
64
- * @see {@link THREE.DirectionalLightShadow | DirectionalLightShadow} for details.
65
- * @defaultValue `false`
66
- */
67
- override castShadow: boolean;
68
-
69
45
  /**
70
- * This is set equal to {@link THREE.Object3D.DEFAULT_UP}, so that the light shines from the top down.
71
- * @defaultValue {@link Object3D.DEFAULT_UP} _(0, 1, 0)_
72
- */
73
- override readonly position: Vector3;
74
-
75
- /**
76
- * A {@link THREE.DirectionalLightShadow | DirectionalLightShadow} used to calculate shadows for this light.
77
- * @defaultValue `new THREE.DirectionalLightShadow()`
46
+ * This flag can be used for type testing.
47
+ *
48
+ * @default true
78
49
  */
79
- shadow: DirectionalLightShadow;
80
-
50
+ readonly isDirectionalLight: boolean;
81
51
  /**
82
- * The {@link DirectionalLight} points from its {@link DirectionalLight.position | position} to target.position.
83
- * @remarks **Note**: For the target's position to be changed to anything other than the default,
84
- * it must be added to the {@link THREE.Scene | scene} using
85
- * ```typescript
86
- * Scene.add( light.target );
87
- * ```
88
- * This is so that the target's {@link THREE.Object3D.matrixWorld | matrixWorld} gets automatically updated each frame.
52
+ * The directional light points from its position to the
53
+ * target's position.
54
+ *
55
+ * For the target's position to be changed to anything other
56
+ * than the default, it must be added to the scene.
89
57
  *
90
- * It is also possible to set the target to be another object in the scene (anything with a {@link THREE.Object3D.position | position} property),
91
- * like so:
92
- * ```typescript
93
- * const targetObject = new THREE.Object3D();
94
- * scene.add(targetObject);
95
- * light.target = targetObject;
96
- * ```
97
- * The {@link DirectionalLight} will now track the target object.
98
- * @defaultValue `new THREE.Object3D()` at _(0, 0, 0)_
58
+ * It is also possible to set the target to be another 3D object
59
+ * in the scene. The light will now track the target object.
99
60
  */
100
61
  target: Object3D;
101
-
102
62
  /**
103
- * Frees the GPU-related resources allocated by this instance
104
- * @remarks
105
- * Call this method whenever this instance is no longer used in your app.
63
+ * This property holds the light's shadow configuration.
106
64
  */
107
- dispose(): void;
108
-
65
+ shadow: DirectionalLightShadow;
66
+ copy(source: DirectionalLight): this;
109
67
  toJSON(meta?: JSONMeta): DirectionalLightJSON;
110
68
  }
@@ -2,72 +2,17 @@ import { OrthographicCamera } from "../cameras/OrthographicCamera.js";
2
2
  import { LightShadow } from "./LightShadow.js";
3
3
 
4
4
  /**
5
- * This is used internally by {@link DirectionalLight | DirectionalLights} for calculating shadows.
6
- * Unlike the other shadow classes, this uses an {@link THREE.OrthographicCamera | OrthographicCamera} to calculate the shadows,
7
- * rather than a {@link THREE.PerspectiveCamera | PerspectiveCamera}
8
- * @remarks
9
- * This is because light rays from a {@link THREE.DirectionalLight | DirectionalLight} are parallel.
10
- * @example
11
- * ```typescript
12
- * //Create a WebGLRenderer and turn on shadows in the renderer
13
- * const renderer = new THREE.WebGLRenderer();
14
- * renderer.shadowMap.enabled = true;
15
- * renderer.shadowMap.type = THREE.PCFSoftShadowMap; // default THREE.PCFShadowMap
16
- * //Create a DirectionalLight and turn on shadows for the light
17
- * const light = new THREE.DirectionalLight(0xffffff, 1);
18
- * light.position.set(0, 1, 0); //default; light shining from top
19
- * light.castShadow = true; // default false
20
- * scene.add(light);
21
- * //Set up shadow properties for the light
22
- * light.shadow.mapSize.width = 512; // default
23
- * light.shadow.mapSize.height = 512; // default
24
- * light.shadow.camera.near = 0.5; // default
25
- * light.shadow.camera.far = 500; // default
26
- * //Create a sphere that cast shadows (but does not receive them)
27
- * const sphereGeometry = new THREE.SphereGeometry(5, 32, 32);
28
- * const sphereMaterial = new THREE.MeshStandardMaterial({
29
- * color: 0xff0000
30
- * });
31
- * const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial);
32
- * sphere.castShadow = true; //default is false
33
- * sphere.receiveShadow = false; //default
34
- * scene.add(sphere);
35
- * //Create a plane that receives shadows (but does not cast them)
36
- * const planeGeometry = new THREE.PlaneGeometry(20, 20, 32, 32);
37
- * const planeMaterial = new THREE.MeshStandardMaterial({
38
- * color: 0x00ff00
39
- * })
40
- * const plane = new THREE.Mesh(planeGeometry, planeMaterial);
41
- * plane.receiveShadow = true;
42
- * scene.add(plane);
43
- * //Create a helper for the shadow camera (optional)
44
- * const helper = new THREE.CameraHelper(light.shadow.camera);
45
- * scene.add(helper);
46
- * ```
47
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/shadows/DirectionalLightShadow | Official Documentation}
48
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/DirectionalLightShadow.js | Source}
5
+ * Represents the shadow configuration of directional lights.
49
6
  */
50
7
  export class DirectionalLightShadow extends LightShadow<OrthographicCamera> {
51
8
  /**
52
- * Create a new instance of {@link DirectionalLightShadow}
9
+ * Constructs a new directional light shadow.
53
10
  */
54
11
  constructor();
55
-
56
- /**
57
- * Read-only flag to check if a given object is of type {@link DirectionalLightShadow}.
58
- * @remarks This is a _constant_ value
59
- * @defaultValue `true`
60
- */
61
- readonly isDirectionalLightShadow: true;
62
-
63
12
  /**
64
- * The light's view of the world.
65
- * @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.
66
- * @defaultValue is an {@link THREE.OrthographicCamera | OrthographicCamera} with
67
- * {@link OrthographicCamera.left | left} and {@link OrthographicCamera.bottom | bottom} set to -5,
68
- * {@link OrthographicCamera.right | right} and {@link OrthographicCamera.top | top} set to 5,
69
- * the {@link OrthographicCamera.near | near} clipping plane at 0.5 and
70
- * the {@link OrthographicCamera.far | far} clipping plane at 500.
13
+ * This flag can be used for type testing.
14
+ *
15
+ * @default true
71
16
  */
72
- camera: OrthographicCamera;
17
+ readonly isDirectionalLightShadow: boolean;
73
18
  }
@@ -1,6 +1,5 @@
1
1
  import { JSONMeta } from "../core/Object3D.js";
2
2
  import { Color, ColorRepresentation } from "../math/Color.js";
3
- import { Vector3 } from "../math/Vector3.js";
4
3
  import { Light, LightJSON } from "./Light.js";
5
4
 
6
5
  export interface HemisphereLightJSON extends LightJSON {
@@ -8,61 +7,35 @@ export interface HemisphereLightJSON extends LightJSON {
8
7
  }
9
8
 
10
9
  /**
11
- * A light source positioned directly above the scene, with color fading from the sky color to the ground color.
12
- * @remarks This light cannot be used to cast shadows.
13
- * @example
14
- * ```typescript
15
- * const light = new THREE.HemisphereLight(0xffffbb, 0x080820, 1);
16
- * scene.add(light);
10
+ * A light source positioned directly above the scene, with color fading from
11
+ * the sky color to the ground color.
12
+ *
13
+ * This light cannot be used to cast shadows.
14
+ *
15
+ * ```js
16
+ * const light = new THREE.HemisphereLight( 0xffffbb, 0x080820, 1 );
17
+ * scene.add( light );
17
18
  * ```
18
- * @see Example: {@link https://threejs.org/examples/#webgl_animation_skinning_blending | animation / skinning / blending }
19
- * @see Example: {@link https://threejs.org/examples/#webgl_lights_hemisphere | lights / hemisphere }
20
- * @see Example: {@link https://threejs.org/examples/#misc_controls_pointerlock | controls / pointerlock }
21
- * @see Example: {@link https://threejs.org/examples/#webgl_loader_collada_kinematics | loader / collada / kinematics }
22
- * @see Example: {@link https://threejs.org/examples/#webgl_loader_stl | loader / stl }
23
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/HemisphereLight | Official Documentation}
24
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/HemisphereLight.js | Source}
25
19
  */
26
- export class HemisphereLight extends Light<undefined> {
20
+ export class HemisphereLight extends Light {
27
21
  /**
28
- * Creates a new {@link HemisphereLight}.
29
- * @param skyColor Hexadecimal color of the sky. Expects a `Integer`. Default `0xffffff` _(white)_.
30
- * @param groundColor Hexadecimal color of the ground. Expects a `Integer`. Default `0xffffff` _(white)_.
31
- * @param intensity Numeric value of the light's strength/intensity. Expects a `Float`. Default `1`.
22
+ * Constructs a new hemisphere light.
23
+ *
24
+ * @param {(number|Color|string)} [skyColor=0xffffff] - The light's sky color.
25
+ * @param {(number|Color|string)} [groundColor=0xffffff] - The light's ground color.
26
+ * @param {number} [intensity=1] - The light's strength/intensity.
32
27
  */
33
28
  constructor(skyColor?: ColorRepresentation, groundColor?: ColorRepresentation, intensity?: number);
34
-
35
- /**
36
- * Read-only flag to check if a given object is of type {@link HemisphereLight}.
37
- * @remarks This is a _constant_ value
38
- * @defaultValue `true`
39
- */
40
- readonly isHemisphereLight: true;
41
-
42
- /**
43
- * A Read-only _string_ to check if `this` object type.
44
- * @remarks Sub-classes will update this value.
45
- * @defaultValue `HemisphereLight`
46
- */
47
- override readonly type: string | "HemisphereLight";
48
-
49
- /**
50
- * This is set equal to {@link THREE.Object3D.DEFAULT_UP}, so that the light shines from the top down.
51
- * @defaultValue {@link Object3D.DEFAULT_UP} _(0, 1, 0)_
52
- */
53
- override readonly position: Vector3;
54
-
55
29
  /**
56
- * The light's sky color, as passed in the constructor.
57
- * @defaultValue `new THREE.Color()` set to white _(0xffffff)_.
30
+ * This flag can be used for type testing.
31
+ *
32
+ * @default true
58
33
  */
59
- override color: Color;
60
-
34
+ readonly isHemisphereLight: boolean;
61
35
  /**
62
- * The light's ground color, as passed in the constructor.
63
- * @defaultValue `new THREE.Color()` set to white _(0xffffff)_.
36
+ * The light's ground color.
64
37
  */
65
38
  groundColor: Color;
66
-
39
+ copy(source: HemisphereLight, recursive?: boolean): this;
67
40
  toJSON(meta?: JSONMeta): HemisphereLightJSON;
68
41
  }
@@ -1,6 +1,5 @@
1
1
  import { JSONMeta, Object3D, Object3DEventMap, Object3DJSON } from "../core/Object3D.js";
2
2
  import { Color, ColorRepresentation } from "../math/Color.js";
3
- import { LightShadow } from "./LightShadow.js";
4
3
 
5
4
  export interface LightJSON extends Object3DJSON {
6
5
  color: number;
@@ -12,67 +11,38 @@ export interface LightEventMap extends Object3DEventMap {
12
11
  }
13
12
 
14
13
  /**
15
- * Abstract base class for lights.
16
- * @remarks All other light types inherit the properties and methods described here.
14
+ * Abstract base class for lights - all other light types inherit the
15
+ * properties and methods described here.
17
16
  */
18
- export abstract class Light<TShadowSupport extends LightShadow | undefined = LightShadow | undefined>
19
- extends Object3D<LightEventMap>
20
- {
17
+ export abstract class Light extends Object3D<LightEventMap> {
21
18
  /**
22
- * Creates a new {@link Light}
23
- * @remarks
24
- * **Note** that this is not intended to be called directly (use one of derived classes instead).
25
- * @param color Hexadecimal color of the light. Default `0xffffff` _(white)_.
26
- * @param intensity Numeric value of the light's strength/intensity. Expects a `Float`. Default `1`.
19
+ * Constructs a new light.
20
+ *
21
+ * @param {(number|Color|string)} [color=0xffffff] - The light's color.
22
+ * @param {number} [intensity=1] - The light's strength/intensity.
27
23
  */
28
24
  constructor(color?: ColorRepresentation, intensity?: number);
29
-
30
25
  /**
31
- * Read-only flag to check if a given object is of type {@link HemisphereLight}.
32
- * @remarks This is a _constant_ value
33
- * @defaultValue `true`
26
+ * This flag can be used for type testing.
27
+ *
28
+ * @default true
34
29
  */
35
- readonly isLight: true;
36
-
30
+ readonly isLight: boolean;
37
31
  /**
38
- * A Read-only _string_ to check if `this` object type.
39
- * @remarks Sub-classes will update this value.
40
- * @defaultValue `Light`
41
- */
42
- override readonly type: string | "Light";
43
-
44
- /**
45
- * Color of the light. \
46
- * @defaultValue `new THREE.Color(0xffffff)` _(white)_.
32
+ * The light's color.
47
33
  */
48
34
  color: Color;
49
-
50
35
  /**
51
- * The light's intensity, or strength.
52
- * The units of intensity depend on the type of light.
53
- * @defaultValue `1`
36
+ * The light's intensity.
37
+ *
38
+ * @default 1
54
39
  */
55
40
  intensity: number;
56
-
57
41
  /**
58
- * A {@link THREE.LightShadow | LightShadow} used to calculate shadows for this light.
59
- * @remarks Available only on Light's that support shadows.
60
- */
61
- shadow: TShadowSupport;
62
-
63
- /**
64
- * Copies value of all the properties from the {@link Light | source} to this instance.
65
- * @param source
66
- * @param recursive
67
- */
68
- copy(source: this, recursive?: boolean): this;
69
-
70
- /**
71
- * Frees the GPU-related resources allocated by this instance
72
- * @remarks
73
- * Call this method whenever this instance is no longer used in your app.
42
+ * Frees the GPU-related resources allocated by this instance. Call this
43
+ * method whenever this instance is no longer used in your app.
74
44
  */
75
45
  dispose(): void;
76
-
46
+ copy(source: Light, recursive?: boolean): this;
77
47
  toJSON(meta?: JSONMeta): LightJSON;
78
48
  }
@@ -7,45 +7,40 @@ export interface LightProbeJSON extends LightJSON {
7
7
  }
8
8
 
9
9
  /**
10
- * Light probes are an alternative way of adding light to a 3D scene.
11
- * @remarks
12
- * Unlike classical light sources (e.g
13
- * directional, point or spot lights), light probes do not emit light
14
- * Instead they store information about light passing through 3D space
15
- * During rendering, the light that hits a 3D object is approximated by using the data from the light probe.
16
- * Light probes are usually created from (radiance) environment maps
17
- * The class {@link THREE.LightProbeGenerator | LightProbeGenerator} can be used to create light probes from
18
- * instances of {@link THREE.CubeTexture | CubeTexture} or {@link THREE.WebGLCubeRenderTarget | WebGLCubeRenderTarget}
19
- * However, light estimation data could also be provided in other forms e.g
20
- * by WebXR
21
- * This enables the rendering of augmented reality content that reacts to real world lighting.
22
- * The current probe implementation in three.js supports so-called diffuse light probes
23
- * This type of light probe is functionally equivalent to an irradiance environment map.
24
- * @see Example: {@link https://threejs.org/examples/#webgl_lightprobe | WebGL / light probe }
25
- * @see Example: {@link https://threejs.org/examples/#webgl_lightprobe_cubecamera | WebGL / light probe / cube camera }
26
- * @see {@link https://threejs.org/docs/index.html#api/en/lights/LightProbe | Official Documentation}
27
- * @see {@link https://github.com/mrdoob/three.js/blob/master/src/lights/LightProbe.js | Source}
10
+ * Light probes are an alternative way of adding light to a 3D scene. Unlike
11
+ * classical light sources (e.g. directional, point or spot lights), light
12
+ * probes do not emit light. Instead they store information about light
13
+ * passing through 3D space. During rendering, the light that hits a 3D
14
+ * object is approximated by using the data from the light probe.
15
+ *
16
+ * Light probes are usually created from (radiance) environment maps. The
17
+ * class {@link LightProbeGenerator} can be used to create light probes from
18
+ * cube textures or render targets. However, light estimation data could also
19
+ * be provided in other forms e.g. by WebXR. This enables the rendering of
20
+ * augmented reality content that reacts to real world lighting.
21
+ *
22
+ * The current probe implementation in three.js supports so-called diffuse
23
+ * light probes. This type of light probe is functionally equivalent to an
24
+ * irradiance environment map.
28
25
  */
29
26
  export class LightProbe extends Light {
30
27
  /**
31
- * Creates a new LightProbe.
32
- * @param sh An instance of {@link THREE.SphericalHarmonics3 | SphericalHarmonics3}. Default `new THREE.SphericalHarmonics3()``.
33
- * @param intensity Numeric value of the light probe's intensity. Expects a `Float`. Default `1`.
28
+ * Constructs a new light probe.
29
+ *
30
+ * @param {SphericalHarmonics3} sh - The spherical harmonics which represents encoded lighting information.
31
+ * @param {number} [intensity=1] - The light's strength/intensity.
34
32
  */
35
33
  constructor(sh?: SphericalHarmonics3, intensity?: number);
36
-
37
34
  /**
38
- * Read-only flag to check if a given object is of type {@link DirectionalLight}.
39
- * @remarks This is a _constant_ value
40
- * @defaultValue `true`
35
+ * This flag can be used for type testing.
36
+ *
37
+ * @default true
41
38
  */
42
- readonly isLightProbe: true;
43
-
39
+ readonly isLightProbe: boolean;
44
40
  /**
45
41
  * A light probe uses spherical harmonics to encode lighting information.
46
- * @defaultValue `new THREE.SphericalHarmonics3()`
47
42
  */
48
43
  sh: SphericalHarmonics3;
49
-
44
+ copy(source: LightProbe): this;
50
45
  toJSON(meta?: JSONMeta): LightProbeJSON;
51
46
  }