@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,4 +1,5 @@
|
|
|
1
1
|
import { Group } from "../../objects/Group.js";
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* A specialized group which enables applications access to the
|
|
4
5
|
* Render Bundle API of WebGPU. The group with all its descendant nodes
|
|
@@ -12,14 +13,22 @@ import { Group } from "../../objects/Group.js";
|
|
|
12
13
|
* @augments Group
|
|
13
14
|
*/
|
|
14
15
|
declare class BundleGroup extends Group {
|
|
15
|
-
readonly isBundleGroup: true;
|
|
16
|
-
readonly type: string;
|
|
17
|
-
static: boolean;
|
|
18
|
-
version: number;
|
|
19
16
|
/**
|
|
20
|
-
*
|
|
17
|
+
* This flag can be used for type testing.
|
|
18
|
+
*
|
|
19
|
+
* @type {boolean}
|
|
20
|
+
* @readonly
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
23
|
+
readonly isBundleGroup: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The bundle group's version.
|
|
26
|
+
*
|
|
27
|
+
* @type {number}
|
|
28
|
+
* @readonly
|
|
29
|
+
* @default 0
|
|
21
30
|
*/
|
|
22
|
-
|
|
31
|
+
readonly version: number;
|
|
23
32
|
/**
|
|
24
33
|
* Set this property to `true` when the bundle group has changed.
|
|
25
34
|
*
|
|
@@ -29,4 +38,5 @@ declare class BundleGroup extends Group {
|
|
|
29
38
|
*/
|
|
30
39
|
set needsUpdate(value: boolean);
|
|
31
40
|
}
|
|
41
|
+
|
|
32
42
|
export default BundleGroup;
|
|
@@ -3,31 +3,87 @@ import { Vector2 } from "../../math/Vector2.js";
|
|
|
3
3
|
import { Vector4 } from "../../math/Vector4.js";
|
|
4
4
|
import { DepthTexture } from "../../textures/DepthTexture.js";
|
|
5
5
|
import { FramebufferTexture } from "../../textures/FramebufferTexture.js";
|
|
6
|
+
|
|
6
7
|
export interface CanvasTargetEventMap {
|
|
7
8
|
resize: {};
|
|
8
9
|
dispose: {};
|
|
9
10
|
}
|
|
11
|
+
|
|
10
12
|
/**
|
|
11
13
|
* CanvasTarget is a class that represents the final output destination of the renderer.
|
|
12
14
|
*
|
|
13
15
|
* @augments EventDispatcher
|
|
14
16
|
*/
|
|
15
17
|
declare class CanvasTarget extends EventDispatcher<CanvasTargetEventMap> {
|
|
16
|
-
domElement: HTMLCanvasElement;
|
|
17
|
-
_pixelRatio: number;
|
|
18
|
-
_width: number;
|
|
19
|
-
_height: number;
|
|
20
|
-
_viewport: Vector4;
|
|
21
|
-
_scissor: Vector4;
|
|
22
|
-
_scissorTest: boolean;
|
|
23
|
-
colorTexture: FramebufferTexture;
|
|
24
|
-
depthTexture: DepthTexture;
|
|
25
18
|
/**
|
|
26
19
|
* Constructs a new CanvasTarget.
|
|
27
20
|
*
|
|
28
21
|
* @param {HTMLCanvasElement|OffscreenCanvas} domElement - The canvas element to render to.
|
|
29
22
|
*/
|
|
30
|
-
constructor(domElement: HTMLCanvasElement);
|
|
23
|
+
constructor(domElement: HTMLCanvasElement | OffscreenCanvas);
|
|
24
|
+
/**
|
|
25
|
+
* A reference to the canvas element the renderer is drawing to.
|
|
26
|
+
* This value of this property will automatically be created by
|
|
27
|
+
* the renderer.
|
|
28
|
+
*
|
|
29
|
+
* @type {HTMLCanvasElement|OffscreenCanvas}
|
|
30
|
+
*/
|
|
31
|
+
domElement: HTMLCanvasElement | OffscreenCanvas;
|
|
32
|
+
/**
|
|
33
|
+
* The renderer's pixel ratio.
|
|
34
|
+
*
|
|
35
|
+
* @private
|
|
36
|
+
* @type {number}
|
|
37
|
+
* @default 1
|
|
38
|
+
*/
|
|
39
|
+
private _pixelRatio;
|
|
40
|
+
/**
|
|
41
|
+
* The width of the renderer's default framebuffer in logical pixel unit.
|
|
42
|
+
*
|
|
43
|
+
* @private
|
|
44
|
+
* @type {number}
|
|
45
|
+
*/
|
|
46
|
+
private _width;
|
|
47
|
+
/**
|
|
48
|
+
* The height of the renderer's default framebuffer in logical pixel unit.
|
|
49
|
+
*
|
|
50
|
+
* @private
|
|
51
|
+
* @type {number}
|
|
52
|
+
*/
|
|
53
|
+
private _height;
|
|
54
|
+
/**
|
|
55
|
+
* The viewport of the renderer in logical pixel unit.
|
|
56
|
+
*
|
|
57
|
+
* @private
|
|
58
|
+
* @type {Vector4}
|
|
59
|
+
*/
|
|
60
|
+
private _viewport;
|
|
61
|
+
/**
|
|
62
|
+
* The scissor rectangle of the renderer in logical pixel unit.
|
|
63
|
+
*
|
|
64
|
+
* @private
|
|
65
|
+
* @type {Vector4}
|
|
66
|
+
*/
|
|
67
|
+
private _scissor;
|
|
68
|
+
/**
|
|
69
|
+
* Whether the scissor test should be enabled or not.
|
|
70
|
+
*
|
|
71
|
+
* @private
|
|
72
|
+
* @type {boolean}
|
|
73
|
+
*/
|
|
74
|
+
private _scissorTest;
|
|
75
|
+
/**
|
|
76
|
+
* The color texture of the default framebuffer.
|
|
77
|
+
*
|
|
78
|
+
* @type {FramebufferTexture}
|
|
79
|
+
*/
|
|
80
|
+
colorTexture: FramebufferTexture;
|
|
81
|
+
/**
|
|
82
|
+
* The depth texture of the default framebuffer.
|
|
83
|
+
*
|
|
84
|
+
* @type {DepthTexture}
|
|
85
|
+
*/
|
|
86
|
+
depthTexture: DepthTexture;
|
|
31
87
|
/**
|
|
32
88
|
* Returns the pixel ratio.
|
|
33
89
|
*
|
|
@@ -83,6 +139,10 @@ declare class CanvasTarget extends EventDispatcher<CanvasTargetEventMap> {
|
|
|
83
139
|
* @return {Vector4} The scissor rectangle.
|
|
84
140
|
*/
|
|
85
141
|
getScissor(target: Vector4): Vector4;
|
|
142
|
+
/**
|
|
143
|
+
* Defines the scissor rectangle.
|
|
144
|
+
*/
|
|
145
|
+
setScissor(x: Vector4): void;
|
|
86
146
|
/**
|
|
87
147
|
* Defines the scissor rectangle.
|
|
88
148
|
*
|
|
@@ -92,7 +152,6 @@ declare class CanvasTarget extends EventDispatcher<CanvasTargetEventMap> {
|
|
|
92
152
|
* @param {number} width - The width of the scissor box in logical pixel unit.
|
|
93
153
|
* @param {number} height - The height of the scissor box in logical pixel unit.
|
|
94
154
|
*/
|
|
95
|
-
setScissor(x: Vector4): void;
|
|
96
155
|
setScissor(x: number, y: number, width: number, height: number): void;
|
|
97
156
|
/**
|
|
98
157
|
* Returns the scissor test value.
|
|
@@ -113,6 +172,10 @@ declare class CanvasTarget extends EventDispatcher<CanvasTargetEventMap> {
|
|
|
113
172
|
* @return {Vector4} The viewport definition.
|
|
114
173
|
*/
|
|
115
174
|
getViewport(target: Vector4): Vector4;
|
|
175
|
+
/**
|
|
176
|
+
* Defines the viewport.
|
|
177
|
+
*/
|
|
178
|
+
setViewport(x: Vector4): void;
|
|
116
179
|
/**
|
|
117
180
|
* Defines the viewport.
|
|
118
181
|
*
|
|
@@ -123,14 +186,13 @@ declare class CanvasTarget extends EventDispatcher<CanvasTargetEventMap> {
|
|
|
123
186
|
* @param {number} minDepth - The minimum depth value of the viewport. WebGPU only.
|
|
124
187
|
* @param {number} maxDepth - The maximum depth value of the viewport. WebGPU only.
|
|
125
188
|
*/
|
|
126
|
-
setViewport(x: Vector4): void;
|
|
127
189
|
setViewport(x: number, y: number, width: number, height: number, minDepth?: number, maxDepth?: number): void;
|
|
128
190
|
/**
|
|
129
191
|
* Dispatches the resize event.
|
|
130
192
|
*
|
|
131
193
|
* @private
|
|
132
194
|
*/
|
|
133
|
-
_dispatchResize
|
|
195
|
+
private _dispatchResize;
|
|
134
196
|
/**
|
|
135
197
|
* Frees the GPU-related resources allocated by this instance. Call this
|
|
136
198
|
* method whenever this instance is no longer used in your app.
|
|
@@ -139,4 +201,5 @@ declare class CanvasTarget extends EventDispatcher<CanvasTargetEventMap> {
|
|
|
139
201
|
*/
|
|
140
202
|
dispose(): void;
|
|
141
203
|
}
|
|
204
|
+
|
|
142
205
|
export default CanvasTarget;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
type RecursiveWeakMap<K extends readonly object[], V> = WeakMap<K[number], V | RecursiveWeakMap<K, V>>;
|
|
2
1
|
/**
|
|
3
2
|
* Data structure for the renderer. It allows defining values
|
|
4
3
|
* with chained, hierarchical keys. Keys are meant to be
|
|
@@ -7,26 +6,29 @@ type RecursiveWeakMap<K extends readonly object[], V> = WeakMap<K[number], V | R
|
|
|
7
6
|
*
|
|
8
7
|
* @private
|
|
9
8
|
*/
|
|
10
|
-
declare class ChainMap
|
|
11
|
-
weakMaps: Record<number, RecursiveWeakMap<K, V>>;
|
|
9
|
+
declare class ChainMap {
|
|
12
10
|
/**
|
|
13
|
-
*
|
|
11
|
+
* A map of Weak Maps by their key length.
|
|
12
|
+
*
|
|
13
|
+
* @type {Object<number, WeakMap>}
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
weakMaps: {
|
|
16
|
+
[x: number]: WeakMap<object, unknown>;
|
|
17
|
+
};
|
|
16
18
|
/**
|
|
17
19
|
* Returns the Weak Map for the given keys.
|
|
18
20
|
*
|
|
19
21
|
* @param {Array<Object>} keys - List of keys.
|
|
20
22
|
* @return {WeakMap} The weak map.
|
|
21
23
|
*/
|
|
22
|
-
_getWeakMap(keys:
|
|
24
|
+
_getWeakMap(keys: object[]): WeakMap<object, unknown>;
|
|
23
25
|
/**
|
|
24
26
|
* Returns the value for the given array of keys.
|
|
25
27
|
*
|
|
26
28
|
* @param {Array<Object>} keys - List of keys.
|
|
27
29
|
* @return {any} The value. Returns `undefined` if no value was found.
|
|
28
30
|
*/
|
|
29
|
-
get(keys:
|
|
31
|
+
get(keys: object[]): unknown;
|
|
30
32
|
/**
|
|
31
33
|
* Sets the value for the given keys.
|
|
32
34
|
*
|
|
@@ -34,13 +36,14 @@ declare class ChainMap<K extends readonly object[], V> {
|
|
|
34
36
|
* @param {any} value - The value to set.
|
|
35
37
|
* @return {ChainMap} A reference to this Chain Map.
|
|
36
38
|
*/
|
|
37
|
-
set(keys:
|
|
39
|
+
set(keys: object[], value: unknown): ChainMap;
|
|
38
40
|
/**
|
|
39
41
|
* Deletes a value for the given keys.
|
|
40
42
|
*
|
|
41
43
|
* @param {Array<Object>} keys - The keys.
|
|
42
44
|
* @return {boolean} Returns `true` if the value has been removed successfully and `false` if the value has not be found.
|
|
43
45
|
*/
|
|
44
|
-
delete(keys:
|
|
46
|
+
delete(keys: object[]): boolean;
|
|
45
47
|
}
|
|
48
|
+
|
|
46
49
|
export default ChainMap;
|
|
@@ -5,6 +5,7 @@ import { Plane } from "../../math/Plane.js";
|
|
|
5
5
|
import { Vector4 } from "../../math/Vector4.js";
|
|
6
6
|
import { ClippingGroup } from "../../objects/ClippingGroup.js";
|
|
7
7
|
import { Scene } from "../../scenes/Scene.js";
|
|
8
|
+
|
|
8
9
|
/**
|
|
9
10
|
* Represents the state that is used to perform clipping via clipping planes.
|
|
10
11
|
* There is a default clipping context for each render context. When the
|
|
@@ -14,22 +15,71 @@ import { Scene } from "../../scenes/Scene.js";
|
|
|
14
15
|
* @private
|
|
15
16
|
*/
|
|
16
17
|
declare class ClippingContext {
|
|
17
|
-
|
|
18
|
+
/**
|
|
19
|
+
* Constructs a new clipping context.
|
|
20
|
+
*
|
|
21
|
+
* @param {?ClippingContext} [parentContext=null] - A reference to the parent clipping context.
|
|
22
|
+
*/
|
|
23
|
+
constructor(parentContext?: ClippingContext | null);
|
|
24
|
+
/**
|
|
25
|
+
* The clipping context's version.
|
|
26
|
+
*
|
|
27
|
+
* @type {number}
|
|
28
|
+
* @readonly
|
|
29
|
+
*/
|
|
30
|
+
readonly version: number;
|
|
31
|
+
/**
|
|
32
|
+
* Whether the intersection of the clipping planes is used to clip objects, rather than their union.
|
|
33
|
+
*
|
|
34
|
+
* @type {?boolean}
|
|
35
|
+
* @default null
|
|
36
|
+
*/
|
|
18
37
|
clipIntersection: boolean | null;
|
|
38
|
+
/**
|
|
39
|
+
* The clipping context's cache key.
|
|
40
|
+
*
|
|
41
|
+
* @type {string}
|
|
42
|
+
*/
|
|
19
43
|
cacheKey: string;
|
|
20
|
-
|
|
21
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Whether the shadow pass is active or not.
|
|
46
|
+
*
|
|
47
|
+
* @type {boolean}
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
shadowPass: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* The view normal matrix.
|
|
53
|
+
*
|
|
54
|
+
* @type {Matrix3}
|
|
55
|
+
*/
|
|
22
56
|
viewNormalMatrix: Matrix3;
|
|
57
|
+
/**
|
|
58
|
+
* Internal cache for maintaining clipping contexts.
|
|
59
|
+
*
|
|
60
|
+
* @type {WeakMap<ClippingGroup,ClippingContext>}
|
|
61
|
+
*/
|
|
23
62
|
clippingGroupContexts: WeakMap<ClippingGroup, ClippingContext>;
|
|
24
|
-
shadowPass: boolean;
|
|
25
|
-
viewMatrix?: Matrix4;
|
|
26
|
-
parentVersion: number | null;
|
|
27
63
|
/**
|
|
28
|
-
*
|
|
64
|
+
* The intersection planes.
|
|
29
65
|
*
|
|
30
|
-
* @
|
|
66
|
+
* @type {Array<Vector4>}
|
|
31
67
|
*/
|
|
32
|
-
|
|
68
|
+
intersectionPlanes: Vector4[];
|
|
69
|
+
/**
|
|
70
|
+
* The intersection planes.
|
|
71
|
+
*
|
|
72
|
+
* @type {Array<Vector4>}
|
|
73
|
+
*/
|
|
74
|
+
unionPlanes: Vector4[];
|
|
75
|
+
/**
|
|
76
|
+
* The version of the clipping context's parent context.
|
|
77
|
+
*
|
|
78
|
+
* @type {?number}
|
|
79
|
+
* @readonly
|
|
80
|
+
*/
|
|
81
|
+
readonly parentVersion: number | null;
|
|
82
|
+
viewMatrix?: Matrix4;
|
|
33
83
|
/**
|
|
34
84
|
* Projects the given source clipping planes and writes the result into the
|
|
35
85
|
* destination array.
|
|
@@ -38,7 +88,7 @@ declare class ClippingContext {
|
|
|
38
88
|
* @param {Array<Vector4>} destination - The destination.
|
|
39
89
|
* @param {number} offset - The offset.
|
|
40
90
|
*/
|
|
41
|
-
projectPlanes(source:
|
|
91
|
+
projectPlanes(source: Plane[], destination: Vector4[], offset: number): void;
|
|
42
92
|
/**
|
|
43
93
|
* Updates the root clipping context of a scene.
|
|
44
94
|
*
|
|
@@ -68,4 +118,5 @@ declare class ClippingContext {
|
|
|
68
118
|
*/
|
|
69
119
|
get unionClippingCount(): number;
|
|
70
120
|
}
|
|
121
|
+
|
|
71
122
|
export default ClippingContext;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Color, ColorRepresentation } from "../../math/Color.js";
|
|
2
|
+
|
|
2
3
|
/**
|
|
3
4
|
* A four-component version of {@link Color} which is internally
|
|
4
5
|
* used by the renderer to represents clear color with alpha as
|
|
@@ -8,19 +9,22 @@ import { Color, ColorRepresentation } from "../../math/Color.js";
|
|
|
8
9
|
* @augments Color
|
|
9
10
|
*/
|
|
10
11
|
declare class Color4 extends Color {
|
|
11
|
-
a: number;
|
|
12
12
|
/**
|
|
13
13
|
* Constructs a new four-component color.
|
|
14
|
-
* You can
|
|
14
|
+
* You can pass a single THREE.Color, hex or
|
|
15
15
|
* string argument to this constructor.
|
|
16
|
+
*/
|
|
17
|
+
constructor(color?: ColorRepresentation);
|
|
18
|
+
/**
|
|
19
|
+
* Constructs a new four-component color.
|
|
16
20
|
*
|
|
17
|
-
* @param {number
|
|
21
|
+
* @param {number} [r=1] - The red value.
|
|
18
22
|
* @param {number} [g=1] - The green value.
|
|
19
23
|
* @param {number} [b=1] - The blue value.
|
|
20
24
|
* @param {number} [a=1] - The alpha value.
|
|
21
25
|
*/
|
|
22
|
-
constructor(color?: ColorRepresentation);
|
|
23
26
|
constructor(r: number, g: number, b: number, a?: number);
|
|
27
|
+
a: number;
|
|
24
28
|
/**
|
|
25
29
|
* Overwrites the default to honor alpha.
|
|
26
30
|
* You can also pass a single THREE.Color, hex or
|
|
@@ -39,7 +43,7 @@ declare class Color4 extends Color {
|
|
|
39
43
|
* @param {Color4} color - The color to copy.
|
|
40
44
|
* @return {Color4} A reference to this object.
|
|
41
45
|
*/
|
|
42
|
-
copy(color:
|
|
46
|
+
copy(color: Color4): this;
|
|
43
47
|
/**
|
|
44
48
|
* Overwrites the default to honor alpha.
|
|
45
49
|
*
|
|
@@ -47,4 +51,5 @@ declare class Color4 extends Color {
|
|
|
47
51
|
*/
|
|
48
52
|
clone(): this;
|
|
49
53
|
}
|
|
54
|
+
|
|
50
55
|
export default Color4;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Pipeline from "./Pipeline.js";
|
|
2
2
|
import ProgrammableStage from "./ProgrammableStage.js";
|
|
3
|
+
|
|
3
4
|
/**
|
|
4
5
|
* Class for representing compute pipelines.
|
|
5
6
|
*
|
|
@@ -7,8 +8,6 @@ import ProgrammableStage from "./ProgrammableStage.js";
|
|
|
7
8
|
* @augments Pipeline
|
|
8
9
|
*/
|
|
9
10
|
declare class ComputePipeline extends Pipeline {
|
|
10
|
-
computeProgram: ProgrammableStage;
|
|
11
|
-
readonly isComputePipeline: true;
|
|
12
11
|
/**
|
|
13
12
|
* Constructs a new render pipeline.
|
|
14
13
|
*
|
|
@@ -16,5 +15,20 @@ declare class ComputePipeline extends Pipeline {
|
|
|
16
15
|
* @param {ProgrammableStage} computeProgram - The pipeline's compute shader.
|
|
17
16
|
*/
|
|
18
17
|
constructor(cacheKey: string, computeProgram: ProgrammableStage);
|
|
18
|
+
/**
|
|
19
|
+
* The pipeline's compute shader.
|
|
20
|
+
*
|
|
21
|
+
* @type {ProgrammableStage}
|
|
22
|
+
*/
|
|
23
|
+
computeProgram: ProgrammableStage;
|
|
24
|
+
/**
|
|
25
|
+
* This flag can be used for type testing.
|
|
26
|
+
*
|
|
27
|
+
* @type {boolean}
|
|
28
|
+
* @readonly
|
|
29
|
+
* @default true
|
|
30
|
+
*/
|
|
31
|
+
readonly isComputePipeline: boolean;
|
|
19
32
|
}
|
|
33
|
+
|
|
20
34
|
export default ComputePipeline;
|
|
@@ -5,6 +5,8 @@ export declare const AttributeType: {
|
|
|
5
5
|
readonly INDIRECT: 4;
|
|
6
6
|
};
|
|
7
7
|
export type AttributeType = (typeof AttributeType)[keyof typeof AttributeType];
|
|
8
|
-
|
|
9
|
-
export
|
|
10
|
-
|
|
8
|
+
|
|
9
|
+
export const GPU_CHUNK_BYTES: 16;
|
|
10
|
+
|
|
11
|
+
export const BlendColorFactor: 211;
|
|
12
|
+
export const OneMinusBlendColorFactor: 212;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { RenderTargetOptions } from "../../core/RenderTarget.js";
|
|
2
|
-
import { WebGLCubeRenderTarget } from "../../renderers/WebGLCubeRenderTarget.js";
|
|
1
|
+
import { RenderTarget, RenderTargetOptions } from "../../core/RenderTarget.js";
|
|
3
2
|
import { Texture } from "../../textures/Texture.js";
|
|
4
|
-
import
|
|
3
|
+
import Renderer from "./Renderer.js";
|
|
4
|
+
|
|
5
5
|
/**
|
|
6
6
|
* This class represents a cube render target. It is a special version
|
|
7
7
|
* of `WebGLCubeRenderTarget` which is compatible with `WebGPURenderer`.
|
|
8
8
|
*
|
|
9
|
-
* @augments
|
|
9
|
+
* @augments RenderTarget
|
|
10
10
|
*/
|
|
11
|
-
declare class CubeRenderTarget extends
|
|
12
|
-
readonly isCubeRenderTarget: true;
|
|
11
|
+
declare class CubeRenderTarget extends RenderTarget {
|
|
13
12
|
/**
|
|
14
13
|
* Constructs a new cube render target.
|
|
15
14
|
*
|
|
@@ -17,6 +16,14 @@ declare class CubeRenderTarget extends WebGLCubeRenderTarget {
|
|
|
17
16
|
* @param {RenderTarget~Options} [options] - The configuration object.
|
|
18
17
|
*/
|
|
19
18
|
constructor(size?: number, options?: RenderTargetOptions);
|
|
19
|
+
/**
|
|
20
|
+
* This flag can be used for type testing.
|
|
21
|
+
*
|
|
22
|
+
* @type {boolean}
|
|
23
|
+
* @readonly
|
|
24
|
+
* @default true
|
|
25
|
+
*/
|
|
26
|
+
readonly isCubeRenderTarget: boolean;
|
|
20
27
|
/**
|
|
21
28
|
* Converts the given equirectangular texture to a cube map.
|
|
22
29
|
*
|
|
@@ -24,6 +31,16 @@ declare class CubeRenderTarget extends WebGLCubeRenderTarget {
|
|
|
24
31
|
* @param {Texture} texture - The equirectangular texture.
|
|
25
32
|
* @return {CubeRenderTarget} A reference to this cube render target.
|
|
26
33
|
*/
|
|
27
|
-
fromEquirectangularTexture(renderer:
|
|
34
|
+
fromEquirectangularTexture(renderer: Renderer, texture: Texture): this;
|
|
35
|
+
/**
|
|
36
|
+
* Clears this cube render target.
|
|
37
|
+
*
|
|
38
|
+
* @param {Renderer} renderer - The renderer.
|
|
39
|
+
* @param {boolean} [color=true] - Whether the color buffer should be cleared or not.
|
|
40
|
+
* @param {boolean} [depth=true] - Whether the depth buffer should be cleared or not.
|
|
41
|
+
* @param {boolean} [stencil=true] - Whether the stencil buffer should be cleared or not.
|
|
42
|
+
*/
|
|
43
|
+
clear(renderer: Renderer, color?: boolean, depth?: boolean, stencil?: boolean): void;
|
|
28
44
|
}
|
|
45
|
+
|
|
29
46
|
export default CubeRenderTarget;
|
|
@@ -4,47 +4,39 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @private
|
|
6
6
|
*/
|
|
7
|
-
declare class DataMap
|
|
8
|
-
M extends {
|
|
9
|
-
[key: string]: {
|
|
10
|
-
key: object;
|
|
11
|
-
value: unknown;
|
|
12
|
-
};
|
|
13
|
-
},
|
|
14
|
-
> {
|
|
15
|
-
data: WeakMap<M[keyof M]["key"], M[keyof M]["value"]>;
|
|
7
|
+
declare class DataMap {
|
|
16
8
|
/**
|
|
17
|
-
*
|
|
9
|
+
* `DataMap` internally uses a weak map
|
|
10
|
+
* to manage its data.
|
|
11
|
+
*
|
|
12
|
+
* @type {WeakMap<Object, Object>}
|
|
18
13
|
*/
|
|
19
|
-
|
|
14
|
+
data: WeakMap<object, unknown>;
|
|
20
15
|
/**
|
|
21
16
|
* Returns the dictionary for the given object.
|
|
22
17
|
*
|
|
23
18
|
* @param {Object} object - The object.
|
|
24
19
|
* @return {Object} The dictionary.
|
|
25
20
|
*/
|
|
26
|
-
get
|
|
27
|
-
key: K;
|
|
28
|
-
}>["value"];
|
|
21
|
+
get(object: object): unknown;
|
|
29
22
|
/**
|
|
30
23
|
* Deletes the dictionary for the given object.
|
|
31
24
|
*
|
|
32
25
|
* @param {Object} object - The object.
|
|
33
26
|
* @return {?Object} The deleted dictionary.
|
|
34
27
|
*/
|
|
35
|
-
delete
|
|
36
|
-
key: K;
|
|
37
|
-
}>["value"];
|
|
28
|
+
delete(object: object): unknown | null;
|
|
38
29
|
/**
|
|
39
30
|
* Returns `true` if the given object has a dictionary defined.
|
|
40
31
|
*
|
|
41
32
|
* @param {Object} object - The object to test.
|
|
42
33
|
* @return {boolean} Whether a dictionary is defined or not.
|
|
43
34
|
*/
|
|
44
|
-
has(object:
|
|
35
|
+
has(object: object): boolean;
|
|
45
36
|
/**
|
|
46
37
|
* Frees internal resources.
|
|
47
38
|
*/
|
|
48
39
|
dispose(): void;
|
|
49
40
|
}
|
|
41
|
+
|
|
50
42
|
export default DataMap;
|
|
@@ -1,31 +1,18 @@
|
|
|
1
1
|
import { BufferAttribute } from "../../core/BufferAttribute.js";
|
|
2
2
|
import { BufferGeometry } from "../../core/BufferGeometry.js";
|
|
3
|
-
import { InterleavedBuffer } from "../../core/InterleavedBuffer.js";
|
|
4
|
-
import { InterleavedBufferAttribute } from "../../core/InterleavedBufferAttribute.js";
|
|
5
3
|
import Attributes from "./Attributes.js";
|
|
6
4
|
import { AttributeType } from "./Constants.js";
|
|
7
5
|
import DataMap from "./DataMap.js";
|
|
8
6
|
import Info from "./Info.js";
|
|
9
7
|
import RenderObject from "./RenderObject.js";
|
|
10
|
-
|
|
11
|
-
initialized?: boolean | undefined;
|
|
12
|
-
}
|
|
8
|
+
|
|
13
9
|
/**
|
|
14
10
|
* This renderer module manages geometries.
|
|
15
11
|
*
|
|
16
12
|
* @private
|
|
17
13
|
* @augments DataMap
|
|
18
14
|
*/
|
|
19
|
-
declare class Geometries extends DataMap
|
|
20
|
-
geometry: {
|
|
21
|
-
key: BufferGeometry;
|
|
22
|
-
value: GeometryData;
|
|
23
|
-
};
|
|
24
|
-
}> {
|
|
25
|
-
attributes: Attributes;
|
|
26
|
-
info: Info;
|
|
27
|
-
wireframes: WeakMap<BufferGeometry, BufferAttribute>;
|
|
28
|
-
attributeCall: WeakMap<BufferAttribute | InterleavedBufferAttribute | InterleavedBuffer, number>;
|
|
15
|
+
declare class Geometries extends DataMap {
|
|
29
16
|
/**
|
|
30
17
|
* Constructs a new geometry management component.
|
|
31
18
|
*
|
|
@@ -33,13 +20,45 @@ declare class Geometries extends DataMap<{
|
|
|
33
20
|
* @param {Info} info - Renderer component for managing metrics and monitoring data.
|
|
34
21
|
*/
|
|
35
22
|
constructor(attributes: Attributes, info: Info);
|
|
23
|
+
/**
|
|
24
|
+
* Renderer component for managing attributes.
|
|
25
|
+
*
|
|
26
|
+
* @type {Attributes}
|
|
27
|
+
*/
|
|
28
|
+
attributes: Attributes;
|
|
29
|
+
/**
|
|
30
|
+
* Renderer component for managing metrics and monitoring data.
|
|
31
|
+
*
|
|
32
|
+
* @type {Info}
|
|
33
|
+
*/
|
|
34
|
+
info: Info;
|
|
35
|
+
/**
|
|
36
|
+
* Weak Map for managing attributes for wireframe rendering.
|
|
37
|
+
*
|
|
38
|
+
* @type {WeakMap<BufferGeometry,BufferAttribute>}
|
|
39
|
+
*/
|
|
40
|
+
wireframes: WeakMap<BufferGeometry, BufferAttribute>;
|
|
41
|
+
/**
|
|
42
|
+
* This Weak Map is used to make sure buffer attributes are
|
|
43
|
+
* updated only once per render call.
|
|
44
|
+
*
|
|
45
|
+
* @type {WeakMap<BufferAttribute,number>}
|
|
46
|
+
*/
|
|
47
|
+
attributeCall: WeakMap<BufferAttribute, number>;
|
|
48
|
+
/**
|
|
49
|
+
* Stores the event listeners attached to geometries.
|
|
50
|
+
*
|
|
51
|
+
* @private
|
|
52
|
+
* @type {Map<BufferGeometry,Function>}
|
|
53
|
+
*/
|
|
54
|
+
private _geometryDisposeListeners;
|
|
36
55
|
/**
|
|
37
56
|
* Returns `true` if the given render object has an initialized geometry.
|
|
38
57
|
*
|
|
39
58
|
* @param {RenderObject} renderObject - The render object.
|
|
40
59
|
* @return {boolean} Whether if the given render object has an initialized geometry or not.
|
|
41
60
|
*/
|
|
42
|
-
has(renderObject: RenderObject
|
|
61
|
+
has(renderObject: RenderObject): boolean;
|
|
43
62
|
/**
|
|
44
63
|
* Prepares the geometry of the given render object for rendering.
|
|
45
64
|
*
|
|
@@ -64,21 +83,21 @@ declare class Geometries extends DataMap<{
|
|
|
64
83
|
* @param {BufferAttribute} attribute - The attribute to update.
|
|
65
84
|
* @param {number} type - The attribute type.
|
|
66
85
|
*/
|
|
67
|
-
updateAttribute(attribute: BufferAttribute
|
|
86
|
+
updateAttribute(attribute: BufferAttribute, type: AttributeType): void;
|
|
68
87
|
/**
|
|
69
88
|
* Returns the indirect buffer attribute of the given render object.
|
|
70
89
|
*
|
|
71
90
|
* @param {RenderObject} renderObject - The render object.
|
|
72
91
|
* @return {?BufferAttribute} The indirect attribute. `null` if no indirect drawing is used.
|
|
73
92
|
*/
|
|
74
|
-
getIndirect(renderObject: RenderObject):
|
|
93
|
+
getIndirect(renderObject: RenderObject): BufferAttribute | null;
|
|
75
94
|
/**
|
|
76
95
|
* Returns the byte offset into the indirect attribute buffer of the given render object.
|
|
77
96
|
*
|
|
78
97
|
* @param {RenderObject} renderObject - The render object.
|
|
79
98
|
* @return {number} The byte offset into the indirect attribute buffer.
|
|
80
99
|
*/
|
|
81
|
-
getIndirectOffset(renderObject: RenderObject): number
|
|
100
|
+
getIndirectOffset(renderObject: RenderObject): number;
|
|
82
101
|
/**
|
|
83
102
|
* Returns the index of the given render object's geometry. This is implemented
|
|
84
103
|
* in a method to return a wireframe index if necessary.
|
|
@@ -87,6 +106,6 @@ declare class Geometries extends DataMap<{
|
|
|
87
106
|
* @return {?BufferAttribute} The index. Returns `null` for non-indexed geometries.
|
|
88
107
|
*/
|
|
89
108
|
getIndex(renderObject: RenderObject): BufferAttribute | null;
|
|
90
|
-
dispose(): void;
|
|
91
109
|
}
|
|
110
|
+
|
|
92
111
|
export default Geometries;
|