@types/three 0.180.0 → 0.182.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/controls/ArcballControls.d.ts +1 -1
- three/examples/jsm/controls/DragControls.d.ts +1 -1
- three/examples/jsm/controls/FirstPersonControls.d.ts +1 -1
- three/examples/jsm/controls/FlyControls.d.ts +1 -1
- three/examples/jsm/controls/OrbitControls.d.ts +1 -1
- three/examples/jsm/controls/PointerLockControls.d.ts +1 -1
- three/examples/jsm/controls/TrackballControls.d.ts +1 -1
- three/examples/jsm/controls/TransformControls.d.ts +1 -1
- three/examples/jsm/geometries/TextGeometry.d.ts +2 -0
- three/examples/jsm/gpgpu/BitonicSort.d.ts +21 -0
- three/examples/jsm/inspector/Inspector.d.ts +10 -0
- three/examples/jsm/inspector/RendererInspector.d.ts +4 -0
- three/examples/jsm/inspector/tabs/Parameters.d.ts +95 -0
- three/examples/jsm/inspector/ui/Tab.d.ts +3 -0
- three/examples/jsm/inspector/ui/Values.d.ts +80 -0
- three/examples/jsm/interactive/SelectionBox.d.ts +9 -9
- three/examples/jsm/lighting/TiledLighting.d.ts +1 -2
- three/examples/jsm/loaders/FontLoader.d.ts +1 -1
- three/examples/jsm/loaders/KTX2Loader.d.ts +3 -0
- three/examples/jsm/loaders/UltraHDRLoader.d.ts +7 -0
- three/examples/jsm/loaders/VOXLoader.d.ts +22 -5
- three/examples/jsm/math/Octree.d.ts +36 -14
- three/examples/jsm/objects/SkyMesh.d.ts +11 -7
- three/examples/jsm/objects/WaterMesh.d.ts +2 -2
- three/examples/jsm/physics/AmmoPhysics.d.ts +1 -1
- three/examples/jsm/postprocessing/OutputPass.d.ts +10 -6
- three/examples/jsm/postprocessing/RenderPass.d.ts +15 -10
- three/examples/jsm/renderers/CSS2DRenderer.d.ts +15 -10
- three/examples/jsm/transpiler/AST.d.ts +17 -0
- three/examples/jsm/transpiler/TSLEncoder.d.ts +2 -0
- three/examples/jsm/tsl/display/AfterImageNode.d.ts +4 -5
- three/examples/jsm/tsl/display/AnaglyphPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/AnamorphicNode.d.ts +1 -2
- three/examples/jsm/tsl/display/BleachBypass.d.ts +1 -2
- three/examples/jsm/tsl/display/BloomNode.d.ts +2 -3
- three/examples/jsm/tsl/display/ChromaticAberrationNode.d.ts +1 -2
- three/examples/jsm/tsl/display/DenoiseNode.d.ts +1 -2
- three/examples/jsm/tsl/display/DepthOfFieldNode.d.ts +1 -2
- three/examples/jsm/tsl/display/DotScreenNode.d.ts +1 -2
- three/examples/jsm/tsl/display/FXAANode.d.ts +1 -2
- three/examples/jsm/tsl/display/FilmNode.d.ts +1 -2
- three/examples/jsm/tsl/display/GTAONode.d.ts +11 -10
- three/examples/jsm/tsl/display/GaussianBlurNode.d.ts +2 -3
- three/examples/jsm/tsl/display/LensflareNode.d.ts +6 -7
- three/examples/jsm/tsl/display/Lut3DNode.d.ts +2 -3
- three/examples/jsm/tsl/display/MotionBlur.d.ts +1 -2
- three/examples/jsm/tsl/display/OutlineNode.d.ts +6 -7
- three/examples/jsm/tsl/display/ParallaxBarrierPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/PixelationPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/RGBShiftNode.d.ts +1 -2
- three/examples/jsm/tsl/display/SMAANode.d.ts +1 -2
- three/examples/jsm/tsl/display/SSAAPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/SSGINode.d.ts +30 -0
- three/examples/jsm/tsl/display/SSRNode.d.ts +12 -13
- three/examples/jsm/tsl/display/SSSNode.d.ts +20 -0
- three/examples/jsm/tsl/display/Sepia.d.ts +1 -2
- three/examples/jsm/tsl/display/SobelOperatorNode.d.ts +1 -2
- three/examples/jsm/tsl/display/StereoPassNode.d.ts +1 -2
- three/examples/jsm/tsl/display/TRAANode.d.ts +6 -2
- three/examples/jsm/tsl/display/TransitionNode.d.ts +1 -2
- three/examples/jsm/tsl/display/boxBlur.d.ts +1 -2
- three/examples/jsm/tsl/display/hashBlur.d.ts +1 -2
- three/examples/jsm/tsl/display/radialBlur.d.ts +12 -0
- three/examples/jsm/tsl/lighting/TiledLightsNode.d.ts +3 -4
- three/examples/jsm/tsl/math/Bayer.d.ts +1 -2
- three/examples/jsm/tsl/utils/Raymarching.d.ts +2 -3
- three/package.json +3 -3
- three/src/Three.Core.d.ts +1 -1
- three/src/Three.TSL.d.ts +21 -3
- three/src/Three.WebGPU.Nodes.d.ts +2 -0
- three/src/Three.WebGPU.d.ts +2 -0
- three/src/animation/AnimationMixer.d.ts +45 -3
- three/src/animation/AnimationUtils.d.ts +3 -8
- three/src/constants.d.ts +14 -0
- three/src/core/BufferGeometry.d.ts +3 -1
- three/src/extras/Controls.d.ts +3 -3
- three/src/lights/DirectionalLight.d.ts +10 -3
- three/src/lights/HemisphereLight.d.ts +8 -1
- three/src/lights/Light.d.ts +8 -12
- three/src/lights/LightProbe.d.ts +7 -3
- three/src/lights/PointLight.d.ts +12 -1
- three/src/lights/PointLightShadow.d.ts +1 -8
- three/src/lights/SpotLight.d.ts +17 -2
- three/src/loaders/ObjectLoader.d.ts +3 -3
- three/src/loaders/TextureLoader.d.ts +3 -3
- three/src/materials/Material.d.ts +3 -2
- three/src/materials/MeshLambertMaterial.d.ts +1 -1
- three/src/materials/MeshMatcapMaterial.d.ts +14 -0
- three/src/materials/MeshPhongMaterial.d.ts +1 -1
- three/src/materials/MeshPhysicalMaterial.d.ts +1 -1
- three/src/materials/MeshStandardMaterial.d.ts +7 -7
- three/src/materials/PointsMaterial.d.ts +1 -1
- three/src/materials/ShaderMaterial.d.ts +26 -11
- three/src/materials/nodes/MeshSSSNodeMaterial.d.ts +1 -1
- three/src/materials/nodes/NodeMaterial.d.ts +9 -3
- three/src/materials/nodes/VolumeNodeMaterial.d.ts +1 -2
- three/src/math/Vector3.d.ts +2 -2
- three/src/nodes/Nodes.d.ts +1 -1
- three/src/nodes/TSL.d.ts +5 -2
- three/src/nodes/accessors/AccessorsUtils.d.ts +4 -5
- three/src/nodes/accessors/Arrays.d.ts +2 -3
- three/src/nodes/accessors/BatchNode.d.ts +1 -2
- three/src/nodes/accessors/Bitangent.d.ts +4 -5
- three/src/nodes/accessors/BufferAttributeNode.d.ts +17 -17
- three/src/nodes/accessors/BufferNode.d.ts +2 -2
- three/src/nodes/accessors/BuiltinNode.d.ts +1 -2
- three/src/nodes/accessors/Camera.d.ts +10 -11
- three/src/nodes/accessors/ClippingNode.d.ts +3 -6
- three/src/nodes/accessors/CubeTextureNode.d.ts +8 -9
- three/src/nodes/accessors/InstanceNode.d.ts +8 -8
- three/src/nodes/accessors/InstancedMeshNode.d.ts +1 -2
- three/src/nodes/accessors/Lights.d.ts +6 -7
- three/src/nodes/accessors/MaterialNode.d.ts +38 -39
- three/src/nodes/accessors/MaterialProperties.d.ts +3 -4
- three/src/nodes/accessors/MaterialReferenceNode.d.ts +2 -2
- three/src/nodes/accessors/ModelNode.d.ts +12 -13
- three/src/nodes/accessors/ModelViewProjectionNode.d.ts +1 -2
- three/src/nodes/accessors/MorphNode.d.ts +1 -2
- three/src/nodes/accessors/Normal.d.ts +13 -14
- three/src/nodes/accessors/Object3DNode.d.ts +6 -7
- three/src/nodes/accessors/PointUVNode.d.ts +1 -2
- three/src/nodes/accessors/Position.d.ts +7 -8
- three/src/nodes/accessors/ReferenceBaseNode.d.ts +2 -3
- three/src/nodes/accessors/ReferenceNode.d.ts +2 -3
- three/src/nodes/accessors/ReflectVector.d.ts +4 -5
- three/src/nodes/accessors/RendererReferenceNode.d.ts +1 -2
- three/src/nodes/accessors/SceneNode.d.ts +3 -4
- three/src/nodes/accessors/SkinningNode.d.ts +5 -6
- three/src/nodes/accessors/StorageBufferNode.d.ts +5 -5
- three/src/nodes/accessors/StorageTextureNode.d.ts +7 -4
- three/src/nodes/accessors/Tangent.d.ts +4 -6
- three/src/nodes/accessors/TangentUtils.d.ts +2 -3
- three/src/nodes/accessors/Texture3DNode.d.ts +15 -4
- three/src/nodes/accessors/TextureBicubic.d.ts +2 -3
- three/src/nodes/accessors/TextureNode.d.ts +29 -24
- three/src/nodes/accessors/TextureSizeNode.d.ts +1 -2
- three/src/nodes/accessors/UV.d.ts +1 -2
- three/src/nodes/accessors/UniformArrayNode.d.ts +2 -3
- three/src/nodes/accessors/UserDataNode.d.ts +1 -2
- three/src/nodes/accessors/VelocityNode.d.ts +1 -2
- three/src/nodes/accessors/VertexColorNode.d.ts +1 -2
- three/src/nodes/code/CodeNode.d.ts +4 -5
- three/src/nodes/code/ExpressionNode.d.ts +1 -2
- three/src/nodes/code/FunctionCallNode.d.ts +6 -5
- three/src/nodes/code/FunctionNode.d.ts +4 -6
- three/src/nodes/code/ScriptableNode.d.ts +1 -2
- three/src/nodes/code/ScriptableValueNode.d.ts +1 -2
- three/src/nodes/core/ArrayNode.d.ts +6 -6
- three/src/nodes/core/AssignNode.d.ts +1 -8
- three/src/nodes/core/AttributeNode.d.ts +1 -2
- three/src/nodes/core/BypassNode.d.ts +5 -5
- three/src/nodes/core/ContextNode.d.ts +42 -14
- three/src/nodes/core/IndexNode.d.ts +10 -7
- three/src/nodes/core/InspectorNode.d.ts +16 -0
- three/src/nodes/core/IsolateNode.d.ts +36 -0
- three/src/nodes/core/MRTNode.d.ts +3 -4
- three/src/nodes/core/Node.d.ts +18 -2
- three/src/nodes/core/NodeUtils.d.ts +1 -11
- three/src/nodes/core/OutputStructNode.d.ts +1 -2
- three/src/nodes/core/ParameterNode.d.ts +1 -2
- three/src/nodes/core/PropertyNode.d.ts +32 -31
- three/src/nodes/core/StackNode.d.ts +1 -4
- three/src/nodes/core/StructNode.d.ts +3 -4
- three/src/nodes/core/SubBuildNode.d.ts +1 -2
- three/src/nodes/core/UniformNode.d.ts +3 -6
- three/src/nodes/core/VarNode.d.ts +12 -8
- three/src/nodes/core/VaryingNode.d.ts +12 -10
- three/src/nodes/display/BlendModes.d.ts +11 -12
- three/src/nodes/display/BumpMapNode.d.ts +1 -2
- three/src/nodes/display/ColorAdjustment.d.ts +7 -8
- three/src/nodes/display/ColorSpaceFunctions.d.ts +2 -3
- three/src/nodes/display/ColorSpaceNode.d.ts +19 -9
- three/src/nodes/display/FrontFacingNode.d.ts +3 -4
- three/src/nodes/display/NormalMapNode.d.ts +4 -3
- three/src/nodes/display/PassNode.d.ts +28 -11
- three/src/nodes/display/PosterizeNode.d.ts +1 -2
- three/src/nodes/display/RenderOutputNode.d.ts +11 -6
- three/src/nodes/display/ScreenNode.d.ts +9 -10
- three/src/nodes/display/ToneMappingFunctions.d.ts +6 -7
- three/src/nodes/display/ToneMappingNode.d.ts +9 -8
- three/src/nodes/display/ToonOutlinePassNode.d.ts +1 -2
- three/src/nodes/display/ViewportDepthNode.d.ts +3 -4
- three/src/nodes/display/ViewportDepthTextureNode.d.ts +1 -2
- three/src/nodes/display/ViewportSharedTextureNode.d.ts +1 -2
- three/src/nodes/display/ViewportTextureNode.d.ts +2 -3
- three/src/nodes/fog/Fog.d.ts +5 -6
- three/src/nodes/functions/BSDF/BRDF_GGX.d.ts +4 -5
- three/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.d.ts +14 -0
- three/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +1 -2
- three/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +1 -2
- three/src/nodes/functions/BSDF/DFGLUT.d.ts +12 -0
- three/src/nodes/functions/BSDF/D_GGX.d.ts +1 -2
- three/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +1 -2
- three/src/nodes/functions/BSDF/F_Schlick.d.ts +1 -2
- three/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +1 -2
- three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +1 -2
- three/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +1 -2
- three/src/nodes/functions/PhysicalLightingModel.d.ts +8 -1
- three/src/nodes/functions/ShadowMaskModel.d.ts +1 -2
- three/src/nodes/functions/material/getAlphaHashThreshold.d.ts +1 -2
- three/src/nodes/functions/material/getGeometryRoughness.d.ts +1 -2
- three/src/nodes/functions/material/getParallaxCorrectNormal.d.ts +1 -2
- three/src/nodes/functions/material/getRoughness.d.ts +1 -2
- three/src/nodes/functions/material/getShIrradianceAt.d.ts +1 -2
- three/src/nodes/geometry/RangeNode.d.ts +1 -2
- three/src/nodes/gpgpu/AtomicFunctionNode.d.ts +10 -11
- three/src/nodes/gpgpu/BarrierNode.d.ts +3 -4
- three/src/nodes/gpgpu/ComputeBuiltinNode.d.ts +5 -6
- three/src/nodes/gpgpu/ComputeNode.d.ts +21 -13
- three/src/nodes/gpgpu/SubgroupFunctionNode.d.ts +25 -26
- three/src/nodes/gpgpu/WorkgroupInfoNode.d.ts +1 -2
- three/src/nodes/lighting/AnalyticLightNode.d.ts +3 -2
- three/src/nodes/lighting/LightUtils.d.ts +1 -2
- three/src/nodes/lighting/LightingContextNode.d.ts +1 -2
- three/src/nodes/lighting/LightsNode.d.ts +1 -2
- three/src/nodes/lighting/PointLightNode.d.ts +5 -6
- three/src/nodes/lighting/PointShadowNode.d.ts +12 -17
- three/src/nodes/lighting/ShadowBaseNode.d.ts +1 -2
- three/src/nodes/lighting/ShadowFilterNode.d.ts +6 -5
- three/src/nodes/lighting/ShadowNode.d.ts +1 -2
- three/src/nodes/lighting/SpotLightNode.d.ts +1 -2
- three/src/nodes/materialx/MaterialXNodes.d.ts +41 -42
- three/src/nodes/materialx/lib/mx_hsv.d.ts +2 -3
- three/src/nodes/materialx/lib/mx_noise.d.ts +73 -74
- three/src/nodes/materialx/lib/mx_transform_color.d.ts +1 -2
- three/src/nodes/math/BitcastNode.d.ts +5 -6
- three/src/nodes/math/BitcountNode.d.ts +21 -0
- three/src/nodes/math/ConditionalNode.d.ts +11 -5
- three/src/nodes/math/Hash.d.ts +1 -2
- three/src/nodes/math/MathNode.d.ts +223 -77
- three/src/nodes/math/OperatorNode.d.ts +203 -59
- three/src/nodes/math/PackFloatNode.d.ts +19 -0
- three/src/nodes/math/TriNoise3D.d.ts +3 -4
- three/src/nodes/math/UnpackFloatNode.d.ts +18 -0
- three/src/nodes/pmrem/PMREMNode.d.ts +1 -2
- three/src/nodes/pmrem/PMREMUtils.d.ts +3 -4
- three/src/nodes/procedural/Checker.d.ts +1 -2
- three/src/nodes/shapes/Shapes.d.ts +1 -2
- three/src/nodes/tsl/TSLBase.d.ts +2 -1
- three/src/nodes/tsl/TSLCore.d.ts +235 -128
- three/src/nodes/utils/CubeMapNode.d.ts +1 -2
- three/src/nodes/utils/DebugNode.d.ts +9 -5
- three/src/nodes/utils/Discard.d.ts +6 -6
- three/src/nodes/utils/EquirectUV.d.ts +1 -2
- three/src/nodes/utils/EventNode.d.ts +8 -3
- three/src/nodes/utils/FunctionOverloadingNode.d.ts +1 -2
- three/src/nodes/utils/LoopNode.d.ts +7 -6
- three/src/nodes/utils/MatcapUV.d.ts +1 -2
- three/src/nodes/utils/MaxMipLevelNode.d.ts +1 -2
- three/src/nodes/utils/Oscillators.d.ts +4 -5
- three/src/nodes/utils/Packing.d.ts +3 -3
- three/src/nodes/utils/PostProcessingUtils.d.ts +7 -4
- three/src/nodes/utils/RTTNode.d.ts +2 -3
- three/src/nodes/utils/ReflectorNode.d.ts +2 -3
- three/src/nodes/utils/RemapNode.d.ts +29 -7
- three/src/nodes/utils/RotateNode.d.ts +1 -2
- three/src/nodes/utils/SampleNode.d.ts +1 -2
- three/src/nodes/utils/SpriteSheetUVNode.d.ts +1 -2
- three/src/nodes/utils/SpriteUtils.d.ts +1 -2
- three/src/nodes/utils/StorageArrayElementNode.d.ts +1 -2
- three/src/nodes/utils/Timer.d.ts +3 -4
- three/src/nodes/utils/TriplanarTextures.d.ts +2 -3
- three/src/nodes/utils/UVUtils.d.ts +5 -3
- three/src/nodes/utils/ViewportUtils.d.ts +1 -2
- three/src/objects/LOD.d.ts +1 -1
- three/src/objects/Skeleton.d.ts +4 -2
- three/src/renderers/WebGLRenderer.d.ts +22 -4
- three/src/renderers/common/Animation.d.ts +4 -1
- three/src/renderers/common/Binding.d.ts +6 -0
- three/src/renderers/common/Bindings.d.ts +12 -0
- three/src/renderers/common/Buffer.d.ts +24 -0
- three/src/renderers/common/CanvasTarget.d.ts +142 -0
- three/src/renderers/common/ChainMap.d.ts +8 -1
- three/src/renderers/common/Geometries.d.ts +8 -0
- three/src/renderers/common/InspectorBase.d.ts +105 -0
- three/src/renderers/common/PostProcessing.d.ts +3 -0
- three/src/renderers/common/QuadMesh.d.ts +3 -0
- three/src/renderers/common/RenderContexts.d.ts +6 -2
- three/src/renderers/common/RenderObject.d.ts +6 -0
- three/src/renderers/common/Renderer.d.ts +145 -46
- three/src/renderers/common/SampledTexture.d.ts +2 -0
- three/src/renderers/common/Sampler.d.ts +2 -0
- three/src/renderers/common/Textures.d.ts +20 -0
- three/src/renderers/common/TimestampQueryPool.d.ts +24 -1
- three/src/renderers/common/UniformsGroup.d.ts +1 -0
- three/src/renderers/common/extras/PMREMGenerator.d.ts +19 -1
- three/src/renderers/common/nodes/NodeLibrary.d.ts +3 -7
- three/src/renderers/common/nodes/Nodes.d.ts +13 -14
- three/src/renderers/shaders/ShaderLib.d.ts +1 -1
- three/src/renderers/webgl/WebGLCapabilities.d.ts +2 -2
- three/src/renderers/webgl/WebGLPrograms.d.ts +0 -1
- three/src/renderers/webgpu/utils/WebGPUConstants.d.ts +5 -0
- three/src/scenes/Scene.d.ts +2 -2
- three/src/textures/CanvasTexture.d.ts +3 -3
- three/src/textures/CompressedArrayTexture.d.ts +6 -9
- three/src/textures/CompressedCubeTexture.d.ts +3 -3
- three/src/textures/CompressedTexture.d.ts +6 -8
- three/src/textures/CubeDepthTexture.d.ts +41 -0
- three/src/textures/CubeTexture.d.ts +4 -11
- three/src/textures/Data3DTexture.d.ts +5 -10
- three/src/textures/DataArrayTexture.d.ts +10 -10
- three/src/textures/DataTexture.d.ts +4 -11
- three/src/textures/DepthTexture.d.ts +7 -8
- three/src/textures/ExternalTexture.d.ts +3 -1
- three/src/textures/FramebufferTexture.d.ts +6 -1
- three/src/textures/Source.d.ts +3 -3
- three/src/textures/Texture.d.ts +8 -8
- three/src/textures/VideoFrameTexture.d.ts +1 -1
- three/src/textures/VideoTexture.d.ts +2 -2
- three/src/utils.d.ts +30 -2
- three/src/nodes/core/CacheNode.d.ts +0 -21
- three/src/nodes/functions/BSDF/DFGApprox.d.ts +0 -11
|
@@ -23,10 +23,13 @@ import Attributes from "./Attributes.js";
|
|
|
23
23
|
import Backend from "./Backend.js";
|
|
24
24
|
import Background from "./Background.js";
|
|
25
25
|
import Bindings from "./Bindings.js";
|
|
26
|
+
import CanvasTarget from "./CanvasTarget.js";
|
|
26
27
|
import ClippingContext from "./ClippingContext.js";
|
|
27
28
|
import Color4 from "./Color4.js";
|
|
28
29
|
import Geometries from "./Geometries.js";
|
|
30
|
+
import IndirectStorageBufferAttribute from "./IndirectStorageBufferAttribute.js";
|
|
29
31
|
import Info from "./Info.js";
|
|
32
|
+
import InspectorBase from "./InspectorBase.js";
|
|
30
33
|
import Lighting from "./Lighting.js";
|
|
31
34
|
import NodeLibrary from "./nodes/NodeLibrary.js";
|
|
32
35
|
import Nodes from "./nodes/Nodes.js";
|
|
@@ -61,7 +64,7 @@ export interface RendererParameters {
|
|
|
61
64
|
antialias?: boolean | undefined;
|
|
62
65
|
samples?: number | undefined;
|
|
63
66
|
getFallback?: ((error: unknown) => Backend) | null | undefined;
|
|
64
|
-
|
|
67
|
+
outputBufferType?: TextureDataType | undefined;
|
|
65
68
|
multiview?: boolean | undefined;
|
|
66
69
|
}
|
|
67
70
|
/**
|
|
@@ -69,9 +72,7 @@ export interface RendererParameters {
|
|
|
69
72
|
*/
|
|
70
73
|
declare class Renderer {
|
|
71
74
|
readonly isRenderer: true;
|
|
72
|
-
domElement: HTMLCanvasElement;
|
|
73
75
|
backend: Backend;
|
|
74
|
-
samples: number;
|
|
75
76
|
autoClear: boolean;
|
|
76
77
|
autoClearColor: boolean;
|
|
77
78
|
autoClearDepth: boolean;
|
|
@@ -87,13 +88,10 @@ declare class Renderer {
|
|
|
87
88
|
info: Info;
|
|
88
89
|
library: NodeLibrary;
|
|
89
90
|
lighting: Lighting;
|
|
91
|
+
_samples: number;
|
|
92
|
+
_canvasTarget: CanvasTarget;
|
|
93
|
+
_inspector: InspectorBase;
|
|
90
94
|
_getFallback: ((error: unknown) => Backend) | null;
|
|
91
|
-
_pixelRatio: number;
|
|
92
|
-
_width: number;
|
|
93
|
-
_height: number;
|
|
94
|
-
_viewport: Vector4;
|
|
95
|
-
_scissor: Vector4;
|
|
96
|
-
_scissorTest: boolean;
|
|
97
95
|
_attributes: Attributes | null;
|
|
98
96
|
_geometries: Geometries | null;
|
|
99
97
|
_nodes: Nodes | null;
|
|
@@ -158,7 +156,7 @@ declare class Renderer {
|
|
|
158
156
|
) => void;
|
|
159
157
|
_isDeviceLost: boolean;
|
|
160
158
|
onDeviceLost: (info: DeviceLostInfo) => void;
|
|
161
|
-
|
|
159
|
+
_outputBufferType: TextureDataType;
|
|
162
160
|
_initialized: boolean;
|
|
163
161
|
_initPromise: Promise<this> | null;
|
|
164
162
|
_compilationPromises: Promise<void>[] | null;
|
|
@@ -197,7 +195,7 @@ declare class Renderer {
|
|
|
197
195
|
* @property {number} [samples=0] - When `antialias` is `true`, `4` samples are used by default. This parameter can set to any other integer value than 0
|
|
198
196
|
* to overwrite the default.
|
|
199
197
|
* @property {?Function} [getFallback=null] - This callback function can be used to provide a fallback backend, if the primary backend can't be targeted.
|
|
200
|
-
* @property {number} [
|
|
198
|
+
* @property {number} [outputBufferType=HalfFloatType] - Defines the type of output buffers. The default `HalfFloatType` is recommend for best
|
|
201
199
|
* quality. To save memory and bandwidth, `UnsignedByteType` might be used. This will reduce rendering quality though.
|
|
202
200
|
* @property {boolean} [multiview=false] - If set to `true`, the renderer will use multiview during WebXR rendering if supported.
|
|
203
201
|
*/
|
|
@@ -215,6 +213,14 @@ declare class Renderer {
|
|
|
215
213
|
* @return {Promise<this>} A Promise that resolves when the renderer has been initialized.
|
|
216
214
|
*/
|
|
217
215
|
init(): Promise<this>;
|
|
216
|
+
/**
|
|
217
|
+
* A reference to the canvas element the renderer is drawing to.
|
|
218
|
+
* This value of this property will automatically be created by
|
|
219
|
+
* the renderer.
|
|
220
|
+
*
|
|
221
|
+
* @type {HTMLCanvasElement|OffscreenCanvas}
|
|
222
|
+
*/
|
|
223
|
+
get domElement(): HTMLCanvasElement;
|
|
218
224
|
/**
|
|
219
225
|
* The coordinate system of the renderer. The value of this property
|
|
220
226
|
* depends on the selected backend. Either `THREE.WebGLCoordinateSystem` or
|
|
@@ -237,13 +243,14 @@ declare class Renderer {
|
|
|
237
243
|
* @param {Object3D} scene - The scene or 3D object to precompile.
|
|
238
244
|
* @param {Camera} camera - The camera that is used to render the scene.
|
|
239
245
|
* @param {?Scene} targetScene - If the first argument is a 3D object, this parameter must represent the scene the 3D object is going to be added.
|
|
240
|
-
* @return {Promise
|
|
246
|
+
* @return {Promise} A Promise that resolves when the compile has been finished.
|
|
241
247
|
*/
|
|
242
248
|
compileAsync(scene: Object3D, camera: Camera, targetScene?: Scene | null): Promise<void>;
|
|
243
249
|
/**
|
|
244
250
|
* Renders the scene in an async fashion.
|
|
245
251
|
*
|
|
246
252
|
* @async
|
|
253
|
+
* @deprecated
|
|
247
254
|
* @param {Object3D} scene - The scene or 3D object to render.
|
|
248
255
|
* @param {Camera} camera - The camera.
|
|
249
256
|
* @return {Promise} A Promise that resolves when the render has been finished.
|
|
@@ -254,9 +261,17 @@ declare class Renderer {
|
|
|
254
261
|
* the CPU waits for the GPU to complete its operation (e.g. a compute task).
|
|
255
262
|
*
|
|
256
263
|
* @async
|
|
264
|
+
* @deprecated
|
|
257
265
|
* @return {Promise} A Promise that resolves when synchronization has been finished.
|
|
258
266
|
*/
|
|
259
267
|
waitForGPU(): Promise<void>;
|
|
268
|
+
set inspector(value: InspectorBase);
|
|
269
|
+
/**
|
|
270
|
+
* The inspector instance. The inspector can be any class that extends from `InspectorBase`.
|
|
271
|
+
*
|
|
272
|
+
* @type {InspectorBase}
|
|
273
|
+
*/
|
|
274
|
+
get inspector(): InspectorBase;
|
|
260
275
|
/**
|
|
261
276
|
* Enables or disables high precision for model-view and normal-view matrices.
|
|
262
277
|
* When enabled, will use CPU 64-bit precision for higher precision instead of GPU 32-bit for higher performance.
|
|
@@ -288,9 +303,16 @@ declare class Renderer {
|
|
|
288
303
|
*/
|
|
289
304
|
getMRT(): MRTNode | null;
|
|
290
305
|
/**
|
|
291
|
-
* Returns the
|
|
306
|
+
* Returns the output buffer type.
|
|
307
|
+
*
|
|
308
|
+
* @return {number} The output buffer type.
|
|
309
|
+
*/
|
|
310
|
+
getOutputBufferType(): TextureDataType;
|
|
311
|
+
/**
|
|
312
|
+
* Returns the output buffer type.
|
|
292
313
|
*
|
|
293
|
-
* @
|
|
314
|
+
* @deprecated since r182. Use `.getOutputBufferType()` instead.
|
|
315
|
+
* @return {number} The output buffer type.
|
|
294
316
|
*/
|
|
295
317
|
getColorBufferType(): TextureDataType;
|
|
296
318
|
/**
|
|
@@ -311,17 +333,27 @@ declare class Renderer {
|
|
|
311
333
|
_renderBundle(bundle: Bundle, sceneRef: Scene, lightsNode: LightsNode): void;
|
|
312
334
|
/**
|
|
313
335
|
* Renders the scene or 3D object with the given camera. This method can only be called
|
|
314
|
-
* if the renderer has been initialized.
|
|
336
|
+
* if the renderer has been initialized. When using `render()` inside an animation loop,
|
|
337
|
+
* it's guaranteed the renderer will be initialized. The animation loop must be defined
|
|
338
|
+
* with {@link Renderer#setAnimationLoop} though.
|
|
339
|
+
*
|
|
340
|
+
* For all other use cases (like when using on-demand rendering), you must call
|
|
341
|
+
* {@link Renderer#init} before rendering.
|
|
315
342
|
*
|
|
316
343
|
* The target of the method is the default framebuffer (meaning the canvas)
|
|
317
344
|
* or alternatively a render target when specified via `setRenderTarget()`.
|
|
318
345
|
*
|
|
319
346
|
* @param {Object3D} scene - The scene or 3D object to render.
|
|
320
347
|
* @param {Camera} camera - The camera to render the scene with.
|
|
321
|
-
* @return {?Promise} A Promise that resolve when the scene has been rendered.
|
|
322
|
-
* Only returned when the renderer has not been initialized.
|
|
323
348
|
*/
|
|
324
|
-
render(scene: Object3D, camera: Camera):
|
|
349
|
+
render(scene: Object3D, camera: Camera): void;
|
|
350
|
+
/**
|
|
351
|
+
* Returns whether the renderer has been initialized or not.
|
|
352
|
+
*
|
|
353
|
+
* @readonly
|
|
354
|
+
* @return {boolean} Whether the renderer has been initialized or not.
|
|
355
|
+
*/
|
|
356
|
+
get initialized(): boolean;
|
|
325
357
|
/**
|
|
326
358
|
* Returns an internal render target which is used when computing the output tone mapping
|
|
327
359
|
* and color space conversion. Unlike in `WebGLRenderer`, this is done in a separate render
|
|
@@ -330,7 +362,7 @@ declare class Renderer {
|
|
|
330
362
|
* @private
|
|
331
363
|
* @return {?RenderTarget} The render target. The method returns `null` if no output conversion should be applied.
|
|
332
364
|
*/
|
|
333
|
-
_getFrameBufferTarget(): RenderTarget<Texture
|
|
365
|
+
_getFrameBufferTarget(): RenderTarget<Texture<unknown>> | null;
|
|
334
366
|
/**
|
|
335
367
|
* Renders the scene or 3D object with the given camera.
|
|
336
368
|
*
|
|
@@ -373,10 +405,16 @@ declare class Renderer {
|
|
|
373
405
|
* for best compatibility.
|
|
374
406
|
*
|
|
375
407
|
* @async
|
|
376
|
-
* @param {?
|
|
408
|
+
* @param {?onAnimationCallback} callback - The application's animation loop.
|
|
377
409
|
* @return {Promise} A Promise that resolves when the set has been executed.
|
|
378
410
|
*/
|
|
379
411
|
setAnimationLoop(callback: ((time: DOMHighResTimeStamp, frame?: XRFrame) => void) | null): Promise<void>;
|
|
412
|
+
/**
|
|
413
|
+
* Returns the current animation loop callback.
|
|
414
|
+
*
|
|
415
|
+
* @return {?Function} The current animation loop callback.
|
|
416
|
+
*/
|
|
417
|
+
getAnimationLoop(): ((time: DOMHighResTimeStamp, xrFrame?: XRFrame) => void) | null;
|
|
380
418
|
/**
|
|
381
419
|
* Can be used to transfer buffer data from a storage buffer attribute
|
|
382
420
|
* from the GPU to the CPU in context of compute shaders.
|
|
@@ -464,9 +502,9 @@ declare class Renderer {
|
|
|
464
502
|
/**
|
|
465
503
|
* Defines the scissor rectangle.
|
|
466
504
|
*
|
|
467
|
-
* @param {number | Vector4} x - The horizontal coordinate for the
|
|
505
|
+
* @param {number | Vector4} x - The horizontal coordinate for the upper left corner of the box in logical pixel unit.
|
|
468
506
|
* Instead of passing four arguments, the method also works with a single four-dimensional vector.
|
|
469
|
-
* @param {number} y - The vertical coordinate for the
|
|
507
|
+
* @param {number} y - The vertical coordinate for the upper left corner of the box in logical pixel unit.
|
|
470
508
|
* @param {number} width - The width of the scissor box in logical pixel unit.
|
|
471
509
|
* @param {number} height - The height of the scissor box in logical pixel unit.
|
|
472
510
|
*/
|
|
@@ -494,8 +532,8 @@ declare class Renderer {
|
|
|
494
532
|
/**
|
|
495
533
|
* Defines the viewport.
|
|
496
534
|
*
|
|
497
|
-
* @param {number | Vector4} x - The horizontal coordinate for the
|
|
498
|
-
* @param {number} y - The vertical coordinate for the
|
|
535
|
+
* @param {number | Vector4} x - The horizontal coordinate for the upper left corner of the viewport origin in logical pixel unit.
|
|
536
|
+
* @param {number} y - The vertical coordinate for the upper left corner of the viewport origin in logical pixel unit.
|
|
499
537
|
* @param {number} width - The width of the viewport in logical pixel unit.
|
|
500
538
|
* @param {number} height - The height of the viewport in logical pixel unit.
|
|
501
539
|
* @param {number} minDepth - The minimum depth value of the viewport. WebGPU only.
|
|
@@ -568,35 +606,25 @@ declare class Renderer {
|
|
|
568
606
|
* @param {boolean} [color=true] - Whether the color buffer should be cleared or not.
|
|
569
607
|
* @param {boolean} [depth=true] - Whether the depth buffer should be cleared or not.
|
|
570
608
|
* @param {boolean} [stencil=true] - Whether the stencil buffer should be cleared or not.
|
|
571
|
-
* @return {Promise} A Promise that resolves when the clear operation has been executed.
|
|
572
|
-
* Only returned when the renderer has not been initialized.
|
|
573
609
|
*/
|
|
574
|
-
clear(color?: boolean, depth?: boolean, stencil?: boolean):
|
|
610
|
+
clear(color?: boolean, depth?: boolean, stencil?: boolean): void;
|
|
575
611
|
/**
|
|
576
612
|
* Performs a manual clear operation of the color buffer. This method ignores `autoClear` properties.
|
|
577
|
-
*
|
|
578
|
-
* @return {Promise} A Promise that resolves when the clear operation has been executed.
|
|
579
|
-
* Only returned when the renderer has not been initialized.
|
|
580
613
|
*/
|
|
581
|
-
clearColor():
|
|
614
|
+
clearColor(): void;
|
|
582
615
|
/**
|
|
583
616
|
* Performs a manual clear operation of the depth buffer. This method ignores `autoClear` properties.
|
|
584
|
-
*
|
|
585
|
-
* @return {Promise} A Promise that resolves when the clear operation has been executed.
|
|
586
|
-
* Only returned when the renderer has not been initialized.
|
|
587
617
|
*/
|
|
588
|
-
clearDepth():
|
|
618
|
+
clearDepth(): void;
|
|
589
619
|
/**
|
|
590
620
|
* Performs a manual clear operation of the stencil buffer. This method ignores `autoClear` properties.
|
|
591
|
-
*
|
|
592
|
-
* @return {Promise} A Promise that resolves when the clear operation has been executed.
|
|
593
|
-
* Only returned when the renderer has not been initialized.
|
|
594
621
|
*/
|
|
595
|
-
clearStencil():
|
|
622
|
+
clearStencil(): void;
|
|
596
623
|
/**
|
|
597
624
|
* Async version of {@link Renderer#clear}.
|
|
598
625
|
*
|
|
599
626
|
* @async
|
|
627
|
+
* @deprecated
|
|
600
628
|
* @param {boolean} [color=true] - Whether the color buffer should be cleared or not.
|
|
601
629
|
* @param {boolean} [depth=true] - Whether the depth buffer should be cleared or not.
|
|
602
630
|
* @param {boolean} [stencil=true] - Whether the stencil buffer should be cleared or not.
|
|
@@ -607,6 +635,7 @@ declare class Renderer {
|
|
|
607
635
|
* Async version of {@link Renderer#clearColor}.
|
|
608
636
|
*
|
|
609
637
|
* @async
|
|
638
|
+
* @deprecated
|
|
610
639
|
* @return {Promise} A Promise that resolves when the clear operation has been executed.
|
|
611
640
|
*/
|
|
612
641
|
clearColorAsync(): Promise<void>;
|
|
@@ -614,6 +643,7 @@ declare class Renderer {
|
|
|
614
643
|
* Async version of {@link Renderer#clearDepth}.
|
|
615
644
|
*
|
|
616
645
|
* @async
|
|
646
|
+
* @deprecated
|
|
617
647
|
* @return {Promise} A Promise that resolves when the clear operation has been executed.
|
|
618
648
|
*/
|
|
619
649
|
clearDepthAsync(): Promise<void>;
|
|
@@ -621,9 +651,32 @@ declare class Renderer {
|
|
|
621
651
|
* Async version of {@link Renderer#clearStencil}.
|
|
622
652
|
*
|
|
623
653
|
* @async
|
|
654
|
+
* @deprecated
|
|
624
655
|
* @return {Promise} A Promise that resolves when the clear operation has been executed.
|
|
625
656
|
*/
|
|
626
657
|
clearStencilAsync(): Promise<void>;
|
|
658
|
+
/**
|
|
659
|
+
* Returns `true` if a framebuffer target is needed to perform tone mapping or color space conversion.
|
|
660
|
+
* If this is the case, the renderer allocates an internal render target for that purpose.
|
|
661
|
+
*/
|
|
662
|
+
get needsFrameBufferTarget(): boolean;
|
|
663
|
+
/**
|
|
664
|
+
* The number of samples used for multi-sample anti-aliasing (MSAA).
|
|
665
|
+
*
|
|
666
|
+
* @type {number}
|
|
667
|
+
* @default 0
|
|
668
|
+
*/
|
|
669
|
+
get samples(): number;
|
|
670
|
+
/**
|
|
671
|
+
* The current number of samples used for multi-sample anti-aliasing (MSAA).
|
|
672
|
+
*
|
|
673
|
+
* When rendering to a custom render target, the number of samples of that render target is used.
|
|
674
|
+
* If the renderer needs an internal framebuffer target for tone mapping or color space conversion,
|
|
675
|
+
* the number of samples is set to 0.
|
|
676
|
+
*
|
|
677
|
+
* @type {number}
|
|
678
|
+
*/
|
|
679
|
+
get currentSamples(): number;
|
|
627
680
|
/**
|
|
628
681
|
* The current tone mapping of the renderer. When not producing screen output,
|
|
629
682
|
* the tone mapping is always `NoToneMapping`.
|
|
@@ -664,7 +717,7 @@ declare class Renderer {
|
|
|
664
717
|
*
|
|
665
718
|
* @return {?RenderTarget} The render target. Returns `null` if no render target is set.
|
|
666
719
|
*/
|
|
667
|
-
getRenderTarget(): RenderTarget<Texture
|
|
720
|
+
getRenderTarget(): RenderTarget<Texture<unknown>> | null;
|
|
668
721
|
/**
|
|
669
722
|
* Sets the output render target for the renderer.
|
|
670
723
|
*
|
|
@@ -676,9 +729,24 @@ declare class Renderer {
|
|
|
676
729
|
*
|
|
677
730
|
* @return {?RenderTarget} The current output render target. Returns `null` if no output target is set.
|
|
678
731
|
*/
|
|
679
|
-
getOutputRenderTarget(): RenderTarget<Texture
|
|
732
|
+
getOutputRenderTarget(): RenderTarget<Texture<unknown>> | null;
|
|
733
|
+
/**
|
|
734
|
+
* Sets the canvas target. The canvas target manages the HTML canvas
|
|
735
|
+
* or the offscreen canvas the renderer draws into.
|
|
736
|
+
*
|
|
737
|
+
* @param {CanvasTarget} canvasTarget - The canvas target.
|
|
738
|
+
*/
|
|
739
|
+
setCanvasTarget(canvasTarget: CanvasTarget): void;
|
|
740
|
+
/**
|
|
741
|
+
* Returns the current canvas target.
|
|
742
|
+
*
|
|
743
|
+
* @return {CanvasTarget} The current canvas target.
|
|
744
|
+
*/
|
|
745
|
+
getCanvasTarget(): CanvasTarget;
|
|
680
746
|
/**
|
|
681
747
|
* Resets the renderer to the initial state before WebXR started.
|
|
748
|
+
*
|
|
749
|
+
* @private
|
|
682
750
|
*/
|
|
683
751
|
_resetXRState(): void;
|
|
684
752
|
/**
|
|
@@ -742,29 +810,36 @@ declare class Renderer {
|
|
|
742
810
|
* if the renderer has been initialized.
|
|
743
811
|
*
|
|
744
812
|
* @param {Node|Array<Node>} computeNodes - The compute node(s).
|
|
745
|
-
* @param {
|
|
813
|
+
* @param {number|Array<number>|IndirectStorageBufferAttribute} [dispatchSize=null]
|
|
814
|
+
* - A single number representing count, or
|
|
815
|
+
* - An array [x, y, z] representing dispatch size, or
|
|
816
|
+
* - A IndirectStorageBufferAttribute for indirect dispatch size.
|
|
746
817
|
* @return {Promise|undefined} A Promise that resolve when the compute has finished. Only returned when the renderer has not been initialized.
|
|
747
818
|
*/
|
|
748
819
|
compute(
|
|
749
820
|
computeNodes: ComputeNode | ComputeNode[],
|
|
750
|
-
|
|
821
|
+
dispatchSize?: number[] | number | IndirectStorageBufferAttribute | null,
|
|
751
822
|
): Promise<void> | undefined;
|
|
752
823
|
/**
|
|
753
824
|
* Execute a single or an array of compute nodes.
|
|
754
825
|
*
|
|
755
826
|
* @async
|
|
756
827
|
* @param {Node|Array<Node>} computeNodes - The compute node(s).
|
|
757
|
-
* @param {
|
|
828
|
+
* @param {number|Array<number>|IndirectStorageBufferAttribute} [dispatchSize=null]
|
|
829
|
+
* - A single number representing count, or
|
|
830
|
+
* - An array [x, y, z] representing dispatch size, or
|
|
831
|
+
* - A IndirectStorageBufferAttribute for indirect dispatch size.
|
|
758
832
|
* @return {Promise} A Promise that resolve when the compute has finished.
|
|
759
833
|
*/
|
|
760
834
|
computeAsync(
|
|
761
835
|
computeNodes: ComputeNode | ComputeNode[],
|
|
762
|
-
|
|
836
|
+
dispatchSize?: number[] | number | IndirectStorageBufferAttribute | null,
|
|
763
837
|
): Promise<void>;
|
|
764
838
|
/**
|
|
765
839
|
* Checks if the given feature is supported by the selected backend.
|
|
766
840
|
*
|
|
767
841
|
* @async
|
|
842
|
+
* @deprecated
|
|
768
843
|
* @param {string} name - The feature's name.
|
|
769
844
|
* @return {Promise<boolean>} A Promise that resolves with a bool that indicates whether the feature is supported or not.
|
|
770
845
|
*/
|
|
@@ -777,7 +852,7 @@ declare class Renderer {
|
|
|
777
852
|
* @param {string} name - The feature's name.
|
|
778
853
|
* @return {boolean} Whether the feature is supported or not.
|
|
779
854
|
*/
|
|
780
|
-
hasFeature(name: string):
|
|
855
|
+
hasFeature(name: string): void;
|
|
781
856
|
/**
|
|
782
857
|
* Returns `true` when the renderer has been initialized.
|
|
783
858
|
*
|
|
@@ -789,6 +864,7 @@ declare class Renderer {
|
|
|
789
864
|
* (which can cause noticeable lags due to decode and GPU upload overhead).
|
|
790
865
|
*
|
|
791
866
|
* @async
|
|
867
|
+
* @deprecated
|
|
792
868
|
* @param {Texture} texture - The texture.
|
|
793
869
|
* @return {Promise} A Promise that resolves when the texture has been initialized.
|
|
794
870
|
*/
|
|
@@ -853,6 +929,7 @@ declare class Renderer {
|
|
|
853
929
|
* Analyzes the given 3D object's hierarchy and builds render lists from the
|
|
854
930
|
* processed hierarchy.
|
|
855
931
|
*
|
|
932
|
+
* @private
|
|
856
933
|
* @param {Object3D} object - The 3D object to process (usually a scene).
|
|
857
934
|
* @param {Camera} camera - The camera the object is rendered with.
|
|
858
935
|
* @param {number} groupOrder - The group order is derived from the `renderOrder` of groups and is used to group 3D objects within groups.
|
|
@@ -909,6 +986,15 @@ declare class Renderer {
|
|
|
909
986
|
lightsNode: LightsNode,
|
|
910
987
|
passId?: string | null,
|
|
911
988
|
): void;
|
|
989
|
+
/**
|
|
990
|
+
* Retrieves shadow nodes for the given material. This is used to setup shadow passes.
|
|
991
|
+
* The result is cached per material and updated when the material's version changes.
|
|
992
|
+
*
|
|
993
|
+
* @private
|
|
994
|
+
* @param {Material} material
|
|
995
|
+
* @returns {Object} - The shadow nodes for the material.
|
|
996
|
+
*/
|
|
997
|
+
_getShadowNodes(material: Material): any;
|
|
912
998
|
/**
|
|
913
999
|
* This method represents the default render object function that manages the render lifecycle
|
|
914
1000
|
* of the object.
|
|
@@ -982,6 +1068,12 @@ declare class Renderer {
|
|
|
982
1068
|
clippingContext: ClippingContext | null,
|
|
983
1069
|
passId?: string,
|
|
984
1070
|
): void;
|
|
1071
|
+
/**
|
|
1072
|
+
* Callback when the canvas has been resized.
|
|
1073
|
+
*
|
|
1074
|
+
* @private
|
|
1075
|
+
*/
|
|
1076
|
+
_onCanvasTargetResize(): void;
|
|
985
1077
|
/**
|
|
986
1078
|
* Alias for `compileAsync()`.
|
|
987
1079
|
*
|
|
@@ -993,4 +1085,11 @@ declare class Renderer {
|
|
|
993
1085
|
*/
|
|
994
1086
|
get compile(): (scene: Object3D, camera: Camera, targetScene?: Scene | null) => Promise<void>;
|
|
995
1087
|
}
|
|
1088
|
+
/**
|
|
1089
|
+
* Animation loop parameter of `renderer.setAnimationLoop()`.
|
|
1090
|
+
*
|
|
1091
|
+
* @callback onAnimationCallback
|
|
1092
|
+
* @param {DOMHighResTimeStamp} time - A timestamp indicating the end time of the previous frame's rendering.
|
|
1093
|
+
* @param {XRFrame} [frame] - A reference to the current XR frame. Only relevant when using XR rendering.
|
|
1094
|
+
*/
|
|
996
1095
|
export default Renderer;
|
|
@@ -87,6 +87,19 @@ declare class Textures extends DataMap<{
|
|
|
87
87
|
* @param {Object} [options={}] - The options.
|
|
88
88
|
*/
|
|
89
89
|
updateTexture(texture: Texture, options?: TextureOptions): void;
|
|
90
|
+
/**
|
|
91
|
+
* Updates the sampler for the given texture. This method has no effect
|
|
92
|
+
* for the WebGL backend since it has no concept of samplers. Texture
|
|
93
|
+
* parameters are configured with the `texParameter()` command for each
|
|
94
|
+
* texture.
|
|
95
|
+
*
|
|
96
|
+
* In WebGPU, samplers are objects like textures and it's possible to share
|
|
97
|
+
* them when the texture parameters match.
|
|
98
|
+
*
|
|
99
|
+
* @param {Texture} texture - The texture to update the sampler for.
|
|
100
|
+
* @return {string} The current sampler key.
|
|
101
|
+
*/
|
|
102
|
+
updateSampler(texture: Texture): void;
|
|
90
103
|
/**
|
|
91
104
|
* Computes the size of the given texture and writes the result
|
|
92
105
|
* into the target vector. This vector is also returned by the
|
|
@@ -116,6 +129,13 @@ declare class Textures extends DataMap<{
|
|
|
116
129
|
* @return {boolean} Whether mipmaps are required or not.
|
|
117
130
|
*/
|
|
118
131
|
needsMipmaps(texture: Texture): boolean;
|
|
132
|
+
/**
|
|
133
|
+
* Frees internal resources when the given render target isn't
|
|
134
|
+
* required anymore.
|
|
135
|
+
*
|
|
136
|
+
* @param {RenderTarget} renderTarget - The render target to destroy.
|
|
137
|
+
*/
|
|
138
|
+
_destroyRenderTarget(renderTarget: RenderTarget): void;
|
|
119
139
|
/**
|
|
120
140
|
* Frees internal resource when the given texture isn't
|
|
121
141
|
* required anymore.
|
|
@@ -10,21 +10,44 @@ declare abstract class TimestampQueryPool {
|
|
|
10
10
|
queryOffsets: Map<number, number>;
|
|
11
11
|
isDisposed: boolean;
|
|
12
12
|
lastValue: number;
|
|
13
|
+
frames: number[];
|
|
13
14
|
pendingResolve: boolean;
|
|
15
|
+
timestamps: Map<string, number>;
|
|
14
16
|
/**
|
|
15
17
|
* Creates a new timestamp query pool.
|
|
16
18
|
*
|
|
17
19
|
* @param {number} [maxQueries=256] - Maximum number of queries this pool can hold.
|
|
18
20
|
*/
|
|
19
21
|
constructor(maxQueries?: number);
|
|
22
|
+
/**
|
|
23
|
+
* Returns all timestamp frames.
|
|
24
|
+
*
|
|
25
|
+
* @return {Array<number>} The timestamp frames.
|
|
26
|
+
*/
|
|
27
|
+
getTimestampFrames(): number[];
|
|
28
|
+
/**
|
|
29
|
+
* Returns the timestamp for a given render context.
|
|
30
|
+
*
|
|
31
|
+
* @param {string} uid - A unique identifier for the render context.
|
|
32
|
+
* @return {?number} The timestamp, or undefined if not available.
|
|
33
|
+
*/
|
|
34
|
+
getTimestamp(uid: string): number;
|
|
35
|
+
/**
|
|
36
|
+
* Returns whether a timestamp is available for a given render context.
|
|
37
|
+
*
|
|
38
|
+
* @param {string} uid - A unique identifier for the render context.
|
|
39
|
+
* @return {boolean} True if a timestamp is available, false otherwise.
|
|
40
|
+
*/
|
|
41
|
+
hasTimestamp(uid: string): boolean;
|
|
20
42
|
/**
|
|
21
43
|
* Allocate queries for a specific uid.
|
|
22
44
|
*
|
|
23
45
|
* @abstract
|
|
24
46
|
* @param {string} uid - A unique identifier for the render context.
|
|
47
|
+
* @param {number} frameId - The current frame identifier.
|
|
25
48
|
* @returns {?number}
|
|
26
49
|
*/
|
|
27
|
-
abstract allocateQueriesForContext(uid: string): number | null;
|
|
50
|
+
abstract allocateQueriesForContext(uid: string, frameId: number): number | null;
|
|
28
51
|
/**
|
|
29
52
|
* Resolve all timestamps and return data (or process them).
|
|
30
53
|
*
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RenderTarget } from "../../../core/RenderTarget.js";
|
|
2
2
|
import { Vector3 } from "../../../math/Vector3.js";
|
|
3
3
|
import { Scene } from "../../../scenes/Scene.js";
|
|
4
|
+
import { Texture } from "../../../textures/Texture.js";
|
|
4
5
|
import Renderer from "../Renderer.js";
|
|
5
6
|
|
|
6
7
|
export interface PMREMGeneratorOptions {
|
|
@@ -19,7 +20,9 @@ declare class PMREMGenerator {
|
|
|
19
20
|
far?: number,
|
|
20
21
|
options?: PMREMGeneratorOptions,
|
|
21
22
|
): RenderTarget;
|
|
22
|
-
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated ".fromSceneAsync()" is deprecated. Use "await renderer.init()" instead.
|
|
25
|
+
*/
|
|
23
26
|
fromSceneAsync(
|
|
24
27
|
scene: Scene,
|
|
25
28
|
sigma?: number,
|
|
@@ -28,6 +31,21 @@ declare class PMREMGenerator {
|
|
|
28
31
|
options?: PMREMGeneratorOptions,
|
|
29
32
|
): Promise<RenderTarget>;
|
|
30
33
|
|
|
34
|
+
fromEquirectangular(equirectangular: Texture, renderTarget?: RenderTarget | null): RenderTarget;
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated ".fromEquirectangularAsync()" is deprecated. Use "await renderer.init()" instead.
|
|
37
|
+
*/
|
|
38
|
+
fromEquirectangularAsync(equirectangular: Texture, renderTarget?: RenderTarget | null): Promise<RenderTarget>;
|
|
39
|
+
|
|
40
|
+
fromCubemap(cubemap: Texture, renderTarget?: RenderTarget | null): RenderTarget;
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated ".fromCubemapAsync()" is deprecated. Use "await renderer.init()" instead.
|
|
43
|
+
*/
|
|
44
|
+
fromCubemapAsync(cubemap: Texture, renderTarget?: RenderTarget | null): Promise<RenderTarget>;
|
|
45
|
+
|
|
46
|
+
compileCubemapShader(): Promise<void>;
|
|
47
|
+
compileEquirectangularShader(): Promise<void>;
|
|
48
|
+
|
|
31
49
|
dispose(): void;
|
|
32
50
|
}
|
|
33
51
|
|
|
@@ -4,7 +4,6 @@ import { Material } from "../../../materials/Material.js";
|
|
|
4
4
|
import NodeMaterial from "../../../materials/nodes/NodeMaterial.js";
|
|
5
5
|
import Node from "../../../nodes/core/Node.js";
|
|
6
6
|
import AnalyticLightNode from "../../../nodes/lighting/AnalyticLightNode.js";
|
|
7
|
-
import { ShaderNodeObject } from "../../../nodes/tsl/TSLCore.js";
|
|
8
7
|
/**
|
|
9
8
|
* The purpose of a node library is to assign node implementations
|
|
10
9
|
* to existing library features. In `WebGPURenderer` lights, materials
|
|
@@ -22,7 +21,7 @@ declare class NodeLibrary {
|
|
|
22
21
|
materialNodes: Map<string, {
|
|
23
22
|
new(): NodeMaterial;
|
|
24
23
|
}>;
|
|
25
|
-
toneMappingNodes: Map<ToneMapping, (color: Node, exposure: Node) =>
|
|
24
|
+
toneMappingNodes: Map<ToneMapping, (color: Node, exposure: Node) => Node>;
|
|
26
25
|
/**
|
|
27
26
|
* Constructs a new node library.
|
|
28
27
|
*/
|
|
@@ -44,17 +43,14 @@ declare class NodeLibrary {
|
|
|
44
43
|
* @param {Function} toneMappingNode - The tone mapping node function.
|
|
45
44
|
* @param {number} toneMapping - The tone mapping.
|
|
46
45
|
*/
|
|
47
|
-
addToneMapping(
|
|
48
|
-
toneMappingNode: (color: Node, exposure: Node) => ShaderNodeObject<Node>,
|
|
49
|
-
toneMapping: ToneMapping,
|
|
50
|
-
): void;
|
|
46
|
+
addToneMapping(toneMappingNode: (color: Node, exposure: Node) => Node, toneMapping: ToneMapping): void;
|
|
51
47
|
/**
|
|
52
48
|
* Returns a tone mapping node function for a tone mapping technique (constant).
|
|
53
49
|
*
|
|
54
50
|
* @param {number} toneMapping - The tone mapping.
|
|
55
51
|
* @return {?Function} The tone mapping node function. Returns `null` if no node function is found.
|
|
56
52
|
*/
|
|
57
|
-
getToneMappingFunction(toneMapping: ToneMapping): ((color: Node, exposure: Node) =>
|
|
53
|
+
getToneMappingFunction(toneMapping: ToneMapping): ((color: Node, exposure: Node) => Node) | null;
|
|
58
54
|
/**
|
|
59
55
|
* Returns a node material class definition for a material type.
|
|
60
56
|
*
|