super-three 0.141.0 → 0.147.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -9
- package/build/three.cjs +2441 -1569
- package/build/three.js +2441 -1569
- package/build/three.min.js +1 -1
- package/build/three.module.js +2847 -1576
- package/examples/js/animation/AnimationClipCreator.js +0 -8
- package/examples/js/animation/CCDIKSolver.js +50 -67
- package/examples/js/animation/MMDAnimationHelper.js +66 -137
- package/examples/js/animation/MMDPhysics.js +71 -150
- package/examples/js/cameras/CinematicCamera.js +33 -22
- package/examples/js/controls/ArcballControls.js +149 -403
- package/examples/js/controls/DragControls.js +8 -33
- package/examples/js/controls/FirstPersonControls.js +32 -61
- package/examples/js/controls/FlyControls.js +29 -63
- package/examples/js/controls/OrbitControls.js +125 -103
- package/examples/js/controls/PointerLockControls.js +5 -22
- package/examples/js/controls/TrackballControls.js +33 -88
- package/examples/js/controls/TransformControls.js +101 -182
- package/examples/js/csm/CSM.js +4 -39
- package/examples/js/csm/CSMFrustum.js +3 -9
- package/examples/js/csm/CSMHelper.js +24 -4
- package/examples/js/csm/CSMShader.js +2 -6
- package/examples/js/curves/CurveExtras.js +27 -27
- package/examples/js/curves/NURBSCurve.js +4 -16
- package/examples/js/curves/NURBSSurface.js +3 -9
- package/examples/js/curves/NURBSUtils.js +8 -45
- package/examples/js/effects/AnaglyphEffect.js +6 -20
- package/examples/js/effects/AsciiEffect.js +32 -31
- package/examples/js/effects/OutlineEffect.js +30 -54
- package/examples/js/effects/ParallaxBarrierEffect.js +2 -15
- package/examples/js/effects/PeppersGhostEffect.js +14 -41
- package/examples/js/effects/StereoEffect.js +2 -6
- package/examples/js/environments/RoomEnvironment.js +32 -8
- package/examples/js/exporters/ColladaExporter.js +52 -78
- package/examples/js/exporters/DRACOExporter.js +22 -34
- package/examples/js/exporters/EXRExporter.js +15 -18
- package/examples/js/exporters/GLTFExporter.js +168 -345
- package/examples/js/exporters/MMDExporter.js +5 -12
- package/examples/js/exporters/OBJExporter.js +40 -52
- package/examples/js/exporters/PLYExporter.js +50 -57
- package/examples/js/exporters/STLExporter.js +5 -14
- package/examples/js/exporters/USDZExporter.js +119 -27
- package/examples/js/geometries/BoxLineGeometry.js +0 -1
- package/examples/js/geometries/ConvexGeometry.js +12 -7
- package/examples/js/geometries/DecalGeometry.js +53 -20
- package/examples/js/geometries/LightningStrike.js +54 -67
- package/examples/js/geometries/ParametricGeometries.js +8 -7
- package/examples/js/geometries/ParametricGeometry.js +23 -17
- package/examples/js/geometries/RoundedBoxGeometry.js +21 -19
- package/examples/js/geometries/TeapotGeometry.js +54 -50
- package/examples/js/geometries/TextGeometry.js +6 -4
- package/examples/js/helpers/LightProbeHelper.js +1 -2
- package/examples/js/helpers/OctreeHelper.js +22 -20
- package/examples/js/helpers/PositionalAudioHelper.js +8 -6
- package/examples/js/helpers/RectAreaLightHelper.js +6 -7
- package/examples/js/helpers/VertexNormalsHelper.js +15 -13
- package/examples/js/helpers/VertexTangentsHelper.js +15 -9
- package/examples/js/helpers/ViewHelper.js +31 -16
- package/examples/js/interactive/HTMLMesh.js +25 -39
- package/examples/js/interactive/InteractiveGroup.js +9 -14
- package/examples/js/interactive/SelectionBox.js +3 -70
- package/examples/js/interactive/SelectionHelper.js +2 -8
- package/examples/js/libs/ktx-parse.umd.js +1 -0
- package/examples/js/libs/meshopt_decoder.js +98 -32
- package/examples/js/lights/LightProbeGenerator.js +32 -39
- package/examples/js/lights/RectAreaLightUniformsLib.js +5 -1
- package/examples/js/lines/LineGeometry.js +3 -5
- package/examples/js/lines/LineMaterial.js +4 -11
- package/examples/js/lines/LineSegments2.js +40 -89
- package/examples/js/lines/LineSegmentsGeometry.js +7 -28
- package/examples/js/lines/Wireframe.js +2 -7
- package/examples/js/lines/WireframeGeometry2.js +3 -1
- package/examples/js/loaders/3DMLoader.js +58 -155
- package/examples/js/loaders/3MFLoader.js +72 -106
- package/examples/js/loaders/AMFLoader.js +0 -25
- package/examples/js/loaders/BVHLoader.js +44 -43
- package/examples/js/loaders/BasisTextureLoader.js +16 -46
- package/examples/js/loaders/ColladaLoader.js +229 -359
- package/examples/js/loaders/DDSLoader.js +24 -25
- package/examples/js/loaders/DRACOLoader.js +30 -90
- package/examples/js/loaders/EXRLoader.js +69 -177
- package/examples/js/loaders/FBXLoader.js +294 -441
- package/examples/js/loaders/FontLoader.js +9 -31
- package/examples/js/loaders/GCodeLoader.js +15 -16
- package/examples/js/loaders/GLTFLoader.js +458 -739
- package/examples/js/loaders/HDRCubeTextureLoader.js +0 -17
- package/examples/js/loaders/KMZLoader.js +3 -7
- package/examples/js/loaders/KTXLoader.js +12 -30
- package/examples/js/loaders/LDrawLoader.js +309 -355
- package/examples/js/loaders/LUT3dlLoader.js +7 -11
- package/examples/js/loaders/LUTCubeLoader.js +0 -8
- package/examples/js/loaders/LWOLoader.js +59 -124
- package/examples/js/loaders/LogLuvLoader.js +27 -77
- package/examples/js/loaders/LottieLoader.js +4 -4
- package/examples/js/loaders/MD2Loader.js +26 -27
- package/examples/js/loaders/MDDLoader.js +6 -10
- package/examples/js/loaders/MMDLoader.js +180 -189
- package/examples/js/loaders/MTLLoader.js +18 -47
- package/examples/js/loaders/NRRDLoader.js +44 -84
- package/examples/js/loaders/OBJLoader.js +56 -77
- package/examples/js/loaders/PCDLoader.js +92 -42
- package/examples/js/loaders/PDBLoader.js +17 -13
- package/examples/js/loaders/PLYLoader.js +65 -51
- package/examples/js/loaders/PRWMLoader.js +11 -22
- package/examples/js/loaders/PVRLoader.js +7 -16
- package/examples/js/loaders/RGBELoader.js +36 -61
- package/examples/js/loaders/RGBMLoader.js +26 -87
- package/examples/js/loaders/STLLoader.js +20 -27
- package/examples/js/loaders/SVGLoader.js +365 -236
- package/examples/js/loaders/TDSLoader.js +81 -118
- package/examples/js/loaders/TGALoader.js +39 -41
- package/examples/js/loaders/TIFFLoader.js +30 -0
- package/examples/js/loaders/TTFLoader.js +0 -8
- package/examples/js/loaders/TiltLoader.js +14 -15
- package/examples/js/loaders/VOXLoader.js +8 -16
- package/examples/js/loaders/VRMLLoader.js +266 -354
- package/examples/js/loaders/VTKLoader.js +102 -119
- package/examples/js/loaders/XYZLoader.js +2 -4
- package/examples/js/loaders/lwo/IFFParser.js +55 -136
- package/examples/js/loaders/lwo/LWO2Parser.js +39 -89
- package/examples/js/loaders/lwo/LWO3Parser.js +38 -79
- package/examples/js/materials/MeshGouraudMaterial.js +387 -0
- package/examples/js/math/Capsule.js +0 -17
- package/examples/js/math/ColorConverter.js +3 -53
- package/examples/js/math/ConvexHull.js +185 -141
- package/examples/js/math/ImprovedNoise.js +1 -1
- package/examples/js/math/Lut.js +8 -15
- package/examples/js/math/MeshSurfaceSampler.js +6 -28
- package/examples/js/math/OBB.js +90 -49
- package/examples/js/math/Octree.js +2 -57
- package/examples/js/math/SimplexNoise.js +74 -88
- package/examples/js/misc/ConvexObjectBreaker.js +37 -48
- package/examples/js/misc/GPUComputationRenderer.js +47 -14
- package/examples/js/misc/Gyroscope.js +5 -9
- package/examples/js/misc/MD2Character.js +14 -23
- package/examples/js/misc/MD2CharacterComplex.js +73 -54
- package/examples/js/misc/MorphAnimMesh.js +0 -6
- package/examples/js/misc/MorphBlendMesh.js +3 -30
- package/examples/js/misc/ProgressiveLightMap.js +47 -43
- package/examples/js/misc/RollerCoaster.js +17 -24
- package/examples/js/misc/TubePainter.js +18 -12
- package/examples/js/misc/Volume.js +173 -194
- package/examples/js/misc/VolumeSlice.js +91 -99
- package/examples/js/modifiers/CurveModifier.js +19 -21
- package/examples/js/modifiers/EdgeSplitModifier.js +0 -30
- package/examples/js/modifiers/SimplifyModifier.js +57 -60
- package/examples/js/modifiers/TessellateModifier.js +2 -9
- package/examples/js/objects/GroundProjectedEnv.js +181 -0
- package/examples/js/objects/Lensflare.js +47 -38
- package/examples/js/objects/LightningStorm.js +10 -13
- package/examples/js/objects/MarchingCubes.js +80 -59
- package/examples/js/objects/Reflector.js +31 -22
- package/examples/js/objects/ReflectorForSSRPass.js +20 -25
- package/examples/js/objects/Refractor.js +61 -33
- package/examples/js/objects/ShadowMesh.js +6 -3
- package/examples/js/objects/Sky.js +2 -7
- package/examples/js/objects/Water.js +23 -18
- package/examples/js/objects/Water2.js +20 -19
- package/examples/js/physics/AmmoPhysics.js +23 -20
- package/examples/js/physics/OimoPhysics.js +19 -17
- package/examples/js/postprocessing/AdaptiveToneMappingPass.js +13 -20
- package/examples/js/postprocessing/AfterimagePass.js +19 -12
- package/examples/js/postprocessing/BloomPass.js +38 -17
- package/examples/js/postprocessing/BokehPass.js +29 -12
- package/examples/js/postprocessing/ClearPass.js +1 -6
- package/examples/js/postprocessing/CubeTexturePass.js +12 -9
- package/examples/js/postprocessing/DotScreenPass.js +7 -5
- package/examples/js/postprocessing/EffectComposer.js +25 -32
- package/examples/js/postprocessing/FilmPass.js +7 -5
- package/examples/js/postprocessing/GlitchPass.js +10 -11
- package/examples/js/postprocessing/HalftonePass.js +9 -9
- package/examples/js/postprocessing/LUTPass.js +2 -15
- package/examples/js/postprocessing/MaskPass.js +20 -17
- package/examples/js/postprocessing/OutlinePass.js +49 -38
- package/examples/js/postprocessing/Pass.js +11 -14
- package/examples/js/postprocessing/RenderPass.js +3 -7
- package/examples/js/postprocessing/RenderPixelatedPass.js +215 -0
- package/examples/js/postprocessing/SAOPass.js +40 -32
- package/examples/js/postprocessing/SMAAPass.js +34 -17
- package/examples/js/postprocessing/SSAARenderPass.js +14 -14
- package/examples/js/postprocessing/SSAOPass.js +56 -42
- package/examples/js/postprocessing/SSRPass.js +78 -61
- package/examples/js/postprocessing/SavePass.js +14 -6
- package/examples/js/postprocessing/ShaderPass.js +9 -8
- package/examples/js/postprocessing/TAARenderPass.js +11 -9
- package/examples/js/postprocessing/TexturePass.js +7 -4
- package/examples/js/postprocessing/UnrealBloomPass.js +43 -25
- package/examples/js/renderers/CSS2DRenderer.js +4 -23
- package/examples/js/renderers/CSS3DRenderer.js +5 -26
- package/examples/js/renderers/Projector.js +31 -108
- package/examples/js/renderers/SVGRenderer.js +4 -50
- package/examples/js/shaders/ACESFilmicToneMappingShader.js +3 -6
- package/examples/js/shaders/AfterimageShader.js +3 -6
- package/examples/js/shaders/BasicShader.js +3 -6
- package/examples/js/shaders/BleachBypassShader.js +3 -6
- package/examples/js/shaders/BlendShader.js +3 -6
- package/examples/js/shaders/BokehShader.js +3 -6
- package/examples/js/shaders/BokehShader2.js +4 -13
- package/examples/js/shaders/BrightnessContrastShader.js +3 -6
- package/examples/js/shaders/ColorCorrectionShader.js +2 -6
- package/examples/js/shaders/ColorifyShader.js +2 -6
- package/examples/js/shaders/ConvolutionShader.js +5 -10
- package/examples/js/shaders/CopyShader.js +3 -6
- package/examples/js/shaders/DOFMipMapShader.js +3 -6
- package/examples/js/shaders/DepthLimitedBlurShader.js +2 -9
- package/examples/js/shaders/DigitalGlitch.js +3 -6
- package/examples/js/shaders/DotScreenShader.js +2 -6
- package/examples/js/shaders/FXAAShader.js +1 -3
- package/examples/js/shaders/FilmShader.js +3 -6
- package/examples/js/shaders/FocusShader.js +3 -6
- package/examples/js/shaders/FreiChenShader.js +2 -6
- package/examples/js/shaders/GammaCorrectionShader.js +3 -6
- package/examples/js/shaders/GodRaysShader.js +11 -24
- package/examples/js/shaders/HalftoneShader.js +3 -6
- package/examples/js/shaders/HorizontalBlurShader.js +3 -6
- package/examples/js/shaders/HorizontalTiltShiftShader.js +3 -6
- package/examples/js/shaders/HueSaturationShader.js +3 -6
- package/examples/js/shaders/KaleidoShader.js +3 -6
- package/examples/js/shaders/LuminosityHighPassShader.js +2 -6
- package/examples/js/shaders/LuminosityShader.js +4 -7
- package/examples/js/shaders/MMDToonShader.js +2 -4
- package/examples/js/shaders/MirrorShader.js +3 -6
- package/examples/js/shaders/NormalMapShader.js +2 -6
- package/examples/js/shaders/RGBShiftShader.js +3 -6
- package/examples/js/shaders/SAOShader.js +2 -6
- package/examples/js/shaders/SMAAShader.js +6 -18
- package/examples/js/shaders/SSAOShader.js +2 -6
- package/examples/js/shaders/SSRShader.js +6 -18
- package/examples/js/shaders/SepiaShader.js +3 -6
- package/examples/js/shaders/SobelOperatorShader.js +2 -6
- package/examples/js/shaders/TechnicolorShader.js +3 -6
- package/examples/js/shaders/ToneMapShader.js +4 -7
- package/examples/js/shaders/ToonShader.js +8 -24
- package/examples/js/shaders/TriangleBlurShader.js +2 -6
- package/examples/js/shaders/UnpackDepthRGBAShader.js +3 -6
- package/examples/js/shaders/VelocityShader.js +126 -0
- package/examples/js/shaders/VerticalBlurShader.js +3 -6
- package/examples/js/shaders/VerticalTiltShiftShader.js +3 -6
- package/examples/js/shaders/VignetteShader.js +3 -6
- package/examples/js/shaders/VolumeShader.js +2 -6
- package/examples/js/shaders/WaterRefractionShader.js +2 -6
- package/examples/js/textures/FlakesTexture.js +0 -1
- package/examples/js/utils/BufferGeometryUtils.js +237 -171
- package/examples/js/utils/CameraUtils.js +5 -20
- package/examples/js/utils/GPUStatsPanel.js +3 -12
- package/examples/js/utils/GeometryCompressionUtils.js +19 -44
- package/examples/js/utils/GeometryUtils.js +15 -36
- package/examples/js/utils/LDrawUtils.js +8 -11
- package/examples/js/utils/PackedPhongMaterial.js +6 -4
- package/examples/js/utils/SceneUtils.js +109 -14
- package/examples/js/utils/ShadowMapViewer.js +17 -14
- package/examples/js/utils/SkeletonUtils.js +13 -27
- package/examples/js/utils/UVsDebug.js +20 -12
- package/examples/js/utils/WorkerPool.js +1 -11
- package/examples/jsm/animation/CCDIKSolver.js +27 -3
- package/examples/jsm/animation/MMDPhysics.js +28 -22
- package/examples/jsm/capabilities/WebGPU.js +3 -1
- package/examples/jsm/controls/ArcballControls.js +17 -2
- package/examples/jsm/controls/FirstPersonControls.js +20 -27
- package/examples/jsm/controls/FlyControls.js +16 -24
- package/examples/jsm/controls/OrbitControls.js +44 -9
- package/examples/jsm/controls/PointerLockControls.js +0 -7
- package/examples/jsm/controls/TrackballControls.js +14 -5
- package/examples/jsm/controls/TransformControls.js +18 -16
- package/examples/jsm/csm/CSM.js +1 -0
- package/examples/jsm/csm/CSMHelper.js +30 -0
- package/examples/jsm/effects/AnaglyphEffect.js +2 -2
- package/examples/jsm/effects/OutlineEffect.js +4 -25
- package/examples/jsm/effects/ParallaxBarrierEffect.js +2 -2
- package/examples/jsm/effects/PeppersGhostEffect.js +2 -2
- package/examples/jsm/effects/StereoEffect.js +2 -2
- package/examples/jsm/environments/RoomEnvironment.js +23 -0
- package/examples/jsm/exporters/ColladaExporter.js +4 -13
- package/examples/jsm/exporters/DRACOExporter.js +0 -13
- package/examples/jsm/exporters/GLTFExporter.js +29 -110
- package/examples/jsm/exporters/KTX2Exporter.js +29 -29
- package/examples/jsm/exporters/OBJExporter.js +0 -18
- package/examples/jsm/exporters/PLYExporter.js +14 -22
- package/examples/jsm/exporters/STLExporter.js +1 -9
- package/examples/jsm/exporters/USDZExporter.js +107 -4
- package/examples/jsm/geometries/ConvexGeometry.js +1 -1
- package/examples/jsm/geometries/ParametricGeometry.js +0 -6
- package/examples/jsm/helpers/OctreeHelper.js +22 -8
- package/examples/jsm/helpers/VertexNormalsHelper.js +7 -1
- package/examples/jsm/helpers/VertexTangentsHelper.js +7 -0
- package/examples/jsm/helpers/ViewHelper.js +24 -0
- package/examples/jsm/interactive/HTMLMesh.js +14 -15
- package/examples/jsm/interactive/InteractiveGroup.js +4 -2
- package/examples/jsm/interactive/SelectionHelper.js +5 -3
- package/examples/jsm/libs/flow.module.js +610 -160
- package/examples/jsm/libs/lottie_canvas.module.js +14844 -0
- package/examples/jsm/libs/meshopt_decoder.module.js +97 -32
- package/examples/jsm/libs/utif.module.js +1579 -0
- package/examples/jsm/libs/zstddec.module.js +1 -0
- package/examples/jsm/lines/LineSegments2.js +4 -0
- package/examples/jsm/loaders/3DMLoader.js +1 -2
- package/examples/jsm/loaders/ColladaLoader.js +29 -0
- package/examples/jsm/loaders/DRACOLoader.js +2 -28
- package/examples/jsm/loaders/EXRLoader.js +3 -13
- package/examples/jsm/loaders/FBXLoader.js +26 -3
- package/examples/jsm/loaders/FontLoader.js +3 -16
- package/examples/jsm/loaders/GLTFLoader.js +321 -464
- package/examples/jsm/loaders/HDRCubeTextureLoader.js +0 -13
- package/examples/jsm/loaders/KTX2Loader.js +254 -53
- package/examples/jsm/loaders/LDrawLoader.js +149 -87
- package/examples/jsm/loaders/LottieLoader.js +4 -2
- package/examples/jsm/loaders/MaterialXLoader.js +728 -0
- package/examples/jsm/loaders/OBJLoader.js +6 -14
- package/examples/jsm/loaders/PCDLoader.js +60 -14
- package/examples/jsm/loaders/PLYLoader.js +71 -19
- package/examples/jsm/loaders/RGBELoader.js +1 -1
- package/examples/jsm/loaders/SVGLoader.js +231 -17
- package/examples/jsm/loaders/TIFFLoader.js +36 -0
- package/examples/jsm/loaders/USDZLoader.js +633 -0
- package/examples/jsm/loaders/VRMLLoader.js +36 -26
- package/examples/jsm/loaders/VTKLoader.js +1 -1
- package/examples/jsm/loaders/lwo/LWO2Parser.js +6 -8
- package/examples/jsm/loaders/lwo/LWO3Parser.js +6 -8
- package/examples/jsm/materials/MeshGouraudMaterial.js +423 -0
- package/examples/jsm/math/ColorConverter.js +1 -49
- package/examples/jsm/math/ConvexHull.js +4 -4
- package/examples/jsm/math/Octree.js +1 -1
- package/examples/jsm/misc/GPUComputationRenderer.js +43 -0
- package/examples/jsm/misc/Volume.js +169 -171
- package/examples/jsm/misc/VolumeSlice.js +78 -80
- package/examples/jsm/modifiers/SimplifyModifier.js +1 -1
- package/examples/jsm/node-editor/NodeEditor.js +91 -12
- package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +1 -1
- package/examples/jsm/node-editor/accessors/NormalEditor.js +1 -1
- package/examples/jsm/node-editor/accessors/PositionEditor.js +1 -1
- package/examples/jsm/node-editor/accessors/UVEditor.js +1 -1
- package/examples/jsm/node-editor/core/BaseNode.js +10 -3
- package/examples/jsm/node-editor/display/BlendEditor.js +1 -1
- package/examples/jsm/node-editor/display/NormalMapEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/ColorEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/FloatEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/SliderEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/TextureEditor.js +1 -1
- package/examples/jsm/node-editor/inputs/Vector2Editor.js +1 -1
- package/examples/jsm/node-editor/inputs/Vector3Editor.js +1 -1
- package/examples/jsm/node-editor/inputs/Vector4Editor.js +1 -1
- package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +7 -10
- package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +1 -1
- package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +7 -10
- package/examples/jsm/node-editor/math/AngleEditor.js +4 -4
- package/examples/jsm/node-editor/math/DotEditor.js +1 -1
- package/examples/jsm/node-editor/math/InvertEditor.js +3 -3
- package/examples/jsm/node-editor/math/LimiterEditor.js +1 -1
- package/examples/jsm/node-editor/math/NormalizeEditor.js +1 -1
- package/examples/jsm/node-editor/math/OperatorEditor.js +1 -1
- package/examples/jsm/node-editor/math/PowerEditor.js +1 -1
- package/examples/jsm/node-editor/math/TrigonometryEditor.js +1 -1
- package/examples/jsm/node-editor/procedural/CheckerEditor.js +1 -1
- package/examples/jsm/node-editor/scene/MeshEditor.js +11 -8
- package/examples/jsm/node-editor/utils/JoinEditor.js +1 -1
- package/examples/jsm/node-editor/utils/OscillatorEditor.js +1 -1
- package/examples/jsm/node-editor/utils/PreviewEditor.js +7 -3
- package/examples/jsm/node-editor/utils/SplitEditor.js +1 -1
- package/examples/jsm/node-editor/utils/TimerEditor.js +1 -1
- package/examples/jsm/nodes/Nodes.js +70 -13
- package/examples/jsm/nodes/accessors/BitangentNode.js +62 -0
- package/examples/jsm/nodes/accessors/CubeTextureNode.js +9 -5
- package/examples/jsm/nodes/accessors/NormalNode.js +8 -8
- package/examples/jsm/nodes/accessors/Object3DNode.js +1 -1
- package/examples/jsm/nodes/accessors/PositionNode.js +11 -5
- package/examples/jsm/nodes/accessors/ReferenceNode.js +1 -1
- package/examples/jsm/nodes/accessors/ReflectVectorNode.js +31 -0
- package/examples/jsm/nodes/accessors/SkinningNode.js +8 -1
- package/examples/jsm/nodes/accessors/TangentNode.js +95 -0
- package/examples/jsm/nodes/core/AttributeNode.js +32 -9
- package/examples/jsm/nodes/core/CodeNode.js +3 -3
- package/examples/jsm/nodes/core/FunctionCallNode.js +20 -5
- package/examples/jsm/nodes/core/FunctionNode.js +2 -2
- package/examples/jsm/nodes/core/Node.js +15 -13
- package/examples/jsm/nodes/core/NodeBuilder.js +67 -18
- package/examples/jsm/nodes/core/NodeFrame.js +2 -2
- package/examples/jsm/nodes/core/NodeUtils.js +23 -1
- package/examples/jsm/nodes/core/NodeVarying.js +17 -0
- package/examples/jsm/nodes/core/VaryingNode.js +56 -0
- package/examples/jsm/nodes/core/constants.js +13 -13
- package/examples/jsm/nodes/display/BlendModeNode.js +85 -0
- package/examples/jsm/nodes/display/ColorAdjustmentNode.js +84 -0
- package/examples/jsm/nodes/display/NormalMapNode.js +19 -12
- package/examples/jsm/nodes/display/PosterizeNode.js +25 -0
- package/examples/jsm/nodes/display/ViewportNode.js +106 -0
- package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +5 -5
- package/examples/jsm/nodes/functions/PhysicalLightingModel.js +3 -3
- package/examples/jsm/nodes/functions/light/getDistanceAttenuation.js +2 -2
- package/examples/jsm/nodes/geometry/RangeNode.js +109 -0
- package/examples/jsm/nodes/gpgpu/ComputeNode.js +3 -1
- package/examples/jsm/nodes/lighting/AnalyticLightNode.js +1 -1
- package/examples/jsm/nodes/lighting/EnvironmentNode.js +8 -7
- package/examples/jsm/nodes/lighting/LightingContextNode.js +4 -4
- package/examples/jsm/nodes/loaders/NodeLoader.js +2 -2
- package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +33 -0
- package/examples/jsm/nodes/materials/Materials.js +21 -31
- package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +70 -0
- package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +4 -7
- package/examples/jsm/nodes/materials/NodeMaterial.js +11 -3
- package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +28 -17
- package/examples/jsm/nodes/materialx/DISCLAIMER.md +199 -0
- package/examples/jsm/nodes/materialx/MaterialXNodes.js +59 -0
- package/examples/jsm/nodes/materialx/lib/mx_hsv.js +56 -0
- package/examples/jsm/nodes/materialx/lib/mx_noise.js +617 -0
- package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +18 -0
- package/examples/jsm/nodes/math/MathNode.js +7 -17
- package/examples/jsm/nodes/math/OperatorNode.js +16 -3
- package/examples/jsm/nodes/parsers/GLSLNodeFunction.js +21 -6
- package/examples/jsm/nodes/procedural/CheckerNode.js +2 -2
- package/examples/jsm/nodes/shadernode/ShaderNode.js +40 -25
- package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +95 -68
- package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +49 -6
- package/examples/jsm/nodes/utils/ConvertNode.js +18 -12
- package/examples/jsm/nodes/utils/EquirectUVNode.js +27 -0
- package/examples/jsm/nodes/utils/JoinNode.js +15 -9
- package/examples/jsm/nodes/utils/MatcapUVNode.js +2 -4
- package/examples/jsm/nodes/utils/MaxMipLevelNode.js +3 -2
- package/examples/jsm/nodes/utils/OscNode.js +2 -2
- package/examples/jsm/nodes/utils/RemapNode.js +34 -0
- package/examples/jsm/nodes/utils/RotateUVNode.js +32 -0
- package/examples/jsm/nodes/utils/SplitNode.js +21 -5
- package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +8 -10
- package/examples/jsm/nodes/utils/TimerNode.js +23 -3
- package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +51 -0
- package/examples/jsm/objects/GroundProjectedEnv.js +186 -0
- package/examples/jsm/objects/Reflector.js +12 -5
- package/examples/jsm/objects/ReflectorForSSRPass.js +3 -5
- package/examples/jsm/objects/Refractor.js +12 -6
- package/examples/jsm/objects/ShadowMesh.js +8 -2
- package/examples/jsm/postprocessing/AfterimagePass.js +17 -4
- package/examples/jsm/postprocessing/BloomPass.js +22 -3
- package/examples/jsm/postprocessing/BokehPass.js +18 -4
- package/examples/jsm/postprocessing/CubeTexturePass.js +12 -5
- package/examples/jsm/postprocessing/DotScreenPass.js +8 -0
- package/examples/jsm/postprocessing/EffectComposer.js +9 -0
- package/examples/jsm/postprocessing/FilmPass.js +8 -0
- package/examples/jsm/postprocessing/GlitchPass.js +13 -1
- package/examples/jsm/postprocessing/HalftonePass.js +8 -0
- package/examples/jsm/postprocessing/OutlinePass.js +25 -3
- package/examples/jsm/postprocessing/Pass.js +2 -0
- package/examples/jsm/postprocessing/RenderPixelatedPass.js +234 -0
- package/examples/jsm/postprocessing/SAOPass.js +20 -0
- package/examples/jsm/postprocessing/SMAAPass.js +16 -0
- package/examples/jsm/postprocessing/SSAARenderPass.js +4 -0
- package/examples/jsm/postprocessing/SavePass.js +17 -1
- package/examples/jsm/postprocessing/ShaderPass.js +8 -0
- package/examples/jsm/postprocessing/TAARenderPass.js +9 -0
- package/examples/jsm/postprocessing/TexturePass.js +8 -0
- package/examples/jsm/postprocessing/UnrealBloomPass.js +16 -0
- package/examples/jsm/renderers/CSS2DRenderer.js +2 -2
- package/examples/jsm/renderers/CSS3DRenderer.js +2 -2
- package/examples/jsm/renderers/Projector.js +2 -24
- package/examples/jsm/renderers/webgl/nodes/SlotNode.js +9 -5
- package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +363 -231
- package/examples/jsm/renderers/webgl/nodes/WebGLNodes.js +7 -3
- package/examples/jsm/renderers/webgpu/WebGPUAnimation.js +58 -0
- package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +63 -5
- package/examples/jsm/renderers/webgpu/WebGPUBackground.js +68 -3
- package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +6 -0
- package/examples/jsm/renderers/webgpu/WebGPUGeometries.js +6 -0
- package/examples/jsm/renderers/webgpu/WebGPUObjects.js +1 -1
- package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +17 -19
- package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +16 -14
- package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +2 -2
- package/examples/jsm/renderers/webgpu/WebGPURenderer.js +113 -93
- package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +5 -3
- package/examples/jsm/renderers/webgpu/WebGPUTextures.js +2 -2
- package/examples/jsm/renderers/webgpu/WebGPUUtils.js +81 -0
- package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +63 -36
- package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +1 -1
- package/examples/jsm/shaders/LuminosityShader.js +1 -1
- package/examples/jsm/shaders/MMDToonShader.js +2 -4
- package/examples/jsm/shaders/ToneMapShader.js +1 -1
- package/examples/jsm/shaders/VelocityShader.js +128 -0
- package/examples/jsm/utils/BufferGeometryUtils.js +176 -43
- package/examples/jsm/utils/GeometryUtils.js +17 -25
- package/examples/jsm/utils/PackedPhongMaterial.js +0 -1
- package/examples/jsm/utils/SceneUtils.js +117 -12
- package/examples/jsm/webxr/OculusHandModel.js +3 -2
- package/examples/jsm/webxr/OculusHandPointerModel.js +6 -1
- package/examples/jsm/webxr/VRButton.js +1 -7
- package/examples/jsm/webxr/XRHandMeshModel.js +8 -3
- package/package.json +22 -18
- package/src/Three.Legacy.js +262 -36
- package/src/Three.js +4 -2
- package/src/animation/AnimationAction.js +6 -5
- package/src/animation/AnimationClip.js +1 -1
- package/src/animation/AnimationMixer.js +1 -1
- package/src/animation/AnimationUtils.js +204 -199
- package/src/animation/KeyframeTrack.js +1 -1
- package/src/animation/PropertyBinding.js +31 -5
- package/src/audio/AudioContext.js +5 -5
- package/src/cameras/CubeCamera.js +14 -21
- package/src/constants.js +2 -4
- package/src/core/BufferAttribute.js +81 -111
- package/src/core/BufferGeometry.js +3 -41
- package/src/core/InstancedBufferAttribute.js +0 -10
- package/src/core/InstancedBufferGeometry.js +1 -7
- package/src/core/InterleavedBuffer.js +1 -1
- package/src/core/InterleavedBufferAttribute.js +57 -8
- package/src/core/Object3D.js +22 -5
- package/src/core/Uniform.js +0 -7
- package/src/core/UniformsGroup.js +92 -0
- package/src/extras/DataUtils.js +104 -88
- package/src/extras/Earcut.js +67 -67
- package/src/extras/core/Path.js +1 -0
- package/src/extras/core/ShapePath.js +1 -4
- package/src/extras/curves/CatmullRomCurve3.js +4 -2
- package/src/geometries/BoxGeometry.js +1 -1
- package/src/geometries/CapsuleGeometry.js +1 -1
- package/src/geometries/CircleGeometry.js +1 -1
- package/src/geometries/ConeGeometry.js +1 -1
- package/src/geometries/CylinderGeometry.js +2 -1
- package/src/geometries/DodecahedronGeometry.js +1 -1
- package/src/geometries/EdgesGeometry.js +5 -4
- package/src/geometries/ExtrudeGeometry.js +2 -11
- package/src/geometries/IcosahedronGeometry.js +1 -1
- package/src/geometries/LatheGeometry.js +2 -2
- package/src/geometries/OctahedronGeometry.js +1 -1
- package/src/geometries/PlaneGeometry.js +2 -1
- package/src/geometries/PolyhedronGeometry.js +2 -2
- package/src/geometries/RingGeometry.js +1 -1
- package/src/geometries/ShapeGeometry.js +3 -2
- package/src/geometries/SphereGeometry.js +2 -1
- package/src/geometries/TetrahedronGeometry.js +1 -1
- package/src/geometries/TorusGeometry.js +2 -1
- package/src/geometries/TorusKnotGeometry.js +2 -1
- package/src/geometries/TubeGeometry.js +2 -1
- package/src/geometries/WireframeGeometry.js +1 -0
- package/src/helpers/ArrowHelper.js +9 -0
- package/src/helpers/Box3Helper.js +7 -0
- package/src/helpers/BoxHelper.js +7 -1
- package/src/helpers/CameraHelper.js +97 -38
- package/src/helpers/DirectionalLightHelper.js +6 -1
- package/src/helpers/GridHelper.js +7 -0
- package/src/helpers/HemisphereLightHelper.js +5 -1
- package/src/helpers/PlaneHelper.js +15 -9
- package/src/helpers/PointLightHelper.js +2 -1
- package/src/helpers/PolarGridHelper.js +25 -14
- package/src/helpers/SkeletonHelper.js +7 -0
- package/src/helpers/SpotLightHelper.js +5 -2
- package/src/lights/LightShadow.js +1 -2
- package/src/lights/PointLight.js +2 -2
- package/src/lights/SpotLight.js +4 -2
- package/src/loaders/FileLoader.js +16 -2
- package/src/loaders/LoadingManager.js +1 -1
- package/src/loaders/MaterialLoader.js +49 -7
- package/src/loaders/ObjectLoader.js +9 -42
- package/src/materials/Material.js +2 -34
- package/src/materials/Materials.js +0 -27
- package/src/materials/MeshLambertMaterial.js +28 -1
- package/src/materials/MeshPhysicalMaterial.js +1 -1
- package/src/materials/ShaderMaterial.js +3 -7
- package/src/math/Color.js +8 -18
- package/src/math/MathUtils.js +1 -7
- package/src/math/Matrix3.js +54 -25
- package/src/math/Matrix4.js +3 -27
- package/src/math/Quaternion.js +1 -21
- package/src/math/Ray.js +2 -5
- package/src/math/Sphere.js +36 -21
- package/src/math/Vector2.js +4 -24
- package/src/math/Vector3.js +7 -46
- package/src/math/Vector4.js +4 -24
- package/src/objects/InstancedMesh.js +7 -0
- package/src/objects/LOD.js +25 -6
- package/src/renderers/WebGL3DRenderTarget.js +1 -1
- package/src/renderers/WebGLArrayRenderTarget.js +1 -1
- package/src/renderers/WebGLCubeRenderTarget.js +1 -1
- package/src/renderers/WebGLMultipleRenderTargets.js +1 -1
- package/src/renderers/WebGLRenderTarget.js +1 -1
- package/src/renderers/WebGLRenderer.js +119 -69
- package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +12 -12
- package/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +3 -5
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +6 -5
- package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +24 -24
- package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +0 -4
- package/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +2 -1
- package/src/renderers/shaders/ShaderChunk/iridescence_fragment.glsl.js +113 -99
- package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +34 -13
- package/src/renderers/shaders/ShaderChunk/lights_lambert_fragment.glsl.js +5 -0
- package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +28 -0
- package/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +0 -2
- package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +3 -1
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +13 -1
- package/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +0 -2
- package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +2 -4
- package/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +2 -4
- package/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/packing.glsl.js +8 -0
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +18 -7
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +8 -3
- package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +9 -6
- package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +14 -10
- package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk.js +7 -2
- package/src/renderers/shaders/ShaderLib/background.glsl.js +7 -2
- package/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +62 -0
- package/src/renderers/shaders/ShaderLib/cube.glsl.js +4 -6
- package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +0 -1
- package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +22 -50
- package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -1
- package/src/renderers/shaders/ShaderLib/vsm.glsl.js +0 -3
- package/src/renderers/shaders/ShaderLib.js +50 -36
- package/src/renderers/shaders/UniformsLib.js +13 -12
- package/src/renderers/shaders/UniformsUtils.js +29 -0
- package/src/renderers/webgl/WebGLAttributes.js +2 -0
- package/src/renderers/webgl/WebGLBackground.js +17 -9
- package/src/renderers/webgl/WebGLLights.js +37 -17
- package/src/renderers/webgl/WebGLMaterials.js +2 -1
- package/src/renderers/webgl/WebGLMorphtargets.js +0 -20
- package/src/renderers/webgl/WebGLProgram.js +6 -11
- package/src/renderers/webgl/WebGLPrograms.js +30 -26
- package/src/renderers/webgl/WebGLRenderLists.js +5 -4
- package/src/renderers/webgl/WebGLRenderStates.js +5 -4
- package/src/renderers/webgl/WebGLShaderCache.js +9 -6
- package/src/renderers/webgl/WebGLShadowMap.js +13 -16
- package/src/renderers/webgl/WebGLState.js +125 -41
- package/src/renderers/webgl/WebGLTextures.js +94 -39
- package/src/renderers/webgl/WebGLUniforms.js +156 -28
- package/src/renderers/webgl/WebGLUniformsGroups.js +372 -0
- package/src/renderers/webgl/WebGLUtils.js +3 -1
- package/src/renderers/webvr/WebVRManager.js +42 -9
- package/src/renderers/webvr/WebVRUtils.js +1 -1
- package/src/renderers/webxr/WebXRController.js +91 -50
- package/src/renderers/webxr/WebXRManager.js +127 -34
- package/src/scenes/Scene.js +24 -3
- package/src/textures/CompressedArrayTexture.js +18 -0
- package/src/textures/Source.js +1 -1
- package/src/textures/Texture.js +2 -1
- package/src/utils.js +1 -1
- package/examples/js/controls/experimental/CameraControls.js +0 -1048
- package/examples/js/libs/lottie_canvas.js +0 -12751
- package/examples/js/loaders/KTX2Loader.js +0 -558
- package/examples/js/shaders/PixelShader.js +0 -51
- package/examples/jsm/controls/experimental/CameraControls.js +0 -1248
- package/examples/jsm/nodes/accessors/ReflectNode.js +0 -70
- package/examples/jsm/nodes/core/NodeVary.js +0 -14
- package/examples/jsm/nodes/core/VaryNode.js +0 -54
- package/examples/jsm/package.json +0 -3
- package/examples/jsm/renderers/webgl/nodes/WebGLPhysicalContextNode.js +0 -45
- package/examples/jsm/shaders/PixelShader.js +0 -44
- package/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
package/src/extras/Earcut.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Port from https://github.com/mapbox/earcut (v2.2.
|
|
2
|
+
* Port from https://github.com/mapbox/earcut (v2.2.4)
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
5
|
const Earcut = {
|
|
@@ -36,11 +36,11 @@ const Earcut = {
|
|
|
36
36
|
|
|
37
37
|
// minX, minY and invSize are later used to transform coords into integers for z-order calculation
|
|
38
38
|
invSize = Math.max( maxX - minX, maxY - minY );
|
|
39
|
-
invSize = invSize !== 0 ?
|
|
39
|
+
invSize = invSize !== 0 ? 32767 / invSize : 0;
|
|
40
40
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
earcutLinked( outerNode, triangles, dim, minX, minY, invSize );
|
|
43
|
+
earcutLinked( outerNode, triangles, dim, minX, minY, invSize, 0 );
|
|
44
44
|
|
|
45
45
|
return triangles;
|
|
46
46
|
|
|
@@ -125,9 +125,9 @@ function earcutLinked( ear, triangles, dim, minX, minY, invSize, pass ) {
|
|
|
125
125
|
if ( invSize ? isEarHashed( ear, minX, minY, invSize ) : isEar( ear ) ) {
|
|
126
126
|
|
|
127
127
|
// cut off the triangle
|
|
128
|
-
triangles.push( prev.i / dim );
|
|
129
|
-
triangles.push( ear.i / dim );
|
|
130
|
-
triangles.push( next.i / dim );
|
|
128
|
+
triangles.push( prev.i / dim | 0 );
|
|
129
|
+
triangles.push( ear.i / dim | 0 );
|
|
130
|
+
triangles.push( next.i / dim | 0 );
|
|
131
131
|
|
|
132
132
|
removeNode( ear );
|
|
133
133
|
|
|
@@ -182,11 +182,19 @@ function isEar( ear ) {
|
|
|
182
182
|
if ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear
|
|
183
183
|
|
|
184
184
|
// now make sure we don't have other points inside the potential ear
|
|
185
|
-
|
|
185
|
+
const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;
|
|
186
186
|
|
|
187
|
-
|
|
187
|
+
// triangle bbox; min & max are calculated like this for speed
|
|
188
|
+
const x0 = ax < bx ? ( ax < cx ? ax : cx ) : ( bx < cx ? bx : cx ),
|
|
189
|
+
y0 = ay < by ? ( ay < cy ? ay : cy ) : ( by < cy ? by : cy ),
|
|
190
|
+
x1 = ax > bx ? ( ax > cx ? ax : cx ) : ( bx > cx ? bx : cx ),
|
|
191
|
+
y1 = ay > by ? ( ay > cy ? ay : cy ) : ( by > cy ? by : cy );
|
|
192
|
+
|
|
193
|
+
let p = c.next;
|
|
194
|
+
while ( p !== a ) {
|
|
188
195
|
|
|
189
|
-
if (
|
|
196
|
+
if ( p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 &&
|
|
197
|
+
pointInTriangle( ax, ay, bx, by, cx, cy, p.x, p.y ) &&
|
|
190
198
|
area( p.prev, p, p.next ) >= 0 ) return false;
|
|
191
199
|
p = p.next;
|
|
192
200
|
|
|
@@ -204,15 +212,17 @@ function isEarHashed( ear, minX, minY, invSize ) {
|
|
|
204
212
|
|
|
205
213
|
if ( area( a, b, c ) >= 0 ) return false; // reflex, can't be an ear
|
|
206
214
|
|
|
215
|
+
const ax = a.x, bx = b.x, cx = c.x, ay = a.y, by = b.y, cy = c.y;
|
|
216
|
+
|
|
207
217
|
// triangle bbox; min & max are calculated like this for speed
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
218
|
+
const x0 = ax < bx ? ( ax < cx ? ax : cx ) : ( bx < cx ? bx : cx ),
|
|
219
|
+
y0 = ay < by ? ( ay < cy ? ay : cy ) : ( by < cy ? by : cy ),
|
|
220
|
+
x1 = ax > bx ? ( ax > cx ? ax : cx ) : ( bx > cx ? bx : cx ),
|
|
221
|
+
y1 = ay > by ? ( ay > cy ? ay : cy ) : ( by > cy ? by : cy );
|
|
212
222
|
|
|
213
223
|
// z-order range for the current triangle bbox;
|
|
214
|
-
const minZ = zOrder(
|
|
215
|
-
maxZ = zOrder(
|
|
224
|
+
const minZ = zOrder( x0, y0, minX, minY, invSize ),
|
|
225
|
+
maxZ = zOrder( x1, y1, minX, minY, invSize );
|
|
216
226
|
|
|
217
227
|
let p = ear.prevZ,
|
|
218
228
|
n = ear.nextZ;
|
|
@@ -220,14 +230,12 @@ function isEarHashed( ear, minX, minY, invSize ) {
|
|
|
220
230
|
// look for points inside the triangle in both directions
|
|
221
231
|
while ( p && p.z >= minZ && n && n.z <= maxZ ) {
|
|
222
232
|
|
|
223
|
-
if ( p
|
|
224
|
-
pointInTriangle(
|
|
225
|
-
area( p.prev, p, p.next ) >= 0 ) return false;
|
|
233
|
+
if ( p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c &&
|
|
234
|
+
pointInTriangle( ax, ay, bx, by, cx, cy, p.x, p.y ) && area( p.prev, p, p.next ) >= 0 ) return false;
|
|
226
235
|
p = p.prevZ;
|
|
227
236
|
|
|
228
|
-
if ( n
|
|
229
|
-
pointInTriangle(
|
|
230
|
-
area( n.prev, n, n.next ) >= 0 ) return false;
|
|
237
|
+
if ( n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c &&
|
|
238
|
+
pointInTriangle( ax, ay, bx, by, cx, cy, n.x, n.y ) && area( n.prev, n, n.next ) >= 0 ) return false;
|
|
231
239
|
n = n.nextZ;
|
|
232
240
|
|
|
233
241
|
}
|
|
@@ -235,9 +243,8 @@ function isEarHashed( ear, minX, minY, invSize ) {
|
|
|
235
243
|
// look for remaining points in decreasing z-order
|
|
236
244
|
while ( p && p.z >= minZ ) {
|
|
237
245
|
|
|
238
|
-
if ( p
|
|
239
|
-
pointInTriangle(
|
|
240
|
-
area( p.prev, p, p.next ) >= 0 ) return false;
|
|
246
|
+
if ( p.x >= x0 && p.x <= x1 && p.y >= y0 && p.y <= y1 && p !== a && p !== c &&
|
|
247
|
+
pointInTriangle( ax, ay, bx, by, cx, cy, p.x, p.y ) && area( p.prev, p, p.next ) >= 0 ) return false;
|
|
241
248
|
p = p.prevZ;
|
|
242
249
|
|
|
243
250
|
}
|
|
@@ -245,9 +252,8 @@ function isEarHashed( ear, minX, minY, invSize ) {
|
|
|
245
252
|
// look for remaining points in increasing z-order
|
|
246
253
|
while ( n && n.z <= maxZ ) {
|
|
247
254
|
|
|
248
|
-
if ( n
|
|
249
|
-
pointInTriangle(
|
|
250
|
-
area( n.prev, n, n.next ) >= 0 ) return false;
|
|
255
|
+
if ( n.x >= x0 && n.x <= x1 && n.y >= y0 && n.y <= y1 && n !== a && n !== c &&
|
|
256
|
+
pointInTriangle( ax, ay, bx, by, cx, cy, n.x, n.y ) && area( n.prev, n, n.next ) >= 0 ) return false;
|
|
251
257
|
n = n.nextZ;
|
|
252
258
|
|
|
253
259
|
}
|
|
@@ -267,9 +273,9 @@ function cureLocalIntersections( start, triangles, dim ) {
|
|
|
267
273
|
|
|
268
274
|
if ( ! equals( a, b ) && intersects( a, p, p.next, b ) && locallyInside( a, b ) && locallyInside( b, a ) ) {
|
|
269
275
|
|
|
270
|
-
triangles.push( a.i / dim );
|
|
271
|
-
triangles.push( p.i / dim );
|
|
272
|
-
triangles.push( b.i / dim );
|
|
276
|
+
triangles.push( a.i / dim | 0 );
|
|
277
|
+
triangles.push( p.i / dim | 0 );
|
|
278
|
+
triangles.push( b.i / dim | 0 );
|
|
273
279
|
|
|
274
280
|
// remove two nodes involved
|
|
275
281
|
removeNode( p );
|
|
@@ -307,8 +313,8 @@ function splitEarcut( start, triangles, dim, minX, minY, invSize ) {
|
|
|
307
313
|
c = filterPoints( c, c.next );
|
|
308
314
|
|
|
309
315
|
// run earcut on each half
|
|
310
|
-
earcutLinked( a, triangles, dim, minX, minY, invSize );
|
|
311
|
-
earcutLinked( c, triangles, dim, minX, minY, invSize );
|
|
316
|
+
earcutLinked( a, triangles, dim, minX, minY, invSize, 0 );
|
|
317
|
+
earcutLinked( c, triangles, dim, minX, minY, invSize, 0 );
|
|
312
318
|
return;
|
|
313
319
|
|
|
314
320
|
}
|
|
@@ -344,8 +350,7 @@ function eliminateHoles( data, holeIndices, outerNode, dim ) {
|
|
|
344
350
|
// process holes from left to right
|
|
345
351
|
for ( i = 0; i < queue.length; i ++ ) {
|
|
346
352
|
|
|
347
|
-
eliminateHole( queue[ i ], outerNode );
|
|
348
|
-
outerNode = filterPoints( outerNode, outerNode.next );
|
|
353
|
+
outerNode = eliminateHole( queue[ i ], outerNode );
|
|
349
354
|
|
|
350
355
|
}
|
|
351
356
|
|
|
@@ -362,26 +367,29 @@ function compareX( a, b ) {
|
|
|
362
367
|
// find a bridge between vertices that connects hole with an outer ring and link it
|
|
363
368
|
function eliminateHole( hole, outerNode ) {
|
|
364
369
|
|
|
365
|
-
|
|
366
|
-
if (
|
|
367
|
-
|
|
368
|
-
const b = splitPolygon( outerNode, hole );
|
|
370
|
+
const bridge = findHoleBridge( hole, outerNode );
|
|
371
|
+
if ( ! bridge ) {
|
|
369
372
|
|
|
370
|
-
|
|
371
|
-
filterPoints( outerNode, outerNode.next );
|
|
372
|
-
filterPoints( b, b.next );
|
|
373
|
+
return outerNode;
|
|
373
374
|
|
|
374
375
|
}
|
|
375
376
|
|
|
377
|
+
const bridgeReverse = splitPolygon( bridge, hole );
|
|
378
|
+
|
|
379
|
+
// filter collinear points around the cuts
|
|
380
|
+
filterPoints( bridgeReverse, bridgeReverse.next );
|
|
381
|
+
return filterPoints( bridge, bridge.next );
|
|
382
|
+
|
|
376
383
|
}
|
|
377
384
|
|
|
378
385
|
// David Eberly's algorithm for finding a bridge between hole and outer polygon
|
|
379
386
|
function findHoleBridge( hole, outerNode ) {
|
|
380
387
|
|
|
381
|
-
let p = outerNode
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
388
|
+
let p = outerNode,
|
|
389
|
+
qx = - Infinity,
|
|
390
|
+
m;
|
|
391
|
+
|
|
392
|
+
const hx = hole.x, hy = hole.y;
|
|
385
393
|
|
|
386
394
|
// find a segment intersected by a ray from the hole's leftmost point to the left;
|
|
387
395
|
// segment's endpoint with lesser x will be potential connection point
|
|
@@ -393,14 +401,8 @@ function findHoleBridge( hole, outerNode ) {
|
|
|
393
401
|
if ( x <= hx && x > qx ) {
|
|
394
402
|
|
|
395
403
|
qx = x;
|
|
396
|
-
if ( x === hx ) {
|
|
397
|
-
|
|
398
|
-
if ( hy === p.y ) return p;
|
|
399
|
-
if ( hy === p.next.y ) return p.next;
|
|
400
|
-
|
|
401
|
-
}
|
|
402
|
-
|
|
403
404
|
m = p.x < p.next.x ? p : p.next;
|
|
405
|
+
if ( x === hx ) return m; // hole touches outer segment; pick leftmost endpoint
|
|
404
406
|
|
|
405
407
|
}
|
|
406
408
|
|
|
@@ -412,8 +414,6 @@ function findHoleBridge( hole, outerNode ) {
|
|
|
412
414
|
|
|
413
415
|
if ( ! m ) return null;
|
|
414
416
|
|
|
415
|
-
if ( hx === qx ) return m; // hole touches outer segment; pick leftmost endpoint
|
|
416
|
-
|
|
417
417
|
// look for points inside the triangle of hole point, segment intersection and endpoint;
|
|
418
418
|
// if there are no points found, we have a valid connection;
|
|
419
419
|
// otherwise choose the point of the minimum angle with the ray as connection point
|
|
@@ -462,7 +462,7 @@ function indexCurve( start, minX, minY, invSize ) {
|
|
|
462
462
|
let p = start;
|
|
463
463
|
do {
|
|
464
464
|
|
|
465
|
-
if ( p.z ===
|
|
465
|
+
if ( p.z === 0 ) p.z = zOrder( p.x, p.y, minX, minY, invSize );
|
|
466
466
|
p.prevZ = p.prev;
|
|
467
467
|
p.nextZ = p.next;
|
|
468
468
|
p = p.next;
|
|
@@ -546,8 +546,8 @@ function sortLinked( list ) {
|
|
|
546
546
|
function zOrder( x, y, minX, minY, invSize ) {
|
|
547
547
|
|
|
548
548
|
// coords are transformed into non-negative 15-bit integer range
|
|
549
|
-
x =
|
|
550
|
-
y =
|
|
549
|
+
x = ( x - minX ) * invSize | 0;
|
|
550
|
+
y = ( y - minY ) * invSize | 0;
|
|
551
551
|
|
|
552
552
|
x = ( x | ( x << 8 ) ) & 0x00FF00FF;
|
|
553
553
|
x = ( x | ( x << 4 ) ) & 0x0F0F0F0F;
|
|
@@ -582,19 +582,19 @@ function getLeftmost( start ) {
|
|
|
582
582
|
// check if a point lies within a convex triangle
|
|
583
583
|
function pointInTriangle( ax, ay, bx, by, cx, cy, px, py ) {
|
|
584
584
|
|
|
585
|
-
return ( cx - px ) * ( ay - py )
|
|
586
|
-
|
|
587
|
-
|
|
585
|
+
return ( cx - px ) * ( ay - py ) >= ( ax - px ) * ( cy - py ) &&
|
|
586
|
+
( ax - px ) * ( by - py ) >= ( bx - px ) * ( ay - py ) &&
|
|
587
|
+
( bx - px ) * ( cy - py ) >= ( cx - px ) * ( by - py );
|
|
588
588
|
|
|
589
589
|
}
|
|
590
590
|
|
|
591
591
|
// check if a diagonal between two polygon nodes is valid (lies in polygon interior)
|
|
592
592
|
function isValidDiagonal( a, b ) {
|
|
593
593
|
|
|
594
|
-
return a.next.i !== b.i && a.prev.i !== b.i && ! intersectsPolygon( a, b ) && //
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
594
|
+
return a.next.i !== b.i && a.prev.i !== b.i && ! intersectsPolygon( a, b ) && // dones't intersect other edges
|
|
595
|
+
( locallyInside( a, b ) && locallyInside( b, a ) && middleInside( a, b ) && // locally visible
|
|
596
|
+
( area( a.prev, a, b.prev ) || area( a, b.prev, b ) ) || // does not create opposite-facing sectors
|
|
597
|
+
equals( a, b ) && area( a.prev, a, a.next ) > 0 && area( b.prev, b, b.next ) > 0 ); // special zero-length case
|
|
598
598
|
|
|
599
599
|
}
|
|
600
600
|
|
|
@@ -651,7 +651,7 @@ function intersectsPolygon( a, b ) {
|
|
|
651
651
|
do {
|
|
652
652
|
|
|
653
653
|
if ( p.i !== a.i && p.next.i !== a.i && p.i !== b.i && p.next.i !== b.i &&
|
|
654
|
-
|
|
654
|
+
intersects( p, p.next, a, b ) ) return true;
|
|
655
655
|
p = p.next;
|
|
656
656
|
|
|
657
657
|
} while ( p !== a );
|
|
@@ -679,7 +679,7 @@ function middleInside( a, b ) {
|
|
|
679
679
|
do {
|
|
680
680
|
|
|
681
681
|
if ( ( ( p.y > py ) !== ( p.next.y > py ) ) && p.next.y !== p.y &&
|
|
682
|
-
|
|
682
|
+
( px < ( p.next.x - p.x ) * ( py - p.y ) / ( p.next.y - p.y ) + p.x ) )
|
|
683
683
|
inside = ! inside;
|
|
684
684
|
p = p.next;
|
|
685
685
|
|
|
@@ -761,7 +761,7 @@ function Node( i, x, y ) {
|
|
|
761
761
|
this.next = null;
|
|
762
762
|
|
|
763
763
|
// z-order curve value
|
|
764
|
-
this.z =
|
|
764
|
+
this.z = 0;
|
|
765
765
|
|
|
766
766
|
// previous and next nodes in z-order
|
|
767
767
|
this.prevZ = null;
|
package/src/extras/core/Path.js
CHANGED
|
@@ -58,7 +58,7 @@ class ShapePath {
|
|
|
58
58
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
toShapes( isCCW
|
|
61
|
+
toShapes( isCCW ) {
|
|
62
62
|
|
|
63
63
|
function toShapesNoHoles( inSubpaths ) {
|
|
64
64
|
|
|
@@ -144,9 +144,6 @@ class ShapePath {
|
|
|
144
144
|
const subPaths = this.subPaths;
|
|
145
145
|
if ( subPaths.length === 0 ) return [];
|
|
146
146
|
|
|
147
|
-
if ( noHoles === true ) return toShapesNoHoles( subPaths );
|
|
148
|
-
|
|
149
|
-
|
|
150
147
|
let solid, tmpPath, tmpShape;
|
|
151
148
|
const shapes = [];
|
|
152
149
|
|
|
@@ -78,8 +78,10 @@ function CubicPoly() {
|
|
|
78
78
|
|
|
79
79
|
//
|
|
80
80
|
|
|
81
|
-
const tmp = new Vector3();
|
|
82
|
-
const px =
|
|
81
|
+
const tmp = /*@__PURE__*/ new Vector3();
|
|
82
|
+
const px = /*@__PURE__*/ new CubicPoly();
|
|
83
|
+
const py = /*@__PURE__*/ new CubicPoly();
|
|
84
|
+
const pz = /*@__PURE__*/ new CubicPoly();
|
|
83
85
|
|
|
84
86
|
class CatmullRomCurve3 extends Curve {
|
|
85
87
|
|
|
@@ -8,6 +8,7 @@ class CylinderGeometry extends BufferGeometry {
|
|
|
8
8
|
constructor( radiusTop = 1, radiusBottom = 1, height = 1, radialSegments = 8, heightSegments = 1, openEnded = false, thetaStart = 0, thetaLength = Math.PI * 2 ) {
|
|
9
9
|
|
|
10
10
|
super();
|
|
11
|
+
|
|
11
12
|
this.type = 'CylinderGeometry';
|
|
12
13
|
|
|
13
14
|
this.parameters = {
|
|
@@ -272,4 +273,4 @@ class CylinderGeometry extends BufferGeometry {
|
|
|
272
273
|
}
|
|
273
274
|
|
|
274
275
|
|
|
275
|
-
export { CylinderGeometry
|
|
276
|
+
export { CylinderGeometry };
|
|
@@ -4,16 +4,17 @@ import * as MathUtils from '../math/MathUtils.js';
|
|
|
4
4
|
import { Triangle } from '../math/Triangle.js';
|
|
5
5
|
import { Vector3 } from '../math/Vector3.js';
|
|
6
6
|
|
|
7
|
-
const _v0 = new Vector3();
|
|
8
|
-
const _v1 = new Vector3();
|
|
9
|
-
const _normal = new Vector3();
|
|
10
|
-
const _triangle = new Triangle();
|
|
7
|
+
const _v0 = /*@__PURE__*/ new Vector3();
|
|
8
|
+
const _v1 = /*@__PURE__*/ new Vector3();
|
|
9
|
+
const _normal = /*@__PURE__*/ new Vector3();
|
|
10
|
+
const _triangle = /*@__PURE__*/ new Triangle();
|
|
11
11
|
|
|
12
12
|
class EdgesGeometry extends BufferGeometry {
|
|
13
13
|
|
|
14
14
|
constructor( geometry = null, thresholdAngle = 1 ) {
|
|
15
15
|
|
|
16
16
|
super();
|
|
17
|
+
|
|
17
18
|
this.type = 'EdgesGeometry';
|
|
18
19
|
|
|
19
20
|
this.parameters = {
|
|
@@ -72,7 +72,7 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
72
72
|
|
|
73
73
|
const curveSegments = options.curveSegments !== undefined ? options.curveSegments : 12;
|
|
74
74
|
const steps = options.steps !== undefined ? options.steps : 1;
|
|
75
|
-
|
|
75
|
+
const depth = options.depth !== undefined ? options.depth : 1;
|
|
76
76
|
|
|
77
77
|
let bevelEnabled = options.bevelEnabled !== undefined ? options.bevelEnabled : true;
|
|
78
78
|
let bevelThickness = options.bevelThickness !== undefined ? options.bevelThickness : 0.2;
|
|
@@ -84,15 +84,6 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
84
84
|
|
|
85
85
|
const uvgen = options.UVGenerator !== undefined ? options.UVGenerator : WorldUVGenerator;
|
|
86
86
|
|
|
87
|
-
// deprecated options
|
|
88
|
-
|
|
89
|
-
if ( options.amount !== undefined ) {
|
|
90
|
-
|
|
91
|
-
console.warn( 'THREE.ExtrudeBufferGeometry: amount has been renamed to depth.' );
|
|
92
|
-
depth = options.amount;
|
|
93
|
-
|
|
94
|
-
}
|
|
95
|
-
|
|
96
87
|
//
|
|
97
88
|
|
|
98
89
|
let extrudePts, extrudeByPath = false;
|
|
@@ -810,4 +801,4 @@ function toJSON( shapes, options, data ) {
|
|
|
810
801
|
}
|
|
811
802
|
|
|
812
803
|
|
|
813
|
-
export { ExtrudeGeometry
|
|
804
|
+
export { ExtrudeGeometry };
|
|
@@ -6,7 +6,7 @@ import * as MathUtils from '../math/MathUtils.js';
|
|
|
6
6
|
|
|
7
7
|
class LatheGeometry extends BufferGeometry {
|
|
8
8
|
|
|
9
|
-
constructor( points = [ new Vector2( 0, 0.5 ), new Vector2( 0.5, 0 ), new Vector2( 0,
|
|
9
|
+
constructor( points = [ new Vector2( 0, - 0.5 ), new Vector2( 0.5, 0 ), new Vector2( 0, 0.5 ) ], segments = 12, phiStart = 0, phiLength = Math.PI * 2 ) {
|
|
10
10
|
|
|
11
11
|
super();
|
|
12
12
|
|
|
@@ -176,4 +176,4 @@ class LatheGeometry extends BufferGeometry {
|
|
|
176
176
|
}
|
|
177
177
|
|
|
178
178
|
|
|
179
|
-
export { LatheGeometry
|
|
179
|
+
export { LatheGeometry };
|
|
@@ -6,6 +6,7 @@ class PlaneGeometry extends BufferGeometry {
|
|
|
6
6
|
constructor( width = 1, height = 1, widthSegments = 1, heightSegments = 1 ) {
|
|
7
7
|
|
|
8
8
|
super();
|
|
9
|
+
|
|
9
10
|
this.type = 'PlaneGeometry';
|
|
10
11
|
|
|
11
12
|
this.parameters = {
|
|
@@ -84,4 +85,4 @@ class PlaneGeometry extends BufferGeometry {
|
|
|
84
85
|
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
export { PlaneGeometry
|
|
88
|
+
export { PlaneGeometry };
|
|
@@ -59,7 +59,7 @@ class PolyhedronGeometry extends BufferGeometry {
|
|
|
59
59
|
const b = new Vector3();
|
|
60
60
|
const c = new Vector3();
|
|
61
61
|
|
|
62
|
-
// iterate over all faces and apply a
|
|
62
|
+
// iterate over all faces and apply a subdivision with the given detail value
|
|
63
63
|
|
|
64
64
|
for ( let i = 0; i < indices.length; i += 3 ) {
|
|
65
65
|
|
|
@@ -306,4 +306,4 @@ class PolyhedronGeometry extends BufferGeometry {
|
|
|
306
306
|
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
-
export { PolyhedronGeometry
|
|
309
|
+
export { PolyhedronGeometry };
|
|
@@ -9,6 +9,7 @@ class ShapeGeometry extends BufferGeometry {
|
|
|
9
9
|
constructor( shapes = new Shape( [ new Vector2( 0, 0.5 ), new Vector2( - 0.5, - 0.5 ), new Vector2( 0.5, - 0.5 ) ] ), curveSegments = 12 ) {
|
|
10
10
|
|
|
11
11
|
super();
|
|
12
|
+
|
|
12
13
|
this.type = 'ShapeGeometry';
|
|
13
14
|
|
|
14
15
|
this.parameters = {
|
|
@@ -110,7 +111,7 @@ class ShapeGeometry extends BufferGeometry {
|
|
|
110
111
|
|
|
111
112
|
}
|
|
112
113
|
|
|
113
|
-
//
|
|
114
|
+
// indices
|
|
114
115
|
|
|
115
116
|
for ( let i = 0, l = faces.length; i < l; i ++ ) {
|
|
116
117
|
|
|
@@ -181,4 +182,4 @@ function toJSON( shapes, data ) {
|
|
|
181
182
|
|
|
182
183
|
}
|
|
183
184
|
|
|
184
|
-
export { ShapeGeometry
|
|
185
|
+
export { ShapeGeometry };
|
|
@@ -7,6 +7,7 @@ class SphereGeometry extends BufferGeometry {
|
|
|
7
7
|
constructor( radius = 1, widthSegments = 32, heightSegments = 16, phiStart = 0, phiLength = Math.PI * 2, thetaStart = 0, thetaLength = Math.PI ) {
|
|
8
8
|
|
|
9
9
|
super();
|
|
10
|
+
|
|
10
11
|
this.type = 'SphereGeometry';
|
|
11
12
|
|
|
12
13
|
this.parameters = {
|
|
@@ -123,4 +124,4 @@ class SphereGeometry extends BufferGeometry {
|
|
|
123
124
|
|
|
124
125
|
}
|
|
125
126
|
|
|
126
|
-
export { SphereGeometry
|
|
127
|
+
export { SphereGeometry };
|
|
@@ -7,6 +7,7 @@ class TorusGeometry extends BufferGeometry {
|
|
|
7
7
|
constructor( radius = 1, tube = 0.4, radialSegments = 8, tubularSegments = 6, arc = Math.PI * 2 ) {
|
|
8
8
|
|
|
9
9
|
super();
|
|
10
|
+
|
|
10
11
|
this.type = 'TorusGeometry';
|
|
11
12
|
|
|
12
13
|
this.parameters = {
|
|
@@ -106,4 +107,4 @@ class TorusGeometry extends BufferGeometry {
|
|
|
106
107
|
|
|
107
108
|
}
|
|
108
109
|
|
|
109
|
-
export { TorusGeometry
|
|
110
|
+
export { TorusGeometry };
|
|
@@ -7,6 +7,7 @@ class TorusKnotGeometry extends BufferGeometry {
|
|
|
7
7
|
constructor( radius = 1, tube = 0.4, tubularSegments = 64, radialSegments = 8, p = 2, q = 3 ) {
|
|
8
8
|
|
|
9
9
|
super();
|
|
10
|
+
|
|
10
11
|
this.type = 'TorusKnotGeometry';
|
|
11
12
|
|
|
12
13
|
this.parameters = {
|
|
@@ -153,4 +154,4 @@ class TorusKnotGeometry extends BufferGeometry {
|
|
|
153
154
|
|
|
154
155
|
}
|
|
155
156
|
|
|
156
|
-
export { TorusKnotGeometry
|
|
157
|
+
export { TorusKnotGeometry };
|
|
@@ -9,6 +9,7 @@ class TubeGeometry extends BufferGeometry {
|
|
|
9
9
|
constructor( path = new Curves[ 'QuadraticBezierCurve3' ]( new Vector3( - 1, - 1, 0 ), new Vector3( - 1, 1, 0 ), new Vector3( 1, 1, 0 ) ), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false ) {
|
|
10
10
|
|
|
11
11
|
super();
|
|
12
|
+
|
|
12
13
|
this.type = 'TubeGeometry';
|
|
13
14
|
|
|
14
15
|
this.parameters = {
|
|
@@ -189,4 +190,4 @@ class TubeGeometry extends BufferGeometry {
|
|
|
189
190
|
}
|
|
190
191
|
|
|
191
192
|
|
|
192
|
-
export { TubeGeometry
|
|
193
|
+
export { TubeGeometry };
|
package/src/helpers/BoxHelper.js
CHANGED
|
@@ -79,7 +79,6 @@ class BoxHelper extends LineSegments {
|
|
|
79
79
|
|
|
80
80
|
this.geometry.computeBoundingSphere();
|
|
81
81
|
|
|
82
|
-
|
|
83
82
|
}
|
|
84
83
|
|
|
85
84
|
setFromObject( object ) {
|
|
@@ -101,6 +100,13 @@ class BoxHelper extends LineSegments {
|
|
|
101
100
|
|
|
102
101
|
}
|
|
103
102
|
|
|
103
|
+
dispose() {
|
|
104
|
+
|
|
105
|
+
this.geometry.dispose();
|
|
106
|
+
this.material.dispose();
|
|
107
|
+
|
|
108
|
+
}
|
|
109
|
+
|
|
104
110
|
}
|
|
105
111
|
|
|
106
112
|
|