@needle-tools/three 0.169.12 → 0.169.14
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 +35 -10
- 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,422 @@
|
|
|
1
|
+
import { Box3 } from "../math/Box3.js";
|
|
2
|
+
import { Matrix4 } from "../math/Matrix4.js";
|
|
3
|
+
import { Quaternion } from "../math/Quaternion.js";
|
|
4
|
+
import { Sphere } from "../math/Sphere.js";
|
|
5
|
+
import { Vector2 } from "../math/Vector2.js";
|
|
6
|
+
import { Vector3, Vector3Tuple } from "../math/Vector3.js";
|
|
7
|
+
import { BufferAttribute, BufferAttributeJSON } from "./BufferAttribute.js";
|
|
8
|
+
import { EventDispatcher } from "./EventDispatcher.js";
|
|
9
|
+
import { GLBufferAttribute } from "./GLBufferAttribute.js";
|
|
10
|
+
import { InterleavedBufferAttribute } from "./InterleavedBufferAttribute.js";
|
|
11
|
+
|
|
12
|
+
export type NormalBufferAttributes = Record<string, BufferAttribute | InterleavedBufferAttribute>;
|
|
13
|
+
export type NormalOrGLBufferAttributes = Record<
|
|
14
|
+
string,
|
|
15
|
+
BufferAttribute | InterleavedBufferAttribute | GLBufferAttribute
|
|
16
|
+
>;
|
|
17
|
+
|
|
18
|
+
export interface BufferGeometryJSON {
|
|
19
|
+
metadata?: { version: number; type: string; generator: string };
|
|
20
|
+
|
|
21
|
+
uuid: string;
|
|
22
|
+
type: string;
|
|
23
|
+
|
|
24
|
+
name?: string;
|
|
25
|
+
userData?: Record<string, unknown>;
|
|
26
|
+
|
|
27
|
+
data?: {
|
|
28
|
+
attributes: Record<string, BufferAttributeJSON>;
|
|
29
|
+
|
|
30
|
+
index?: { type: string; array: number[] };
|
|
31
|
+
|
|
32
|
+
morphAttributes?: Record<string, BufferAttributeJSON[]>;
|
|
33
|
+
morphTargetsRelative?: boolean;
|
|
34
|
+
|
|
35
|
+
groups?: GeometryGroup[];
|
|
36
|
+
|
|
37
|
+
boundingSphere?: { center: Vector3Tuple; radius: number };
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface GeometryGroup {
|
|
42
|
+
/**
|
|
43
|
+
* Specifies the first element in this draw call – the first vertex for non-indexed geometry, otherwise the first triangle index.
|
|
44
|
+
* @remarks Expects a `Integer`
|
|
45
|
+
*/
|
|
46
|
+
start: number;
|
|
47
|
+
/**
|
|
48
|
+
* Specifies how many vertices (or indices) are included.
|
|
49
|
+
* @remarks Expects a `Integer`
|
|
50
|
+
*/
|
|
51
|
+
count: number;
|
|
52
|
+
/**
|
|
53
|
+
* Specifies the material array index to use.
|
|
54
|
+
* @remarks Expects a `Integer`
|
|
55
|
+
*/
|
|
56
|
+
materialIndex?: number | undefined;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* A representation of mesh, line, or point geometry
|
|
61
|
+
* Includes vertex positions, face indices, normals, colors, UVs, and custom attributes within buffers, reducing the cost of passing all this data to the GPU.
|
|
62
|
+
* @remarks
|
|
63
|
+
* To read and edit data in BufferGeometry attributes, see {@link THREE.BufferAttribute | BufferAttribute} documentation.
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* const geometry = new THREE.BufferGeometry();
|
|
67
|
+
*
|
|
68
|
+
* // create a simple square shape. We duplicate the top left and bottom right
|
|
69
|
+
* // vertices because each vertex needs to appear once per triangle.
|
|
70
|
+
* const vertices = new Float32Array( [
|
|
71
|
+
* -1.0, -1.0, 1.0, // v0
|
|
72
|
+
* 1.0, -1.0, 1.0, // v1
|
|
73
|
+
* 1.0, 1.0, 1.0, // v2
|
|
74
|
+
*
|
|
75
|
+
* 1.0, 1.0, 1.0, // v3
|
|
76
|
+
* -1.0, 1.0, 1.0, // v4
|
|
77
|
+
* -1.0, -1.0, 1.0 // v5
|
|
78
|
+
* ] );
|
|
79
|
+
*
|
|
80
|
+
* // itemSize = 3 because there are 3 values (components) per vertex
|
|
81
|
+
* geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
|
|
82
|
+
* const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
|
|
83
|
+
* const mesh = new THREE.Mesh( geometry, material );
|
|
84
|
+
* ```
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* const geometry = new THREE.BufferGeometry();
|
|
88
|
+
*
|
|
89
|
+
* const vertices = new Float32Array( [
|
|
90
|
+
* -1.0, -1.0, 1.0, // v0
|
|
91
|
+
* 1.0, -1.0, 1.0, // v1
|
|
92
|
+
* 1.0, 1.0, 1.0, // v2
|
|
93
|
+
* -1.0, 1.0, 1.0, // v3
|
|
94
|
+
* ] );
|
|
95
|
+
* geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
|
|
96
|
+
*
|
|
97
|
+
* const indices = [
|
|
98
|
+
* 0, 1, 2,
|
|
99
|
+
* 2, 3, 0,
|
|
100
|
+
* ];
|
|
101
|
+
*
|
|
102
|
+
* geometry.setIndex( indices );
|
|
103
|
+
* geometry.setAttribute( 'position', new THREE.BufferAttribute( vertices, 3 ) );
|
|
104
|
+
*
|
|
105
|
+
* const material = new THREE.MeshBasicMaterial( { color: 0xff0000 } );
|
|
106
|
+
* const mesh = new THREE.Mesh( geometry, material );
|
|
107
|
+
* ```
|
|
108
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry | Mesh with non-indexed faces}
|
|
109
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_indexed | Mesh with indexed faces}
|
|
110
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_lines | Lines}
|
|
111
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_lines_indexed | Indexed Lines}
|
|
112
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_custom_attributes_particles | Particles}
|
|
113
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_rawshader | Raw Shaders}
|
|
114
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/core/BufferGeometry | Official Documentation}
|
|
115
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/core/BufferGeometry.js | Source}
|
|
116
|
+
*/
|
|
117
|
+
export class BufferGeometry<
|
|
118
|
+
Attributes extends NormalOrGLBufferAttributes = NormalBufferAttributes,
|
|
119
|
+
> extends EventDispatcher<{ dispose: {} }> {
|
|
120
|
+
/**
|
|
121
|
+
* This creates a new {@link THREE.BufferGeometry | BufferGeometry} object.
|
|
122
|
+
*/
|
|
123
|
+
constructor();
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Unique number for this {@link THREE.BufferGeometry | BufferGeometry} instance.
|
|
127
|
+
* @remarks Expects a `Integer`
|
|
128
|
+
*/
|
|
129
|
+
id: number;
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* {@link http://en.wikipedia.org/wiki/Universally_unique_identifier | UUID} of this object instance.
|
|
133
|
+
* @remarks This gets automatically assigned and shouldn't be edited.
|
|
134
|
+
*/
|
|
135
|
+
uuid: string;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Optional name for this {@link THREE.BufferGeometry | BufferGeometry} instance.
|
|
139
|
+
* @defaultValue `''`
|
|
140
|
+
*/
|
|
141
|
+
name: string;
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* A Read-only _string_ to check if `this` object type.
|
|
145
|
+
* @remarks Sub-classes will update this value.
|
|
146
|
+
* @defaultValue `BufferGeometry`
|
|
147
|
+
*/
|
|
148
|
+
readonly type: string | "BufferGeometry";
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Allows for vertices to be re-used across multiple triangles; this is called using "indexed triangles".
|
|
152
|
+
* Each triangle is associated with the indices of three vertices. This attribute therefore stores the index of each vertex for each triangular face.
|
|
153
|
+
* If this attribute is not set, the {@link THREE.WebGLRenderer | renderer} assumes that each three contiguous positions represent a single triangle.
|
|
154
|
+
* @defaultValue `null`
|
|
155
|
+
*/
|
|
156
|
+
index: BufferAttribute | null;
|
|
157
|
+
|
|
158
|
+
/**
|
|
159
|
+
* This hashmap has as id the name of the attribute to be set and as value the {@link THREE.BufferAttribute | buffer} to set it to. Rather than accessing this property directly,
|
|
160
|
+
* use {@link setAttribute | .setAttribute} and {@link getAttribute | .getAttribute} to access attributes of this geometry.
|
|
161
|
+
* @defaultValue `{}`
|
|
162
|
+
*/
|
|
163
|
+
attributes: Attributes;
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Hashmap of {@link THREE.BufferAttribute | BufferAttributes} holding details of the geometry's morph targets.
|
|
167
|
+
* @remarks
|
|
168
|
+
* Once the geometry has been rendered, the morph attribute data cannot be changed.
|
|
169
|
+
* You will have to call {@link dispose | .dispose}(), and create a new instance of {@link THREE.BufferGeometry | BufferGeometry}.
|
|
170
|
+
* @defaultValue `{}`
|
|
171
|
+
*/
|
|
172
|
+
morphAttributes: {
|
|
173
|
+
[name: string]: Array<BufferAttribute | InterleavedBufferAttribute>; // TODO Replace for 'Record<>'
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Used to control the morph target behavior; when set to true, the morph target data is treated as relative offsets, rather than as absolute positions/normals.
|
|
178
|
+
* @defaultValue `false`
|
|
179
|
+
*/
|
|
180
|
+
morphTargetsRelative: boolean;
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Split the geometry into groups, each of which will be rendered in a separate WebGL draw call. This allows an array of materials to be used with the geometry.
|
|
184
|
+
* @remarks Every vertex and index must belong to exactly one group — groups must not share vertices or indices, and must not leave vertices or indices unused.
|
|
185
|
+
* @remarks Use {@link addGroup | .addGroup} to add groups, rather than modifying this array directly.
|
|
186
|
+
* @defaultValue `[]`
|
|
187
|
+
*/
|
|
188
|
+
groups: GeometryGroup[];
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Bounding box for the {@link THREE.BufferGeometry | BufferGeometry}, which can be calculated with {@link computeBoundingBox | .computeBoundingBox()}.
|
|
192
|
+
* @remarks Bounding boxes aren't computed by default. They need to be explicitly computed, otherwise they are `null`.
|
|
193
|
+
* @defaultValue `null`
|
|
194
|
+
*/
|
|
195
|
+
boundingBox: Box3 | null;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Bounding sphere for the {@link THREE.BufferGeometry | BufferGeometry}, which can be calculated with {@link computeBoundingSphere | .computeBoundingSphere()}.
|
|
199
|
+
* @remarks bounding spheres aren't computed by default. They need to be explicitly computed, otherwise they are `null`.
|
|
200
|
+
* @defaultValue `null`
|
|
201
|
+
*/
|
|
202
|
+
boundingSphere: Sphere | null;
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Determines the part of the geometry to render. This should not be set directly, instead use {@link setDrawRange | .setDrawRange(...)}.
|
|
206
|
+
* @remarks For non-indexed {@link THREE.BufferGeometry | BufferGeometry}, count is the number of vertices to render.
|
|
207
|
+
* @remarks For indexed {@link THREE.BufferGeometry | BufferGeometry}, count is the number of indices to render.
|
|
208
|
+
* @defaultValue `{ start: 0, count: Infinity }`
|
|
209
|
+
*/
|
|
210
|
+
drawRange: { start: number; count: number };
|
|
211
|
+
|
|
212
|
+
/**
|
|
213
|
+
* An object that can be used to store custom data about the BufferGeometry. It should not hold references to functions as these will not be cloned.
|
|
214
|
+
* @defaultValue `{}`
|
|
215
|
+
*/
|
|
216
|
+
userData: Record<string, any>;
|
|
217
|
+
|
|
218
|
+
/**
|
|
219
|
+
* Read-only flag to check if a given object is of type {@link BufferGeometry}.
|
|
220
|
+
* @remarks This is a _constant_ value
|
|
221
|
+
* @defaultValue `true`
|
|
222
|
+
*/
|
|
223
|
+
readonly isBufferGeometry: true;
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Return the {@link index | .index} buffer.
|
|
227
|
+
*/
|
|
228
|
+
getIndex(): BufferAttribute | null;
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* Set the {@link THREE.BufferGeometry.index | .index} buffer.
|
|
232
|
+
* @param index
|
|
233
|
+
*/
|
|
234
|
+
setIndex(index: BufferAttribute | number[] | null): this;
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Sets an {@link attributes | attribute} to this geometry with the specified name.
|
|
238
|
+
* @remarks
|
|
239
|
+
* Use this rather than the attributes property, because an internal hashmap of {@link attributes | .attributes} is maintained to speed up iterating over attributes.
|
|
240
|
+
* @param name
|
|
241
|
+
* @param attribute
|
|
242
|
+
*/
|
|
243
|
+
setAttribute<K extends keyof Attributes>(name: K, attribute: Attributes[K]): this;
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Returns the {@link attributes | attribute} with the specified name.
|
|
247
|
+
* @param name
|
|
248
|
+
*/
|
|
249
|
+
getAttribute<K extends keyof Attributes>(name: K): Attributes[K];
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Deletes the {@link attributes | attribute} with the specified name.
|
|
253
|
+
* @param name
|
|
254
|
+
*/
|
|
255
|
+
deleteAttribute(name: keyof Attributes): this;
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* Returns true if the {@link attributes | attribute} with the specified name exists.
|
|
259
|
+
* @param name
|
|
260
|
+
*/
|
|
261
|
+
hasAttribute(name: keyof Attributes): boolean;
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Adds a group to this geometry
|
|
265
|
+
* @see the {@link BufferGeometry.groups | groups} property for details.
|
|
266
|
+
* @param start
|
|
267
|
+
* @param count
|
|
268
|
+
* @param materialIndex
|
|
269
|
+
*/
|
|
270
|
+
addGroup(start: number, count: number, materialIndex?: number): void;
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Clears all groups.
|
|
274
|
+
*/
|
|
275
|
+
clearGroups(): void;
|
|
276
|
+
|
|
277
|
+
/**
|
|
278
|
+
* Set the {@link drawRange | .drawRange} property
|
|
279
|
+
* @remarks For non-indexed BufferGeometry, count is the number of vertices to render
|
|
280
|
+
* @remarks For indexed BufferGeometry, count is the number of indices to render.
|
|
281
|
+
* @param start
|
|
282
|
+
* @param count is the number of vertices or indices to render. Expects a `Integer`
|
|
283
|
+
*/
|
|
284
|
+
setDrawRange(start: number, count: number): void;
|
|
285
|
+
|
|
286
|
+
/**
|
|
287
|
+
* Applies the matrix transform to the geometry.
|
|
288
|
+
* @param matrix
|
|
289
|
+
*/
|
|
290
|
+
applyMatrix4(matrix: Matrix4): this;
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Applies the rotation represented by the quaternion to the geometry.
|
|
294
|
+
* @param quaternion
|
|
295
|
+
*/
|
|
296
|
+
applyQuaternion(quaternion: Quaternion): this;
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Rotate the geometry about the X axis. This is typically done as a one time operation, and not during a loop.
|
|
300
|
+
* @remarks Use {@link THREE.Object3D.rotation | Object3D.rotation} for typical real-time mesh rotation.
|
|
301
|
+
* @param angle radians. Expects a `Float`
|
|
302
|
+
*/
|
|
303
|
+
rotateX(angle: number): this;
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Rotate the geometry about the Y axis.
|
|
307
|
+
* @remarks This is typically done as a one time operation, and not during a loop.
|
|
308
|
+
* @remarks Use {@link THREE.Object3D.rotation | Object3D.rotation} for typical real-time mesh rotation.
|
|
309
|
+
* @param angle radians. Expects a `Float`
|
|
310
|
+
*/
|
|
311
|
+
rotateY(angle: number): this;
|
|
312
|
+
|
|
313
|
+
/**
|
|
314
|
+
* Rotate the geometry about the Z axis.
|
|
315
|
+
* @remarks This is typically done as a one time operation, and not during a loop.
|
|
316
|
+
* @remarks Use {@link THREE.Object3D.rotation | Object3D.rotation} for typical real-time mesh rotation.
|
|
317
|
+
* @param angle radians. Expects a `Float`
|
|
318
|
+
*/
|
|
319
|
+
rotateZ(angle: number): this;
|
|
320
|
+
|
|
321
|
+
/**
|
|
322
|
+
* Translate the geometry.
|
|
323
|
+
* @remarks This is typically done as a one time operation, and not during a loop.
|
|
324
|
+
* @remarks Use {@link THREE.Object3D.position | Object3D.position} for typical real-time mesh rotation.
|
|
325
|
+
* @param x Expects a `Float`
|
|
326
|
+
* @param y Expects a `Float`
|
|
327
|
+
* @param z Expects a `Float`
|
|
328
|
+
*/
|
|
329
|
+
translate(x: number, y: number, z: number): this;
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* Scale the geometry data.
|
|
333
|
+
* @remarks This is typically done as a one time operation, and not during a loop.
|
|
334
|
+
* @remarks Use {@link THREE.Object3D.scale | Object3D.scale} for typical real-time mesh scaling.
|
|
335
|
+
* @param x Expects a `Float`
|
|
336
|
+
* @param y Expects a `Float`
|
|
337
|
+
* @param z Expects a `Float`
|
|
338
|
+
*/
|
|
339
|
+
scale(x: number, y: number, z: number): this;
|
|
340
|
+
|
|
341
|
+
/**
|
|
342
|
+
* Rotates the geometry to face a point in space.
|
|
343
|
+
* @remarks This is typically done as a one time operation, and not during a loop.
|
|
344
|
+
* @remarks Use {@link THREE.Object3D.lookAt | Object3D.lookAt} for typical real-time mesh usage.
|
|
345
|
+
* @param vector A world vector to look at.
|
|
346
|
+
*/
|
|
347
|
+
lookAt(vector: Vector3): this;
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Center the geometry based on the bounding box.
|
|
351
|
+
*/
|
|
352
|
+
center(): this;
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* Sets the attributes for this BufferGeometry from an array of points.
|
|
356
|
+
* @param points
|
|
357
|
+
*/
|
|
358
|
+
setFromPoints(points: Vector3[] | Vector2[]): this;
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Computes the bounding box of the geometry, and updates the {@link .boundingBox} attribute. The bounding box is
|
|
362
|
+
* not computed by the engine; it must be computed by your app. You may need to recompute the bounding box if the
|
|
363
|
+
* geometry vertices are modified.
|
|
364
|
+
*/
|
|
365
|
+
computeBoundingBox(): void;
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* Computes the bounding sphere of the geometry, and updates the {@link .boundingSphere} attribute. The engine
|
|
369
|
+
* automatically computes the bounding sphere when it is needed, e.g., for ray casting or view frustum culling. You
|
|
370
|
+
* may need to recompute the bounding sphere if the geometry vertices are modified.
|
|
371
|
+
*/
|
|
372
|
+
computeBoundingSphere(): void;
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* Calculates and adds a tangent attribute to this geometry.
|
|
376
|
+
* The computation is only supported for indexed geometries and if position, normal, and uv attributes are defined
|
|
377
|
+
* @remarks
|
|
378
|
+
* When using a tangent space normal map, prefer the MikkTSpace algorithm provided by
|
|
379
|
+
* {@link BufferGeometryUtils.computeMikkTSpaceTangents} instead.
|
|
380
|
+
*/
|
|
381
|
+
computeTangents(): void;
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* Computes vertex normals for the given vertex data. For indexed geometries, the method sets each vertex normal to
|
|
385
|
+
* be the average of the face normals of the faces that share that vertex. For non-indexed geometries, vertices are
|
|
386
|
+
* not shared, and the method sets each vertex normal to be the same as the face normal.
|
|
387
|
+
*/
|
|
388
|
+
computeVertexNormals(): void;
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* Every normal vector in a geometry will have a magnitude of 1
|
|
392
|
+
* @remarks This will correct lighting on the geometry surfaces.
|
|
393
|
+
*/
|
|
394
|
+
normalizeNormals(): void;
|
|
395
|
+
|
|
396
|
+
/**
|
|
397
|
+
* Return a non-index version of an indexed BufferGeometry.
|
|
398
|
+
*/
|
|
399
|
+
toNonIndexed(): BufferGeometry;
|
|
400
|
+
|
|
401
|
+
/**
|
|
402
|
+
* Convert the buffer geometry to three.js {@link https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4 | JSON Object/Scene format}.
|
|
403
|
+
*/
|
|
404
|
+
toJSON(): BufferGeometryJSON;
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* Creates a clone of this BufferGeometry
|
|
408
|
+
*/
|
|
409
|
+
clone(): this;
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Copies another BufferGeometry to this BufferGeometry.
|
|
413
|
+
* @param source
|
|
414
|
+
*/
|
|
415
|
+
copy(source: BufferGeometry): this;
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Frees the GPU-related resources allocated by this instance.
|
|
419
|
+
* @remarks Call this method whenever this instance is no longer used in your app.
|
|
420
|
+
*/
|
|
421
|
+
dispose(): void;
|
|
422
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Object for keeping track of time
|
|
3
|
+
* @remarks
|
|
4
|
+
* This uses {@link https://developer.mozilla.org/en-US/docs/Web/API/Performance/now | performance.now} if it is available,
|
|
5
|
+
* otherwise it reverts to the less accurate {@link https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Date/now | Date.now}.
|
|
6
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/core/Clock | Official Documentation}
|
|
7
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/core/Clock.js | Source}
|
|
8
|
+
*/
|
|
9
|
+
export class Clock {
|
|
10
|
+
/**
|
|
11
|
+
* Create a new instance of {@link THREE.Clock | Clock}
|
|
12
|
+
* @param autoStart - Whether to automatically start the clock when {@link getDelta | .getDelta()} is called for the first time. Default `true`
|
|
13
|
+
*/
|
|
14
|
+
constructor(autoStart?: boolean);
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* If set, starts the clock automatically when {@link getDelta | .getDelta()} is called for the first time.
|
|
18
|
+
* @defaultValue `true`
|
|
19
|
+
*/
|
|
20
|
+
autoStart: boolean;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Holds the time at which the clock's {@link start | .start()} method was last called.
|
|
24
|
+
* @defaultValue `0`
|
|
25
|
+
*/
|
|
26
|
+
startTime: number;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Holds the time at which the clock's {@link start | .start()}, {@link getElapsedTime | .getElapsedTime()} or {@link getDelta | .getDelta()} methods were last called.
|
|
30
|
+
* @defaultValue `0`
|
|
31
|
+
*/
|
|
32
|
+
oldTime: number;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Keeps track of the total time that the clock has been running.
|
|
36
|
+
* @defaultValue `0`
|
|
37
|
+
*/
|
|
38
|
+
elapsedTime: number;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Whether the clock is running or not.
|
|
42
|
+
* @defaultValue `false`
|
|
43
|
+
*/
|
|
44
|
+
running: boolean;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Starts clock.
|
|
48
|
+
* @remarks
|
|
49
|
+
* Also sets the {@link startTime | .startTime} and {@link oldTime | .oldTime} to the current time,
|
|
50
|
+
* sets {@link elapsedTime | .elapsedTime} to `0` and {@link running | .running} to `true`.
|
|
51
|
+
*/
|
|
52
|
+
start(): void;
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Stops clock and sets {@link oldTime | oldTime} to the current time.
|
|
56
|
+
*/
|
|
57
|
+
stop(): void;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Get the seconds passed since the clock started and sets {@link oldTime | .oldTime} to the current time.
|
|
61
|
+
* @remarks
|
|
62
|
+
* If {@link autoStart | .autoStart} is `true` and the clock is not running, also starts the clock.
|
|
63
|
+
*/
|
|
64
|
+
getElapsedTime(): number;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Get the seconds passed since the time {@link oldTime | .oldTime} was set and sets {@link oldTime | .oldTime} to the current time.
|
|
68
|
+
* @remarks
|
|
69
|
+
* If {@link autoStart | .autoStart} is `true` and the clock is not running, also starts the clock.
|
|
70
|
+
*/
|
|
71
|
+
getDelta(): number;
|
|
72
|
+
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The minimal basic Event that can be dispatched by a {@link EventDispatcher<>}.
|
|
3
|
+
*/
|
|
4
|
+
export interface BaseEvent<TEventType extends string = string> {
|
|
5
|
+
readonly type: TEventType;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The minimal expected contract of a fired Event that was dispatched by a {@link EventDispatcher<>}.
|
|
10
|
+
*/
|
|
11
|
+
export interface Event<TEventType extends string = string, TTarget = unknown> {
|
|
12
|
+
readonly type: TEventType;
|
|
13
|
+
readonly target: TTarget;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export type EventListener<TEventData, TEventType extends string, TTarget> = (
|
|
17
|
+
event: TEventData & Event<TEventType, TTarget>,
|
|
18
|
+
) => void;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* JavaScript events for custom objects
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* // Adding events to a custom object
|
|
25
|
+
* class Car extends EventDispatcher {
|
|
26
|
+
* start() {
|
|
27
|
+
* this.dispatchEvent( { type: 'start', message: 'vroom vroom!' } );
|
|
28
|
+
* }
|
|
29
|
+
* };
|
|
30
|
+
* // Using events with the custom object
|
|
31
|
+
* const car = new Car();
|
|
32
|
+
* car.addEventListener( 'start', ( event ) => {
|
|
33
|
+
* alert( event.message );
|
|
34
|
+
* } );
|
|
35
|
+
* car.start();
|
|
36
|
+
* ```
|
|
37
|
+
* @see {@link https://github.com/mrdoob/eventdispatcher.js | mrdoob EventDispatcher on GitHub}
|
|
38
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/core/EventDispatcher | Official Documentation}
|
|
39
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/core/EventDispatcher.js | Source}
|
|
40
|
+
*/
|
|
41
|
+
export class EventDispatcher<TEventMap extends {} = {}> {
|
|
42
|
+
/**
|
|
43
|
+
* Creates {@link THREE.EventDispatcher | EventDispatcher} object.
|
|
44
|
+
*/
|
|
45
|
+
constructor();
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Adds a listener to an event type.
|
|
49
|
+
* @param type The type of event to listen to.
|
|
50
|
+
* @param listener The function that gets called when the event is fired.
|
|
51
|
+
*/
|
|
52
|
+
addEventListener<T extends Extract<keyof TEventMap, string>>(
|
|
53
|
+
type: T,
|
|
54
|
+
listener: EventListener<TEventMap[T], T, this>,
|
|
55
|
+
): void;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Checks if listener is added to an event type.
|
|
59
|
+
* @param type The type of event to listen to.
|
|
60
|
+
* @param listener The function that gets called when the event is fired.
|
|
61
|
+
*/
|
|
62
|
+
hasEventListener<T extends Extract<keyof TEventMap, string>>(
|
|
63
|
+
type: T,
|
|
64
|
+
listener: EventListener<TEventMap[T], T, this>,
|
|
65
|
+
): boolean;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Removes a listener from an event type.
|
|
69
|
+
* @param type The type of the listener that gets removed.
|
|
70
|
+
* @param listener The listener function that gets removed.
|
|
71
|
+
*/
|
|
72
|
+
removeEventListener<T extends Extract<keyof TEventMap, string>>(
|
|
73
|
+
type: T,
|
|
74
|
+
listener: EventListener<TEventMap[T], T, this>,
|
|
75
|
+
): void;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Fire an event type.
|
|
79
|
+
* @param event The event that gets fired.
|
|
80
|
+
*/
|
|
81
|
+
dispatchEvent<T extends Extract<keyof TEventMap, string>>(event: BaseEvent<T> & TEventMap[T]): void;
|
|
82
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This buffer attribute class does not construct a VBO.
|
|
3
|
+
* Instead, it uses whatever VBO is passed in constructor and can later be altered via the {@link buffer | .buffer} property.
|
|
4
|
+
* @remarks
|
|
5
|
+
* It is required to pass additional params alongside the VBO
|
|
6
|
+
* Those are: the GL context, the GL data type, the number of components per vertex, the number of bytes per component, and the number of vertices.
|
|
7
|
+
* @remarks
|
|
8
|
+
* The most common use case for this class is when some kind of GPGPU calculation interferes or even produces the VBOs in question.
|
|
9
|
+
* @see Example: {@link https://threejs.org/examples/#webgl_buffergeometry_glbufferattribute | WebGL / buffergeometry / glbufferattribute}
|
|
10
|
+
* @see {@link https://threejs.org/docs/index.html#api/en/core/GLBufferAttribute | Official Documentation}
|
|
11
|
+
* @see {@link https://github.com/mrdoob/three.js/blob/master/src/core/GLBufferAttribute.js | Source}
|
|
12
|
+
*/
|
|
13
|
+
export class GLBufferAttribute {
|
|
14
|
+
/**
|
|
15
|
+
* This creates a new GLBufferAttribute object.
|
|
16
|
+
* @param buffer Must be a {@link https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer | WebGLBuffer}. See {@link GLBufferAttribute.buffer | .buffer}
|
|
17
|
+
* @param type One of {@link https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types | WebGL Data Types}. See {@link GLBufferAttribute.type | .type}
|
|
18
|
+
* @param itemSize How many values make up each item (vertex). See {@link GLBufferAttribute.itemSize | .itemSize}
|
|
19
|
+
* @param elementSize `1`, `2` or `4`. The corresponding size (in bytes) for the given {@link type} param. See {@link GLBufferAttribute.elementSize | .elementSize}
|
|
20
|
+
* @param count The expected number of vertices in VBO. See {@link GLBufferAttribute.count | .count}
|
|
21
|
+
*/
|
|
22
|
+
constructor(buffer: WebGLBuffer, type: GLenum, itemSize: number, elementSize: 1 | 2 | 4, count: number);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Read-only flag to check if a given object is of type {@link GLBufferAttribute}.
|
|
26
|
+
* @remarks This is a _constant_ value
|
|
27
|
+
* @defaultValue `true`
|
|
28
|
+
*/
|
|
29
|
+
readonly isGLBufferAttribute: true;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Optional name for this attribute instance.
|
|
33
|
+
* @defaultValue `""`
|
|
34
|
+
*/
|
|
35
|
+
name: string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The current {@link https://developer.mozilla.org/en-US/docs/Web/API/WebGLBuffer | WebGLBuffer} instance.
|
|
39
|
+
*/
|
|
40
|
+
buffer: WebGLBuffer;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* A {@link https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Constants#Data_types | WebGL Data Type} describing the underlying VBO contents.
|
|
44
|
+
*
|
|
45
|
+
* #### WebGL Data Type (`GLenum`)
|
|
46
|
+
* - gl.BYTE: 0x1400
|
|
47
|
+
* - gl.UNSIGNED_BYTE: 0x1401
|
|
48
|
+
* - gl.SHORT: 0x1402
|
|
49
|
+
* - gl.UNSIGNED_SHORT: 0x1403
|
|
50
|
+
* - gl.INT: 0x1404
|
|
51
|
+
* - gl.UNSIGNED_INT: 0x1405
|
|
52
|
+
* - gl.FLOAT: 0x1406
|
|
53
|
+
* @remarks Set this property together with {@link elementSize | .elementSize}. The recommended way is using the {@link setType | .setType()} method.
|
|
54
|
+
* @remarks Expects a `DataType` `GLenum` _possible values:_ `0x1400` `0x1401` `0x1402` `0x1403` `0x1404` `0x1405` `0x1406`
|
|
55
|
+
*/
|
|
56
|
+
type: GLenum;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* How many values make up each item (vertex).
|
|
60
|
+
* @remarks The number of values of the array that should be associated with a particular vertex.
|
|
61
|
+
* For instance, if this attribute is storing a 3-component vector (such as a position, normal, or color), then itemSize should be 3.
|
|
62
|
+
* @remarks Expects a `Integer`
|
|
63
|
+
*/
|
|
64
|
+
itemSize: number;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Stores the corresponding size in bytes for the current {@link type | .type} property value.
|
|
68
|
+
*
|
|
69
|
+
* The corresponding size (_in bytes_) for the given "type" param.
|
|
70
|
+
* #### WebGL Data Type (`GLenum`)
|
|
71
|
+
* - gl.BYTE: 1
|
|
72
|
+
* - gl.UNSIGNED_BYTE: 1
|
|
73
|
+
* - gl.SHORT: 2
|
|
74
|
+
* - gl.UNSIGNED_SHORT: 2
|
|
75
|
+
* - gl.INT: 4
|
|
76
|
+
* - gl.UNSIGNED_INT: 4
|
|
77
|
+
* - gl.FLOAT: 4
|
|
78
|
+
* @remarks Set this property together with {@link type | .type}. The recommended way is using the {@link setType | .setType} method.
|
|
79
|
+
* @see `constructor`` for a list of known type sizes.
|
|
80
|
+
* @remarks Expects a `1`, `2` or `4`
|
|
81
|
+
*/
|
|
82
|
+
elementSize: 1 | 2 | 4;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* The expected number of vertices in VBO.
|
|
86
|
+
* @remarks Expects a `Integer`
|
|
87
|
+
*/
|
|
88
|
+
count: number;
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* A version number, incremented every time the needsUpdate property is set to true.
|
|
92
|
+
* @remarks Expects a `Integer`
|
|
93
|
+
*/
|
|
94
|
+
version: number;
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
* Setting this to true increments {@link version | .version}.
|
|
98
|
+
* @remarks _set-only property_.
|
|
99
|
+
*/
|
|
100
|
+
set needsUpdate(value: boolean);
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* Sets the {@link buffer | .buffer} property.
|
|
104
|
+
*/
|
|
105
|
+
setBuffer(buffer: WebGLBuffer): this;
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Sets the both {@link GLBufferAttribute.type | type} and {@link GLBufferAttribute.elementSize | elementSize} properties.
|
|
109
|
+
*/
|
|
110
|
+
setType(type: GLenum, elementSize: 1 | 2 | 4): this;
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Sets the {@link GLBufferAttribute.itemSize | itemSize} property.
|
|
114
|
+
*/
|
|
115
|
+
setItemSize(itemSize: number): this;
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Sets the {@link GLBufferAttribute.count | count} property.
|
|
119
|
+
*/
|
|
120
|
+
setCount(count: number): this;
|
|
121
|
+
}
|