@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.
- 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/{RenderPipeline.d.ts → RenderObjectPipeline.d.ts} +17 -5
- three/src/renderers/common/RenderObjects.d.ts +55 -22
- 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
|
@@ -2,21 +2,21 @@ import { Camera } from "../../cameras/Camera.js";
|
|
|
2
2
|
import { BufferAttribute } from "../../core/BufferAttribute.js";
|
|
3
3
|
import { BufferGeometry } from "../../core/BufferGeometry.js";
|
|
4
4
|
import { InterleavedBuffer } from "../../core/InterleavedBuffer.js";
|
|
5
|
-
import { InterleavedBufferAttribute } from "../../core/InterleavedBufferAttribute.js";
|
|
6
5
|
import { Object3D } from "../../core/Object3D.js";
|
|
7
6
|
import { Material } from "../../materials/Material.js";
|
|
8
7
|
import NodeMaterialObserver from "../../materials/nodes/manager/NodeMaterialObserver.js";
|
|
9
|
-
import
|
|
8
|
+
import LightsNode from "../../nodes/lighting/LightsNode.js";
|
|
10
9
|
import { Scene } from "../../scenes/Scene.js";
|
|
11
10
|
import BindGroup from "./BindGroup.js";
|
|
12
11
|
import BundleGroup from "./BundleGroup.js";
|
|
13
12
|
import ClippingContext from "./ClippingContext.js";
|
|
14
13
|
import Geometries from "./Geometries.js";
|
|
15
14
|
import NodeBuilderState from "./nodes/NodeBuilderState.js";
|
|
16
|
-
import
|
|
15
|
+
import NodeManager from "./nodes/NodeManager.js";
|
|
17
16
|
import RenderContext from "./RenderContext.js";
|
|
18
17
|
import Renderer from "./Renderer.js";
|
|
19
18
|
import RenderPipeline from "./RenderPipeline.js";
|
|
19
|
+
|
|
20
20
|
/**
|
|
21
21
|
* A render object is the renderer's representation of single entity that gets drawn
|
|
22
22
|
* with a draw command. There is no unique mapping of render objects to 3D objects in the
|
|
@@ -36,76 +36,256 @@ import RenderPipeline from "./RenderPipeline.js";
|
|
|
36
36
|
* @private
|
|
37
37
|
*/
|
|
38
38
|
declare class RenderObject {
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Constructs a new render object.
|
|
41
|
+
*
|
|
42
|
+
* @param {Nodes} nodes - Renderer component for managing nodes related logic.
|
|
43
|
+
* @param {Geometries} geometries - Renderer component for managing geometries.
|
|
44
|
+
* @param {Renderer} renderer - The renderer.
|
|
45
|
+
* @param {Object3D} object - The 3D object.
|
|
46
|
+
* @param {Material} material - The 3D object's material.
|
|
47
|
+
* @param {Scene} scene - The scene the 3D object belongs to.
|
|
48
|
+
* @param {Camera} camera - The camera the object should be rendered with.
|
|
49
|
+
* @param {LightsNode} lightsNode - The lights node.
|
|
50
|
+
* @param {RenderContext} renderContext - The render context.
|
|
51
|
+
* @param {ClippingContext} clippingContext - The clipping context.
|
|
52
|
+
*/
|
|
53
|
+
constructor(
|
|
54
|
+
nodes: NodeManager,
|
|
55
|
+
geometries: Geometries,
|
|
56
|
+
renderer: Renderer,
|
|
57
|
+
object: Object3D,
|
|
58
|
+
material: Material,
|
|
59
|
+
scene: Scene,
|
|
60
|
+
camera: Camera,
|
|
61
|
+
lightsNode: LightsNode,
|
|
62
|
+
renderContext: RenderContext,
|
|
63
|
+
clippingContext: ClippingContext,
|
|
64
|
+
);
|
|
41
65
|
id: number;
|
|
66
|
+
/**
|
|
67
|
+
* Renderer component for managing nodes related logic.
|
|
68
|
+
*
|
|
69
|
+
* @type {Nodes}
|
|
70
|
+
* @private
|
|
71
|
+
*/
|
|
72
|
+
private _nodes;
|
|
73
|
+
/**
|
|
74
|
+
* Renderer component for managing geometries.
|
|
75
|
+
*
|
|
76
|
+
* @type {Geometries}
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
private _geometries;
|
|
80
|
+
/**
|
|
81
|
+
* The renderer.
|
|
82
|
+
*
|
|
83
|
+
* @type {Renderer}
|
|
84
|
+
*/
|
|
42
85
|
renderer: Renderer;
|
|
86
|
+
/**
|
|
87
|
+
* The 3D object.
|
|
88
|
+
*
|
|
89
|
+
* @type {Object3D}
|
|
90
|
+
*/
|
|
43
91
|
object: Object3D;
|
|
92
|
+
/**
|
|
93
|
+
* The 3D object's material.
|
|
94
|
+
*
|
|
95
|
+
* @type {Material}
|
|
96
|
+
*/
|
|
44
97
|
material: Material;
|
|
98
|
+
/**
|
|
99
|
+
* The scene the 3D object belongs to.
|
|
100
|
+
*
|
|
101
|
+
* @type {Scene}
|
|
102
|
+
*/
|
|
45
103
|
scene: Scene;
|
|
104
|
+
/**
|
|
105
|
+
* The camera the 3D object should be rendered with.
|
|
106
|
+
*
|
|
107
|
+
* @type {Camera}
|
|
108
|
+
*/
|
|
46
109
|
camera: Camera;
|
|
110
|
+
/**
|
|
111
|
+
* The lights node.
|
|
112
|
+
*
|
|
113
|
+
* @type {LightsNode}
|
|
114
|
+
*/
|
|
47
115
|
lightsNode: LightsNode;
|
|
116
|
+
/**
|
|
117
|
+
* The render context.
|
|
118
|
+
*
|
|
119
|
+
* @type {RenderContext}
|
|
120
|
+
*/
|
|
48
121
|
context: RenderContext;
|
|
122
|
+
/**
|
|
123
|
+
* The 3D object's geometry.
|
|
124
|
+
*
|
|
125
|
+
* @type {BufferGeometry}
|
|
126
|
+
*/
|
|
49
127
|
geometry: BufferGeometry;
|
|
128
|
+
/**
|
|
129
|
+
* The render object's version.
|
|
130
|
+
*
|
|
131
|
+
* @type {number}
|
|
132
|
+
*/
|
|
50
133
|
version: number;
|
|
134
|
+
/**
|
|
135
|
+
* The draw range of the geometry.
|
|
136
|
+
*
|
|
137
|
+
* @type {?Object}
|
|
138
|
+
* @default null
|
|
139
|
+
*/
|
|
51
140
|
drawRange: {
|
|
52
141
|
start: number;
|
|
53
142
|
count: number;
|
|
54
143
|
} | null;
|
|
55
|
-
|
|
144
|
+
/**
|
|
145
|
+
* An array holding the buffer attributes
|
|
146
|
+
* of the render object. This entails attribute
|
|
147
|
+
* definitions on geometry and node level.
|
|
148
|
+
*
|
|
149
|
+
* @type {?Array<BufferAttribute>}
|
|
150
|
+
* @default null
|
|
151
|
+
*/
|
|
152
|
+
attributes: BufferAttribute[] | null;
|
|
153
|
+
/**
|
|
154
|
+
* An object holding the version of the
|
|
155
|
+
* attributes. The keys are the attribute names
|
|
156
|
+
* and the values are the attribute versions.
|
|
157
|
+
*
|
|
158
|
+
* @type {?Object<string, number>}
|
|
159
|
+
* @default null
|
|
160
|
+
*/
|
|
56
161
|
attributesId: {
|
|
57
|
-
[
|
|
162
|
+
[x: string]: number;
|
|
58
163
|
} | null;
|
|
59
|
-
|
|
164
|
+
/**
|
|
165
|
+
* A reference to a render pipeline the render
|
|
166
|
+
* object is processed with.
|
|
167
|
+
*
|
|
168
|
+
* @type {RenderPipeline}
|
|
169
|
+
* @default null
|
|
170
|
+
*/
|
|
171
|
+
pipeline: RenderPipeline;
|
|
172
|
+
/**
|
|
173
|
+
* Only relevant for objects using
|
|
174
|
+
* multiple materials. This represents a group entry
|
|
175
|
+
* from the respective `BufferGeometry`.
|
|
176
|
+
*
|
|
177
|
+
* @type {?{start: number, count: number}}
|
|
178
|
+
* @default null
|
|
179
|
+
*/
|
|
60
180
|
group: {
|
|
61
181
|
start: number;
|
|
62
182
|
count: number;
|
|
63
183
|
} | null;
|
|
184
|
+
/**
|
|
185
|
+
* An array holding the vertex buffers which can
|
|
186
|
+
* be buffer attributes but also interleaved buffers.
|
|
187
|
+
*
|
|
188
|
+
* @type {?Array<BufferAttribute|InterleavedBuffer>}
|
|
189
|
+
* @default null
|
|
190
|
+
*/
|
|
64
191
|
vertexBuffers: Array<BufferAttribute | InterleavedBuffer> | null;
|
|
192
|
+
/**
|
|
193
|
+
* The parameters for the draw command.
|
|
194
|
+
*
|
|
195
|
+
* @type {?Object}
|
|
196
|
+
* @default null
|
|
197
|
+
*/
|
|
65
198
|
drawParams: {
|
|
66
199
|
vertexCount: number;
|
|
67
200
|
firstVertex: number;
|
|
68
201
|
instanceCount: number;
|
|
69
202
|
firstInstance: number;
|
|
70
203
|
} | null;
|
|
204
|
+
/**
|
|
205
|
+
* If this render object is used inside a render bundle,
|
|
206
|
+
* this property points to the respective bundle group.
|
|
207
|
+
*
|
|
208
|
+
* @type {?BundleGroup}
|
|
209
|
+
* @default null
|
|
210
|
+
*/
|
|
71
211
|
bundle: BundleGroup | null;
|
|
72
|
-
|
|
212
|
+
/**
|
|
213
|
+
* The clipping context.
|
|
214
|
+
*
|
|
215
|
+
* @type {ClippingContext}
|
|
216
|
+
*/
|
|
217
|
+
clippingContext: ClippingContext;
|
|
218
|
+
/**
|
|
219
|
+
* The clipping context's cache key.
|
|
220
|
+
*
|
|
221
|
+
* @type {string}
|
|
222
|
+
*/
|
|
73
223
|
clippingContextCacheKey: string;
|
|
224
|
+
/**
|
|
225
|
+
* The initial node cache key.
|
|
226
|
+
*
|
|
227
|
+
* @type {number}
|
|
228
|
+
*/
|
|
74
229
|
initialNodesCacheKey: number;
|
|
230
|
+
/**
|
|
231
|
+
* The initial cache key.
|
|
232
|
+
*
|
|
233
|
+
* @type {number}
|
|
234
|
+
*/
|
|
75
235
|
initialCacheKey: number;
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
236
|
+
/**
|
|
237
|
+
* The node builder state.
|
|
238
|
+
*
|
|
239
|
+
* @type {?NodeBuilderState}
|
|
240
|
+
* @private
|
|
241
|
+
* @default null
|
|
242
|
+
*/
|
|
243
|
+
private _nodeBuilderState;
|
|
244
|
+
/**
|
|
245
|
+
* An array of bindings.
|
|
246
|
+
*
|
|
247
|
+
* @type {?Array<BindGroup>}
|
|
248
|
+
* @private
|
|
249
|
+
* @default null
|
|
250
|
+
*/
|
|
251
|
+
private _bindings;
|
|
252
|
+
/**
|
|
253
|
+
* Reference to the node material observer.
|
|
254
|
+
*
|
|
255
|
+
* @type {?NodeMaterialObserver}
|
|
256
|
+
* @private
|
|
257
|
+
* @default null
|
|
258
|
+
*/
|
|
259
|
+
private _monitor;
|
|
260
|
+
/**
|
|
261
|
+
* An event listener which is defined by `RenderObjects`. It performs
|
|
262
|
+
* clean up tasks when `dispose()` on this render object.
|
|
263
|
+
*
|
|
264
|
+
* @method
|
|
265
|
+
*/
|
|
79
266
|
onDispose: (() => void) | null;
|
|
80
|
-
|
|
267
|
+
/**
|
|
268
|
+
* This flag can be used for type testing.
|
|
269
|
+
*
|
|
270
|
+
* @type {boolean}
|
|
271
|
+
* @readonly
|
|
272
|
+
* @default true
|
|
273
|
+
*/
|
|
274
|
+
readonly isRenderObject: boolean;
|
|
275
|
+
/**
|
|
276
|
+
* An event listener which is executed when `dispose()` is called on
|
|
277
|
+
* the material of this render object.
|
|
278
|
+
*
|
|
279
|
+
* @method
|
|
280
|
+
*/
|
|
81
281
|
onMaterialDispose: () => void;
|
|
82
|
-
onGeometryDispose: () => void;
|
|
83
282
|
/**
|
|
84
|
-
*
|
|
283
|
+
* An event listener which is executed when `dispose()` is called on
|
|
284
|
+
* the geometry of this render object.
|
|
85
285
|
*
|
|
86
|
-
* @
|
|
87
|
-
* @param {Geometries} geometries - Renderer component for managing geometries.
|
|
88
|
-
* @param {Renderer} renderer - The renderer.
|
|
89
|
-
* @param {Object3D} object - The 3D object.
|
|
90
|
-
* @param {Material} material - The 3D object's material.
|
|
91
|
-
* @param {Scene} scene - The scene the 3D object belongs to.
|
|
92
|
-
* @param {Camera} camera - The camera the object should be rendered with.
|
|
93
|
-
* @param {LightsNode} lightsNode - The lights node.
|
|
94
|
-
* @param {RenderContext} renderContext - The render context.
|
|
95
|
-
* @param {ClippingContext} clippingContext - The clipping context.
|
|
286
|
+
* @method
|
|
96
287
|
*/
|
|
97
|
-
|
|
98
|
-
nodes: Nodes,
|
|
99
|
-
geometries: Geometries,
|
|
100
|
-
renderer: Renderer,
|
|
101
|
-
object: Object3D,
|
|
102
|
-
material: Material,
|
|
103
|
-
scene: Scene,
|
|
104
|
-
camera: Camera,
|
|
105
|
-
lightsNode: LightsNode,
|
|
106
|
-
renderContext: RenderContext,
|
|
107
|
-
clippingContext: ClippingContext | null,
|
|
108
|
-
);
|
|
288
|
+
onGeometryDispose: () => void;
|
|
109
289
|
/**
|
|
110
290
|
* Updates the clipping context.
|
|
111
291
|
*
|
|
@@ -150,7 +330,7 @@ declare class RenderObject {
|
|
|
150
330
|
* @param {string} name - The name of the binding group.
|
|
151
331
|
* @return {?BindGroup} The bindings.
|
|
152
332
|
*/
|
|
153
|
-
getBindingGroup(name: string): BindGroup |
|
|
333
|
+
getBindingGroup(name: string): BindGroup | null;
|
|
154
334
|
/**
|
|
155
335
|
* Returns the index of the render object's geometry.
|
|
156
336
|
*
|
|
@@ -162,7 +342,7 @@ declare class RenderObject {
|
|
|
162
342
|
*
|
|
163
343
|
* @return {?BufferAttribute} The indirect attribute. `null` if no indirect drawing is used.
|
|
164
344
|
*/
|
|
165
|
-
getIndirect():
|
|
345
|
+
getIndirect(): BufferAttribute | null;
|
|
166
346
|
/**
|
|
167
347
|
* Returns the byte offset into the indirect attribute buffer.
|
|
168
348
|
*
|
|
@@ -174,12 +354,7 @@ declare class RenderObject {
|
|
|
174
354
|
*
|
|
175
355
|
* @return {Array<Object>} An array with object references.
|
|
176
356
|
*/
|
|
177
|
-
getChainArray():
|
|
178
|
-
Object3D<import("../../core/Object3D.js").Object3DEventMap>,
|
|
179
|
-
Material,
|
|
180
|
-
RenderContext,
|
|
181
|
-
LightsNode,
|
|
182
|
-
];
|
|
357
|
+
getChainArray(): unknown[];
|
|
183
358
|
/**
|
|
184
359
|
* This method is used when the geometry of a 3D object has been exchanged and the
|
|
185
360
|
* respective render object now requires an update.
|
|
@@ -193,13 +368,13 @@ declare class RenderObject {
|
|
|
193
368
|
*
|
|
194
369
|
* @return {Array<BufferAttribute>} An array with buffer attributes.
|
|
195
370
|
*/
|
|
196
|
-
getAttributes():
|
|
371
|
+
getAttributes(): BufferAttribute[];
|
|
197
372
|
/**
|
|
198
373
|
* Returns the vertex buffers of the render object.
|
|
199
374
|
*
|
|
200
375
|
* @return {Array<BufferAttribute|InterleavedBuffer>} An array with buffer attribute or interleaved buffers.
|
|
201
376
|
*/
|
|
202
|
-
getVertexBuffers():
|
|
377
|
+
getVertexBuffers(): Array<BufferAttribute | InterleavedBuffer>;
|
|
203
378
|
/**
|
|
204
379
|
* Returns the draw parameters for the render object.
|
|
205
380
|
*
|
|
@@ -269,4 +444,5 @@ declare class RenderObject {
|
|
|
269
444
|
*/
|
|
270
445
|
dispose(): void;
|
|
271
446
|
}
|
|
447
|
+
|
|
272
448
|
export default RenderObject;
|
|
@@ -1,21 +1,33 @@
|
|
|
1
1
|
import Pipeline from "./Pipeline.js";
|
|
2
2
|
import ProgrammableStage from "./ProgrammableStage.js";
|
|
3
|
+
|
|
3
4
|
/**
|
|
4
5
|
* Class for representing render pipelines.
|
|
5
6
|
*
|
|
6
7
|
* @private
|
|
7
8
|
* @augments Pipeline
|
|
8
9
|
*/
|
|
9
|
-
declare class
|
|
10
|
-
vertexProgram: ProgrammableStage;
|
|
11
|
-
fragmentProgram: ProgrammableStage;
|
|
10
|
+
declare class RenderObjectPipeline extends Pipeline {
|
|
12
11
|
/**
|
|
13
|
-
* Constructs a new render pipeline.
|
|
12
|
+
* Constructs a new render object pipeline.
|
|
14
13
|
*
|
|
15
14
|
* @param {string} cacheKey - The pipeline's cache key.
|
|
16
15
|
* @param {ProgrammableStage} vertexProgram - The pipeline's vertex shader.
|
|
17
16
|
* @param {ProgrammableStage} fragmentProgram - The pipeline's fragment shader.
|
|
18
17
|
*/
|
|
19
18
|
constructor(cacheKey: string, vertexProgram: ProgrammableStage, fragmentProgram: ProgrammableStage);
|
|
19
|
+
/**
|
|
20
|
+
* The pipeline's vertex shader.
|
|
21
|
+
*
|
|
22
|
+
* @type {ProgrammableStage}
|
|
23
|
+
*/
|
|
24
|
+
vertexProgram: ProgrammableStage;
|
|
25
|
+
/**
|
|
26
|
+
* The pipeline's fragment shader.
|
|
27
|
+
*
|
|
28
|
+
* @type {ProgrammableStage}
|
|
29
|
+
*/
|
|
30
|
+
fragmentProgram: ProgrammableStage;
|
|
20
31
|
}
|
|
21
|
-
|
|
32
|
+
|
|
33
|
+
export default RenderObjectPipeline;
|
|
@@ -8,26 +8,18 @@ import ChainMap from "./ChainMap.js";
|
|
|
8
8
|
import ClippingContext from "./ClippingContext.js";
|
|
9
9
|
import Geometries from "./Geometries.js";
|
|
10
10
|
import Info from "./Info.js";
|
|
11
|
-
import
|
|
11
|
+
import NodeManager from "./nodes/NodeManager.js";
|
|
12
12
|
import Pipelines from "./Pipelines.js";
|
|
13
13
|
import RenderContext from "./RenderContext.js";
|
|
14
14
|
import Renderer from "./Renderer.js";
|
|
15
15
|
import RenderObject from "./RenderObject.js";
|
|
16
|
+
|
|
16
17
|
/**
|
|
17
18
|
* This module manages the render objects of the renderer.
|
|
18
19
|
*
|
|
19
20
|
* @private
|
|
20
21
|
*/
|
|
21
22
|
declare class RenderObjects {
|
|
22
|
-
renderer: Renderer;
|
|
23
|
-
nodes: Nodes;
|
|
24
|
-
geometries: Geometries;
|
|
25
|
-
pipelines: Pipelines;
|
|
26
|
-
bindings: Bindings;
|
|
27
|
-
info: Info;
|
|
28
|
-
chainMaps: {
|
|
29
|
-
[passId: string]: ChainMap<readonly [Object3D, Material, RenderContext, LightsNode], RenderObject>;
|
|
30
|
-
};
|
|
31
23
|
/**
|
|
32
24
|
* Constructs a new render object management component.
|
|
33
25
|
*
|
|
@@ -40,12 +32,57 @@ declare class RenderObjects {
|
|
|
40
32
|
*/
|
|
41
33
|
constructor(
|
|
42
34
|
renderer: Renderer,
|
|
43
|
-
nodes:
|
|
35
|
+
nodes: NodeManager,
|
|
44
36
|
geometries: Geometries,
|
|
45
37
|
pipelines: Pipelines,
|
|
46
38
|
bindings: Bindings,
|
|
47
39
|
info: Info,
|
|
48
40
|
);
|
|
41
|
+
/**
|
|
42
|
+
* The renderer.
|
|
43
|
+
*
|
|
44
|
+
* @type {Renderer}
|
|
45
|
+
*/
|
|
46
|
+
renderer: Renderer;
|
|
47
|
+
/**
|
|
48
|
+
* Renderer component for managing nodes related logic.
|
|
49
|
+
*
|
|
50
|
+
* @type {Nodes}
|
|
51
|
+
*/
|
|
52
|
+
nodes: NodeManager;
|
|
53
|
+
/**
|
|
54
|
+
* Renderer component for managing geometries.
|
|
55
|
+
*
|
|
56
|
+
* @type {Geometries}
|
|
57
|
+
*/
|
|
58
|
+
geometries: Geometries;
|
|
59
|
+
/**
|
|
60
|
+
* Renderer component for managing pipelines.
|
|
61
|
+
*
|
|
62
|
+
* @type {Pipelines}
|
|
63
|
+
*/
|
|
64
|
+
pipelines: Pipelines;
|
|
65
|
+
/**
|
|
66
|
+
* Renderer component for managing bindings.
|
|
67
|
+
*
|
|
68
|
+
* @type {Bindings}
|
|
69
|
+
*/
|
|
70
|
+
bindings: Bindings;
|
|
71
|
+
/**
|
|
72
|
+
* Renderer component for managing metrics and monitoring data.
|
|
73
|
+
*
|
|
74
|
+
* @type {Info}
|
|
75
|
+
*/
|
|
76
|
+
info: Info;
|
|
77
|
+
/**
|
|
78
|
+
* A dictionary that manages render contexts in chain maps
|
|
79
|
+
* for each pass ID.
|
|
80
|
+
*
|
|
81
|
+
* @type {Object<string,ChainMap>}
|
|
82
|
+
*/
|
|
83
|
+
chainMaps: {
|
|
84
|
+
[x: string]: ChainMap;
|
|
85
|
+
};
|
|
49
86
|
/**
|
|
50
87
|
* Returns a render object for the given object and state data.
|
|
51
88
|
*
|
|
@@ -66,8 +103,8 @@ declare class RenderObjects {
|
|
|
66
103
|
camera: Camera,
|
|
67
104
|
lightsNode: LightsNode,
|
|
68
105
|
renderContext: RenderContext,
|
|
69
|
-
clippingContext: ClippingContext
|
|
70
|
-
passId?: string
|
|
106
|
+
clippingContext: ClippingContext,
|
|
107
|
+
passId?: string,
|
|
71
108
|
): RenderObject;
|
|
72
109
|
/**
|
|
73
110
|
* Returns a chain map for the given pass ID.
|
|
@@ -75,12 +112,7 @@ declare class RenderObjects {
|
|
|
75
112
|
* @param {string} [passId='default'] - The pass ID.
|
|
76
113
|
* @return {ChainMap} The chain map.
|
|
77
114
|
*/
|
|
78
|
-
getChainMap(
|
|
79
|
-
passId?: string,
|
|
80
|
-
): ChainMap<
|
|
81
|
-
readonly [Object3D<import("../../core/Object3D.js").Object3DEventMap>, Material, RenderContext, LightsNode],
|
|
82
|
-
RenderObject
|
|
83
|
-
>;
|
|
115
|
+
getChainMap(passId?: string): ChainMap;
|
|
84
116
|
/**
|
|
85
117
|
* Frees internal resources.
|
|
86
118
|
*/
|
|
@@ -102,7 +134,7 @@ declare class RenderObjects {
|
|
|
102
134
|
* @return {RenderObject} The render object.
|
|
103
135
|
*/
|
|
104
136
|
createRenderObject(
|
|
105
|
-
nodes:
|
|
137
|
+
nodes: NodeManager,
|
|
106
138
|
geometries: Geometries,
|
|
107
139
|
renderer: Renderer,
|
|
108
140
|
object: Object3D,
|
|
@@ -111,8 +143,9 @@ declare class RenderObjects {
|
|
|
111
143
|
camera: Camera,
|
|
112
144
|
lightsNode: LightsNode,
|
|
113
145
|
renderContext: RenderContext,
|
|
114
|
-
clippingContext: ClippingContext
|
|
115
|
-
passId
|
|
146
|
+
clippingContext: ClippingContext,
|
|
147
|
+
passId?: string,
|
|
116
148
|
): RenderObject;
|
|
117
149
|
}
|
|
150
|
+
|
|
118
151
|
export default RenderObjects;
|