@needle-tools/three 0.169.12 → 0.169.13
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.
- package/package.json +3 -2
- package/types/build/three.d.cts +1 -0
- package/types/build/three.module.d.ts +1 -0
- package/types/build/three.module.min.d.ts +1 -0
- package/types/build/three.webgpu.d.ts +1 -0
- package/types/build/three.webgpu.min.d.ts +1 -0
- package/types/build/three.webgpu.nodes.d.ts +1 -0
- package/types/build/three.webgpu.nodes.min.d.ts +1 -0
- package/types/examples/jsm/Addons.d.ts +292 -0
- package/types/examples/jsm/animation/AnimationClipCreator.d.ts +12 -0
- package/types/examples/jsm/animation/CCDIKSolver.d.ts +43 -0
- package/types/examples/jsm/animation/MMDAnimationHelper.d.ts +95 -0
- package/types/examples/jsm/animation/MMDPhysics.d.ts +124 -0
- package/types/examples/jsm/cameras/CinematicCamera.d.ts +34 -0
- package/types/examples/jsm/capabilities/WebGL.d.ts +17 -0
- package/types/examples/jsm/capabilities/WebGPU.d.ts +7 -0
- package/types/examples/jsm/controls/ArcballControls.d.ts +203 -0
- package/types/examples/jsm/controls/DragControls.d.ts +111 -0
- package/types/examples/jsm/controls/FirstPersonControls.d.ts +101 -0
- package/types/examples/jsm/controls/FlyControls.d.ts +44 -0
- package/types/examples/jsm/controls/MapControls.d.ts +21 -0
- package/types/examples/jsm/controls/OrbitControls.d.ts +251 -0
- package/types/examples/jsm/controls/PointerLockControls.d.ts +86 -0
- package/types/examples/jsm/controls/TrackballControls.d.ts +142 -0
- package/types/examples/jsm/controls/TransformControls.d.ts +249 -0
- package/types/examples/jsm/csm/CSM.d.ts +55 -0
- package/types/examples/jsm/csm/CSMFrustum.d.ts +19 -0
- package/types/examples/jsm/csm/CSMHelper.d.ts +27 -0
- package/types/examples/jsm/csm/CSMShader.d.ts +4 -0
- package/types/examples/jsm/curves/CurveExtras.d.ts +68 -0
- package/types/examples/jsm/curves/NURBSCurve.d.ts +17 -0
- package/types/examples/jsm/curves/NURBSSurface.d.ts +13 -0
- package/types/examples/jsm/curves/NURBSUtils.d.ts +146 -0
- package/types/examples/jsm/curves/NURBSVolume.d.ts +23 -0
- package/types/examples/jsm/effects/AnaglyphEffect.d.ts +17 -0
- package/types/examples/jsm/effects/AsciiEffect.d.ts +18 -0
- package/types/examples/jsm/effects/OutlineEffect.d.ts +28 -0
- package/types/examples/jsm/effects/ParallaxBarrierEffect.d.ts +11 -0
- package/types/examples/jsm/effects/PeppersGhostEffect.d.ts +10 -0
- package/types/examples/jsm/effects/StereoEffect.d.ts +9 -0
- package/types/examples/jsm/environments/DebugEnvironment.d.ts +5 -0
- package/types/examples/jsm/environments/RoomEnvironment.d.ts +6 -0
- package/types/examples/jsm/exporters/DRACOExporter.d.ts +17 -0
- package/types/examples/jsm/exporters/EXRExporter.d.ts +27 -0
- package/types/examples/jsm/exporters/GLTFExporter.d.ts +123 -0
- package/types/examples/jsm/exporters/KTX2Exporter.d.ts +7 -0
- package/types/examples/jsm/exporters/MMDExporter.d.ts +7 -0
- package/types/examples/jsm/exporters/OBJExporter.d.ts +7 -0
- package/types/examples/jsm/exporters/PLYExporter.d.ts +30 -0
- package/types/examples/jsm/exporters/STLExporter.d.ts +21 -0
- package/types/examples/jsm/exporters/USDZExporter.d.ts +21 -0
- package/types/examples/jsm/geometries/BoxLineGeometry.d.ts +12 -0
- package/types/examples/jsm/geometries/ConvexGeometry.d.ts +5 -0
- package/types/examples/jsm/geometries/DecalGeometry.d.ts +10 -0
- package/types/examples/jsm/geometries/ParametricGeometries.d.ts +32 -0
- package/types/examples/jsm/geometries/ParametricGeometry.d.ts +18 -0
- package/types/examples/jsm/geometries/RoundedBoxGeometry.d.ts +5 -0
- package/types/examples/jsm/geometries/TeapotGeometry.d.ts +37 -0
- package/types/examples/jsm/geometries/TextGeometry.d.ts +123 -0
- package/types/examples/jsm/helpers/LightProbeHelper.d.ts +12 -0
- package/types/examples/jsm/helpers/LightProbeHelperGPU.d.ts +12 -0
- package/types/examples/jsm/helpers/OctreeHelper.d.ts +17 -0
- package/types/examples/jsm/helpers/PositionalAudioHelper.d.ts +13 -0
- package/types/examples/jsm/helpers/RectAreaLightHelper.d.ts +10 -0
- package/types/examples/jsm/helpers/TextureHelper.d.ts +10 -0
- package/types/examples/jsm/helpers/VertexNormalsHelper.d.ts +12 -0
- package/types/examples/jsm/helpers/VertexTangentsHelper.d.ts +12 -0
- package/types/examples/jsm/helpers/ViewHelper.d.ts +17 -0
- package/types/examples/jsm/interactive/HTMLMesh.d.ts +6 -0
- package/types/examples/jsm/interactive/InteractiveGroup.d.ts +20 -0
- package/types/examples/jsm/interactive/SelectionBox.d.ts +16 -0
- package/types/examples/jsm/interactive/SelectionHelper.d.ts +17 -0
- package/types/examples/jsm/libs/fflate.module.d.ts +1 -0
- package/types/examples/jsm/libs/lil-gui.module.min.d.ts +608 -0
- package/types/examples/jsm/libs/meshopt_decoder.module.d.ts +1 -0
- package/types/examples/jsm/libs/stats.module.d.ts +3 -0
- package/types/examples/jsm/libs/tween.module.d.ts +2 -0
- package/types/examples/jsm/lights/LightProbeGenerator.d.ts +10 -0
- package/types/examples/jsm/lights/RectAreaLightTexturesLib.d.ts +7 -0
- package/types/examples/jsm/lights/RectAreaLightUniformsLib.d.ts +5 -0
- package/types/examples/jsm/lines/Line2.d.ts +25 -0
- package/types/examples/jsm/lines/LineGeometry.d.ts +27 -0
- package/types/examples/jsm/lines/LineMaterial.d.ts +82 -0
- package/types/examples/jsm/lines/LineSegments2.d.ts +37 -0
- package/types/examples/jsm/lines/LineSegmentsGeometry.d.ts +53 -0
- package/types/examples/jsm/lines/Wireframe.d.ts +11 -0
- package/types/examples/jsm/lines/WireframeGeometry2.d.ts +8 -0
- package/types/examples/jsm/lines/webgpu/Line2.d.ts +14 -0
- package/types/examples/jsm/lines/webgpu/LineSegments2.d.ts +15 -0
- package/types/examples/jsm/loaders/3DMLoader.d.ts +10 -0
- package/types/examples/jsm/loaders/3MFLoader.d.ts +9 -0
- package/types/examples/jsm/loaders/AMFLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/BVHLoader.d.ts +14 -0
- package/types/examples/jsm/loaders/ColladaLoader.d.ts +11 -0
- package/types/examples/jsm/loaders/DDSLoader.d.ts +22 -0
- package/types/examples/jsm/loaders/DRACOLoader.d.ts +25 -0
- package/types/examples/jsm/loaders/EXRLoader.d.ts +19 -0
- package/types/examples/jsm/loaders/FBXLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/FontLoader.d.ts +41 -0
- package/types/examples/jsm/loaders/GCodeLoader.d.ts +8 -0
- package/types/examples/jsm/loaders/GLTFLoader.d.ts +153 -0
- package/types/examples/jsm/loaders/HDRCubeTextureLoader.d.ts +18 -0
- package/types/examples/jsm/loaders/IESLoader.d.ts +5 -0
- package/types/examples/jsm/loaders/KMZLoader.d.ts +9 -0
- package/types/examples/jsm/loaders/KTX2Loader.d.ts +54 -0
- package/types/examples/jsm/loaders/KTXLoader.d.ts +22 -0
- package/types/examples/jsm/loaders/LDrawLoader.d.ts +19 -0
- package/types/examples/jsm/loaders/LUT3dlLoader.d.ts +39 -0
- package/types/examples/jsm/loaders/LUTCubeLoader.d.ts +42 -0
- package/types/examples/jsm/loaders/LUTImageLoader.d.ts +18 -0
- package/types/examples/jsm/loaders/LWOLoader.d.ts +19 -0
- package/types/examples/jsm/loaders/LottieLoader.d.ts +14 -0
- package/types/examples/jsm/loaders/MD2Loader.d.ts +7 -0
- package/types/examples/jsm/loaders/MDDLoader.d.ts +12 -0
- package/types/examples/jsm/loaders/MMDLoader.d.ts +56 -0
- package/types/examples/jsm/loaders/MTLLoader.d.ts +94 -0
- package/types/examples/jsm/loaders/MaterialXLoader.d.ts +5 -0
- package/types/examples/jsm/loaders/NRRDLoader.d.ts +15 -0
- package/types/examples/jsm/loaders/OBJLoader.d.ts +10 -0
- package/types/examples/jsm/loaders/PCDLoader.d.ts +8 -0
- package/types/examples/jsm/loaders/PDBLoader.d.ts +15 -0
- package/types/examples/jsm/loaders/PLYLoader.d.ts +11 -0
- package/types/examples/jsm/loaders/PVRLoader.d.ts +16 -0
- package/types/examples/jsm/loaders/RGBELoader.d.ts +19 -0
- package/types/examples/jsm/loaders/RGBMLoader.d.ts +37 -0
- package/types/examples/jsm/loaders/STLLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/SVGLoader.d.ts +64 -0
- package/types/examples/jsm/loaders/TDSLoader.d.ts +35 -0
- package/types/examples/jsm/loaders/TGALoader.d.ts +7 -0
- package/types/examples/jsm/loaders/TIFFLoader.d.ts +16 -0
- package/types/examples/jsm/loaders/TTFLoader.d.ts +10 -0
- package/types/examples/jsm/loaders/USDZLoader.d.ts +11 -0
- package/types/examples/jsm/loaders/UltraHDRLoader.d.ts +21 -0
- package/types/examples/jsm/loaders/VOXLoader.d.ts +21 -0
- package/types/examples/jsm/loaders/VRMLLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/VTKLoader.d.ts +7 -0
- package/types/examples/jsm/loaders/XYZLoader.d.ts +7 -0
- package/types/examples/jsm/materials/MeshGouraudMaterial.d.ts +16 -0
- package/types/examples/jsm/materials/MeshPostProcessingMaterial.d.ts +13 -0
- package/types/examples/jsm/math/Capsule.d.ts +26 -0
- package/types/examples/jsm/math/ColorConverter.d.ts +19 -0
- package/types/examples/jsm/math/ConvexHull.d.ts +89 -0
- package/types/examples/jsm/math/ImprovedNoise.d.ts +4 -0
- package/types/examples/jsm/math/Lut.d.ts +27 -0
- package/types/examples/jsm/math/MeshSurfaceSampler.d.ts +21 -0
- package/types/examples/jsm/math/OBB.d.ts +24 -0
- package/types/examples/jsm/math/Octree.d.ts +29 -0
- package/types/examples/jsm/math/SimplexNoise.d.ts +9 -0
- package/types/examples/jsm/misc/ConvexObjectBreaker.d.ts +25 -0
- package/types/examples/jsm/misc/GPUComputationRenderer.d.ts +55 -0
- package/types/examples/jsm/misc/Gyroscope.d.ts +5 -0
- package/types/examples/jsm/misc/MD2Character.d.ts +33 -0
- package/types/examples/jsm/misc/MD2CharacterComplex.d.ts +55 -0
- package/types/examples/jsm/misc/MorphAnimMesh.d.ts +13 -0
- package/types/examples/jsm/misc/MorphBlendMesh.d.ts +21 -0
- package/types/examples/jsm/misc/ProgressiveLightMap.d.ts +60 -0
- package/types/examples/jsm/misc/RollerCoaster.d.ts +26 -0
- package/types/examples/jsm/misc/Timer.d.ts +80 -0
- package/types/examples/jsm/misc/TubePainter.d.ts +10 -0
- package/types/examples/jsm/misc/Volume.d.ts +37 -0
- package/types/examples/jsm/misc/VolumeSlice.d.ts +28 -0
- package/types/examples/jsm/modifiers/CurveModifier.d.ts +41 -0
- package/types/examples/jsm/modifiers/CurveModifierGPU.d.ts +31 -0
- package/types/examples/jsm/modifiers/EdgeSplitModifier.d.ts +26 -0
- package/types/examples/jsm/modifiers/SimplifyModifier.d.ts +6 -0
- package/types/examples/jsm/modifiers/TessellateModifier.d.ts +9 -0
- package/types/examples/jsm/objects/GroundedSkybox.d.ts +5 -0
- package/types/examples/jsm/objects/Lensflare.d.ts +21 -0
- package/types/examples/jsm/objects/LensflareMesh.d.ts +21 -0
- package/types/examples/jsm/objects/MarchingCubes.d.ts +76 -0
- package/types/examples/jsm/objects/Reflector.d.ts +21 -0
- package/types/examples/jsm/objects/ReflectorForSSRPass.d.ts +62 -0
- package/types/examples/jsm/objects/Refractor.d.ts +21 -0
- package/types/examples/jsm/objects/ShadowMesh.d.ts +10 -0
- package/types/examples/jsm/objects/Sky.d.ts +28 -0
- package/types/examples/jsm/objects/SkyMesh.d.ts +17 -0
- package/types/examples/jsm/objects/Water.d.ts +22 -0
- package/types/examples/jsm/objects/Water2.d.ts +21 -0
- package/types/examples/jsm/objects/Water2Mesh.d.ts +42 -0
- package/types/examples/jsm/objects/WaterMesh.d.ts +31 -0
- package/types/examples/jsm/physics/AmmoPhysics.d.ts +9 -0
- package/types/examples/jsm/physics/JoltPhysics.d.ts +10 -0
- package/types/examples/jsm/physics/RapierPhysics.d.ts +12 -0
- package/types/examples/jsm/postprocessing/AfterimagePass.d.ts +14 -0
- package/types/examples/jsm/postprocessing/BloomPass.d.ts +14 -0
- package/types/examples/jsm/postprocessing/BokehPass.d.ts +23 -0
- package/types/examples/jsm/postprocessing/ClearPass.d.ts +9 -0
- package/types/examples/jsm/postprocessing/CubeTexturePass.d.ts +14 -0
- package/types/examples/jsm/postprocessing/DotScreenPass.d.ts +10 -0
- package/types/examples/jsm/postprocessing/EffectComposer.d.ts +31 -0
- package/types/examples/jsm/postprocessing/FilmPass.d.ts +10 -0
- package/types/examples/jsm/postprocessing/GTAOPass.d.ts +121 -0
- package/types/examples/jsm/postprocessing/GlitchPass.d.ts +16 -0
- package/types/examples/jsm/postprocessing/HalftonePass.d.ts +37 -0
- package/types/examples/jsm/postprocessing/LUTPass.d.ts +13 -0
- package/types/examples/jsm/postprocessing/MaskPass.d.ts +14 -0
- package/types/examples/jsm/postprocessing/OutlinePass.d.ts +64 -0
- package/types/examples/jsm/postprocessing/OutputPass.d.ts +10 -0
- package/types/examples/jsm/postprocessing/Pass.d.ts +31 -0
- package/types/examples/jsm/postprocessing/RenderPass.d.ts +23 -0
- package/types/examples/jsm/postprocessing/RenderPixelatedPass.d.ts +30 -0
- package/types/examples/jsm/postprocessing/RenderTransitionPass.d.ts +33 -0
- package/types/examples/jsm/postprocessing/SAOPass.d.ts +70 -0
- package/types/examples/jsm/postprocessing/SMAAPass.d.ts +21 -0
- package/types/examples/jsm/postprocessing/SSAARenderPass.d.ts +26 -0
- package/types/examples/jsm/postprocessing/SSAOPass.d.ts +68 -0
- package/types/examples/jsm/postprocessing/SSRPass.d.ts +122 -0
- package/types/examples/jsm/postprocessing/SavePass.d.ts +12 -0
- package/types/examples/jsm/postprocessing/ShaderPass.d.ts +11 -0
- package/types/examples/jsm/postprocessing/TAARenderPass.d.ts +8 -0
- package/types/examples/jsm/postprocessing/TexturePass.d.ts +12 -0
- package/types/examples/jsm/postprocessing/UnrealBloomPass.d.ts +31 -0
- package/types/examples/jsm/renderers/CSS2DRenderer.d.ts +23 -0
- package/types/examples/jsm/renderers/CSS3DRenderer.d.ts +26 -0
- package/types/examples/jsm/renderers/Projector.d.ts +60 -0
- package/types/examples/jsm/renderers/SVGRenderer.d.ts +26 -0
- package/types/examples/jsm/shaders/ACESFilmicToneMappingShader.d.ts +11 -0
- package/types/examples/jsm/shaders/AfterimageShader.d.ts +12 -0
- package/types/examples/jsm/shaders/BasicShader.d.ts +6 -0
- package/types/examples/jsm/shaders/BleachBypassShader.d.ts +10 -0
- package/types/examples/jsm/shaders/BlendShader.d.ts +13 -0
- package/types/examples/jsm/shaders/BokehShader.d.ts +21 -0
- package/types/examples/jsm/shaders/BokehShader2.d.ts +44 -0
- package/types/examples/jsm/shaders/BrightnessContrastShader.d.ts +12 -0
- package/types/examples/jsm/shaders/ColorCorrectionShader.d.ts +13 -0
- package/types/examples/jsm/shaders/ColorifyShader.d.ts +10 -0
- package/types/examples/jsm/shaders/ConvolutionShader.d.ts +17 -0
- package/types/examples/jsm/shaders/CopyShader.d.ts +10 -0
- package/types/examples/jsm/shaders/DOFMipMapShader.d.ts +13 -0
- package/types/examples/jsm/shaders/DepthLimitedBlurShader.d.ts +28 -0
- package/types/examples/jsm/shaders/DigitalGlitch.d.ts +19 -0
- package/types/examples/jsm/shaders/DotScreenShader.d.ts +13 -0
- package/types/examples/jsm/shaders/ExposureShader.d.ts +11 -0
- package/types/examples/jsm/shaders/FXAAShader.d.ts +11 -0
- package/types/examples/jsm/shaders/FilmShader.d.ts +12 -0
- package/types/examples/jsm/shaders/FocusShader.d.ts +14 -0
- package/types/examples/jsm/shaders/FreiChenShader.d.ts +11 -0
- package/types/examples/jsm/shaders/GTAOShader.d.ts +59 -0
- package/types/examples/jsm/shaders/GammaCorrectionShader.d.ts +9 -0
- package/types/examples/jsm/shaders/GodRaysShader.d.ts +44 -0
- package/types/examples/jsm/shaders/HalftoneShader.d.ts +22 -0
- package/types/examples/jsm/shaders/HorizontalBlurShader.d.ts +10 -0
- package/types/examples/jsm/shaders/HorizontalTiltShiftShader.d.ts +12 -0
- package/types/examples/jsm/shaders/HueSaturationShader.d.ts +12 -0
- package/types/examples/jsm/shaders/KaleidoShader.d.ts +12 -0
- package/types/examples/jsm/shaders/LuminosityHighPassShader.d.ts +15 -0
- package/types/examples/jsm/shaders/LuminosityShader.d.ts +10 -0
- package/types/examples/jsm/shaders/MMDToonShader.d.ts +15 -0
- package/types/examples/jsm/shaders/MirrorShader.d.ts +11 -0
- package/types/examples/jsm/shaders/NormalMapShader.d.ts +13 -0
- package/types/examples/jsm/shaders/OutputShader.d.ts +11 -0
- package/types/examples/jsm/shaders/PoissonDenoiseShader.d.ts +28 -0
- package/types/examples/jsm/shaders/RGBShiftShader.d.ts +11 -0
- package/types/examples/jsm/shaders/SAOShader.d.ts +29 -0
- package/types/examples/jsm/shaders/SMAAShader.d.ts +43 -0
- package/types/examples/jsm/shaders/SSAOShader.d.ts +49 -0
- package/types/examples/jsm/shaders/SSRShader.d.ts +62 -0
- package/types/examples/jsm/shaders/SepiaShader.d.ts +10 -0
- package/types/examples/jsm/shaders/SobelOperatorShader.d.ts +11 -0
- package/types/examples/jsm/shaders/SubsurfaceScatteringShader.d.ts +38 -0
- package/types/examples/jsm/shaders/TechnicolorShader.d.ts +10 -0
- package/types/examples/jsm/shaders/ToonShader.d.ts +54 -0
- package/types/examples/jsm/shaders/TriangleBlurShader.d.ts +11 -0
- package/types/examples/jsm/shaders/UnpackDepthRGBAShader.d.ts +11 -0
- package/types/examples/jsm/shaders/VelocityShader.d.ts +16 -0
- package/types/examples/jsm/shaders/VerticalBlurShader.d.ts +10 -0
- package/types/examples/jsm/shaders/VerticalTiltShiftShader.d.ts +12 -0
- package/types/examples/jsm/shaders/VignetteShader.d.ts +11 -0
- package/types/examples/jsm/shaders/VolumeShader.d.ts +14 -0
- package/types/examples/jsm/shaders/WaterRefractionShader.d.ts +14 -0
- package/types/examples/jsm/textures/FlakesTexture.d.ts +3 -0
- package/types/examples/jsm/transpiler/AST.d.ts +7 -0
- package/types/examples/jsm/transpiler/GLSLDecoder.d.ts +7 -0
- package/types/examples/jsm/transpiler/ShaderToyDecoder.d.ts +3 -0
- package/types/examples/jsm/transpiler/TSLEncoder.d.ts +7 -0
- package/types/examples/jsm/transpiler/Transpiler.d.ts +5 -0
- package/types/examples/jsm/utils/BufferGeometryUtils.d.ts +37 -0
- package/types/examples/jsm/utils/CameraUtils.d.ts +9 -0
- package/types/examples/jsm/utils/GeometryCompressionUtils.d.ts +21 -0
- package/types/examples/jsm/utils/GeometryUtils.d.ts +25 -0
- package/types/examples/jsm/utils/LDrawUtils.d.ts +5 -0
- package/types/examples/jsm/utils/SceneUtils.d.ts +57 -0
- package/types/examples/jsm/utils/ShadowMapViewer.d.ts +26 -0
- package/types/examples/jsm/utils/ShadowMapViewerGPU.d.ts +26 -0
- package/types/examples/jsm/utils/SkeletonUtils.d.ts +32 -0
- package/types/examples/jsm/utils/SortUtils.d.ts +7 -0
- package/types/examples/jsm/utils/TextureUtils.d.ts +3 -0
- package/types/examples/jsm/utils/TextureUtilsGPU.d.ts +3 -0
- package/types/examples/jsm/utils/UVsDebug.d.ts +3 -0
- package/types/examples/jsm/utils/WorkerPool.d.ts +26 -0
- package/types/examples/jsm/webxr/ARButton.d.ts +9 -0
- package/types/examples/jsm/webxr/OculusHandModel.d.ts +23 -0
- package/types/examples/jsm/webxr/OculusHandPointerModel.d.ts +67 -0
- package/types/examples/jsm/webxr/Text2D.d.ts +3 -0
- package/types/examples/jsm/webxr/VRButton.d.ts +5 -0
- package/types/examples/jsm/webxr/XRButton.d.ts +5 -0
- package/types/examples/jsm/webxr/XRControllerModelFactory.d.ts +23 -0
- package/types/examples/jsm/webxr/XREstimatedLight.d.ts +69 -0
- package/types/examples/jsm/webxr/XRHandMeshModel.d.ts +19 -0
- package/types/examples/jsm/webxr/XRHandModelFactory.d.ts +32 -0
- package/types/examples/jsm/webxr/XRHandPrimitiveModel.d.ts +24 -0
- package/types/examples/jsm/webxr/XRPlanes.d.ts +5 -0
- package/types/globals.d.ts +9 -0
- package/types/index.d.ts +6 -0
- package/types/src/Three.Legacy.d.ts +20 -0
- package/types/src/Three.WebGPU.Nodes.d.ts +201 -0
- package/types/src/Three.WebGPU.d.ts +202 -0
- package/types/src/Three.d.ts +221 -0
- package/types/src/animation/AnimationAction.d.ts +86 -0
- package/types/src/animation/AnimationClip.d.ts +59 -0
- package/types/src/animation/AnimationMixer.d.ts +39 -0
- package/types/src/animation/AnimationObjectGroup.d.ts +17 -0
- package/types/src/animation/AnimationUtils.d.ts +60 -0
- package/types/src/animation/KeyframeTrack.d.ts +55 -0
- package/types/src/animation/PropertyBinding.d.ts +43 -0
- package/types/src/animation/PropertyMixer.d.ts +17 -0
- package/types/src/animation/tracks/BooleanKeyframeTrack.d.ts +10 -0
- package/types/src/animation/tracks/ColorKeyframeTrack.d.ts +11 -0
- package/types/src/animation/tracks/NumberKeyframeTrack.d.ts +11 -0
- package/types/src/animation/tracks/QuaternionKeyframeTrack.d.ts +11 -0
- package/types/src/animation/tracks/StringKeyframeTrack.d.ts +10 -0
- package/types/src/animation/tracks/VectorKeyframeTrack.d.ts +11 -0
- package/types/src/audio/Audio.d.ts +273 -0
- package/types/src/audio/AudioAnalyser.d.ts +58 -0
- package/types/src/audio/AudioContext.d.ts +19 -0
- package/types/src/audio/AudioListener.d.ts +96 -0
- package/types/src/audio/PositionalAudio.d.ts +101 -0
- package/types/src/cameras/ArrayCamera.d.ts +32 -0
- package/types/src/cameras/Camera.d.ts +74 -0
- package/types/src/cameras/CubeCamera.d.ts +68 -0
- package/types/src/cameras/OrthographicCamera.d.ts +174 -0
- package/types/src/cameras/PerspectiveCamera.d.ts +254 -0
- package/types/src/cameras/StereoCamera.d.ts +50 -0
- package/types/src/constants.d.ts +926 -0
- package/types/src/core/BufferAttribute.d.ts +622 -0
- package/types/src/core/BufferGeometry.d.ts +422 -0
- package/types/src/core/Clock.d.ts +72 -0
- package/types/src/core/EventDispatcher.d.ts +82 -0
- package/types/src/core/GLBufferAttribute.d.ts +121 -0
- package/types/src/core/InstancedBufferAttribute.d.ts +32 -0
- package/types/src/core/InstancedBufferGeometry.d.ts +37 -0
- package/types/src/core/InstancedInterleavedBuffer.d.ts +22 -0
- package/types/src/core/InterleavedBuffer.d.ts +150 -0
- package/types/src/core/InterleavedBufferAttribute.d.ts +201 -0
- package/types/src/core/Layers.d.ts +72 -0
- package/types/src/core/Object3D.d.ts +674 -0
- package/types/src/core/Raycaster.d.ts +208 -0
- package/types/src/core/RenderTarget.d.ts +96 -0
- package/types/src/core/Uniform.d.ts +38 -0
- package/types/src/core/UniformsGroup.d.ts +33 -0
- package/types/src/extras/Controls.d.ts +54 -0
- package/types/src/extras/DataUtils.d.ts +22 -0
- package/types/src/extras/Earcut.d.ts +15 -0
- package/types/src/extras/ImageUtils.d.ts +32 -0
- package/types/src/extras/PMREMGenerator.d.ts +82 -0
- package/types/src/extras/ShapeUtils.d.ts +25 -0
- package/types/src/extras/TextureUtils.d.ts +42 -0
- package/types/src/extras/core/Curve.d.ts +162 -0
- package/types/src/extras/core/CurvePath.d.ts +77 -0
- package/types/src/extras/core/Interpolations.d.ts +36 -0
- package/types/src/extras/core/Path.d.ts +166 -0
- package/types/src/extras/core/Shape.d.ts +86 -0
- package/types/src/extras/core/ShapePath.d.ts +98 -0
- package/types/src/extras/curves/ArcCurve.d.ts +41 -0
- package/types/src/extras/curves/CatmullRomCurve3.d.ts +77 -0
- package/types/src/extras/curves/CubicBezierCurve.d.ts +72 -0
- package/types/src/extras/curves/CubicBezierCurve3.d.ts +72 -0
- package/types/src/extras/curves/Curves.d.ts +10 -0
- package/types/src/extras/curves/EllipseCurve.d.ts +115 -0
- package/types/src/extras/curves/LineCurve.d.ts +42 -0
- package/types/src/extras/curves/LineCurve3.d.ts +42 -0
- package/types/src/extras/curves/QuadraticBezierCurve.d.ts +64 -0
- package/types/src/extras/curves/QuadraticBezierCurve3.d.ts +64 -0
- package/types/src/extras/curves/SplineCurve.d.ts +52 -0
- package/types/src/geometries/BoxGeometry.d.ts +59 -0
- package/types/src/geometries/CapsuleGeometry.d.ts +48 -0
- package/types/src/geometries/CircleGeometry.d.ts +51 -0
- package/types/src/geometries/ConeGeometry.d.ts +64 -0
- package/types/src/geometries/CylinderGeometry.d.ts +64 -0
- package/types/src/geometries/DodecahedronGeometry.d.ts +25 -0
- package/types/src/geometries/EdgesGeometry.d.ts +41 -0
- package/types/src/geometries/ExtrudeGeometry.d.ts +152 -0
- package/types/src/geometries/Geometries.d.ts +21 -0
- package/types/src/geometries/IcosahedronGeometry.d.ts +26 -0
- package/types/src/geometries/LatheGeometry.d.ts +55 -0
- package/types/src/geometries/OctahedronGeometry.d.ts +25 -0
- package/types/src/geometries/PlaneGeometry.d.ts +48 -0
- package/types/src/geometries/PolyhedronGeometry.d.ts +54 -0
- package/types/src/geometries/RingGeometry.d.ts +59 -0
- package/types/src/geometries/ShapeGeometry.d.ts +53 -0
- package/types/src/geometries/SphereGeometry.d.ts +67 -0
- package/types/src/geometries/TetrahedronGeometry.d.ts +25 -0
- package/types/src/geometries/TorusGeometry.d.ts +49 -0
- package/types/src/geometries/TorusKnotGeometry.d.ts +59 -0
- package/types/src/geometries/TubeGeometry.d.ts +86 -0
- package/types/src/geometries/WireframeGeometry.d.ts +40 -0
- package/types/src/helpers/ArrowHelper.d.ts +93 -0
- package/types/src/helpers/AxesHelper.d.ts +50 -0
- package/types/src/helpers/Box3Helper.d.ts +44 -0
- package/types/src/helpers/BoxHelper.d.ts +64 -0
- package/types/src/helpers/CameraHelper.d.ts +80 -0
- package/types/src/helpers/DirectionalLightHelper.d.ts +81 -0
- package/types/src/helpers/GridHelper.d.ts +47 -0
- package/types/src/helpers/HemisphereLightHelper.d.ts +72 -0
- package/types/src/helpers/PlaneHelper.d.ts +50 -0
- package/types/src/helpers/PointLightHelper.d.ts +73 -0
- package/types/src/helpers/PolarGridHelper.d.ts +55 -0
- package/types/src/helpers/SkeletonHelper.d.ts +78 -0
- package/types/src/helpers/SpotLightHelper.d.ts +77 -0
- package/types/src/lights/AmbientLight.d.ts +36 -0
- package/types/src/lights/DirectionalLight.d.ts +103 -0
- package/types/src/lights/DirectionalLightShadow.d.ts +73 -0
- package/types/src/lights/HemisphereLight.d.ts +61 -0
- package/types/src/lights/Light.d.ts +82 -0
- package/types/src/lights/LightProbe.d.ts +47 -0
- package/types/src/lights/LightShadow.d.ts +169 -0
- package/types/src/lights/PointLight.d.ts +102 -0
- package/types/src/lights/PointLightShadow.d.ts +22 -0
- package/types/src/lights/RectAreaLight.d.ts +82 -0
- package/types/src/lights/SpotLight.d.ts +164 -0
- package/types/src/lights/SpotLightShadow.d.ts +72 -0
- package/types/src/lights/webgpu/IESSpotLight.d.ts +6 -0
- package/types/src/loaders/AnimationLoader.d.ts +9 -0
- package/types/src/loaders/AudioLoader.d.ts +6 -0
- package/types/src/loaders/BufferGeometryLoader.d.ts +10 -0
- package/types/src/loaders/Cache.d.ts +21 -0
- package/types/src/loaders/CompressedTextureLoader.d.ts +14 -0
- package/types/src/loaders/CubeTextureLoader.d.ts +14 -0
- package/types/src/loaders/DataTextureLoader.d.ts +14 -0
- package/types/src/loaders/FileLoader.d.ts +19 -0
- package/types/src/loaders/ImageBitmapLoader.d.ts +22 -0
- package/types/src/loaders/ImageLoader.d.ts +17 -0
- package/types/src/loaders/Loader.d.ts +50 -0
- package/types/src/loaders/LoaderUtils.d.ts +10 -0
- package/types/src/loaders/LoadingManager.d.ts +69 -0
- package/types/src/loaders/MaterialLoader.d.ts +21 -0
- package/types/src/loaders/ObjectLoader.d.ts +35 -0
- package/types/src/loaders/TextureLoader.d.ts +18 -0
- package/types/src/loaders/nodes/NodeLoader.d.ts +21 -0
- package/types/src/loaders/nodes/NodeMaterialLoader.d.ts +11 -0
- package/types/src/loaders/nodes/NodeObjectLoader.d.ts +22 -0
- package/types/src/materials/LineBasicMaterial.d.ts +60 -0
- package/types/src/materials/LineDashedMaterial.d.ts +40 -0
- package/types/src/materials/Material.d.ts +631 -0
- package/types/src/materials/Materials.d.ts +18 -0
- package/types/src/materials/MeshBasicMaterial.d.ts +139 -0
- package/types/src/materials/MeshDepthMaterial.d.ts +76 -0
- package/types/src/materials/MeshDistanceMaterial.d.ts +62 -0
- package/types/src/materials/MeshLambertMaterial.d.ts +204 -0
- package/types/src/materials/MeshMatcapMaterial.d.ts +117 -0
- package/types/src/materials/MeshNormalMaterial.d.ts +93 -0
- package/types/src/materials/MeshPhongMaterial.d.ts +228 -0
- package/types/src/materials/MeshPhysicalMaterial.d.ts +236 -0
- package/types/src/materials/MeshStandardMaterial.d.ts +218 -0
- package/types/src/materials/MeshToonMaterial.d.ts +178 -0
- package/types/src/materials/PointsMaterial.d.ts +61 -0
- package/types/src/materials/RawShaderMaterial.d.ts +14 -0
- package/types/src/materials/ShaderMaterial.d.ts +167 -0
- package/types/src/materials/ShadowMaterial.d.ts +39 -0
- package/types/src/materials/SpriteMaterial.d.ts +66 -0
- package/types/src/materials/nodes/InstancedPointsNodeMaterial.d.ts +33 -0
- package/types/src/materials/nodes/Line2NodeMaterial.d.ts +53 -0
- package/types/src/materials/nodes/LineBasicNodeMaterial.d.ts +22 -0
- package/types/src/materials/nodes/LineDashedNodeMaterial.d.ts +29 -0
- package/types/src/materials/nodes/MeshBasicNodeMaterial.d.ts +36 -0
- package/types/src/materials/nodes/MeshLambertNodeMaterial.d.ts +49 -0
- package/types/src/materials/nodes/MeshMatcapNodeMaterial.d.ts +32 -0
- package/types/src/materials/nodes/MeshNormalNodeMaterial.d.ts +28 -0
- package/types/src/materials/nodes/MeshPhongNodeMaterial.d.ts +56 -0
- package/types/src/materials/nodes/MeshPhysicalNodeMaterial.d.ts +93 -0
- package/types/src/materials/nodes/MeshSSSNodeMaterial.d.ts +16 -0
- package/types/src/materials/nodes/MeshStandardNodeMaterial.d.ts +56 -0
- package/types/src/materials/nodes/MeshToonNodeMaterial.d.ts +42 -0
- package/types/src/materials/nodes/NodeMaterial.d.ts +89 -0
- package/types/src/materials/nodes/NodeMaterials.d.ts +18 -0
- package/types/src/materials/nodes/PointsNodeMaterial.d.ts +21 -0
- package/types/src/materials/nodes/ShadowNodeMaterial.d.ts +17 -0
- package/types/src/materials/nodes/SpriteNodeMaterial.d.ts +26 -0
- package/types/src/materials/nodes/VolumeNodeMaterial.d.ts +10 -0
- package/types/src/materials/nodes/manager/NodeMaterialObserver.d.ts +81 -0
- package/types/src/math/Box2.d.ts +48 -0
- package/types/src/math/Box3.d.ts +66 -0
- package/types/src/math/Color.d.ts +358 -0
- package/types/src/math/ColorManagement.d.ts +49 -0
- package/types/src/math/Cylindrical.d.ts +26 -0
- package/types/src/math/Euler.d.ts +50 -0
- package/types/src/math/Frustum.d.ts +30 -0
- package/types/src/math/Interpolant.d.ts +10 -0
- package/types/src/math/Line3.d.ts +29 -0
- package/types/src/math/MathUtils.d.ts +137 -0
- package/types/src/math/Matrix2.d.ts +53 -0
- package/types/src/math/Matrix3.d.ts +184 -0
- package/types/src/math/Matrix4.d.ts +284 -0
- package/types/src/math/Plane.d.ts +47 -0
- package/types/src/math/Quaternion.d.ts +189 -0
- package/types/src/math/Ray.d.ts +60 -0
- package/types/src/math/Sphere.d.ts +47 -0
- package/types/src/math/Spherical.d.ts +27 -0
- package/types/src/math/SphericalHarmonics3.d.ts +50 -0
- package/types/src/math/Triangle.d.ts +110 -0
- package/types/src/math/Vector2.d.ts +321 -0
- package/types/src/math/Vector3.d.ts +301 -0
- package/types/src/math/Vector4.d.ts +239 -0
- package/types/src/math/interpolants/CubicInterpolant.d.ts +7 -0
- package/types/src/math/interpolants/DiscreteInterpolant.d.ts +7 -0
- package/types/src/math/interpolants/LinearInterpolant.d.ts +7 -0
- package/types/src/math/interpolants/QuaternionLinearInterpolant.d.ts +7 -0
- package/types/src/nodes/Nodes.d.ts +176 -0
- package/types/src/nodes/TSL.d.ts +175 -0
- package/types/src/nodes/accessors/AccessorsUtils.d.ts +9 -0
- package/types/src/nodes/accessors/BatchNode.d.ts +13 -0
- package/types/src/nodes/accessors/Bitangent.d.ts +9 -0
- package/types/src/nodes/accessors/BufferAttributeNode.d.ts +54 -0
- package/types/src/nodes/accessors/BufferNode.d.ts +17 -0
- package/types/src/nodes/accessors/Camera.d.ts +15 -0
- package/types/src/nodes/accessors/ClippingNode.d.ts +16 -0
- package/types/src/nodes/accessors/CubeTextureNode.d.ts +28 -0
- package/types/src/nodes/accessors/InstanceNode.d.ts +13 -0
- package/types/src/nodes/accessors/MaterialNode.d.ts +129 -0
- package/types/src/nodes/accessors/MaterialProperties.d.ts +4 -0
- package/types/src/nodes/accessors/MaterialReferenceNode.d.ts +15 -0
- package/types/src/nodes/accessors/ModelNode.d.ts +24 -0
- package/types/src/nodes/accessors/ModelViewProjectionNode.d.ts +8 -0
- package/types/src/nodes/accessors/MorphNode.d.ts +15 -0
- package/types/src/nodes/accessors/Normal.d.ts +25 -0
- package/types/src/nodes/accessors/Object3DNode.d.ts +22 -0
- package/types/src/nodes/accessors/PointUVNode.d.ts +10 -0
- package/types/src/nodes/accessors/Position.d.ts +10 -0
- package/types/src/nodes/accessors/ReferenceBaseNode.d.ts +27 -0
- package/types/src/nodes/accessors/ReferenceNode.d.ts +29 -0
- package/types/src/nodes/accessors/ReflectVector.d.ts +9 -0
- package/types/src/nodes/accessors/RendererReferenceNode.d.ts +15 -0
- package/types/src/nodes/accessors/SceneNode.d.ts +20 -0
- package/types/src/nodes/accessors/SkinningNode.d.ts +30 -0
- package/types/src/nodes/accessors/StorageBufferNode.d.ts +38 -0
- package/types/src/nodes/accessors/StorageTextureNode.d.ts +40 -0
- package/types/src/nodes/accessors/Tangent.d.ts +12 -0
- package/types/src/nodes/accessors/Texture3DNode.d.ts +17 -0
- package/types/src/nodes/accessors/TextureBicubic.d.ts +4 -0
- package/types/src/nodes/accessors/TextureNode.d.ts +66 -0
- package/types/src/nodes/accessors/TextureSizeNode.d.ts +18 -0
- package/types/src/nodes/accessors/UV.d.ts +4 -0
- package/types/src/nodes/accessors/UniformArrayNode.d.ts +30 -0
- package/types/src/nodes/accessors/UserDataNode.d.ts +15 -0
- package/types/src/nodes/accessors/VelocityNode.d.ts +16 -0
- package/types/src/nodes/accessors/VertexColorNode.d.ts +12 -0
- package/types/src/nodes/code/CodeNode.d.ts +23 -0
- package/types/src/nodes/code/ExpressionNode.d.ts +9 -0
- package/types/src/nodes/code/FunctionCallNode.d.ts +25 -0
- package/types/src/nodes/code/FunctionNode.d.ts +38 -0
- package/types/src/nodes/code/ScriptableNode.d.ts +22 -0
- package/types/src/nodes/code/ScriptableValueNode.d.ts +10 -0
- package/types/src/nodes/core/AssignNode.d.ts +18 -0
- package/types/src/nodes/core/AttributeNode.d.ts +16 -0
- package/types/src/nodes/core/BypassNode.d.ts +18 -0
- package/types/src/nodes/core/CacheNode.d.ts +20 -0
- package/types/src/nodes/core/ConstNode.d.ts +9 -0
- package/types/src/nodes/core/ContextNode.d.ts +24 -0
- package/types/src/nodes/core/IndexNode.d.ts +28 -0
- package/types/src/nodes/core/InputNode.d.ts +15 -0
- package/types/src/nodes/core/LightingModel.d.ts +46 -0
- package/types/src/nodes/core/MRTNode.d.ts +24 -0
- package/types/src/nodes/core/Node.d.ts +111 -0
- package/types/src/nodes/core/NodeAttribute.d.ts +9 -0
- package/types/src/nodes/core/NodeBuilder.d.ts +143 -0
- package/types/src/nodes/core/NodeCache.d.ts +52 -0
- package/types/src/nodes/core/NodeCode.d.ts +4 -0
- package/types/src/nodes/core/NodeFrame.d.ts +34 -0
- package/types/src/nodes/core/NodeFunction.d.ts +13 -0
- package/types/src/nodes/core/NodeFunctionInput.d.ts +7 -0
- package/types/src/nodes/core/NodeParser.d.ts +5 -0
- package/types/src/nodes/core/NodeUniform.d.ts +14 -0
- package/types/src/nodes/core/NodeUtils.d.ts +25 -0
- package/types/src/nodes/core/NodeVar.d.ts +7 -0
- package/types/src/nodes/core/NodeVarying.d.ts +7 -0
- package/types/src/nodes/core/OutputStructNode.d.ts +12 -0
- package/types/src/nodes/core/ParameterNode.d.ts +12 -0
- package/types/src/nodes/core/PropertyNode.d.ts +43 -0
- package/types/src/nodes/core/StackNode.d.ts +27 -0
- package/types/src/nodes/core/StructTypeNode.d.ts +9 -0
- package/types/src/nodes/core/TempNode.d.ts +10 -0
- package/types/src/nodes/core/UniformGroup.d.ts +7 -0
- package/types/src/nodes/core/UniformGroupNode.d.ts +21 -0
- package/types/src/nodes/core/UniformNode.d.ts +24 -0
- package/types/src/nodes/core/VarNode.d.ts +20 -0
- package/types/src/nodes/core/VaryingNode.d.ts +21 -0
- package/types/src/nodes/core/constants.d.ts +27 -0
- package/types/src/nodes/display/AfterImageNode.d.ts +19 -0
- package/types/src/nodes/display/AnaglyphPassNode.d.ts +14 -0
- package/types/src/nodes/display/AnamorphicNode.d.ts +25 -0
- package/types/src/nodes/display/BleachBypass.d.ts +4 -0
- package/types/src/nodes/display/BlendMode.d.ts +10 -0
- package/types/src/nodes/display/BloomNode.d.ts +29 -0
- package/types/src/nodes/display/BumpMapNode.d.ts +16 -0
- package/types/src/nodes/display/ColorAdjustment.d.ts +27 -0
- package/types/src/nodes/display/ColorSpaceFunctions.d.ts +6 -0
- package/types/src/nodes/display/ColorSpaceNode.d.ts +54 -0
- package/types/src/nodes/display/DenoiseNode.d.ts +32 -0
- package/types/src/nodes/display/DepthOfFieldNode.d.ts +26 -0
- package/types/src/nodes/display/DotScreenNode.d.ts +23 -0
- package/types/src/nodes/display/FXAANode.d.ts +13 -0
- package/types/src/nodes/display/FilmNode.d.ts +19 -0
- package/types/src/nodes/display/FrontFacingNode.d.ts +12 -0
- package/types/src/nodes/display/GTAONode.d.ts +40 -0
- package/types/src/nodes/display/GaussianBlurNode.d.ts +27 -0
- package/types/src/nodes/display/Lut3DNode.d.ts +24 -0
- package/types/src/nodes/display/MotionBlur.d.ts +8 -0
- package/types/src/nodes/display/NormalMapNode.d.ts +17 -0
- package/types/src/nodes/display/ParallaxBarrierPassNode.d.ts +14 -0
- package/types/src/nodes/display/PassNode.d.ts +71 -0
- package/types/src/nodes/display/PixelationPassNode.d.ts +31 -0
- package/types/src/nodes/display/PosterizeNode.d.ts +14 -0
- package/types/src/nodes/display/RGBShiftNode.d.ts +18 -0
- package/types/src/nodes/display/RenderOutputNode.d.ts +28 -0
- package/types/src/nodes/display/SSAAPassNode.d.ts +26 -0
- package/types/src/nodes/display/ScreenNode.d.ts +48 -0
- package/types/src/nodes/display/Sepia.d.ts +4 -0
- package/types/src/nodes/display/SobelOperatorNode.d.ts +13 -0
- package/types/src/nodes/display/StereoCompositePassNode.d.ts +17 -0
- package/types/src/nodes/display/StereoPassNode.d.ts +17 -0
- package/types/src/nodes/display/ToneMappingFunctions.d.ts +14 -0
- package/types/src/nodes/display/ToneMappingNode.d.ts +32 -0
- package/types/src/nodes/display/ToonOutlinePassNode.d.ts +24 -0
- package/types/src/nodes/display/TransitionNode.d.ts +35 -0
- package/types/src/nodes/display/ViewportDepthNode.d.ts +34 -0
- package/types/src/nodes/display/ViewportDepthTextureNode.d.ts +14 -0
- package/types/src/nodes/display/ViewportSharedTextureNode.d.ts +14 -0
- package/types/src/nodes/display/ViewportTextureNode.d.ts +28 -0
- package/types/src/nodes/fog/FogExp2Node.d.ts +14 -0
- package/types/src/nodes/fog/FogNode.d.ts +20 -0
- package/types/src/nodes/fog/FogRangeNode.d.ts +19 -0
- package/types/src/nodes/functions/BSDF/BRDF_GGX.d.ts +15 -0
- package/types/src/nodes/functions/BSDF/BRDF_Lambert.d.ts +7 -0
- package/types/src/nodes/functions/BSDF/BRDF_Sheen.d.ts +7 -0
- package/types/src/nodes/functions/BSDF/DFGApprox.d.ts +11 -0
- package/types/src/nodes/functions/BSDF/D_GGX.d.ts +10 -0
- package/types/src/nodes/functions/BSDF/D_GGX_Anisotropic.d.ts +10 -0
- package/types/src/nodes/functions/BSDF/F_Schlick.d.ts +7 -0
- package/types/src/nodes/functions/BSDF/LTC.d.ts +9 -0
- package/types/src/nodes/functions/BSDF/Schlick_to_F0.d.ts +10 -0
- package/types/src/nodes/functions/BSDF/V_GGX_SmithCorrelated.d.ts +11 -0
- package/types/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.d.ts +16 -0
- package/types/src/nodes/functions/BasicLightingModel.d.ts +7 -0
- package/types/src/nodes/functions/PhongLightingModel.d.ts +7 -0
- package/types/src/nodes/functions/PhysicalLightingModel.d.ts +30 -0
- package/types/src/nodes/functions/ShadowMaskModel.d.ts +9 -0
- package/types/src/nodes/functions/ToonLightingModel.d.ts +4 -0
- package/types/src/nodes/functions/material/getGeometryRoughness.d.ts +6 -0
- package/types/src/nodes/functions/material/getRoughness.d.ts +7 -0
- package/types/src/nodes/functions/material/getShIrradianceAt.d.ts +6 -0
- package/types/src/nodes/geometry/RangeNode.d.ts +19 -0
- package/types/src/nodes/gpgpu/ComputeNode.d.ts +24 -0
- package/types/src/nodes/lighting/AONode.d.ts +8 -0
- package/types/src/nodes/lighting/AmbientLightNode.d.ts +8 -0
- package/types/src/nodes/lighting/AnalyticLightNode.d.ts +8 -0
- package/types/src/nodes/lighting/BasicEnvironmentNode.d.ts +10 -0
- package/types/src/nodes/lighting/BasicLightMapNode.d.ts +8 -0
- package/types/src/nodes/lighting/DirectionalLightNode.d.ts +8 -0
- package/types/src/nodes/lighting/EnvironmentNode.d.ts +8 -0
- package/types/src/nodes/lighting/HemisphereLightNode.d.ts +13 -0
- package/types/src/nodes/lighting/IESSpotLightNode.d.ts +5 -0
- package/types/src/nodes/lighting/IrradianceNode.d.ts +8 -0
- package/types/src/nodes/lighting/LightNode.d.ts +18 -0
- package/types/src/nodes/lighting/LightProbeNode.d.ts +11 -0
- package/types/src/nodes/lighting/LightUtils.d.ts +9 -0
- package/types/src/nodes/lighting/LightingContextNode.d.ts +21 -0
- package/types/src/nodes/lighting/LightingNode.d.ts +7 -0
- package/types/src/nodes/lighting/LightsNode.d.ts +18 -0
- package/types/src/nodes/lighting/PointLightNode.d.ts +10 -0
- package/types/src/nodes/lighting/RectAreaLightNode.d.ts +21 -0
- package/types/src/nodes/lighting/SpotLightNode.d.ts +15 -0
- package/types/src/nodes/materialx/MaterialXNodes.d.ts +107 -0
- package/types/src/nodes/materialx/lib/mx_hsv.d.ts +6 -0
- package/types/src/nodes/materialx/lib/mx_noise.d.ts +359 -0
- package/types/src/nodes/materialx/lib/mx_transform_color.d.ts +4 -0
- package/types/src/nodes/math/ConditionalNode.d.ts +39 -0
- package/types/src/nodes/math/Hash.d.ts +4 -0
- package/types/src/nodes/math/MathNode.d.ts +273 -0
- package/types/src/nodes/math/MathUtils.d.ts +6 -0
- package/types/src/nodes/math/OperatorNode.d.ts +97 -0
- package/types/src/nodes/math/TriNoise3D.d.ts +12 -0
- package/types/src/nodes/parsers/GLSLNodeFunction.d.ts +9 -0
- package/types/src/nodes/parsers/GLSLNodeParser.d.ts +8 -0
- package/types/src/nodes/pmrem/PMREMNode.d.ts +22 -0
- package/types/src/nodes/pmrem/PMREMUtils.d.ts +28 -0
- package/types/src/nodes/procedural/Checker.d.ts +4 -0
- package/types/src/nodes/tsl/TSLBase.d.ts +21 -0
- package/types/src/nodes/tsl/TSLCore.d.ts +273 -0
- package/types/src/nodes/utils/ArrayElementNode.d.ts +9 -0
- package/types/src/nodes/utils/ConvertNode.d.ts +7 -0
- package/types/src/nodes/utils/CubeMapNode.d.ts +13 -0
- package/types/src/nodes/utils/Discard.d.ts +11 -0
- package/types/src/nodes/utils/EquirectUVNode.d.ts +8 -0
- package/types/src/nodes/utils/FunctionOverloadingNode.d.ts +13 -0
- package/types/src/nodes/utils/JoinNode.d.ts +10 -0
- package/types/src/nodes/utils/LoopNode.d.ts +22 -0
- package/types/src/nodes/utils/MatcapUVNode.d.ts +8 -0
- package/types/src/nodes/utils/MaxMipLevelNode.d.ts +14 -0
- package/types/src/nodes/utils/OscNode.d.ts +25 -0
- package/types/src/nodes/utils/Packing.d.ts +5 -0
- package/types/src/nodes/utils/RTTNode.d.ts +45 -0
- package/types/src/nodes/utils/ReflectorNode.d.ts +32 -0
- package/types/src/nodes/utils/RemapNode.d.ts +36 -0
- package/types/src/nodes/utils/RotateNode.d.ts +15 -0
- package/types/src/nodes/utils/SetNode.d.ts +11 -0
- package/types/src/nodes/utils/SplitNode.d.ts +15 -0
- package/types/src/nodes/utils/SpriteSheetUVNode.d.ts +16 -0
- package/types/src/nodes/utils/SpriteUtils.d.ts +6 -0
- package/types/src/nodes/utils/StorageArrayElementNode.d.ts +19 -0
- package/types/src/nodes/utils/TimerNode.d.ts +25 -0
- package/types/src/nodes/utils/TriplanarTexturesNode.d.ts +36 -0
- package/types/src/nodes/utils/UVUtils.d.ts +14 -0
- package/types/src/nodes/utils/ViewportUtils.d.ts +4 -0
- package/types/src/objects/BatchedMesh.d.ts +230 -0
- package/types/src/objects/Bone.d.ts +36 -0
- package/types/src/objects/Group.d.ts +37 -0
- package/types/src/objects/InstancedMesh.d.ts +179 -0
- package/types/src/objects/LOD.d.ts +111 -0
- package/types/src/objects/Line.d.ts +87 -0
- package/types/src/objects/LineLoop.d.ts +40 -0
- package/types/src/objects/LineSegments.d.ts +41 -0
- package/types/src/objects/Mesh.d.ts +94 -0
- package/types/src/objects/Points.d.ts +66 -0
- package/types/src/objects/Skeleton.d.ts +120 -0
- package/types/src/objects/SkinnedMesh.d.ts +160 -0
- package/types/src/objects/Sprite.d.ts +65 -0
- package/types/src/renderers/WebGL3DRenderTarget.d.ts +29 -0
- package/types/src/renderers/WebGLArrayRenderTarget.d.ts +29 -0
- package/types/src/renderers/WebGLCubeRenderTarget.d.ts +18 -0
- package/types/src/renderers/WebGLRenderTarget.d.ts +8 -0
- package/types/src/renderers/WebGLRenderer.d.ts +552 -0
- package/types/src/renderers/common/Animation.d.ts +13 -0
- package/types/src/renderers/common/Attributes.d.ts +22 -0
- package/types/src/renderers/common/Backend.d.ts +19 -0
- package/types/src/renderers/common/Background.d.ts +23 -0
- package/types/src/renderers/common/BindGroup.d.ts +16 -0
- package/types/src/renderers/common/Binding.d.ts +8 -0
- package/types/src/renderers/common/Bindings.d.ts +42 -0
- package/types/src/renderers/common/Buffer.d.ts +11 -0
- package/types/src/renderers/common/BufferUtils.d.ts +4 -0
- package/types/src/renderers/common/BundleGroup.d.ts +10 -0
- package/types/src/renderers/common/ChainMap.d.ts +9 -0
- package/types/src/renderers/common/ClippingContext.d.ts +24 -0
- package/types/src/renderers/common/Color4.d.ts +10 -0
- package/types/src/renderers/common/ComputePipeline.d.ts +8 -0
- package/types/src/renderers/common/Constants.d.ts +9 -0
- package/types/src/renderers/common/CubeRenderTarget.d.ts +10 -0
- package/types/src/renderers/common/DataMap.d.ts +20 -0
- package/types/src/renderers/common/Geometries.d.ts +31 -0
- package/types/src/renderers/common/Info.d.ts +34 -0
- package/types/src/renderers/common/Pipeline.d.ts +6 -0
- package/types/src/renderers/common/Pipelines.d.ts +68 -0
- package/types/src/renderers/common/PostProcessing.d.ts +21 -0
- package/types/src/renderers/common/ProgrammableStage.d.ts +15 -0
- package/types/src/renderers/common/QuadMesh.d.ts +16 -0
- package/types/src/renderers/common/RenderBundle.d.ts +9 -0
- package/types/src/renderers/common/RenderBundles.d.ts +11 -0
- package/types/src/renderers/common/RenderContext.d.ts +43 -0
- package/types/src/renderers/common/RenderContexts.d.ts +17 -0
- package/types/src/renderers/common/RenderList.d.ts +67 -0
- package/types/src/renderers/common/RenderLists.d.ts +11 -0
- package/types/src/renderers/common/RenderObject.d.ts +94 -0
- package/types/src/renderers/common/RenderObjects.d.ts +62 -0
- package/types/src/renderers/common/RenderPipeline.d.ts +8 -0
- package/types/src/renderers/common/Renderer.d.ts +296 -0
- package/types/src/renderers/common/SampledTexture.d.ts +33 -0
- package/types/src/renderers/common/Sampler.d.ts +11 -0
- package/types/src/renderers/common/StorageBufferAttribute.d.ts +7 -0
- package/types/src/renderers/common/StorageInstancedBufferAttribute.d.ts +8 -0
- package/types/src/renderers/common/StorageTexture.d.ts +5 -0
- package/types/src/renderers/common/Textures.d.ts +68 -0
- package/types/src/renderers/common/Uniform.d.ts +45 -0
- package/types/src/renderers/common/UniformBuffer.d.ts +6 -0
- package/types/src/renderers/common/UniformsGroup.d.ts +32 -0
- package/types/src/renderers/common/extras/PMREMGenerator.d.ts +9 -0
- package/types/src/renderers/common/nodes/NodeBuilderState.d.ts +31 -0
- package/types/src/renderers/common/nodes/NodeLibrary.d.ts +56 -0
- package/types/src/renderers/common/nodes/NodeSampledTexture.d.ts +29 -0
- package/types/src/renderers/common/nodes/NodeSampler.d.ts +12 -0
- package/types/src/renderers/common/nodes/NodeUniform.d.ts +68 -0
- package/types/src/renderers/common/nodes/NodeUniformsGroup.d.ts +10 -0
- package/types/src/renderers/common/nodes/Nodes.d.ts +114 -0
- package/types/src/renderers/common/nodes/StandardNodeLibrary.d.ts +5 -0
- package/types/src/renderers/shaders/ShaderChunk.d.ts +143 -0
- package/types/src/renderers/shaders/ShaderLib.d.ts +29 -0
- package/types/src/renderers/shaders/UniformsLib.d.ts +189 -0
- package/types/src/renderers/shaders/UniformsUtils.d.ts +14 -0
- package/types/src/renderers/webgl/WebGLAttributes.d.ts +21 -0
- package/types/src/renderers/webgl/WebGLBindingStates.d.ts +26 -0
- package/types/src/renderers/webgl/WebGLBufferRenderer.d.ts +21 -0
- package/types/src/renderers/webgl/WebGLCapabilities.d.ts +48 -0
- package/types/src/renderers/webgl/WebGLClipping.d.ts +26 -0
- package/types/src/renderers/webgl/WebGLCubeMaps.d.ts +8 -0
- package/types/src/renderers/webgl/WebGLCubeUVMaps.d.ts +9 -0
- package/types/src/renderers/webgl/WebGLExtensions.d.ts +7 -0
- package/types/src/renderers/webgl/WebGLGeometries.d.ts +13 -0
- package/types/src/renderers/webgl/WebGLIndexedBufferRenderer.d.ts +15 -0
- package/types/src/renderers/webgl/WebGLInfo.d.ts +39 -0
- package/types/src/renderers/webgl/WebGLLights.d.ts +49 -0
- package/types/src/renderers/webgl/WebGLObjects.d.ts +6 -0
- package/types/src/renderers/webgl/WebGLProgram.d.ts +30 -0
- package/types/src/renderers/webgl/WebGLPrograms.d.ts +240 -0
- package/types/src/renderers/webgl/WebGLProperties.d.ts +9 -0
- package/types/src/renderers/webgl/WebGLRenderLists.d.ts +66 -0
- package/types/src/renderers/webgl/WebGLShader.d.ts +1 -0
- package/types/src/renderers/webgl/WebGLShadowMap.d.ts +38 -0
- package/types/src/renderers/webgl/WebGLState.d.ts +116 -0
- package/types/src/renderers/webgl/WebGLTextures.d.ts +30 -0
- package/types/src/renderers/webgl/WebGLUniforms.d.ts +12 -0
- package/types/src/renderers/webgl/WebGLUniformsGroups.d.ts +17 -0
- package/types/src/renderers/webgl/WebGLUtils.d.ts +11 -0
- package/types/src/renderers/webgl-fallback/WebGLBackend.d.ts +14 -0
- package/types/src/renderers/webgpu/WebGPUBackend.d.ts +25 -0
- package/types/src/renderers/webgpu/WebGPURenderer.Nodes.d.ts +12 -0
- package/types/src/renderers/webgpu/WebGPURenderer.d.ts +14 -0
- package/types/src/renderers/webgpu/nodes/BasicNodeLibrary.d.ts +5 -0
- package/types/src/renderers/webgpu/nodes/StandardNodeLibrary.d.ts +5 -0
- package/types/src/renderers/webgpu/nodes/WGSLNodeBuilder.d.ts +125 -0
- package/types/src/renderers/webgpu/nodes/WGSLNodeFunction.d.ts +6 -0
- package/types/src/renderers/webgpu/nodes/WGSLNodeParser.d.ts +6 -0
- package/types/src/renderers/webgpu/utils/WebGPUConstants.d.ts +328 -0
- package/types/src/renderers/webxr/WebXRController.d.ts +63 -0
- package/types/src/renderers/webxr/WebXRDepthSensing.d.ts +22 -0
- package/types/src/renderers/webxr/WebXRManager.d.ts +85 -0
- package/types/src/scenes/Fog.d.ts +77 -0
- package/types/src/scenes/FogExp2.d.ts +66 -0
- package/types/src/scenes/Scene.d.ts +118 -0
- package/types/src/textures/CanvasTexture.d.ts +51 -0
- package/types/src/textures/CompressedArrayTexture.d.ts +68 -0
- package/types/src/textures/CompressedCubeTexture.d.ts +13 -0
- package/types/src/textures/CompressedTexture.d.ts +95 -0
- package/types/src/textures/CubeTexture.d.ts +90 -0
- package/types/src/textures/Data3DTexture.d.ts +96 -0
- package/types/src/textures/DataArrayTexture.d.ts +123 -0
- package/types/src/textures/DataTexture.d.ts +113 -0
- package/types/src/textures/DepthTexture.d.ts +104 -0
- package/types/src/textures/FramebufferTexture.d.ts +62 -0
- package/types/src/textures/Source.d.ts +75 -0
- package/types/src/textures/Texture.d.ts +477 -0
- package/types/src/textures/VideoTexture.d.ts +90 -0
- package/types/src/textures/types.d.ts +9 -0
- package/types/src/utils.d.ts +3 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import TextureNode from "../accessors/TextureNode.js";
|
|
2
|
+
import Node from "../core/Node.js";
|
|
3
|
+
import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
4
|
+
|
|
5
|
+
export default class TriplanarTexturesNode extends Node {
|
|
6
|
+
textureXNode: TextureNode;
|
|
7
|
+
textureYNode: TextureNode | null;
|
|
8
|
+
textureZNode: TextureNode | null;
|
|
9
|
+
|
|
10
|
+
scaleNode: ShaderNodeObject<Node>;
|
|
11
|
+
|
|
12
|
+
positionNode: ShaderNodeObject<Node>;
|
|
13
|
+
normalNode: ShaderNodeObject<Node>;
|
|
14
|
+
|
|
15
|
+
constructor(
|
|
16
|
+
textureXNode: Node,
|
|
17
|
+
textureYNode?: TextureNode | null,
|
|
18
|
+
textureZNode?: TextureNode | null,
|
|
19
|
+
scaleNode?: ShaderNodeObject<Node>,
|
|
20
|
+
positionNode?: ShaderNodeObject<Node>,
|
|
21
|
+
normalNode?: ShaderNodeObject<Node>,
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const triplanarTextures: (
|
|
26
|
+
textureXNode: NodeRepresentation,
|
|
27
|
+
textureYNode?: NodeRepresentation,
|
|
28
|
+
textureZNode?: NodeRepresentation,
|
|
29
|
+
scaleNode?: NodeRepresentation,
|
|
30
|
+
positionNode?: NodeRepresentation,
|
|
31
|
+
normalNode?: NodeRepresentation,
|
|
32
|
+
) => ShaderNodeObject<TriplanarTexturesNode>;
|
|
33
|
+
export const triplanarTexture: (
|
|
34
|
+
texture: NodeRepresentation,
|
|
35
|
+
...params: NodeRepresentation[]
|
|
36
|
+
) => ShaderNodeObject<TriplanarTexturesNode>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import OperatorNode from "../math/OperatorNode.js";
|
|
2
|
+
import { NodeRepresentation, ShaderNodeObject } from "../tsl/TSLCore.js";
|
|
3
|
+
|
|
4
|
+
export const rotateUV: (
|
|
5
|
+
uv: NodeRepresentation,
|
|
6
|
+
rotation: NodeRepresentation,
|
|
7
|
+
center?: NodeRepresentation,
|
|
8
|
+
) => ShaderNodeObject<OperatorNode>;
|
|
9
|
+
|
|
10
|
+
export const spherizeUV: (
|
|
11
|
+
uv: NodeRepresentation,
|
|
12
|
+
strength: NodeRepresentation,
|
|
13
|
+
center?: NodeRepresentation,
|
|
14
|
+
) => ShaderNodeObject<OperatorNode>;
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { Camera } from "../cameras/Camera.js";
|
|
2
|
+
import { BufferGeometry } from "../core/BufferGeometry.js";
|
|
3
|
+
import { Material } from "../materials/Material.js";
|
|
4
|
+
import { Box3 } from "../math/Box3.js";
|
|
5
|
+
import { Color } from "../math/Color.js";
|
|
6
|
+
import { Matrix4 } from "../math/Matrix4.js";
|
|
7
|
+
import { Sphere } from "../math/Sphere.js";
|
|
8
|
+
import { Mesh } from "./Mesh.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* A special version of {@link Mesh} with multi draw batch rendering support. Use {@link BatchedMesh} if you have to
|
|
12
|
+
* render a large number of objects with the same material but with different world transformations. The usage of
|
|
13
|
+
* {@link BatchedMesh} will help you to reduce the number of draw calls and thus improve the overall rendering
|
|
14
|
+
* performance in your application.
|
|
15
|
+
*
|
|
16
|
+
* If the {@link https://developer.mozilla.org/en-US/docs/Web/API/WEBGL_multi_draw WEBGL_multi_draw extension} is not
|
|
17
|
+
* supported then a less performant fallback is used.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* const box = new THREE.BoxGeometry( 1, 1, 1 );
|
|
21
|
+
* const sphere = new THREE.SphereGeometry( 1, 12, 12 );
|
|
22
|
+
* const material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
|
|
23
|
+
*
|
|
24
|
+
* // initialize and add geometries into the batched mesh
|
|
25
|
+
* const batchedMesh = new BatchedMesh( 10, 5000, 10000, material );
|
|
26
|
+
* const boxGeometryId = batchedMesh.addGeometry( box );
|
|
27
|
+
* const sphereGeometryId = batchedMesh.addGeometry( sphere );
|
|
28
|
+
*
|
|
29
|
+
* // create instances of those geometries
|
|
30
|
+
* const boxInstancedId1 = batchedMesh.addInstance( boxGeometryId );
|
|
31
|
+
* const boxInstancedId2 = batchedMesh.addInstance( boxGeometryId );
|
|
32
|
+
*
|
|
33
|
+
* const sphereInstancedId1 = batchedMesh.addInstance( sphereGeometryId );
|
|
34
|
+
* const sphereInstancedId2 = batchedMesh.addInstance( sphereGeometryId );
|
|
35
|
+
*
|
|
36
|
+
* // position the geometries
|
|
37
|
+
* batchedMesh.setMatrixAt( boxInstancedId1, boxMatrix1 );
|
|
38
|
+
* batchedMesh.setMatrixAt( boxInstancedId2, boxMatrix2 );
|
|
39
|
+
*
|
|
40
|
+
* batchedMesh.setMatrixAt( sphereInstancedId1, sphereMatrix1 );
|
|
41
|
+
* batchedMesh.setMatrixAt( sphereInstancedId2, sphereMatrix2 );
|
|
42
|
+
*
|
|
43
|
+
* scene.add( batchedMesh );
|
|
44
|
+
*
|
|
45
|
+
* @also Example: {@link https://threejs.org/examples/#webgl_mesh_batch WebGL / mesh / batch}
|
|
46
|
+
*/
|
|
47
|
+
declare class BatchedMesh extends Mesh<BufferGeometry, Material> {
|
|
48
|
+
/**
|
|
49
|
+
* This bounding box encloses all instances of the {@link BatchedMesh}. Can be calculated with
|
|
50
|
+
* {@link .computeBoundingBox()}.
|
|
51
|
+
* @default null
|
|
52
|
+
*/
|
|
53
|
+
boundingBox: Box3 | null;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* This bounding sphere encloses all instances of the {@link BatchedMesh}. Can be calculated with
|
|
57
|
+
* {@link .computeBoundingSphere()}.
|
|
58
|
+
* @default null
|
|
59
|
+
*/
|
|
60
|
+
boundingSphere: Sphere | null;
|
|
61
|
+
|
|
62
|
+
customSort: ((this: this, list: Array<{ start: number; count: number; z: number }>, camera: Camera) => void) | null;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* If true then the individual objects within the {@link BatchedMesh} are frustum culled.
|
|
66
|
+
* @default true
|
|
67
|
+
*/
|
|
68
|
+
perObjectFrustumCulled: boolean;
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* If true then the individual objects within the {@link BatchedMesh} are sorted to improve overdraw-related
|
|
72
|
+
* artifacts. If the material is marked as "transparent" objects are rendered back to front and if not then they are
|
|
73
|
+
* rendered front to back.
|
|
74
|
+
* @default true
|
|
75
|
+
*/
|
|
76
|
+
sortObjects: boolean;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The maximum number of individual geometries that can be stored in the {@link BatchedMesh}. Read only.
|
|
80
|
+
*/
|
|
81
|
+
get maxInstanceCount(): number;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Read-only flag to check if a given object is of type {@link BatchedMesh}.
|
|
85
|
+
*/
|
|
86
|
+
readonly isBatchedMesh: true;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @param maxInstanceCount the max number of individual geometries planned to be added.
|
|
90
|
+
* @param maxVertexCount the max number of vertices to be used by all geometries.
|
|
91
|
+
* @param maxIndexCount the max number of indices to be used by all geometries.
|
|
92
|
+
* @param material an instance of {@link Material}. Default is a new {@link MeshBasicMaterial}.
|
|
93
|
+
*/
|
|
94
|
+
constructor(maxInstanceCount: number, maxVertexCount: number, maxIndexCount?: number, material?: Material);
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Computes the bounding box, updating {@link .boundingBox} attribute.
|
|
98
|
+
* Bounding boxes aren't computed by default. They need to be explicitly computed, otherwise they are `null`.
|
|
99
|
+
*/
|
|
100
|
+
computeBoundingBox(): void;
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Computes the bounding sphere, updating {@link .boundingSphere} attribute.
|
|
104
|
+
* Bounding spheres aren't computed by default. They need to be explicitly computed, otherwise they are `null`.
|
|
105
|
+
*/
|
|
106
|
+
computeBoundingSphere(): void;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Frees the GPU-related resources allocated by this instance. Call this method whenever this instance is no longer
|
|
110
|
+
* used in your app.
|
|
111
|
+
*/
|
|
112
|
+
dispose(): this;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Takes a sort a function that is run before render. The function takes a list of instances to sort and a camera.
|
|
116
|
+
* The objects in the list include a "z" field to perform a depth-ordered sort with.
|
|
117
|
+
*/
|
|
118
|
+
setCustomSort(
|
|
119
|
+
sortFunction:
|
|
120
|
+
| ((this: this, list: Array<{ start: number; count: number; z: number }>, camera: Camera) => void)
|
|
121
|
+
| null,
|
|
122
|
+
): this;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Get the color of the defined geometry.
|
|
126
|
+
* @param instanceId The id of an instance to get the color of.
|
|
127
|
+
* @param target The target object to copy the color in to.
|
|
128
|
+
*/
|
|
129
|
+
getColorAt(instanceId: number, target: Color): void;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Get the local transformation matrix of the defined instance.
|
|
133
|
+
* @param instanceId The id of an instance to get the matrix of.
|
|
134
|
+
* @param target This 4x4 matrix will be set to the local transformation matrix of the defined instance.
|
|
135
|
+
*/
|
|
136
|
+
getMatrixAt(instanceId: number, target: Matrix4): Matrix4;
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Get whether the given instance is marked as "visible" or not.
|
|
140
|
+
* @param instanceId The id of an instance to get the visibility state of.
|
|
141
|
+
*/
|
|
142
|
+
getVisibleAt(instanceId: number): boolean;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Get the range representing the subset of triangles related to the attached geometry, indicating the starting
|
|
146
|
+
* offset and count, or `null` if invalid.
|
|
147
|
+
*
|
|
148
|
+
* Return an object of the form: { start: Integer, count: Integer }
|
|
149
|
+
* @param geometryId The id of the geometry to get the range of.
|
|
150
|
+
* @param target Optional target object to copy the range in to.
|
|
151
|
+
*/
|
|
152
|
+
getGeometryRangeAt(
|
|
153
|
+
geometryId: number,
|
|
154
|
+
target?: { start: number; count: number },
|
|
155
|
+
): { start: number; count: number } | null;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Get the geometryIndex of the defined instance.
|
|
159
|
+
* @param instanceId The id of an instance to get the geometryIndex of.
|
|
160
|
+
*/
|
|
161
|
+
getGeometryIdAt(instanceId: number): number;
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Sets the given color to the defined geometry instance.
|
|
165
|
+
* @param instanceId The id of the instance to set the color of.
|
|
166
|
+
* @param color The color to set the instance to.
|
|
167
|
+
*/
|
|
168
|
+
setColorAt(instanceId: number, color: Color): void;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Sets the given local transformation matrix to the defined instance.
|
|
172
|
+
* @param instanceId The id of an instance to set the matrix of.
|
|
173
|
+
* @param matrix A 4x4 matrix representing the local transformation of a single instance.
|
|
174
|
+
*/
|
|
175
|
+
setMatrixAt(instanceId: number, matrix: Matrix4): this;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Sets the visibility of the instance at the given index.
|
|
179
|
+
* @param instanceId The id of the instance to set the visibility of.
|
|
180
|
+
* @param visible A boolean value indicating the visibility state.
|
|
181
|
+
*/
|
|
182
|
+
setVisibleAt(instanceId: number, visible: boolean): this;
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Sets the geometryIndex of the instance at the given index.
|
|
186
|
+
* @param instanceId The id of the instance to set the geometryIndex of.
|
|
187
|
+
* @param geometryId The geometryIndex to be use by the instance.
|
|
188
|
+
*/
|
|
189
|
+
setGeometryIdAt(instanceId: number, geometryId: number): this;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Adds the given geometry to the {@link BatchedMesh} and returns the associated index referring to it.
|
|
193
|
+
* @param geometry The geometry to add into the {@link BatchedMesh}.
|
|
194
|
+
* @param reservedVertexRange Optional parameter specifying the amount of vertex buffer space to reserve for the
|
|
195
|
+
* added geometry. This is necessary if it is planned to set a new geometry at this index at a later time that is
|
|
196
|
+
* larger than the original geometry. Defaults to the length of the given geometry vertex buffer.
|
|
197
|
+
* @param reservedIndexRange Optional parameter specifying the amount of index buffer space to reserve for the added
|
|
198
|
+
* geometry. This is necessary if it is planned to set a new geometry at this index at a later time that is larger
|
|
199
|
+
* than the original geometry. Defaults to the length of the given geometry index buffer.
|
|
200
|
+
*/
|
|
201
|
+
addGeometry(geometry: BufferGeometry, reservedVertexRange?: number, reservedIndexRange?: number): number;
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Adds a new instance to the {@link BatchedMesh} using the geometry of the given geometryId and returns a new id
|
|
205
|
+
* referring to the new instance to be used by other functions.
|
|
206
|
+
* @param geometryId The id of a previously added geometry via "addGeometry" to add into the {@link BatchedMesh} to
|
|
207
|
+
* render.
|
|
208
|
+
*/
|
|
209
|
+
addInstance(geometryId: number): number;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Removes an existing instance from the BatchedMesh using the given instanceId.
|
|
213
|
+
* @param instanceId The id of an instance to remove from the BatchedMesh that was previously added via
|
|
214
|
+
* "addInstance".
|
|
215
|
+
*/
|
|
216
|
+
deleteInstance(instanceId: number): this;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Replaces the geometry at `geometryId` with the provided geometry. Throws an error if there is not enough space
|
|
220
|
+
* reserved for geometry. Calling this will change all instances that are rendering that geometry.
|
|
221
|
+
* @param geometryId Which geometry id to replace with this geometry.
|
|
222
|
+
* @param geometry The geometry to substitute at the given geometry id.
|
|
223
|
+
*/
|
|
224
|
+
setGeometryAt(geometryId: number, geometry: BufferGeometry): number;
|
|
225
|
+
|
|
226
|
+
getBoundingBoxAt(geometryId: number, target: Box3): Box3 | null;
|
|
227
|
+
getBoundingSphereAt(geometryId: number, target: Sphere): Sphere | null;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
export { BatchedMesh };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Object3D, Object3DEventMap } from "../core/Object3D.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A {@link Bone} which is part of a {@link THREE.Skeleton | Skeleton}
|
|
5
|
+
* @remarks
|
|
6
|
+
* The skeleton in turn is used by the {@link THREE.SkinnedMesh | SkinnedMesh}
|
|
7
|
+
* Bones are almost identical to a blank {@link THREE.Object3D | Object3D}.
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const root = new THREE.Bone();
|
|
11
|
+
* const child = new THREE.Bone();
|
|
12
|
+
* root.add(child);
|
|
13
|
+
* child.position.y = 5;
|
|
14
|
+
* ```
|
|
15
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/objects/Bone | Official Documentation}
|
|
16
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/objects/Bone.js | Source}
|
|
17
|
+
*/
|
|
18
|
+
export class Bone<TEventMap extends Object3DEventMap = Object3DEventMap> extends Object3D<TEventMap> {
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new {@link Bone}.
|
|
21
|
+
*/
|
|
22
|
+
constructor();
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Read-only flag to check if a given object is of type {@link Bone}.
|
|
26
|
+
* @remarks This is a _constant_ value
|
|
27
|
+
* @defaultValue `true`
|
|
28
|
+
*/
|
|
29
|
+
readonly isBone: true;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* @override
|
|
33
|
+
* @defaultValue `Bone`
|
|
34
|
+
*/
|
|
35
|
+
override readonly type: string | "Bone";
|
|
36
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Object3D, Object3DEventMap } from "../core/Object3D.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Its purpose is to make working with groups of objects syntactically clearer.
|
|
5
|
+
* @remarks This is almost identical to an {@link Object3D | Object3D}
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const geometry = new THREE.BoxGeometry(1, 1, 1);
|
|
9
|
+
* const material = new THREE.MeshBasicMaterial({
|
|
10
|
+
* color: 0x00ff00
|
|
11
|
+
* });
|
|
12
|
+
* const cubeA = new THREE.Mesh(geometry, material);
|
|
13
|
+
* cubeA.position.set(100, 100, 0);
|
|
14
|
+
* const cubeB = new THREE.Mesh(geometry, material);
|
|
15
|
+
* cubeB.position.set(-100, -100, 0);
|
|
16
|
+
* //create a {@link Group} and add the two cubes
|
|
17
|
+
* //These cubes can now be rotated / scaled etc as a {@link Group} * const {@link Group} = new THREE.Group();
|
|
18
|
+
* group.add(cubeA);
|
|
19
|
+
* group.add(cubeB);
|
|
20
|
+
* scene.add(group);
|
|
21
|
+
* ```
|
|
22
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/objects/Group | Official Documentation}
|
|
23
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/objects/Group.js | Source}
|
|
24
|
+
*/
|
|
25
|
+
export class Group<TEventMap extends Object3DEventMap = Object3DEventMap> extends Object3D<TEventMap> {
|
|
26
|
+
/**
|
|
27
|
+
* Creates a new {@link Group}.
|
|
28
|
+
*/
|
|
29
|
+
constructor();
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Read-only flag to check if a given object is of type {@link Group}.
|
|
33
|
+
* @remarks This is a _constant_ value
|
|
34
|
+
* @defaultValue `true`
|
|
35
|
+
*/
|
|
36
|
+
readonly isGroup: true;
|
|
37
|
+
}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import { BufferAttributeJSON } from "./../core/BufferAttribute.js";
|
|
2
|
+
import { BufferGeometry } from "../core/BufferGeometry.js";
|
|
3
|
+
import { InstancedBufferAttribute } from "../core/InstancedBufferAttribute.js";
|
|
4
|
+
import { JSONMeta, Object3DEventMap } from "../core/Object3D.js";
|
|
5
|
+
import { Material } from "../materials/Material.js";
|
|
6
|
+
import { Box3 } from "../math/Box3.js";
|
|
7
|
+
import { Color } from "../math/Color.js";
|
|
8
|
+
import { Matrix4 } from "../math/Matrix4.js";
|
|
9
|
+
import { Sphere } from "../math/Sphere.js";
|
|
10
|
+
import { DataTexture } from "../textures/DataTexture.js";
|
|
11
|
+
import { Mesh, MeshJSONObject } from "./Mesh.js";
|
|
12
|
+
|
|
13
|
+
export interface InstancedMeshJSONObject extends MeshJSONObject {
|
|
14
|
+
count: number;
|
|
15
|
+
instanceMatrix: BufferAttributeJSON;
|
|
16
|
+
instanceColor?: BufferAttributeJSON;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface InstancedMeshJSON extends MeshJSONObject {
|
|
20
|
+
object: InstancedMeshJSONObject;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export interface InstancedMeshEventMap extends Object3DEventMap {
|
|
24
|
+
dispose: {};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* A special version of {@link THREE.Mesh | Mesh} with instanced rendering support
|
|
29
|
+
* @remarks
|
|
30
|
+
* Use {@link InstancedMesh} if you have to render a large number of objects with the same geometry and material(s) but with different world transformations
|
|
31
|
+
* @remarks
|
|
32
|
+
* The usage of {@link InstancedMesh} will help you to reduce the number of draw calls and thus improve the overall rendering performance in your application.
|
|
33
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_instancing_dynamic | WebGL / instancing / dynamic}
|
|
34
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_instancing_performance | WebGL / instancing / performance}
|
|
35
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_instancing_scatter | WebGL / instancing / scatter}
|
|
36
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_instancing_raycast | WebGL / instancing / raycast}
|
|
37
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/objects/InstancedMesh | Official Documentation}
|
|
38
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/objects/InstancedMesh.js | Source}
|
|
39
|
+
*/
|
|
40
|
+
export class InstancedMesh<
|
|
41
|
+
TGeometry extends BufferGeometry = BufferGeometry,
|
|
42
|
+
TMaterial extends Material | Material[] = Material | Material[],
|
|
43
|
+
TEventMap extends InstancedMeshEventMap = InstancedMeshEventMap,
|
|
44
|
+
> extends Mesh<TGeometry, TMaterial, TEventMap> {
|
|
45
|
+
/**
|
|
46
|
+
* Create a new instance of {@link InstancedMesh}
|
|
47
|
+
* @param geometry An instance of {@link BufferGeometry}.
|
|
48
|
+
* @param material A single or an array of {@link Material}. Default is a new {@link MeshBasicMaterial}.
|
|
49
|
+
* @param count The **maximum** number of instances of this Mesh. Expects a `Integer`
|
|
50
|
+
*/
|
|
51
|
+
constructor(geometry: TGeometry | undefined, material: TMaterial | undefined, count: number);
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Read-only flag to check if a given object is of type {@link InstancedMesh}.
|
|
55
|
+
* @remarks This is a _constant_ value
|
|
56
|
+
* @defaultValue `true`
|
|
57
|
+
*/
|
|
58
|
+
readonly isInstancedMesh: true;
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* This bounding box encloses all instances of the {@link InstancedMesh},, which can be calculated with {@link computeBoundingBox | .computeBoundingBox()}.
|
|
62
|
+
* @remarks Bounding boxes aren't computed by default. They need to be explicitly computed, otherwise they are `null`.
|
|
63
|
+
* @defaultValue `null`
|
|
64
|
+
*/
|
|
65
|
+
boundingBox: Box3 | null;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* This bounding sphere encloses all instances of the {@link InstancedMesh}, which can be calculated with {@link computeBoundingSphere | .computeBoundingSphere()}.
|
|
69
|
+
* @remarks bounding spheres aren't computed by default. They need to be explicitly computed, otherwise they are `null`.
|
|
70
|
+
* @defaultValue `null`
|
|
71
|
+
*/
|
|
72
|
+
boundingSphere: Sphere | null;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* The number of instances.
|
|
76
|
+
* @remarks
|
|
77
|
+
* The `count` value passed into the {@link InstancedMesh | constructor} represents the **maximum** number of instances of this mesh.
|
|
78
|
+
* You can change the number of instances at runtime to an integer value in the range `[0, count]`.
|
|
79
|
+
* @remarks If you need more instances than the original `count` value, you have to create a new InstancedMesh.
|
|
80
|
+
* @remarks Expects a `Integer`
|
|
81
|
+
*/
|
|
82
|
+
count: number;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Represents the colors of all instances.
|
|
86
|
+
* You have to set {@link InstancedBufferAttribute.needsUpdate | .instanceColor.needsUpdate()} flag to `true` if you modify instanced data via {@link setColorAt | .setColorAt()}.
|
|
87
|
+
* @defaultValue `null`
|
|
88
|
+
*/
|
|
89
|
+
instanceColor: InstancedBufferAttribute | null;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Represents the local transformation of all instances.
|
|
93
|
+
* You have to set {@link InstancedBufferAttribute.needsUpdate | .instanceMatrix.needsUpdate()} flag to `true` if you modify instanced data via {@link setMatrixAt | .setMatrixAt()}.
|
|
94
|
+
*/
|
|
95
|
+
instanceMatrix: InstancedBufferAttribute;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Represents the morph target weights of all instances. You have to set its {@link .needsUpdate} flag to true if
|
|
99
|
+
* you modify instanced data via {@link .setMorphAt}.
|
|
100
|
+
*/
|
|
101
|
+
morphTexture: DataTexture | null;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Computes the bounding box of the instanced mesh, and updates the {@link .boundingBox} attribute. The bounding box
|
|
105
|
+
* is not computed by the engine; it must be computed by your app. You may need to recompute the bounding box if an
|
|
106
|
+
* instance is transformed via {@link .setMatrixAt()}.
|
|
107
|
+
*/
|
|
108
|
+
computeBoundingBox(): void;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Computes the bounding sphere of the instanced mesh, and updates the {@link .boundingSphere} attribute. The engine
|
|
112
|
+
* automatically computes the bounding sphere when it is needed, e.g., for ray casting or view frustum culling. You
|
|
113
|
+
* may need to recompute the bounding sphere if an instance is transformed via [page:.setMatrixAt]().
|
|
114
|
+
*/
|
|
115
|
+
computeBoundingSphere(): void;
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Get the color of the defined instance.
|
|
119
|
+
* @param index The index of an instance. Values have to be in the range `[0, count]`. Expects a `Integer`
|
|
120
|
+
* @param color This color object will be set to the color of the defined instance.
|
|
121
|
+
*/
|
|
122
|
+
getColorAt(index: number, color: Color): void;
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Sets the given color to the defined instance
|
|
126
|
+
* @remarks
|
|
127
|
+
* Make sure you set {@link InstancedBufferAttribute.needsUpdate | .instanceColor.needsUpdate()} to `true` after updating all the colors.
|
|
128
|
+
* @param index The index of an instance. Values have to be in the range `[0, count]`. Expects a `Integer`
|
|
129
|
+
* @param color The color of a single instance.
|
|
130
|
+
*/
|
|
131
|
+
setColorAt(index: number, color: Color): void;
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Get the local transformation matrix of the defined instance.
|
|
135
|
+
* @param index The index of an instance Values have to be in the range `[0, count]`. Expects a `Integer`
|
|
136
|
+
* @param matrix This 4x4 matrix will be set to the local transformation matrix of the defined instance.
|
|
137
|
+
*/
|
|
138
|
+
getMatrixAt(index: number, matrix: Matrix4): void;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Get the morph target weights of the defined instance.
|
|
142
|
+
* @param index The index of an instance. Values have to be in the range [0, count].
|
|
143
|
+
* @param mesh The {@link .morphTargetInfluences} property of this mesh will be filled with the morph target weights of the defined instance.
|
|
144
|
+
*/
|
|
145
|
+
getMorphAt(index: number, mesh: Mesh): void;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Sets the given local transformation matrix to the defined instance.
|
|
149
|
+
* @remarks
|
|
150
|
+
* Make sure you set {@link InstancedBufferAttribute.needsUpdate | .instanceMatrix.needsUpdate()} flag to `true` after updating all the matrices.
|
|
151
|
+
* @param index The index of an instance. Values have to be in the range `[0, count]`. Expects a `Integer`
|
|
152
|
+
* @param matrix A 4x4 matrix representing the local transformation of a single instance.
|
|
153
|
+
*/
|
|
154
|
+
setMatrixAt(index: number, matrix: Matrix4): void;
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Sets the morph target weights to the defined instance. Make sure you set {@link .morphTexture}{@link .needsUpdate}
|
|
158
|
+
* to true after updating all the influences.
|
|
159
|
+
* @param index The index of an instance. Values have to be in the range [0, count].
|
|
160
|
+
* @param mesh A mesh with {@link .morphTargetInfluences} property containing the morph target weights of a single instance.
|
|
161
|
+
*/
|
|
162
|
+
setMorphAt(index: number, mesh: Mesh): void;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* No effect in {@link InstancedMesh}.
|
|
166
|
+
* @ignore
|
|
167
|
+
* @hidden
|
|
168
|
+
*/
|
|
169
|
+
override updateMorphTargets(): void;
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
* Frees the GPU-related resources allocated by this instance
|
|
173
|
+
* @remarks
|
|
174
|
+
* Call this method whenever this instance is no longer used in your app.
|
|
175
|
+
*/
|
|
176
|
+
dispose(): this;
|
|
177
|
+
|
|
178
|
+
toJSON(meta?: JSONMeta): InstancedMeshJSON;
|
|
179
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { Camera } from "../cameras/Camera.js";
|
|
2
|
+
import { JSONMeta, Object3D, Object3DEventMap, Object3DJSON, Object3DJSONObject } from "../core/Object3D.js";
|
|
3
|
+
|
|
4
|
+
export interface LODJSONObject extends Object3DJSONObject {
|
|
5
|
+
autoUpdate?: boolean;
|
|
6
|
+
|
|
7
|
+
levels: Array<{
|
|
8
|
+
object: string;
|
|
9
|
+
distance: number;
|
|
10
|
+
hysteresis: number;
|
|
11
|
+
}>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface LODJSON extends Object3DJSON {
|
|
15
|
+
object: LODJSONObject;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Every level is associated with an object, and rendering can be switched between them at the distances specified
|
|
20
|
+
* @remarks
|
|
21
|
+
* Typically you would create, say, three meshes, one for far away (low detail), one for mid range (medium detail) and one for close up (high detail).
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* const {@link LOD} = new THREE.LOD();
|
|
25
|
+
* //Create spheres with 3 levels of detail and create new {@link LOD} levels for them
|
|
26
|
+
* for (let i = 0; i & lt; 3; i++) {
|
|
27
|
+
* const geometry = new THREE.IcosahedronGeometry(10, 3 - i)
|
|
28
|
+
* const mesh = new THREE.Mesh(geometry, material);
|
|
29
|
+
* lod.addLevel(mesh, i * 75);
|
|
30
|
+
* }
|
|
31
|
+
* scene.add(lod);
|
|
32
|
+
* ```
|
|
33
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_lod | webgl / {@link LOD} }
|
|
34
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/objects/LOD | Official Documentation}
|
|
35
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/objects/LOD.js | Source}
|
|
36
|
+
*/
|
|
37
|
+
export class LOD<TEventMap extends Object3DEventMap = Object3DEventMap> extends Object3D<TEventMap> {
|
|
38
|
+
/**
|
|
39
|
+
* Creates a new {@link LOD}.
|
|
40
|
+
*/
|
|
41
|
+
constructor();
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Read-only flag to check if a given object is of type {@link LOD}.
|
|
45
|
+
* @remarks This is a _constant_ value
|
|
46
|
+
* @defaultValue `true`
|
|
47
|
+
*/
|
|
48
|
+
readonly isLOD: true;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* @override
|
|
52
|
+
* @defaultValue `LOD`
|
|
53
|
+
*/
|
|
54
|
+
override readonly type: string | "LOD";
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* An array of level objects
|
|
58
|
+
*/
|
|
59
|
+
levels: Array<{
|
|
60
|
+
/** The Object3D to display at this level. */
|
|
61
|
+
object: Object3D;
|
|
62
|
+
/** The distance at which to display this level of detail. Expects a `Float`. */
|
|
63
|
+
distance: number;
|
|
64
|
+
/** Threshold used to avoid flickering at LOD boundaries, as a fraction of distance. Expects a `Float`. */
|
|
65
|
+
hysteresis: number;
|
|
66
|
+
}>;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Whether the {@link LOD} object is updated automatically by the renderer per frame or not.
|
|
70
|
+
* If set to `false`, you have to call {@link update | .update()} in the render loop by yourself.
|
|
71
|
+
* @defaultValue `true`
|
|
72
|
+
*/
|
|
73
|
+
autoUpdate: boolean;
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Adds a mesh that will display at a certain distance and greater. Typically the further away the distance, the lower the detail on the mesh.
|
|
77
|
+
*
|
|
78
|
+
* @param object The Object3D to display at this level.
|
|
79
|
+
* @param distance The distance at which to display this level of detail. Expects a `Float`. Default `0.0`.
|
|
80
|
+
* @param hysteresis Threshold used to avoid flickering at LOD boundaries, as a fraction of distance. Expects a `Float`. Default `0.0`.
|
|
81
|
+
*/
|
|
82
|
+
addLevel(object: Object3D, distance?: number, hysteresis?: number): this;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Removes an existing level, based on the distance from the camera. Returns `true` when the level has been removed.
|
|
86
|
+
* Otherwise `false`.
|
|
87
|
+
* @param distance Distance of the level to delete.
|
|
88
|
+
*/
|
|
89
|
+
removeLabel(distance: number): boolean;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Get the currently active {@link LOD} level
|
|
93
|
+
* @remarks
|
|
94
|
+
* As index of the levels array.
|
|
95
|
+
*/
|
|
96
|
+
getCurrentLevel(): number;
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Get a reference to the first {@link THREE.Object3D | Object3D} (mesh) that is greater than {@link distance}.
|
|
100
|
+
* @param distance Expects a `Float`
|
|
101
|
+
*/
|
|
102
|
+
getObjectForDistance(distance: number): Object3D | null;
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Set the visibility of each {@link levels | level}'s {@link THREE.Object3D | object} based on distance from the {@link THREE.Camera | camera}.
|
|
106
|
+
* @param camera
|
|
107
|
+
*/
|
|
108
|
+
update(camera: Camera): void;
|
|
109
|
+
|
|
110
|
+
toJSON(meta?: JSONMeta): LODJSON;
|
|
111
|
+
}
|