@types/three 0.182.0 → 0.183.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- three/README.md +1 -1
- three/examples/jsm/Addons.d.ts +0 -3
- three/examples/jsm/controls/OrbitControls.d.ts +39 -0
- three/examples/jsm/effects/AnaglyphEffect.d.ts +4 -0
- three/examples/jsm/environments/ColorEnvironment.d.ts +9 -0
- three/examples/jsm/gpgpu/BitonicSort.d.ts +5 -5
- three/examples/jsm/helpers/AnimationPathHelper.d.ts +38 -0
- three/examples/jsm/helpers/ViewHelper.d.ts +4 -1
- three/examples/jsm/inspector/tabs/Parameters.d.ts +3 -0
- three/examples/jsm/inspector/ui/Item.d.ts +5 -0
- three/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -1
- three/examples/jsm/lights/LightProbeGenerator.d.ts +11 -5
- three/examples/jsm/loaders/ColladaLoader.d.ts +27 -4
- three/examples/jsm/objects/SkyMesh.d.ts +11 -6
- three/examples/jsm/objects/Water2Mesh.d.ts +7 -7
- three/examples/jsm/objects/WaterMesh.d.ts +6 -6
- three/examples/jsm/postprocessing/EffectComposer.d.ts +9 -10
- three/examples/jsm/postprocessing/UnrealBloomPass.d.ts +4 -9
- three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +30 -0
- three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -1
- three/examples/jsm/tsl/display/BilateralBlurNode.d.ts +27 -0
- three/examples/jsm/tsl/display/BloomNode.d.ts +5 -5
- three/examples/jsm/tsl/display/CRT.d.ts +22 -0
- three/examples/jsm/tsl/display/DenoiseNode.d.ts +5 -5
- three/examples/jsm/tsl/display/DotScreenNode.d.ts +4 -6
- three/examples/jsm/tsl/display/GTAONode.d.ts +8 -8
- three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +4 -2
- three/examples/jsm/tsl/display/GodraysNode.d.ts +20 -0
- three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -6
- three/examples/jsm/tsl/display/Lut3DNode.d.ts +5 -5
- three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -1
- three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -6
- three/examples/jsm/tsl/display/PixelationPassNode.d.ts +10 -10
- three/examples/jsm/tsl/display/RGBShiftNode.d.ts +2 -2
- three/examples/jsm/tsl/display/RetroPassNode.d.ts +17 -0
- three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -1
- three/examples/jsm/tsl/display/SSGINode.d.ts +11 -11
- three/examples/jsm/tsl/display/SSRNode.d.ts +6 -6
- three/examples/jsm/tsl/display/SSSNode.d.ts +5 -5
- three/examples/jsm/tsl/display/Shape.d.ts +3 -0
- three/examples/jsm/tsl/display/TransitionNode.d.ts +3 -3
- three/examples/jsm/tsl/display/boxBlur.d.ts +1 -1
- three/examples/jsm/tsl/display/depthAwareBlend.d.ts +15 -0
- three/examples/jsm/tsl/display/hashBlur.d.ts +1 -1
- three/examples/jsm/tsl/math/Bayer.d.ts +2 -0
- three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -2
- three/package.json +3 -3
- three/src/Three.Core.d.ts +1 -1
- three/src/Three.TSL.d.ts +6 -11
- three/src/Three.WebGPU.Nodes.d.ts +2 -0
- three/src/Three.WebGPU.d.ts +3 -0
- three/src/Three.d.ts +2 -2
- three/src/animation/AnimationClip.d.ts +1 -1
- three/src/animation/KeyframeTrack.d.ts +19 -5
- three/src/animation/PropertyMixer.d.ts +5 -4
- three/src/audio/Audio.d.ts +224 -157
- three/src/audio/AudioAnalyser.d.ts +32 -27
- three/src/audio/AudioContext.d.ts +12 -12
- three/src/audio/AudioListener.d.ts +44 -65
- three/src/audio/PositionalAudio.d.ts +69 -62
- three/src/cameras/ArrayCamera.d.ts +21 -24
- three/src/cameras/Camera.d.ts +14 -53
- three/src/cameras/CubeCamera.d.ts +32 -28
- three/src/cameras/OrthographicCamera.d.ts +70 -100
- three/src/cameras/PerspectiveCamera.d.ts +133 -146
- three/src/cameras/StereoCamera.d.ts +24 -30
- three/src/constants.d.ts +14 -2
- three/src/core/Clock.d.ts +3 -0
- three/src/core/Object3D.d.ts +31 -7
- three/src/geometries/TorusGeometry.d.ts +22 -3
- three/src/helpers/ArrowHelper.d.ts +34 -50
- three/src/helpers/AxesHelper.d.ts +22 -36
- three/src/helpers/Box3Helper.d.ts +14 -25
- three/src/helpers/BoxHelper.d.ts +28 -39
- three/src/helpers/CameraHelper.d.ts +31 -52
- three/src/helpers/DirectionalLightHelper.d.ts +32 -53
- three/src/helpers/GridHelper.d.ts +15 -29
- three/src/helpers/HemisphereLightHelper.d.ts +26 -49
- three/src/helpers/PlaneHelper.d.ts +21 -33
- three/src/helpers/PointLightHelper.d.ts +25 -50
- three/src/helpers/PolarGridHelper.d.ts +19 -32
- three/src/helpers/SkeletonHelper.d.ts +26 -50
- three/src/helpers/SpotLightHelper.d.ts +28 -55
- three/src/lights/AmbientLight.d.ts +15 -23
- three/src/lights/DirectionalLight.d.ts +40 -82
- three/src/lights/DirectionalLightShadow.d.ts +6 -61
- three/src/lights/HemisphereLight.d.ts +20 -47
- three/src/lights/Light.d.ts +18 -48
- three/src/lights/LightProbe.d.ts +24 -29
- three/src/lights/LightShadow.d.ts +107 -91
- three/src/lights/PointLight.d.ts +36 -77
- three/src/lights/PointLightShadow.d.ts +9 -6
- three/src/lights/RectAreaLight.d.ts +39 -59
- three/src/lights/SpotLight.d.ts +62 -116
- three/src/lights/SpotLightShadow.d.ts +17 -59
- three/src/lights/webgpu/IESSpotLight.d.ts +13 -1
- three/src/lights/webgpu/ProjectorLight.d.ts +9 -10
- three/src/materials/MeshLambertMaterial.d.ts +6 -0
- three/src/materials/MeshPhongMaterial.d.ts +6 -0
- three/src/materials/nodes/Line2NodeMaterial.d.ts +0 -6
- three/src/materials/nodes/LineBasicNodeMaterial.d.ts +0 -4
- three/src/materials/nodes/MeshBasicNodeMaterial.d.ts +1 -2
- three/src/materials/nodes/MeshLambertNodeMaterial.d.ts +0 -2
- three/src/materials/nodes/MeshNormalNodeMaterial.d.ts +0 -2
- three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +5 -8
- three/src/materials/nodes/MeshToonNodeMaterial.d.ts +0 -4
- three/src/materials/nodes/NodeMaterial.d.ts +9 -3
- three/src/materials/nodes/SpriteNodeMaterial.d.ts +0 -3
- three/src/materials/nodes/VolumeNodeMaterial.d.ts +0 -2
- three/src/materials/nodes/manager/NodeMaterialObserver.d.ts +39 -93
- three/src/math/Color.d.ts +1 -0
- three/src/math/Vector3.d.ts +2 -2
- three/src/math/interpolants/BezierInterpolant.d.ts +7 -0
- three/src/nodes/Nodes.d.ts +55 -35
- three/src/nodes/TSL.d.ts +2 -5
- three/src/nodes/accessors/Arrays.d.ts +19 -10
- three/src/nodes/accessors/BufferAttributeNode.d.ts +99 -33
- three/src/nodes/accessors/BufferNode.d.ts +21 -7
- three/src/nodes/accessors/Camera.d.ts +10 -10
- three/src/nodes/accessors/CubeTextureNode.d.ts +1 -1
- three/src/nodes/accessors/InstanceNode.d.ts +6 -0
- three/src/nodes/accessors/Lights.d.ts +9 -6
- three/src/nodes/accessors/MaterialNode.d.ts +1 -3
- three/src/nodes/accessors/MaterialProperties.d.ts +4 -4
- three/src/nodes/accessors/MaterialReferenceNode.d.ts +1 -1
- three/src/nodes/accessors/ModelNode.d.ts +34 -17
- three/src/nodes/accessors/MorphNode.d.ts +1 -1
- three/src/nodes/accessors/Normal.d.ts +13 -15
- three/src/nodes/accessors/Object3DNode.d.ts +35 -16
- three/src/nodes/accessors/Position.d.ts +9 -7
- three/src/nodes/accessors/ReferenceNode.d.ts +16 -7
- three/src/nodes/accessors/ReflectVector.d.ts +4 -5
- three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -1
- three/src/nodes/accessors/SceneProperties.d.ts +5 -0
- three/src/nodes/accessors/SkinningNode.d.ts +5 -3
- three/src/nodes/accessors/StorageBufferNode.d.ts +49 -22
- three/src/nodes/accessors/StorageTextureNode.d.ts +1 -1
- three/src/nodes/accessors/Tangent.d.ts +5 -7
- three/src/nodes/accessors/Texture3DNode.d.ts +1 -1
- three/src/nodes/accessors/TextureBicubic.d.ts +3 -2
- three/src/nodes/accessors/TextureNode.d.ts +19 -18
- three/src/nodes/accessors/UV.d.ts +1 -1
- three/src/nodes/accessors/UniformArrayNode.d.ts +10 -8
- three/src/nodes/accessors/UserDataNode.d.ts +1 -1
- three/src/nodes/accessors/VelocityNode.d.ts +3 -3
- three/src/nodes/accessors/VertexColorNode.d.ts +1 -1
- three/src/nodes/code/FunctionCallNode.d.ts +0 -1
- three/src/nodes/code/FunctionNode.d.ts +7 -3
- three/src/nodes/core/ArrayNode.d.ts +2 -3
- three/src/nodes/core/AttributeNode.d.ts +12 -6
- three/src/nodes/core/BypassNode.d.ts +2 -3
- three/src/nodes/core/ConstNode.d.ts +10 -3
- three/src/nodes/core/ContextNode.d.ts +23 -28
- three/src/nodes/core/IndexNode.d.ts +1 -1
- three/src/nodes/core/InputNode.d.ts +12 -4
- three/src/nodes/core/InspectorNode.d.ts +2 -3
- three/src/nodes/core/IsolateNode.d.ts +2 -7
- three/src/nodes/core/MRTNode.d.ts +7 -0
- three/src/nodes/core/Node.d.ts +258 -39
- three/src/nodes/core/NodeAttribute.d.ts +30 -5
- three/src/nodes/core/NodeBuilder.d.ts +5 -3
- three/src/nodes/core/NodeCache.d.ts +24 -48
- three/src/nodes/core/NodeError.d.ts +9 -0
- three/src/nodes/core/NodeParser.d.ts +2 -0
- three/src/nodes/core/NodeUniform.d.ts +33 -9
- three/src/nodes/core/NodeVar.d.ts +33 -5
- three/src/nodes/core/NodeVarying.d.ts +32 -4
- three/src/nodes/core/ParameterNode.d.ts +11 -4
- three/src/nodes/core/PropertyNode.d.ts +45 -35
- three/src/nodes/core/StackTrace.d.ts +9 -0
- three/src/nodes/core/StructType.d.ts +3 -1
- three/src/nodes/core/StructTypeNode.d.ts +19 -5
- three/src/nodes/core/TempNode.d.ts +9 -3
- three/src/nodes/core/UniformNode.d.ts +53 -15
- three/src/nodes/core/VarNode.d.ts +15 -14
- three/src/nodes/core/VaryingNode.d.ts +14 -19
- three/src/nodes/core/constants.d.ts +9 -4
- three/src/nodes/display/BlendModes.d.ts +7 -27
- three/src/nodes/display/ColorAdjustment.d.ts +8 -9
- three/src/nodes/display/ColorSpaceNode.d.ts +2 -8
- three/src/nodes/display/FrontFacingNode.d.ts +1 -1
- three/src/nodes/display/PassNode.d.ts +9 -5
- three/src/nodes/display/RenderOutputNode.d.ts +3 -7
- three/src/nodes/display/ScreenNode.d.ts +25 -17
- three/src/nodes/display/ToneMappingNode.d.ts +3 -7
- three/src/nodes/display/ViewportDepthNode.d.ts +11 -7
- three/src/nodes/display/ViewportTextureNode.d.ts +2 -0
- three/src/nodes/fog/Fog.d.ts +5 -3
- three/src/nodes/geometry/RangeNode.d.ts +51 -9
- three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +2 -0
- three/src/nodes/gpgpu/BarrierNode.d.ts +2 -0
- three/src/nodes/gpgpu/ComputeNode.d.ts +2 -7
- three/src/nodes/lighting/AnalyticLightNode.d.ts +1 -1
- three/src/nodes/lighting/HemisphereLightNode.d.ts +3 -2
- three/src/nodes/lighting/LightProbeNode.d.ts +1 -1
- three/src/nodes/lighting/LightUtils.d.ts +1 -1
- three/src/nodes/lighting/LightingContextNode.d.ts +1 -1
- three/src/nodes/lighting/SpotLightNode.d.ts +0 -6
- three/src/nodes/materialx/MaterialXNodes.d.ts +11 -11
- three/src/nodes/math/BitcountNode.d.ts +2 -0
- three/src/nodes/math/ConditionalNode.d.ts +43 -22
- three/src/nodes/math/Hash.d.ts +1 -1
- three/src/nodes/math/MathNode.d.ts +603 -267
- three/src/nodes/math/MathUtils.d.ts +9 -5
- three/src/nodes/math/OperatorNode.d.ts +490 -227
- three/src/nodes/math/TriNoise3D.d.ts +3 -3
- three/src/nodes/pmrem/PMREMNode.d.ts +1 -1
- three/src/nodes/procedural/Checker.d.ts +1 -1
- three/src/nodes/tsl/TSLCore.d.ts +1683 -224
- three/src/nodes/utils/ArrayElementNode.d.ts +9 -4
- three/src/nodes/utils/DebugNode.d.ts +2 -5
- three/src/nodes/utils/Discard.d.ts +2 -3
- three/src/nodes/utils/FlipNode.d.ts +11 -0
- three/src/nodes/utils/LoopNode.d.ts +17 -13
- three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -1
- three/src/nodes/utils/Oscillators.d.ts +4 -4
- three/src/nodes/utils/Packing.d.ts +3 -3
- three/src/nodes/utils/PostProcessingUtils.d.ts +5 -5
- three/src/nodes/utils/RemapNode.d.ts +33 -39
- three/src/nodes/utils/RotateNode.d.ts +17 -8
- three/src/nodes/utils/SplitNode.d.ts +1 -2
- three/src/nodes/utils/SpriteSheetUV.d.ts +7 -0
- three/src/nodes/utils/StorageArrayElementNode.d.ts +18 -9
- three/src/nodes/utils/Timer.d.ts +4 -4
- three/src/nodes/utils/TriplanarTextures.d.ts +2 -2
- three/src/nodes/utils/UVUtils.d.ts +6 -4
- three/src/objects/BatchedMesh.d.ts +6 -4
- three/src/objects/InstancedMesh.d.ts +32 -24
- three/src/renderers/WebGLRenderer.d.ts +4 -93
- three/src/renderers/common/Animation.d.ts +46 -9
- three/src/renderers/common/Attributes.d.ts +11 -13
- three/src/renderers/common/Backend.d.ts +0 -2
- three/src/renderers/common/Background.d.ts +17 -15
- three/src/renderers/common/BindGroup.d.ts +27 -13
- three/src/renderers/common/Binding.d.ts +15 -3
- three/src/renderers/common/Bindings.d.ts +41 -17
- three/src/renderers/common/BlendMode.d.ts +22 -0
- three/src/renderers/common/Buffer.d.ts +35 -11
- three/src/renderers/common/BufferUtils.d.ts +3 -4
- three/src/renderers/common/BundleGroup.d.ts +16 -6
- three/src/renderers/common/CanvasTarget.d.ts +76 -13
- three/src/renderers/common/ChainMap.d.ts +12 -9
- three/src/renderers/common/ClippingContext.d.ts +61 -10
- three/src/renderers/common/Color4.d.ts +10 -5
- three/src/renderers/common/ComputePipeline.d.ts +16 -2
- three/src/renderers/common/Constants.d.ts +5 -3
- three/src/renderers/common/CubeRenderTarget.d.ts +24 -7
- three/src/renderers/common/DataMap.d.ts +10 -18
- three/src/renderers/common/Geometries.d.ts +39 -20
- three/src/renderers/common/Info.d.ts +62 -9
- three/src/renderers/common/InspectorBase.d.ts +19 -7
- three/src/renderers/common/Lighting.d.ts +2 -6
- three/src/renderers/common/Pipeline.d.ts +14 -2
- three/src/renderers/common/Pipelines.d.ts +58 -60
- three/src/renderers/common/PostProcessing.d.ts +14 -17
- three/src/renderers/common/ProgrammableStage.d.ts +48 -8
- three/src/renderers/common/RenderBundle.d.ts +4 -2
- three/src/renderers/common/RenderBundles.d.ts +6 -3
- three/src/renderers/common/RenderContext.d.ts +175 -7
- three/src/renderers/common/RenderContexts.d.ts +20 -25
- three/src/renderers/common/RenderList.d.ts +77 -11
- three/src/renderers/common/RenderLists.d.ts +16 -4
- three/src/renderers/common/RenderObject.d.ts +223 -47
- three/src/renderers/common/RenderObjectPipeline.d.ts +33 -0
- three/src/renderers/common/RenderObjects.d.ts +55 -22
- three/src/renderers/common/RenderPipeline.d.ts +20 -17
- three/src/renderers/common/Renderer.d.ts +625 -207
- three/src/renderers/common/Textures.d.ts +24 -46
- three/src/renderers/common/TimestampQueryPool.d.ts +62 -8
- three/src/renderers/common/Uniform.d.ts +143 -58
- three/src/renderers/common/UniformBuffer.d.ts +7 -5
- three/src/renderers/common/UniformsGroup.d.ts +50 -35
- three/src/renderers/common/XRManager.d.ts +321 -83
- three/src/renderers/common/XRRenderTarget.d.ts +49 -6
- three/src/renderers/common/nodes/NodeBuilderState.d.ts +75 -15
- three/src/renderers/common/nodes/NodeLibrary.d.ts +25 -5
- three/src/renderers/common/nodes/{Nodes.d.ts → NodeManager.d.ts} +54 -73
- three/src/renderers/common/nodes/NodeUniform.d.ts +60 -70
- three/src/renderers/common/nodes/NodeUniformsGroup.d.ts +23 -4
- three/src/renderers/shaders/UniformsLib.d.ts +0 -3
- three/src/renderers/webgl/WebGLAttributes.d.ts +9 -7
- three/src/renderers/webgl/WebGLEnvironments.d.ts +8 -0
- three/src/renderers/webgl/WebGLExtensions.d.ts +1 -1
- three/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +9 -5
- three/src/renderers/webgl/WebGLLights.d.ts +19 -18
- three/src/renderers/webgl/WebGLObjects.d.ts +15 -2
- three/src/renderers/webgl/WebGLProgram.d.ts +2 -10
- three/src/renderers/webgl/WebGLPrograms.d.ts +2 -2
- three/src/renderers/webgl/WebGLRenderLists.d.ts +1 -3
- three/src/renderers/webgl/WebGLShadowMap.d.ts +0 -5
- three/src/renderers/webgl/WebGLState.d.ts +305 -28
- three/src/renderers/webgl/WebGLTextures.d.ts +10 -9
- three/src/renderers/webgl/WebGLUniforms.d.ts +0 -7
- three/src/renderers/webgpu/WebGPUBackend.d.ts +0 -1
- three/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +2 -4
- three/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +15 -4
- three/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +1 -1
- three/src/scenes/Fog.d.ts +31 -37
- three/src/scenes/FogExp2.d.ts +26 -31
- three/src/scenes/Scene.d.ts +51 -65
- three/src/textures/CompressedArrayTexture.d.ts +1 -1
- three/src/textures/DataArrayTexture.d.ts +1 -1
- three/src/utils.d.ts +5 -0
- three/examples/jsm/materials/MeshGouraudMaterial.d.ts +0 -18
- three/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +0 -13
- three/examples/jsm/shaders/GodRaysShader.d.ts +0 -44
- three/src/nodes/accessors/SceneNode.d.ts +0 -21
- three/src/nodes/code/ScriptableNode.d.ts +0 -21
- three/src/nodes/code/ScriptableValueNode.d.ts +0 -9
- three/src/nodes/display/PosterizeNode.d.ts +0 -13
- three/src/nodes/utils/SpriteSheetUVNode.d.ts +0 -15
- three/src/renderers/webgl/WebGLCubeMaps.d.ts +0 -8
- three/src/renderers/webgl/WebGLCubeUVMaps.d.ts +0 -9
|
@@ -1,77 +1,50 @@
|
|
|
1
1
|
import { Object3D } from "../core/Object3D.js";
|
|
2
|
-
import {
|
|
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
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* const
|
|
15
|
-
*
|
|
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
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @param
|
|
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:
|
|
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
|
-
*
|
|
31
|
+
* The light being visualized.
|
|
49
32
|
*/
|
|
50
|
-
|
|
51
|
-
|
|
33
|
+
light: SpotLight;
|
|
52
34
|
/**
|
|
53
35
|
* The color parameter passed in the constructor.
|
|
54
|
-
* If
|
|
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
|
-
*
|
|
61
|
-
*
|
|
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
|
-
|
|
65
|
-
|
|
44
|
+
dispose(): void;
|
|
66
45
|
/**
|
|
67
|
-
* Updates the
|
|
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
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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
|
|
14
|
+
export class AmbientLight extends Light {
|
|
16
15
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* @param
|
|
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
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* @
|
|
23
|
+
* This flag can be used for type testing.
|
|
24
|
+
*
|
|
25
|
+
* @default true
|
|
34
26
|
*/
|
|
35
|
-
|
|
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
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
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
|
|
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
|
|
37
|
+
export class DirectionalLight extends Light {
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* @param
|
|
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
|
|
71
|
-
*
|
|
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
|
-
|
|
80
|
-
|
|
50
|
+
readonly isDirectionalLight: boolean;
|
|
81
51
|
/**
|
|
82
|
-
* The
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
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
|
|
91
|
-
*
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* @
|
|
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
|
-
|
|
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
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
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
|
|
20
|
+
export class HemisphereLight extends Light {
|
|
27
21
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* @param
|
|
31
|
-
* @param
|
|
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
|
-
*
|
|
57
|
-
*
|
|
30
|
+
* This flag can be used for type testing.
|
|
31
|
+
*
|
|
32
|
+
* @default true
|
|
58
33
|
*/
|
|
59
|
-
|
|
60
|
-
|
|
34
|
+
readonly isHemisphereLight: boolean;
|
|
61
35
|
/**
|
|
62
|
-
* The light's ground color
|
|
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
|
}
|
three/src/lights/Light.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
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
|
|
19
|
-
extends Object3D<LightEventMap>
|
|
20
|
-
{
|
|
17
|
+
export abstract class Light extends Object3D<LightEventMap> {
|
|
21
18
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* @param
|
|
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
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* @
|
|
26
|
+
* This flag can be used for type testing.
|
|
27
|
+
*
|
|
28
|
+
* @default true
|
|
34
29
|
*/
|
|
35
|
-
readonly isLight:
|
|
36
|
-
|
|
30
|
+
readonly isLight: boolean;
|
|
37
31
|
/**
|
|
38
|
-
*
|
|
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
|
|
52
|
-
*
|
|
53
|
-
* @
|
|
36
|
+
* The light's intensity.
|
|
37
|
+
*
|
|
38
|
+
* @default 1
|
|
54
39
|
*/
|
|
55
40
|
intensity: number;
|
|
56
|
-
|
|
57
41
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
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
|
}
|
three/src/lights/LightProbe.d.ts
CHANGED
|
@@ -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
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* Light probes are usually created from (radiance) environment maps
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* The current probe implementation in three.js supports so-called diffuse
|
|
23
|
-
* This type of light probe is functionally equivalent to an
|
|
24
|
-
*
|
|
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
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* @param
|
|
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
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* @
|
|
35
|
+
* This flag can be used for type testing.
|
|
36
|
+
*
|
|
37
|
+
* @default true
|
|
41
38
|
*/
|
|
42
|
-
readonly isLightProbe:
|
|
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
|
}
|