three-stdlib 2.22.10 → 2.23.1
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/dist/_polyfill/CompressedArrayTexture.cjs +12 -0
- package/dist/_polyfill/CompressedArrayTexture.js +6 -6
- package/dist/_polyfill/Data3DTexture.cjs +17 -0
- package/dist/_polyfill/Data3DTexture.js +8 -8
- package/dist/animation/{AnimationClipCreator.mjs → AnimationClipCreator.cjs} +18 -18
- package/dist/animation/AnimationClipCreator.js +18 -18
- package/dist/animation/{CCDIKSolver.mjs → CCDIKSolver.cjs} +32 -32
- package/dist/animation/CCDIKSolver.js +32 -32
- package/dist/animation/{MMDAnimationHelper.mjs → MMDAnimationHelper.cjs} +17 -17
- package/dist/animation/MMDAnimationHelper.js +17 -17
- package/dist/animation/{MMDPhysics.mjs → MMDPhysics.cjs} +25 -25
- package/dist/animation/MMDPhysics.js +25 -25
- package/dist/cameras/{CinematicCamera.mjs → CinematicCamera.cjs} +17 -17
- package/dist/cameras/CinematicCamera.js +17 -17
- package/dist/controls/{ArcballControls.mjs → ArcballControls.cjs} +102 -102
- package/dist/controls/ArcballControls.js +102 -102
- package/dist/controls/{DeviceOrientationControls.mjs → DeviceOrientationControls.cjs} +14 -14
- package/dist/controls/DeviceOrientationControls.js +14 -14
- package/dist/controls/{DragControls.mjs → DragControls.cjs} +12 -12
- package/dist/controls/DragControls.js +12 -12
- package/dist/controls/{FirstPersonControls.mjs → FirstPersonControls.cjs} +16 -16
- package/dist/controls/FirstPersonControls.js +16 -16
- package/dist/controls/{FlyControls.mjs → FlyControls.cjs} +10 -10
- package/dist/controls/FlyControls.js +10 -10
- package/dist/controls/{OrbitControls.mjs → OrbitControls.cjs} +52 -54
- package/dist/controls/OrbitControls.d.ts +4 -4
- package/dist/controls/OrbitControls.js +52 -54
- package/dist/controls/{PointerLockControls.mjs → PointerLockControls.cjs} +8 -8
- package/dist/controls/PointerLockControls.js +8 -8
- package/dist/controls/{TrackballControls.mjs → TrackballControls.cjs} +32 -32
- package/dist/controls/TrackballControls.d.ts +2 -2
- package/dist/controls/TrackballControls.js +32 -32
- package/dist/controls/{TransformControls.mjs → TransformControls.cjs} +169 -169
- package/dist/controls/TransformControls.js +169 -169
- package/dist/controls/experimental/{CameraControls.mjs → CameraControls.cjs} +59 -59
- package/dist/controls/experimental/CameraControls.js +59 -59
- package/dist/csm/{CSM.mjs → CSM.cjs} +17 -17
- package/dist/csm/CSM.js +17 -17
- package/dist/csm/{CSMFrustum.mjs → CSMFrustum.cjs} +7 -7
- package/dist/csm/CSMFrustum.js +7 -7
- package/dist/csm/{CSMHelper.mjs → CSMHelper.cjs} +14 -14
- package/dist/csm/CSMHelper.js +14 -14
- package/dist/csm/{CSMShader.mjs → CSMShader.cjs} +5 -5
- package/dist/csm/CSMShader.js +5 -5
- package/dist/curves/{CurveExtras.mjs → CurveExtras.cjs} +45 -45
- package/dist/curves/CurveExtras.js +45 -45
- package/dist/curves/{NURBSCurve.mjs → NURBSCurve.cjs} +11 -11
- package/dist/curves/NURBSCurve.js +11 -11
- package/dist/curves/{NURBSSurface.mjs → NURBSSurface.cjs} +7 -7
- package/dist/curves/NURBSSurface.js +7 -7
- package/dist/curves/{NURBSUtils.mjs → NURBSUtils.cjs} +17 -17
- package/dist/curves/NURBSUtils.js +17 -17
- package/dist/deprecated/{Geometry.mjs → Geometry.cjs} +51 -51
- package/dist/deprecated/Geometry.js +51 -51
- package/dist/effects/{AnaglyphEffect.mjs → AnaglyphEffect.cjs} +14 -14
- package/dist/effects/AnaglyphEffect.js +14 -14
- package/dist/effects/{AsciiEffect.mjs → AsciiEffect.cjs} +3 -3
- package/dist/effects/AsciiEffect.js +3 -3
- package/dist/effects/{OutlineEffect.mjs → OutlineEffect.cjs} +8 -8
- package/dist/effects/OutlineEffect.js +8 -8
- package/dist/effects/{ParallaxBarrierEffect.mjs → ParallaxBarrierEffect.cjs} +12 -12
- package/dist/effects/ParallaxBarrierEffect.js +12 -12
- package/dist/effects/{PeppersGhostEffect.mjs → PeppersGhostEffect.cjs} +11 -11
- package/dist/effects/PeppersGhostEffect.js +11 -11
- package/dist/effects/{StereoEffect.mjs → StereoEffect.cjs} +6 -6
- package/dist/effects/StereoEffect.js +6 -6
- package/dist/environments/RoomEnvironment.cjs +95 -0
- package/dist/environments/RoomEnvironment.js +23 -40
- package/dist/exporters/{ColladaExporter.mjs → ColladaExporter.cjs} +16 -16
- package/dist/exporters/ColladaExporter.js +16 -16
- package/dist/exporters/{DRACOExporter.mjs → DRACOExporter.cjs} +8 -8
- package/dist/exporters/DRACOExporter.js +8 -8
- package/dist/exporters/{GLTFExporter.mjs → GLTFExporter.cjs} +52 -49
- package/dist/exporters/GLTFExporter.js +52 -49
- package/dist/exporters/{MMDExporter.mjs → MMDExporter.cjs} +10 -10
- package/dist/exporters/MMDExporter.js +10 -10
- package/dist/exporters/{OBJExporter.mjs → OBJExporter.cjs} +13 -13
- package/dist/exporters/OBJExporter.js +13 -13
- package/dist/exporters/{PLYExporter.mjs → PLYExporter.cjs} +8 -8
- package/dist/exporters/PLYExporter.js +8 -8
- package/dist/exporters/{STLExporter.mjs → STLExporter.cjs} +12 -12
- package/dist/exporters/STLExporter.js +12 -12
- package/dist/exporters/{USDZExporter.mjs → USDZExporter.cjs} +10 -10
- package/dist/exporters/USDZExporter.js +10 -10
- package/dist/geometries/{BoxLineGeometry.mjs → BoxLineGeometry.cjs} +6 -6
- package/dist/geometries/BoxLineGeometry.js +6 -6
- package/dist/geometries/ConvexGeometry.cjs +26 -0
- package/dist/geometries/ConvexGeometry.js +9 -9
- package/dist/geometries/{DecalGeometry.mjs → DecalGeometry.cjs} +16 -16
- package/dist/geometries/DecalGeometry.js +16 -16
- package/dist/geometries/{LightningStrike.mjs → LightningStrike.cjs} +45 -45
- package/dist/geometries/LightningStrike.js +45 -45
- package/dist/geometries/{ParametricGeometries.mjs → ParametricGeometries.cjs} +11 -11
- package/dist/geometries/ParametricGeometries.js +11 -11
- package/dist/geometries/{ParametricGeometry.mjs → ParametricGeometry.cjs} +11 -11
- package/dist/geometries/ParametricGeometry.js +11 -11
- package/dist/geometries/{RoundedBoxGeometry.mjs → RoundedBoxGeometry.cjs} +10 -10
- package/dist/geometries/RoundedBoxGeometry.js +10 -10
- package/dist/geometries/{TeapotGeometry.mjs → TeapotGeometry.cjs} +21 -21
- package/dist/geometries/TeapotGeometry.js +21 -21
- package/dist/geometries/{TextGeometry.mjs → TextGeometry.cjs} +6 -6
- package/dist/geometries/TextGeometry.js +6 -6
- package/dist/helpers/{LightProbeHelper.mjs → LightProbeHelper.cjs} +7 -7
- package/dist/helpers/LightProbeHelper.js +7 -7
- package/dist/helpers/{PositionalAudioHelper.mjs → PositionalAudioHelper.cjs} +11 -11
- package/dist/helpers/PositionalAudioHelper.js +11 -11
- package/dist/helpers/{RectAreaLightHelper.mjs → RectAreaLightHelper.cjs} +11 -11
- package/dist/helpers/RectAreaLightHelper.js +11 -11
- package/dist/helpers/{VertexNormalsHelper.mjs → VertexNormalsHelper.cjs} +11 -11
- package/dist/helpers/VertexNormalsHelper.js +11 -11
- package/dist/helpers/{VertexTangentsHelper.mjs → VertexTangentsHelper.cjs} +10 -10
- package/dist/helpers/VertexTangentsHelper.js +10 -10
- package/dist/index.cjs +613 -0
- package/dist/index.js +613 -613
- package/dist/interactive/{HTMLMesh.mjs → HTMLMesh.cjs} +11 -11
- package/dist/interactive/HTMLMesh.js +11 -11
- package/dist/interactive/{InteractiveGroup.mjs → InteractiveGroup.cjs} +8 -8
- package/dist/interactive/InteractiveGroup.js +8 -8
- package/dist/interactive/{SelectionBox.mjs → SelectionBox.cjs} +21 -21
- package/dist/interactive/SelectionBox.js +21 -21
- package/dist/interactive/{SelectionHelper.mjs → SelectionHelper.cjs} +7 -7
- package/dist/interactive/SelectionHelper.js +7 -7
- package/dist/libs/{MeshoptDecoder.mjs → MeshoptDecoder.cjs} +3 -3
- package/dist/libs/MeshoptDecoder.js +3 -3
- package/dist/libs/{MotionControllers.mjs → MotionControllers.cjs} +6 -6
- package/dist/libs/MotionControllers.js +6 -6
- package/dist/lights/{LightProbeGenerator.mjs → LightProbeGenerator.cjs} +16 -16
- package/dist/lights/LightProbeGenerator.js +16 -16
- package/dist/lights/{RectAreaLightUniformsLib.mjs → RectAreaLightUniformsLib.cjs} +42 -42
- package/dist/lights/RectAreaLightUniformsLib.js +42 -42
- package/dist/lines/Line2.cjs +13 -0
- package/dist/lines/Line2.js +8 -8
- package/dist/lines/{LineGeometry.mjs → LineGeometry.cjs} +5 -5
- package/dist/lines/LineGeometry.js +5 -5
- package/dist/lines/{LineMaterial.mjs → LineMaterial.cjs} +10 -10
- package/dist/lines/LineMaterial.js +10 -10
- package/dist/lines/{LineSegments2.mjs → LineSegments2.cjs} +28 -28
- package/dist/lines/LineSegments2.js +28 -28
- package/dist/lines/{LineSegmentsGeometry.mjs → LineSegmentsGeometry.cjs} +18 -18
- package/dist/lines/LineSegmentsGeometry.js +18 -18
- package/dist/lines/Wireframe.cjs +32 -0
- package/dist/lines/Wireframe.js +13 -13
- package/dist/lines/WireframeGeometry2.cjs +13 -0
- package/dist/lines/WireframeGeometry2.js +7 -7
- package/dist/loaders/{3DMLoader.mjs → 3DMLoader.cjs} +37 -37
- package/dist/loaders/3DMLoader.js +37 -37
- package/dist/loaders/{3MFLoader.mjs → 3MFLoader.cjs} +53 -53
- package/dist/loaders/3MFLoader.js +53 -53
- package/dist/loaders/{AMFLoader.mjs → AMFLoader.cjs} +19 -19
- package/dist/loaders/AMFLoader.js +19 -19
- package/dist/loaders/{AssimpLoader.mjs → AssimpLoader.cjs} +41 -41
- package/dist/loaders/AssimpLoader.js +41 -41
- package/dist/loaders/{BVHLoader.mjs → BVHLoader.cjs} +18 -18
- package/dist/loaders/BVHLoader.js +18 -18
- package/dist/loaders/{BasisTextureLoader.mjs → BasisTextureLoader.cjs} +22 -22
- package/dist/loaders/BasisTextureLoader.js +22 -22
- package/dist/loaders/{ColladaLoader.mjs → ColladaLoader.cjs} +76 -76
- package/dist/loaders/ColladaLoader.js +76 -76
- package/dist/loaders/{DDSLoader.mjs → DDSLoader.cjs} +10 -10
- package/dist/loaders/DDSLoader.js +10 -10
- package/dist/loaders/{DRACOLoader.mjs → DRACOLoader.cjs} +12 -12
- package/dist/loaders/DRACOLoader.js +12 -12
- package/dist/loaders/{EXRLoader.mjs → EXRLoader.cjs} +23 -23
- package/dist/loaders/EXRLoader.js +23 -23
- package/dist/loaders/{FBXLoader.mjs → FBXLoader.cjs} +116 -116
- package/dist/loaders/FBXLoader.js +116 -116
- package/dist/loaders/{FontLoader.mjs → FontLoader.cjs} +9 -9
- package/dist/loaders/FontLoader.js +9 -9
- package/dist/loaders/{GCodeLoader.mjs → GCodeLoader.cjs} +13 -13
- package/dist/loaders/GCodeLoader.js +13 -13
- package/dist/loaders/{GLTFLoader.mjs → GLTFLoader.cjs} +112 -112
- package/dist/loaders/GLTFLoader.js +112 -112
- package/dist/loaders/{HDRCubeTextureLoader.mjs → HDRCubeTextureLoader.cjs} +15 -15
- package/dist/loaders/HDRCubeTextureLoader.js +15 -15
- package/dist/loaders/{KMZLoader.mjs → KMZLoader.cjs} +13 -13
- package/dist/loaders/KMZLoader.js +13 -13
- package/dist/loaders/{KTX2Loader.mjs → KTX2Loader.cjs} +65 -65
- package/dist/loaders/KTX2Loader.js +65 -65
- package/dist/loaders/{KTXLoader.mjs → KTXLoader.cjs} +5 -5
- package/dist/loaders/KTXLoader.js +5 -5
- package/dist/loaders/{LDrawLoader.mjs → LDrawLoader.cjs} +39 -39
- package/dist/loaders/LDrawLoader.js +39 -39
- package/dist/loaders/{LUT3dlLoader.mjs → LUT3dlLoader.cjs} +22 -22
- package/dist/loaders/LUT3dlLoader.js +22 -22
- package/dist/loaders/{LUTCubeLoader.mjs → LUTCubeLoader.cjs} +22 -22
- package/dist/loaders/LUTCubeLoader.js +22 -22
- package/dist/loaders/{LWOLoader.mjs → LWOLoader.cjs} +42 -42
- package/dist/loaders/LWOLoader.js +42 -42
- package/dist/loaders/{LottieLoader.mjs → LottieLoader.cjs} +8 -8
- package/dist/loaders/LottieLoader.js +8 -8
- package/dist/loaders/{MD2Loader.mjs → MD2Loader.cjs} +15 -15
- package/dist/loaders/MD2Loader.js +15 -15
- package/dist/loaders/{MDDLoader.mjs → MDDLoader.cjs} +9 -9
- package/dist/loaders/MDDLoader.js +9 -9
- package/dist/loaders/{MMDLoader.mjs → MMDLoader.cjs} +59 -59
- package/dist/loaders/MMDLoader.js +59 -59
- package/dist/loaders/{MTLLoader.mjs → MTLLoader.cjs} +17 -17
- package/dist/loaders/MTLLoader.js +17 -17
- package/dist/loaders/{NRRDLoader.mjs → NRRDLoader.cjs} +17 -17
- package/dist/loaders/NRRDLoader.js +17 -17
- package/dist/loaders/{OBJLoader.mjs → OBJLoader.cjs} +37 -37
- package/dist/loaders/OBJLoader.js +37 -37
- package/dist/loaders/{PCDLoader.mjs → PCDLoader.cjs} +13 -13
- package/dist/loaders/PCDLoader.js +13 -13
- package/dist/loaders/{PDBLoader.mjs → PDBLoader.cjs} +11 -11
- package/dist/loaders/PDBLoader.js +11 -11
- package/dist/loaders/{PLYLoader.mjs → PLYLoader.cjs} +13 -13
- package/dist/loaders/PLYLoader.js +13 -13
- package/dist/loaders/{PRWMLoader.mjs → PRWMLoader.cjs} +9 -9
- package/dist/loaders/PRWMLoader.js +9 -9
- package/dist/loaders/{PVRLoader.mjs → PVRLoader.cjs} +11 -11
- package/dist/loaders/PVRLoader.js +11 -11
- package/dist/loaders/{RGBELoader.mjs → RGBELoader.cjs} +18 -18
- package/dist/loaders/RGBELoader.js +18 -18
- package/dist/loaders/{RGBMLoader.mjs → RGBMLoader.cjs} +16 -16
- package/dist/loaders/RGBMLoader.js +16 -16
- package/dist/loaders/{STLLoader.mjs → STLLoader.cjs} +15 -15
- package/dist/loaders/STLLoader.js +15 -15
- package/dist/loaders/{SVGLoader.mjs → SVGLoader.cjs} +55 -55
- package/dist/loaders/SVGLoader.js +55 -55
- package/dist/loaders/{TDSLoader.mjs → TDSLoader.cjs} +20 -20
- package/dist/loaders/TDSLoader.js +20 -20
- package/dist/loaders/{TGALoader.mjs → TGALoader.cjs} +6 -6
- package/dist/loaders/TGALoader.js +6 -6
- package/dist/loaders/{TTFLoader.mjs → TTFLoader.cjs} +9 -9
- package/dist/loaders/TTFLoader.js +9 -9
- package/dist/loaders/{TiltLoader.mjs → TiltLoader.cjs} +26 -26
- package/dist/loaders/TiltLoader.js +26 -26
- package/dist/loaders/{VOXLoader.mjs → VOXLoader.cjs} +18 -18
- package/dist/loaders/VOXLoader.js +18 -18
- package/dist/loaders/{VRMLLoader.mjs → VRMLLoader.cjs} +125 -125
- package/dist/loaders/VRMLLoader.js +125 -125
- package/dist/loaders/{VRMLoader.mjs → VRMLoader.cjs} +7 -7
- package/dist/loaders/VRMLoader.js +7 -7
- package/dist/loaders/{VTKLoader.mjs → VTKLoader.cjs} +24 -24
- package/dist/loaders/VTKLoader.js +24 -24
- package/dist/loaders/{XLoader.mjs → XLoader.cjs} +42 -42
- package/dist/loaders/XLoader.js +42 -42
- package/dist/loaders/{XYZLoader.mjs → XYZLoader.cjs} +9 -9
- package/dist/loaders/XYZLoader.js +9 -9
- package/dist/loaders/lwo/{IFFParser.mjs → IFFParser.cjs} +7 -7
- package/dist/loaders/lwo/IFFParser.js +7 -7
- package/dist/loaders/lwo/{LWO2Parser.mjs → LWO2Parser.cjs} +3 -3
- package/dist/loaders/lwo/LWO2Parser.js +3 -3
- package/dist/loaders/lwo/{LWO3Parser.mjs → LWO3Parser.cjs} +3 -3
- package/dist/loaders/lwo/LWO3Parser.js +3 -3
- package/dist/math/{Capsule.mjs → Capsule.cjs} +8 -8
- package/dist/math/Capsule.js +8 -8
- package/dist/math/{ColorConverter.mjs → ColorConverter.cjs} +7 -7
- package/dist/math/ColorConverter.js +7 -7
- package/dist/math/{ConvexHull.mjs → ConvexHull.cjs} +18 -18
- package/dist/math/ConvexHull.js +18 -18
- package/dist/math/{ImprovedNoise.mjs → ImprovedNoise.cjs} +3 -3
- package/dist/math/ImprovedNoise.js +3 -3
- package/dist/math/{Lut.mjs → Lut.cjs} +14 -14
- package/dist/math/Lut.js +14 -14
- package/dist/math/{MeshSurfaceSampler.mjs → MeshSurfaceSampler.cjs} +6 -6
- package/dist/math/MeshSurfaceSampler.js +6 -6
- package/dist/math/{OBB.mjs → OBB.cjs} +21 -21
- package/dist/math/OBB.js +21 -21
- package/dist/math/{Octree.mjs → Octree.cjs} +19 -19
- package/dist/math/Octree.js +19 -19
- package/dist/math/{SimplexNoise.mjs → SimplexNoise.cjs} +3 -3
- package/dist/math/SimplexNoise.js +3 -3
- package/dist/misc/{ConvexObjectBreaker.mjs → ConvexObjectBreaker.cjs} +25 -25
- package/dist/misc/ConvexObjectBreaker.js +25 -25
- package/dist/misc/{GPUComputationRenderer.mjs → GPUComputationRenderer.cjs} +19 -19
- package/dist/misc/GPUComputationRenderer.js +19 -19
- package/dist/misc/{Gyroscope.mjs → Gyroscope.cjs} +11 -11
- package/dist/misc/Gyroscope.js +11 -11
- package/dist/misc/{MD2Character.mjs → MD2Character.cjs} +14 -14
- package/dist/misc/MD2Character.js +14 -14
- package/dist/misc/{MD2CharacterComplex.mjs → MD2CharacterComplex.cjs} +20 -20
- package/dist/misc/MD2CharacterComplex.js +20 -20
- package/dist/misc/{MorphAnimMesh.mjs → MorphAnimMesh.cjs} +8 -8
- package/dist/misc/MorphAnimMesh.js +8 -8
- package/dist/misc/{MorphBlendMesh.mjs → MorphBlendMesh.cjs} +6 -6
- package/dist/misc/MorphBlendMesh.js +6 -6
- package/dist/misc/{ProgressiveLightmap.mjs → ProgressiveLightmap.cjs} +17 -17
- package/dist/misc/ProgressiveLightmap.js +17 -17
- package/dist/misc/{RollerCoaster.mjs → RollerCoaster.cjs} +77 -77
- package/dist/misc/RollerCoaster.js +77 -77
- package/dist/misc/{Timer.mjs → Timer.cjs} +3 -3
- package/dist/misc/Timer.js +3 -3
- package/dist/misc/{TubePainter.mjs → TubePainter.cjs} +24 -24
- package/dist/misc/TubePainter.js +24 -24
- package/dist/misc/{Volume.mjs → Volume.cjs} +18 -18
- package/dist/misc/Volume.js +18 -18
- package/dist/misc/{VolumeSlice.mjs → VolumeSlice.cjs} +10 -10
- package/dist/misc/VolumeSlice.js +10 -10
- package/dist/misc/{WebGL.mjs → WebGL.cjs} +7 -7
- package/dist/misc/WebGL.js +7 -7
- package/dist/modifiers/{CurveModifier.mjs → CurveModifier.cjs} +17 -17
- package/dist/modifiers/CurveModifier.js +17 -17
- package/dist/modifiers/{EdgeSplitModifier.mjs → EdgeSplitModifier.cjs} +12 -13
- package/dist/modifiers/EdgeSplitModifier.js +13 -12
- package/dist/modifiers/{SimplifyModifier.mjs → SimplifyModifier.cjs} +12 -12
- package/dist/modifiers/SimplifyModifier.js +12 -12
- package/dist/modifiers/{TessellateModifier.mjs → TessellateModifier.cjs} +30 -30
- package/dist/modifiers/TessellateModifier.js +30 -30
- package/dist/objects/{GroundProjectedEnv.mjs → GroundProjectedEnv.cjs} +8 -8
- package/dist/objects/GroundProjectedEnv.js +8 -8
- package/dist/objects/{Lensflare.mjs → Lensflare.cjs} +37 -37
- package/dist/objects/Lensflare.js +37 -37
- package/dist/objects/{LightningStorm.mjs → LightningStorm.cjs} +17 -17
- package/dist/objects/LightningStorm.js +17 -17
- package/dist/objects/{MarchingCubes.mjs → MarchingCubes.cjs} +21 -21
- package/dist/objects/MarchingCubes.js +21 -21
- package/dist/objects/{Reflector.mjs → Reflector.cjs} +23 -23
- package/dist/objects/Reflector.js +23 -23
- package/dist/objects/{ReflectorForSSRPass.mjs → ReflectorForSSRPass.cjs} +33 -33
- package/dist/objects/ReflectorForSSRPass.js +33 -33
- package/dist/objects/ReflectorRTT.cjs +10 -0
- package/dist/objects/ReflectorRTT.js +5 -5
- package/dist/objects/{Refractor.mjs → Refractor.cjs} +26 -26
- package/dist/objects/Refractor.js +26 -26
- package/dist/objects/{ShadowMesh.mjs → ShadowMesh.cjs} +9 -9
- package/dist/objects/ShadowMesh.js +9 -9
- package/dist/objects/{Sky.mjs → Sky.cjs} +11 -11
- package/dist/objects/Sky.js +11 -11
- package/dist/objects/{Water.mjs → Water.cjs} +33 -33
- package/dist/objects/Water.js +33 -33
- package/dist/objects/{Water2.mjs → Water2.cjs} +20 -20
- package/dist/objects/Water2.js +20 -20
- package/dist/physics/{AmmoPhysics.mjs → AmmoPhysics.cjs} +3 -3
- package/dist/physics/AmmoPhysics.js +3 -3
- package/dist/postprocessing/{AdaptiveToneMappingPass.mjs → AdaptiveToneMappingPass.cjs} +32 -32
- package/dist/postprocessing/AdaptiveToneMappingPass.js +32 -32
- package/dist/postprocessing/{AfterimagePass.mjs → AfterimagePass.cjs} +21 -21
- package/dist/postprocessing/AfterimagePass.js +21 -21
- package/dist/postprocessing/{BloomPass.mjs → BloomPass.cjs} +20 -20
- package/dist/postprocessing/BloomPass.js +20 -20
- package/dist/postprocessing/{BokehPass.mjs → BokehPass.cjs} +19 -19
- package/dist/postprocessing/BokehPass.js +19 -19
- package/dist/postprocessing/{ClearPass.mjs → ClearPass.cjs} +7 -7
- package/dist/postprocessing/ClearPass.js +7 -7
- package/dist/postprocessing/{CubeTexturePass.mjs → CubeTexturePass.cjs} +14 -14
- package/dist/postprocessing/CubeTexturePass.js +14 -14
- package/dist/postprocessing/{DotScreenPass.mjs → DotScreenPass.cjs} +12 -12
- package/dist/postprocessing/DotScreenPass.js +12 -12
- package/dist/postprocessing/{EffectComposer.mjs → EffectComposer.cjs} +20 -20
- package/dist/postprocessing/EffectComposer.js +20 -20
- package/dist/postprocessing/{FilmPass.mjs → FilmPass.cjs} +12 -12
- package/dist/postprocessing/FilmPass.js +12 -12
- package/dist/postprocessing/{GlitchPass.mjs → GlitchPass.cjs} +26 -26
- package/dist/postprocessing/GlitchPass.js +26 -26
- package/dist/postprocessing/{HalftonePass.mjs → HalftonePass.cjs} +13 -13
- package/dist/postprocessing/HalftonePass.js +13 -13
- package/dist/postprocessing/{LUTPass.mjs → LUTPass.cjs} +5 -5
- package/dist/postprocessing/LUTPass.js +5 -5
- package/dist/postprocessing/{MaskPass.mjs → MaskPass.cjs} +7 -7
- package/dist/postprocessing/MaskPass.js +7 -7
- package/dist/postprocessing/{OutlinePass.mjs → OutlinePass.cjs} +45 -45
- package/dist/postprocessing/OutlinePass.js +45 -45
- package/dist/postprocessing/{Pass.mjs → Pass.cjs} +8 -8
- package/dist/postprocessing/Pass.js +8 -8
- package/dist/postprocessing/{RenderPass.mjs → RenderPass.cjs} +7 -7
- package/dist/postprocessing/RenderPass.js +7 -7
- package/dist/postprocessing/{RenderPixelatedPass.mjs → RenderPixelatedPass.cjs} +18 -18
- package/dist/postprocessing/RenderPixelatedPass.js +18 -18
- package/dist/postprocessing/{SAOPass.mjs → SAOPass.cjs} +69 -69
- package/dist/postprocessing/SAOPass.js +69 -69
- package/dist/postprocessing/{SMAAPass.mjs → SMAAPass.cjs} +30 -30
- package/dist/postprocessing/SMAAPass.js +30 -30
- package/dist/postprocessing/{SSAARenderPass.mjs → SSAARenderPass.cjs} +19 -19
- package/dist/postprocessing/SSAARenderPass.js +19 -19
- package/dist/postprocessing/{SSAOPass.mjs → SSAOPass.cjs} +63 -63
- package/dist/postprocessing/SSAOPass.js +63 -63
- package/dist/postprocessing/{SSRPass.mjs → SSRPass.cjs} +86 -86
- package/dist/postprocessing/SSRPass.js +86 -86
- package/dist/postprocessing/{SavePass.mjs → SavePass.cjs} +13 -13
- package/dist/postprocessing/SavePass.js +13 -13
- package/dist/postprocessing/{ShaderPass.mjs → ShaderPass.cjs} +10 -10
- package/dist/postprocessing/ShaderPass.js +10 -10
- package/dist/postprocessing/{TAARenderPass.mjs → TAARenderPass.cjs} +8 -8
- package/dist/postprocessing/TAARenderPass.js +8 -8
- package/dist/postprocessing/{TexturePass.mjs → TexturePass.cjs} +11 -11
- package/dist/postprocessing/TexturePass.js +11 -11
- package/dist/postprocessing/{UnrealBloomPass.mjs → UnrealBloomPass.cjs} +36 -36
- package/dist/postprocessing/UnrealBloomPass.js +36 -36
- package/dist/postprocessing/{WaterPass.mjs → WaterPass.cjs} +10 -10
- package/dist/postprocessing/WaterPass.js +10 -10
- package/dist/renderers/{CSS2DRenderer.mjs → CSS2DRenderer.cjs} +12 -12
- package/dist/renderers/CSS2DRenderer.js +12 -12
- package/dist/renderers/{CSS3DRenderer.mjs → CSS3DRenderer.cjs} +12 -12
- package/dist/renderers/CSS3DRenderer.js +12 -12
- package/dist/renderers/{Projector.mjs → Projector.cjs} +21 -21
- package/dist/renderers/Projector.js +21 -21
- package/dist/renderers/{SVGRenderer.mjs → SVGRenderer.cjs} +12 -12
- package/dist/renderers/SVGRenderer.js +12 -12
- package/dist/shaders/{ACESFilmicToneMappingShader.mjs → ACESFilmicToneMappingShader.cjs} +3 -3
- package/dist/shaders/ACESFilmicToneMappingShader.js +3 -3
- package/dist/shaders/{AfterimageShader.mjs → AfterimageShader.cjs} +3 -3
- package/dist/shaders/AfterimageShader.js +3 -3
- package/dist/shaders/{BasicShader.mjs → BasicShader.cjs} +3 -3
- package/dist/shaders/BasicShader.js +3 -3
- package/dist/shaders/{BleachBypassShader.mjs → BleachBypassShader.cjs} +3 -3
- package/dist/shaders/BleachBypassShader.js +3 -3
- package/dist/shaders/{BlendShader.mjs → BlendShader.cjs} +3 -3
- package/dist/shaders/BlendShader.js +3 -3
- package/dist/shaders/{BokehShader.mjs → BokehShader.cjs} +3 -3
- package/dist/shaders/BokehShader.js +3 -3
- package/dist/shaders/{BokehShader2.mjs → BokehShader2.cjs} +6 -6
- package/dist/shaders/BokehShader2.js +6 -6
- package/dist/shaders/{BrightnessContrastShader.mjs → BrightnessContrastShader.cjs} +3 -3
- package/dist/shaders/BrightnessContrastShader.js +3 -3
- package/dist/shaders/{ColorCorrectionShader.mjs → ColorCorrectionShader.cjs} +7 -7
- package/dist/shaders/ColorCorrectionShader.js +7 -7
- package/dist/shaders/{ColorifyShader.mjs → ColorifyShader.cjs} +5 -5
- package/dist/shaders/ColorifyShader.js +5 -5
- package/dist/shaders/{ConvolutionShader.mjs → ConvolutionShader.cjs} +5 -5
- package/dist/shaders/ConvolutionShader.js +5 -5
- package/dist/shaders/{CopyShader.mjs → CopyShader.cjs} +3 -3
- package/dist/shaders/CopyShader.js +3 -3
- package/dist/shaders/{DOFMipMapShader.mjs → DOFMipMapShader.cjs} +3 -3
- package/dist/shaders/DOFMipMapShader.js +3 -3
- package/dist/shaders/{DepthLimitedBlurShader.mjs → DepthLimitedBlurShader.cjs} +7 -7
- package/dist/shaders/DepthLimitedBlurShader.js +7 -7
- package/dist/shaders/{DigitalGlitch.mjs → DigitalGlitch.cjs} +3 -3
- package/dist/shaders/DigitalGlitch.js +3 -3
- package/dist/shaders/{DotScreenShader.mjs → DotScreenShader.cjs} +6 -6
- package/dist/shaders/DotScreenShader.js +6 -6
- package/dist/shaders/{FXAAShader.mjs → FXAAShader.cjs} +5 -5
- package/dist/shaders/FXAAShader.js +5 -5
- package/dist/shaders/{FilmShader.mjs → FilmShader.cjs} +3 -3
- package/dist/shaders/FilmShader.js +3 -3
- package/dist/shaders/{FocusShader.mjs → FocusShader.cjs} +3 -3
- package/dist/shaders/FocusShader.js +3 -3
- package/dist/shaders/{FreiChenShader.mjs → FreiChenShader.cjs} +5 -5
- package/dist/shaders/FreiChenShader.js +5 -5
- package/dist/shaders/{FresnelShader.mjs → FresnelShader.cjs} +3 -3
- package/dist/shaders/FresnelShader.js +3 -3
- package/dist/shaders/{GammaCorrectionShader.mjs → GammaCorrectionShader.cjs} +3 -3
- package/dist/shaders/GammaCorrectionShader.js +3 -3
- package/dist/shaders/{GodRaysShader.mjs → GodRaysShader.cjs} +11 -11
- package/dist/shaders/GodRaysShader.js +11 -11
- package/dist/shaders/{HalftoneShader.mjs → HalftoneShader.cjs} +3 -3
- package/dist/shaders/HalftoneShader.js +3 -3
- package/dist/shaders/{HorizontalBlurShader.mjs → HorizontalBlurShader.cjs} +3 -3
- package/dist/shaders/HorizontalBlurShader.js +3 -3
- package/dist/shaders/{HorizontalTiltShiftShader.mjs → HorizontalTiltShiftShader.cjs} +3 -3
- package/dist/shaders/HorizontalTiltShiftShader.js +3 -3
- package/dist/shaders/{HueSaturationShader.mjs → HueSaturationShader.cjs} +3 -3
- package/dist/shaders/HueSaturationShader.js +3 -3
- package/dist/shaders/{KaleidoShader.mjs → KaleidoShader.cjs} +3 -3
- package/dist/shaders/KaleidoShader.js +3 -3
- package/dist/shaders/{LuminosityHighPassShader.mjs → LuminosityHighPassShader.cjs} +5 -5
- package/dist/shaders/LuminosityHighPassShader.js +5 -5
- package/dist/shaders/{LuminosityShader.mjs → LuminosityShader.cjs} +3 -3
- package/dist/shaders/LuminosityShader.js +3 -3
- package/dist/shaders/{MirrorShader.mjs → MirrorShader.cjs} +3 -3
- package/dist/shaders/MirrorShader.js +3 -3
- package/dist/shaders/{NormalMapShader.mjs → NormalMapShader.cjs} +6 -6
- package/dist/shaders/NormalMapShader.js +6 -6
- package/dist/shaders/{ParallaxShader.mjs → ParallaxShader.cjs} +3 -3
- package/dist/shaders/ParallaxShader.js +3 -3
- package/dist/shaders/{PixelShader.mjs → PixelShader.cjs} +3 -3
- package/dist/shaders/PixelShader.js +3 -3
- package/dist/shaders/{RGBShiftShader.mjs → RGBShiftShader.cjs} +3 -3
- package/dist/shaders/RGBShiftShader.js +3 -3
- package/dist/shaders/{SAOShader.mjs → SAOShader.cjs} +7 -7
- package/dist/shaders/SAOShader.js +7 -7
- package/dist/shaders/{SMAAShader.mjs → SMAAShader.cjs} +9 -9
- package/dist/shaders/SMAAShader.js +9 -9
- package/dist/shaders/{SSAOShader.mjs → SSAOShader.cjs} +10 -10
- package/dist/shaders/SSAOShader.js +10 -10
- package/dist/shaders/{SSRShader.mjs → SSRShader.cjs} +10 -10
- package/dist/shaders/SSRShader.js +10 -10
- package/dist/shaders/{SepiaShader.mjs → SepiaShader.cjs} +3 -3
- package/dist/shaders/SepiaShader.js +3 -3
- package/dist/shaders/{SobelOperatorShader.mjs → SobelOperatorShader.cjs} +5 -5
- package/dist/shaders/SobelOperatorShader.js +5 -5
- package/dist/shaders/{SubsurfaceScatteringShader.mjs → SubsurfaceScatteringShader.cjs} +13 -13
- package/dist/shaders/SubsurfaceScatteringShader.js +13 -13
- package/dist/shaders/{TechnicolorShader.mjs → TechnicolorShader.cjs} +3 -3
- package/dist/shaders/TechnicolorShader.js +3 -3
- package/dist/shaders/{ToneMapShader.mjs → ToneMapShader.cjs} +3 -3
- package/dist/shaders/ToneMapShader.js +3 -3
- package/dist/shaders/{ToonShader.mjs → ToonShader.cjs} +32 -32
- package/dist/shaders/ToonShader.js +32 -32
- package/dist/shaders/{TriangleBlurShader.mjs → TriangleBlurShader.cjs} +5 -5
- package/dist/shaders/TriangleBlurShader.js +5 -5
- package/dist/shaders/{UnpackDepthRGBAShader.mjs → UnpackDepthRGBAShader.cjs} +3 -3
- package/dist/shaders/UnpackDepthRGBAShader.js +3 -3
- package/dist/shaders/{VerticalBlurShader.mjs → VerticalBlurShader.cjs} +3 -3
- package/dist/shaders/VerticalBlurShader.js +3 -3
- package/dist/shaders/{VerticalTiltShiftShader.mjs → VerticalTiltShiftShader.cjs} +3 -3
- package/dist/shaders/VerticalTiltShiftShader.js +3 -3
- package/dist/shaders/{VignetteShader.mjs → VignetteShader.cjs} +3 -3
- package/dist/shaders/VignetteShader.js +3 -3
- package/dist/shaders/{VolumeShader.mjs → VolumeShader.cjs} +6 -6
- package/dist/shaders/VolumeShader.js +6 -6
- package/dist/shaders/{WaterRefractionShader.mjs → WaterRefractionShader.cjs} +3 -3
- package/dist/shaders/WaterRefractionShader.js +3 -3
- package/dist/shaders/types.cjs +1 -0
- package/dist/shaders/types.js +1 -1
- package/dist/textures/{FlakesTexture.mjs → FlakesTexture.cjs} +3 -3
- package/dist/textures/FlakesTexture.js +3 -3
- package/dist/types/Loader.cjs +26 -0
- package/dist/types/Loader.js +5 -22
- package/dist/types/helpers.cjs +4 -0
- package/dist/types/helpers.js +3 -3
- package/dist/utils/{BufferGeometryUtils.mjs → BufferGeometryUtils.cjs} +41 -41
- package/dist/utils/BufferGeometryUtils.js +41 -41
- package/dist/utils/{GeometryCompressionUtils.mjs → GeometryCompressionUtils.cjs} +94 -94
- package/dist/utils/GeometryCompressionUtils.js +94 -94
- package/dist/utils/{GeometryUtils.mjs → GeometryUtils.cjs} +18 -18
- package/dist/utils/GeometryUtils.js +18 -18
- package/dist/utils/{RoughnessMipmapper.mjs → RoughnessMipmapper.cjs} +13 -13
- package/dist/utils/RoughnessMipmapper.js +13 -13
- package/dist/utils/{SceneUtils.mjs → SceneUtils.cjs} +8 -8
- package/dist/utils/SceneUtils.js +8 -8
- package/dist/utils/{ShadowMapViewer.mjs → ShadowMapViewer.cjs} +18 -18
- package/dist/utils/ShadowMapViewer.js +18 -18
- package/dist/utils/{SkeletonUtils.mjs → SkeletonUtils.cjs} +10 -10
- package/dist/utils/SkeletonUtils.js +10 -10
- package/dist/utils/{UVsDebug.mjs → UVsDebug.cjs} +7 -7
- package/dist/utils/UVsDebug.js +7 -7
- package/dist/utils/{WorkerPool.mjs → WorkerPool.cjs} +3 -3
- package/dist/utils/WorkerPool.js +3 -3
- package/dist/webxr/{ARButton.mjs → ARButton.cjs} +3 -3
- package/dist/webxr/ARButton.js +3 -3
- package/dist/webxr/{OculusHandModel.mjs → OculusHandModel.cjs} +9 -9
- package/dist/webxr/OculusHandModel.js +9 -9
- package/dist/webxr/{OculusHandPointerModel.mjs → OculusHandPointerModel.cjs} +41 -24
- package/dist/webxr/OculusHandPointerModel.js +24 -41
- package/dist/webxr/Text2D.cjs +48 -0
- package/dist/webxr/Text2D.js +9 -26
- package/dist/webxr/{VRButton.mjs → VRButton.cjs} +3 -3
- package/dist/webxr/VRButton.js +3 -3
- package/dist/webxr/{XRControllerModelFactory.mjs → XRControllerModelFactory.cjs} +18 -18
- package/dist/webxr/XRControllerModelFactory.js +18 -18
- package/dist/webxr/{XREstimatedLight.mjs → XREstimatedLight.cjs} +8 -8
- package/dist/webxr/XREstimatedLight.js +8 -8
- package/dist/webxr/{XRHandMeshModel.mjs → XRHandMeshModel.cjs} +5 -5
- package/dist/webxr/XRHandMeshModel.js +5 -5
- package/dist/webxr/{XRHandModelFactory.mjs → XRHandModelFactory.cjs} +10 -10
- package/dist/webxr/XRHandModelFactory.js +10 -10
- package/dist/webxr/{XRHandPrimitiveModel.mjs → XRHandPrimitiveModel.cjs} +11 -11
- package/dist/webxr/XRHandPrimitiveModel.js +11 -11
- package/package.json +3 -3
- package/dist/_polyfill/CompressedArrayTexture.mjs +0 -12
- package/dist/_polyfill/Data3DTexture.mjs +0 -17
- package/dist/environments/RoomEnvironment.mjs +0 -78
- package/dist/geometries/ConvexGeometry.mjs +0 -26
- package/dist/index.mjs +0 -613
- package/dist/lines/Line2.mjs +0 -13
- package/dist/lines/Wireframe.mjs +0 -32
- package/dist/lines/WireframeGeometry2.mjs +0 -13
- package/dist/objects/ReflectorRTT.mjs +0 -10
- package/dist/shaders/types.mjs +0 -1
- package/dist/types/Loader.mjs +0 -9
- package/dist/types/helpers.mjs +0 -4
- package/dist/webxr/Text2D.mjs +0 -31
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const mmdParser = require("mmd-parser");
|
|
6
|
-
class MMDLoader extends THREE.Loader {
|
|
1
|
+
import { Loader, FileLoader, LoaderUtils, SkinnedMesh, Skeleton, Bone, Vector3, Float32BufferAttribute, BufferGeometry, Uint16BufferAttribute, TextureLoader, Color, CustomBlending, SrcAlphaFactor, OneMinusSrcAlphaFactor, DstAlphaFactor, DoubleSide, FrontSide, MultiplyOperation, AddOperation, MeshToonMaterial, NearestFilter, RepeatWrapping, AnimationClip, VectorKeyframeTrack, QuaternionKeyframeTrack, NumberKeyframeTrack, Quaternion, Euler, Interpolant } from "three";
|
|
2
|
+
import { TGALoader } from "./TGALoader.js";
|
|
3
|
+
import { Parser } from "mmd-parser";
|
|
4
|
+
class MMDLoader extends Loader {
|
|
7
5
|
constructor(manager) {
|
|
8
6
|
super(manager);
|
|
9
|
-
this.loader = new
|
|
7
|
+
this.loader = new FileLoader(this.manager);
|
|
10
8
|
this.parser = null;
|
|
11
9
|
this.meshBuilder = new MeshBuilder(this.manager);
|
|
12
10
|
this.animationBuilder = new AnimationBuilder();
|
|
@@ -36,7 +34,7 @@ class MMDLoader extends THREE.Loader {
|
|
|
36
34
|
} else if (this.path !== "") {
|
|
37
35
|
resourcePath = this.path;
|
|
38
36
|
} else {
|
|
39
|
-
resourcePath =
|
|
37
|
+
resourcePath = LoaderUtils.extractUrlBase(url);
|
|
40
38
|
}
|
|
41
39
|
const modelExtension = this._extractExtension(url).toLowerCase();
|
|
42
40
|
if (modelExtension !== "pmd" && modelExtension !== "pmx") {
|
|
@@ -201,7 +199,7 @@ class MMDLoader extends THREE.Loader {
|
|
|
201
199
|
}
|
|
202
200
|
_getParser() {
|
|
203
201
|
if (this.parser === null) {
|
|
204
|
-
this.parser = new
|
|
202
|
+
this.parser = new Parser();
|
|
205
203
|
}
|
|
206
204
|
return this.parser;
|
|
207
205
|
}
|
|
@@ -243,8 +241,8 @@ class MeshBuilder {
|
|
|
243
241
|
build(data, resourcePath, onProgress, onError) {
|
|
244
242
|
const geometry = this.geometryBuilder.build(data);
|
|
245
243
|
const material = this.materialBuilder.setCrossOrigin(this.crossOrigin).setResourcePath(resourcePath).build(data, geometry, onProgress, onError);
|
|
246
|
-
const mesh = new
|
|
247
|
-
const skeleton = new
|
|
244
|
+
const mesh = new SkinnedMesh(geometry, material);
|
|
245
|
+
const skeleton = new Skeleton(initBones(mesh));
|
|
248
246
|
mesh.bind(skeleton);
|
|
249
247
|
return mesh;
|
|
250
248
|
}
|
|
@@ -255,7 +253,7 @@ function initBones(mesh) {
|
|
|
255
253
|
if (geometry && geometry.bones !== void 0) {
|
|
256
254
|
for (let i = 0, il = geometry.bones.length; i < il; i++) {
|
|
257
255
|
const gbone = geometry.bones[i];
|
|
258
|
-
const bone = new
|
|
256
|
+
const bone = new Bone();
|
|
259
257
|
bones.push(bone);
|
|
260
258
|
bone.name = gbone.name;
|
|
261
259
|
bone.position.fromArray(gbone.pos);
|
|
@@ -369,7 +367,7 @@ class GeometryBuilder {
|
|
|
369
367
|
link.index = ik.links[j].index;
|
|
370
368
|
link.enabled = true;
|
|
371
369
|
if (data.bones[link.index].name.indexOf("ひざ") >= 0) {
|
|
372
|
-
link.limitation = new
|
|
370
|
+
link.limitation = new Vector3(1, 0, 0);
|
|
373
371
|
}
|
|
374
372
|
param.links.push(link);
|
|
375
373
|
}
|
|
@@ -400,8 +398,8 @@ class GeometryBuilder {
|
|
|
400
398
|
rotationMax[1] = -rotationMin[1];
|
|
401
399
|
rotationMin[0] = tmp1;
|
|
402
400
|
rotationMin[1] = tmp2;
|
|
403
|
-
link.rotationMin = new
|
|
404
|
-
link.rotationMax = new
|
|
401
|
+
link.rotationMin = new Vector3().fromArray(rotationMin);
|
|
402
|
+
link.rotationMax = new Vector3().fromArray(rotationMax);
|
|
405
403
|
}
|
|
406
404
|
param.links.push(link);
|
|
407
405
|
}
|
|
@@ -465,7 +463,7 @@ class GeometryBuilder {
|
|
|
465
463
|
for (let i = 0; i < data.metadata.morphCount; i++) {
|
|
466
464
|
const morph = data.morphs[i];
|
|
467
465
|
const params = { name: morph.name };
|
|
468
|
-
const attribute = new
|
|
466
|
+
const attribute = new Float32BufferAttribute(data.metadata.vertexCount * 3, 3);
|
|
469
467
|
attribute.name = morph.name;
|
|
470
468
|
for (let j = 0; j < data.metadata.vertexCount * 3; j++) {
|
|
471
469
|
attribute.array[j] = positions[j];
|
|
@@ -529,12 +527,12 @@ class GeometryBuilder {
|
|
|
529
527
|
}
|
|
530
528
|
constraints.push(params);
|
|
531
529
|
}
|
|
532
|
-
const geometry = new
|
|
533
|
-
geometry.setAttribute("position", new
|
|
534
|
-
geometry.setAttribute("normal", new
|
|
535
|
-
geometry.setAttribute("uv", new
|
|
536
|
-
geometry.setAttribute("skinIndex", new
|
|
537
|
-
geometry.setAttribute("skinWeight", new
|
|
530
|
+
const geometry = new BufferGeometry();
|
|
531
|
+
geometry.setAttribute("position", new Float32BufferAttribute(positions, 3));
|
|
532
|
+
geometry.setAttribute("normal", new Float32BufferAttribute(normals, 3));
|
|
533
|
+
geometry.setAttribute("uv", new Float32BufferAttribute(uvs, 2));
|
|
534
|
+
geometry.setAttribute("skinIndex", new Uint16BufferAttribute(skinIndices, 4));
|
|
535
|
+
geometry.setAttribute("skinWeight", new Float32BufferAttribute(skinWeights, 4));
|
|
538
536
|
geometry.setIndex(indices);
|
|
539
537
|
for (let i = 0, il = groups.length; i < il; i++) {
|
|
540
538
|
geometry.addGroup(groups[i].offset, groups[i].count, i);
|
|
@@ -558,7 +556,7 @@ class GeometryBuilder {
|
|
|
558
556
|
class MaterialBuilder {
|
|
559
557
|
constructor(manager) {
|
|
560
558
|
this.manager = manager;
|
|
561
|
-
this.textureLoader = new
|
|
559
|
+
this.textureLoader = new TextureLoader(this.manager);
|
|
562
560
|
this.tgaLoader = null;
|
|
563
561
|
this.crossOrigin = "anonymous";
|
|
564
562
|
this.resourcePath = void 0;
|
|
@@ -595,22 +593,22 @@ class MaterialBuilder {
|
|
|
595
593
|
const params = { userData: {} };
|
|
596
594
|
if (material.name !== void 0)
|
|
597
595
|
params.name = material.name;
|
|
598
|
-
params.color = new
|
|
596
|
+
params.color = new Color().fromArray(material.diffuse);
|
|
599
597
|
params.opacity = material.diffuse[3];
|
|
600
|
-
params.emissive = new
|
|
598
|
+
params.emissive = new Color().fromArray(material.ambient);
|
|
601
599
|
params.transparent = params.opacity !== 1;
|
|
602
600
|
params.skinning = geometry.bones.length > 0 ? true : false;
|
|
603
601
|
params.morphTargets = geometry.morphTargets.length > 0 ? true : false;
|
|
604
602
|
params.fog = true;
|
|
605
|
-
params.blending =
|
|
606
|
-
params.blendSrc =
|
|
607
|
-
params.blendDst =
|
|
608
|
-
params.blendSrcAlpha =
|
|
609
|
-
params.blendDstAlpha =
|
|
603
|
+
params.blending = CustomBlending;
|
|
604
|
+
params.blendSrc = SrcAlphaFactor;
|
|
605
|
+
params.blendDst = OneMinusSrcAlphaFactor;
|
|
606
|
+
params.blendSrcAlpha = SrcAlphaFactor;
|
|
607
|
+
params.blendDstAlpha = DstAlphaFactor;
|
|
610
608
|
if (data.metadata.format === "pmx" && (material.flag & 1) === 1) {
|
|
611
|
-
params.side =
|
|
609
|
+
params.side = DoubleSide;
|
|
612
610
|
} else {
|
|
613
|
-
params.side = params.opacity === 1 ?
|
|
611
|
+
params.side = params.opacity === 1 ? FrontSide : DoubleSide;
|
|
614
612
|
}
|
|
615
613
|
if (data.metadata.format === "pmd") {
|
|
616
614
|
if (material.fileName) {
|
|
@@ -620,7 +618,7 @@ class MaterialBuilder {
|
|
|
620
618
|
if (fileNames.length > 1) {
|
|
621
619
|
const extension = fileNames[1].slice(-4).toLowerCase();
|
|
622
620
|
params.envMap = this._loadTexture(fileNames[1], textures);
|
|
623
|
-
params.combine = extension === ".sph" ?
|
|
621
|
+
params.combine = extension === ".sph" ? MultiplyOperation : AddOperation;
|
|
624
622
|
}
|
|
625
623
|
}
|
|
626
624
|
const toonFileName = material.toonIndex === -1 ? "toon00.bmp" : data.toonTextures[material.toonIndex].fileName;
|
|
@@ -640,7 +638,7 @@ class MaterialBuilder {
|
|
|
640
638
|
}
|
|
641
639
|
if (material.envTextureIndex !== -1 && (material.envFlag === 1 || material.envFlag == 2)) {
|
|
642
640
|
params.envMap = this._loadTexture(data.textures[material.envTextureIndex], textures);
|
|
643
|
-
params.combine = material.envFlag === 1 ?
|
|
641
|
+
params.combine = material.envFlag === 1 ? MultiplyOperation : AddOperation;
|
|
644
642
|
}
|
|
645
643
|
let toonFileName, isDefaultToon;
|
|
646
644
|
if (material.toonIndex === -1 || material.toonFlag !== 0) {
|
|
@@ -668,7 +666,7 @@ class MaterialBuilder {
|
|
|
668
666
|
}
|
|
669
667
|
params.emissive.multiplyScalar(0.2);
|
|
670
668
|
}
|
|
671
|
-
materials.push(new
|
|
669
|
+
materials.push(new MeshToonMaterial(params));
|
|
672
670
|
}
|
|
673
671
|
if (data.metadata.format === "pmx") {
|
|
674
672
|
let checkAlphaMorph = function(elements, materials2) {
|
|
@@ -702,10 +700,10 @@ class MaterialBuilder {
|
|
|
702
700
|
// private methods
|
|
703
701
|
_getTGALoader() {
|
|
704
702
|
if (this.tgaLoader === null) {
|
|
705
|
-
if (TGALoader
|
|
703
|
+
if (TGALoader === void 0) {
|
|
706
704
|
throw new Error("THREE.MMDLoader: Import TGALoader");
|
|
707
705
|
}
|
|
708
|
-
this.tgaLoader = new TGALoader
|
|
706
|
+
this.tgaLoader = new TGALoader(this.manager);
|
|
709
707
|
}
|
|
710
708
|
return this.tgaLoader;
|
|
711
709
|
}
|
|
@@ -743,12 +741,12 @@ class MaterialBuilder {
|
|
|
743
741
|
function(t) {
|
|
744
742
|
if (params.isToonTexture === true) {
|
|
745
743
|
t.image = scope._getRotatedImage(t.image);
|
|
746
|
-
t.magFilter =
|
|
747
|
-
t.minFilter =
|
|
744
|
+
t.magFilter = NearestFilter;
|
|
745
|
+
t.minFilter = NearestFilter;
|
|
748
746
|
}
|
|
749
747
|
t.flipY = false;
|
|
750
|
-
t.wrapS =
|
|
751
|
-
t.wrapT =
|
|
748
|
+
t.wrapS = RepeatWrapping;
|
|
749
|
+
t.wrapT = RepeatWrapping;
|
|
752
750
|
for (let i = 0; i < texture.readyCallbacks.length; i++) {
|
|
753
751
|
texture.readyCallbacks[i](texture);
|
|
754
752
|
}
|
|
@@ -846,7 +844,7 @@ class AnimationBuilder {
|
|
|
846
844
|
for (let i = 0, il = tracks2.length; i < il; i++) {
|
|
847
845
|
tracks.push(tracks2[i]);
|
|
848
846
|
}
|
|
849
|
-
return new
|
|
847
|
+
return new AnimationClip("", -1, tracks);
|
|
850
848
|
}
|
|
851
849
|
/**
|
|
852
850
|
* @param {Object} vmd - parsed VMD data
|
|
@@ -901,12 +899,12 @@ class AnimationBuilder {
|
|
|
901
899
|
pushInterpolation(rInterpolations, interpolation, 3);
|
|
902
900
|
}
|
|
903
901
|
const targetName = ".bones[" + key + "]";
|
|
904
|
-
tracks.push(this._createTrack(targetName + ".position",
|
|
902
|
+
tracks.push(this._createTrack(targetName + ".position", VectorKeyframeTrack, times, positions, pInterpolations));
|
|
905
903
|
tracks.push(
|
|
906
|
-
this._createTrack(targetName + ".quaternion",
|
|
904
|
+
this._createTrack(targetName + ".quaternion", QuaternionKeyframeTrack, times, rotations, rInterpolations)
|
|
907
905
|
);
|
|
908
906
|
}
|
|
909
|
-
return new
|
|
907
|
+
return new AnimationClip("", -1, tracks);
|
|
910
908
|
}
|
|
911
909
|
/**
|
|
912
910
|
* @param {Object} vmd - parsed VMD data
|
|
@@ -936,9 +934,9 @@ class AnimationBuilder {
|
|
|
936
934
|
times.push(array[i].frameNum / 30);
|
|
937
935
|
values.push(array[i].weight);
|
|
938
936
|
}
|
|
939
|
-
tracks.push(new
|
|
937
|
+
tracks.push(new NumberKeyframeTrack(".morphTargetInfluences[" + morphTargetDictionary[key] + "]", times, values));
|
|
940
938
|
}
|
|
941
|
-
return new
|
|
939
|
+
return new AnimationClip("", -1, tracks);
|
|
942
940
|
}
|
|
943
941
|
/**
|
|
944
942
|
* @param {Object} vmd - parsed VMD data
|
|
@@ -975,10 +973,10 @@ class AnimationBuilder {
|
|
|
975
973
|
const qInterpolations = [];
|
|
976
974
|
const pInterpolations = [];
|
|
977
975
|
const fInterpolations = [];
|
|
978
|
-
const quaternion = new
|
|
979
|
-
const euler = new
|
|
980
|
-
const position = new
|
|
981
|
-
const center = new
|
|
976
|
+
const quaternion = new Quaternion();
|
|
977
|
+
const euler = new Euler();
|
|
978
|
+
const position = new Vector3();
|
|
979
|
+
const center = new Vector3();
|
|
982
980
|
for (let i = 0, il = cameras.length; i < il; i++) {
|
|
983
981
|
const motion = cameras[i];
|
|
984
982
|
const time = motion.frameNum / 30;
|
|
@@ -1008,11 +1006,11 @@ class AnimationBuilder {
|
|
|
1008
1006
|
pushInterpolation(fInterpolations, interpolation, 5);
|
|
1009
1007
|
}
|
|
1010
1008
|
const tracks = [];
|
|
1011
|
-
tracks.push(this._createTrack("target.position",
|
|
1012
|
-
tracks.push(this._createTrack(".quaternion",
|
|
1013
|
-
tracks.push(this._createTrack(".position",
|
|
1014
|
-
tracks.push(this._createTrack(".fov",
|
|
1015
|
-
return new
|
|
1009
|
+
tracks.push(this._createTrack("target.position", VectorKeyframeTrack, times, centers, cInterpolations));
|
|
1010
|
+
tracks.push(this._createTrack(".quaternion", QuaternionKeyframeTrack, times, quaternions, qInterpolations));
|
|
1011
|
+
tracks.push(this._createTrack(".position", VectorKeyframeTrack, times, positions, pInterpolations));
|
|
1012
|
+
tracks.push(this._createTrack(".fov", NumberKeyframeTrack, times, fovs, fInterpolations));
|
|
1013
|
+
return new AnimationClip("", -1, tracks);
|
|
1016
1014
|
}
|
|
1017
1015
|
// private method
|
|
1018
1016
|
_createTrack(node, typedKeyframeTrack, times, values, interpolations) {
|
|
@@ -1057,7 +1055,7 @@ class AnimationBuilder {
|
|
|
1057
1055
|
return track;
|
|
1058
1056
|
}
|
|
1059
1057
|
}
|
|
1060
|
-
class CubicBezierInterpolation extends
|
|
1058
|
+
class CubicBezierInterpolation extends Interpolant {
|
|
1061
1059
|
constructor(parameterPositions, sampleValues, sampleSize, resultBuffer, params) {
|
|
1062
1060
|
super(parameterPositions, sampleValues, sampleSize, resultBuffer);
|
|
1063
1061
|
this.interpolationParams = params;
|
|
@@ -1076,7 +1074,7 @@ class CubicBezierInterpolation extends THREE.Interpolant {
|
|
|
1076
1074
|
const y1 = params[i1 * 4 + 2];
|
|
1077
1075
|
const y2 = params[i1 * 4 + 3];
|
|
1078
1076
|
const ratio = this._calculate(x1, x2, y1, y2, weight1);
|
|
1079
|
-
|
|
1077
|
+
Quaternion.slerpFlat(result, 0, values, offset0, values, offset1, ratio);
|
|
1080
1078
|
} else if (stride === 3) {
|
|
1081
1079
|
for (let i = 0; i !== stride; ++i) {
|
|
1082
1080
|
const x1 = params[i1 * 12 + i * 4 + 0];
|
|
@@ -1118,4 +1116,6 @@ class CubicBezierInterpolation extends THREE.Interpolant {
|
|
|
1118
1116
|
return sst3 * y1 + stt3 * y2 + ttt;
|
|
1119
1117
|
}
|
|
1120
1118
|
}
|
|
1121
|
-
|
|
1119
|
+
export {
|
|
1120
|
+
MMDLoader
|
|
1121
|
+
};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const THREE = require("three");
|
|
4
|
+
class MTLLoader extends THREE.Loader {
|
|
3
5
|
constructor(manager) {
|
|
4
6
|
super(manager);
|
|
5
7
|
}
|
|
@@ -18,8 +20,8 @@ class MTLLoader extends Loader {
|
|
|
18
20
|
*/
|
|
19
21
|
load(url, onLoad, onProgress, onError) {
|
|
20
22
|
const scope = this;
|
|
21
|
-
const path = this.path === "" ? LoaderUtils.extractUrlBase(url) : this.path;
|
|
22
|
-
const loader = new FileLoader(this.manager);
|
|
23
|
+
const path = this.path === "" ? THREE.LoaderUtils.extractUrlBase(url) : this.path;
|
|
24
|
+
const loader = new THREE.FileLoader(this.manager);
|
|
23
25
|
loader.setPath(this.path);
|
|
24
26
|
loader.setRequestHeader(this.requestHeader);
|
|
25
27
|
loader.setWithCredentials(this.withCredentials);
|
|
@@ -100,8 +102,8 @@ class MaterialCreator {
|
|
|
100
102
|
this.materialsArray = [];
|
|
101
103
|
this.nameLookup = {};
|
|
102
104
|
this.crossOrigin = "anonymous";
|
|
103
|
-
this.side = this.options.side !== void 0 ? this.options.side : FrontSide;
|
|
104
|
-
this.wrap = this.options.wrap !== void 0 ? this.options.wrap : RepeatWrapping;
|
|
105
|
+
this.side = this.options.side !== void 0 ? this.options.side : THREE.FrontSide;
|
|
106
|
+
this.wrap = this.options.wrap !== void 0 ? this.options.wrap : THREE.RepeatWrapping;
|
|
105
107
|
}
|
|
106
108
|
setCrossOrigin(value) {
|
|
107
109
|
this.crossOrigin = value;
|
|
@@ -206,13 +208,13 @@ class MaterialCreator {
|
|
|
206
208
|
continue;
|
|
207
209
|
switch (prop.toLowerCase()) {
|
|
208
210
|
case "kd":
|
|
209
|
-
params.color = new Color().fromArray(value);
|
|
211
|
+
params.color = new THREE.Color().fromArray(value);
|
|
210
212
|
break;
|
|
211
213
|
case "ks":
|
|
212
|
-
params.specular = new Color().fromArray(value);
|
|
214
|
+
params.specular = new THREE.Color().fromArray(value);
|
|
213
215
|
break;
|
|
214
216
|
case "ke":
|
|
215
|
-
params.emissive = new Color().fromArray(value);
|
|
217
|
+
params.emissive = new THREE.Color().fromArray(value);
|
|
216
218
|
break;
|
|
217
219
|
case "map_kd":
|
|
218
220
|
setMapForType("map", value);
|
|
@@ -257,13 +259,13 @@ class MaterialCreator {
|
|
|
257
259
|
break;
|
|
258
260
|
}
|
|
259
261
|
}
|
|
260
|
-
this.materials[materialName] = new MeshPhongMaterial(params);
|
|
262
|
+
this.materials[materialName] = new THREE.MeshPhongMaterial(params);
|
|
261
263
|
return this.materials[materialName];
|
|
262
264
|
}
|
|
263
265
|
getTextureParams(value, matParams) {
|
|
264
266
|
const texParams = {
|
|
265
|
-
scale: new Vector2(1, 1),
|
|
266
|
-
offset: new Vector2(0, 0)
|
|
267
|
+
scale: new THREE.Vector2(1, 1),
|
|
268
|
+
offset: new THREE.Vector2(0, 0)
|
|
267
269
|
};
|
|
268
270
|
const items = value.split(/\s+/);
|
|
269
271
|
let pos;
|
|
@@ -286,10 +288,10 @@ class MaterialCreator {
|
|
|
286
288
|
return texParams;
|
|
287
289
|
}
|
|
288
290
|
loadTexture(url, mapping, onLoad, onProgress, onError) {
|
|
289
|
-
const manager = this.manager !== void 0 ? this.manager : DefaultLoadingManager;
|
|
291
|
+
const manager = this.manager !== void 0 ? this.manager : THREE.DefaultLoadingManager;
|
|
290
292
|
let loader = manager.getHandler(url);
|
|
291
293
|
if (loader === null) {
|
|
292
|
-
loader = new TextureLoader(manager);
|
|
294
|
+
loader = new THREE.TextureLoader(manager);
|
|
293
295
|
}
|
|
294
296
|
if (loader.setCrossOrigin)
|
|
295
297
|
loader.setCrossOrigin(this.crossOrigin);
|
|
@@ -299,6 +301,4 @@ class MaterialCreator {
|
|
|
299
301
|
return texture;
|
|
300
302
|
}
|
|
301
303
|
}
|
|
302
|
-
|
|
303
|
-
MTLLoader
|
|
304
|
-
};
|
|
304
|
+
exports.MTLLoader = MTLLoader;
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const THREE = require("three");
|
|
4
|
-
class MTLLoader extends THREE.Loader {
|
|
1
|
+
import { Loader, LoaderUtils, FileLoader, FrontSide, RepeatWrapping, Color, MeshPhongMaterial, Vector2, DefaultLoadingManager, TextureLoader } from "three";
|
|
2
|
+
class MTLLoader extends Loader {
|
|
5
3
|
constructor(manager) {
|
|
6
4
|
super(manager);
|
|
7
5
|
}
|
|
@@ -20,8 +18,8 @@ class MTLLoader extends THREE.Loader {
|
|
|
20
18
|
*/
|
|
21
19
|
load(url, onLoad, onProgress, onError) {
|
|
22
20
|
const scope = this;
|
|
23
|
-
const path = this.path === "" ?
|
|
24
|
-
const loader = new
|
|
21
|
+
const path = this.path === "" ? LoaderUtils.extractUrlBase(url) : this.path;
|
|
22
|
+
const loader = new FileLoader(this.manager);
|
|
25
23
|
loader.setPath(this.path);
|
|
26
24
|
loader.setRequestHeader(this.requestHeader);
|
|
27
25
|
loader.setWithCredentials(this.withCredentials);
|
|
@@ -102,8 +100,8 @@ class MaterialCreator {
|
|
|
102
100
|
this.materialsArray = [];
|
|
103
101
|
this.nameLookup = {};
|
|
104
102
|
this.crossOrigin = "anonymous";
|
|
105
|
-
this.side = this.options.side !== void 0 ? this.options.side :
|
|
106
|
-
this.wrap = this.options.wrap !== void 0 ? this.options.wrap :
|
|
103
|
+
this.side = this.options.side !== void 0 ? this.options.side : FrontSide;
|
|
104
|
+
this.wrap = this.options.wrap !== void 0 ? this.options.wrap : RepeatWrapping;
|
|
107
105
|
}
|
|
108
106
|
setCrossOrigin(value) {
|
|
109
107
|
this.crossOrigin = value;
|
|
@@ -208,13 +206,13 @@ class MaterialCreator {
|
|
|
208
206
|
continue;
|
|
209
207
|
switch (prop.toLowerCase()) {
|
|
210
208
|
case "kd":
|
|
211
|
-
params.color = new
|
|
209
|
+
params.color = new Color().fromArray(value);
|
|
212
210
|
break;
|
|
213
211
|
case "ks":
|
|
214
|
-
params.specular = new
|
|
212
|
+
params.specular = new Color().fromArray(value);
|
|
215
213
|
break;
|
|
216
214
|
case "ke":
|
|
217
|
-
params.emissive = new
|
|
215
|
+
params.emissive = new Color().fromArray(value);
|
|
218
216
|
break;
|
|
219
217
|
case "map_kd":
|
|
220
218
|
setMapForType("map", value);
|
|
@@ -259,13 +257,13 @@ class MaterialCreator {
|
|
|
259
257
|
break;
|
|
260
258
|
}
|
|
261
259
|
}
|
|
262
|
-
this.materials[materialName] = new
|
|
260
|
+
this.materials[materialName] = new MeshPhongMaterial(params);
|
|
263
261
|
return this.materials[materialName];
|
|
264
262
|
}
|
|
265
263
|
getTextureParams(value, matParams) {
|
|
266
264
|
const texParams = {
|
|
267
|
-
scale: new
|
|
268
|
-
offset: new
|
|
265
|
+
scale: new Vector2(1, 1),
|
|
266
|
+
offset: new Vector2(0, 0)
|
|
269
267
|
};
|
|
270
268
|
const items = value.split(/\s+/);
|
|
271
269
|
let pos;
|
|
@@ -288,10 +286,10 @@ class MaterialCreator {
|
|
|
288
286
|
return texParams;
|
|
289
287
|
}
|
|
290
288
|
loadTexture(url, mapping, onLoad, onProgress, onError) {
|
|
291
|
-
const manager = this.manager !== void 0 ? this.manager :
|
|
289
|
+
const manager = this.manager !== void 0 ? this.manager : DefaultLoadingManager;
|
|
292
290
|
let loader = manager.getHandler(url);
|
|
293
291
|
if (loader === null) {
|
|
294
|
-
loader = new
|
|
292
|
+
loader = new TextureLoader(manager);
|
|
295
293
|
}
|
|
296
294
|
if (loader.setCrossOrigin)
|
|
297
295
|
loader.setCrossOrigin(this.crossOrigin);
|
|
@@ -301,4 +299,6 @@ class MaterialCreator {
|
|
|
301
299
|
return texture;
|
|
302
300
|
}
|
|
303
301
|
}
|
|
304
|
-
|
|
302
|
+
export {
|
|
303
|
+
MTLLoader
|
|
304
|
+
};
|
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const THREE = require("three");
|
|
4
|
+
const fflate = require("fflate");
|
|
5
|
+
const Volume = require("../misc/Volume.cjs");
|
|
6
|
+
class NRRDLoader extends THREE.Loader {
|
|
5
7
|
constructor(manager) {
|
|
6
8
|
super(manager);
|
|
7
9
|
}
|
|
8
10
|
load(url, onLoad, onProgress, onError) {
|
|
9
11
|
const scope = this;
|
|
10
|
-
const loader = new FileLoader(scope.manager);
|
|
12
|
+
const loader = new THREE.FileLoader(scope.manager);
|
|
11
13
|
loader.setPath(scope.path);
|
|
12
14
|
loader.setResponseType("arraybuffer");
|
|
13
15
|
loader.setRequestHeader(scope.requestHeader);
|
|
@@ -123,7 +125,7 @@ class NRRDLoader extends Loader {
|
|
|
123
125
|
throw new Error("Bzip is not supported");
|
|
124
126
|
}
|
|
125
127
|
if (!headerObject.vectors) {
|
|
126
|
-
headerObject.vectors = [new Vector3(1, 0, 0), new Vector3(0, 1, 0), new Vector3(0, 0, 1)];
|
|
128
|
+
headerObject.vectors = [new THREE.Vector3(1, 0, 0), new THREE.Vector3(0, 1, 0), new THREE.Vector3(0, 0, 1)];
|
|
127
129
|
if (headerObject.spacings) {
|
|
128
130
|
for (i2 = 0; i2 <= 2; i2++) {
|
|
129
131
|
if (!isNaN(headerObject.spacings[i2])) {
|
|
@@ -184,7 +186,7 @@ class NRRDLoader extends Loader {
|
|
|
184
186
|
parseHeader(_header);
|
|
185
187
|
_data = _bytes.subarray(_data_start);
|
|
186
188
|
if (headerObject.encoding.substring(0, 2) === "gz") {
|
|
187
|
-
_data = gunzipSync(new Uint8Array(_data));
|
|
189
|
+
_data = fflate.gunzipSync(new Uint8Array(_data));
|
|
188
190
|
} else if (headerObject.encoding === "ascii" || headerObject.encoding === "text" || headerObject.encoding === "txt" || headerObject.encoding === "hex") {
|
|
189
191
|
_data = parseDataAsText(_data);
|
|
190
192
|
} else if (headerObject.encoding === "raw") {
|
|
@@ -195,7 +197,7 @@ class NRRDLoader extends Loader {
|
|
|
195
197
|
_data = _copy;
|
|
196
198
|
}
|
|
197
199
|
_data = _data.buffer;
|
|
198
|
-
const volume = new Volume();
|
|
200
|
+
const volume = new Volume.Volume();
|
|
199
201
|
volume.header = headerObject;
|
|
200
202
|
volume.data = new headerObject.__array(_data);
|
|
201
203
|
const min_max = volume.computeMinMax();
|
|
@@ -207,23 +209,23 @@ class NRRDLoader extends Loader {
|
|
|
207
209
|
volume.xLength = volume.dimensions[0];
|
|
208
210
|
volume.yLength = volume.dimensions[1];
|
|
209
211
|
volume.zLength = volume.dimensions[2];
|
|
210
|
-
const spacingX = new Vector3(
|
|
212
|
+
const spacingX = new THREE.Vector3(
|
|
211
213
|
headerObject.vectors[0][0],
|
|
212
214
|
headerObject.vectors[0][1],
|
|
213
215
|
headerObject.vectors[0][2]
|
|
214
216
|
).length();
|
|
215
|
-
const spacingY = new Vector3(
|
|
217
|
+
const spacingY = new THREE.Vector3(
|
|
216
218
|
headerObject.vectors[1][0],
|
|
217
219
|
headerObject.vectors[1][1],
|
|
218
220
|
headerObject.vectors[1][2]
|
|
219
221
|
).length();
|
|
220
|
-
const spacingZ = new Vector3(
|
|
222
|
+
const spacingZ = new THREE.Vector3(
|
|
221
223
|
headerObject.vectors[2][0],
|
|
222
224
|
headerObject.vectors[2][1],
|
|
223
225
|
headerObject.vectors[2][2]
|
|
224
226
|
).length();
|
|
225
227
|
volume.spacing = [spacingX, spacingY, spacingZ];
|
|
226
|
-
volume.matrix = new Matrix4();
|
|
228
|
+
volume.matrix = new THREE.Matrix4();
|
|
227
229
|
let _spaceX = 1;
|
|
228
230
|
let _spaceY = 1;
|
|
229
231
|
const _spaceZ = 1;
|
|
@@ -256,9 +258,9 @@ class NRRDLoader extends Loader {
|
|
|
256
258
|
1
|
|
257
259
|
);
|
|
258
260
|
}
|
|
259
|
-
volume.inverseMatrix = new Matrix4();
|
|
261
|
+
volume.inverseMatrix = new THREE.Matrix4();
|
|
260
262
|
volume.inverseMatrix.copy(volume.matrix).invert();
|
|
261
|
-
volume.RASDimensions = new Vector3(volume.xLength, volume.yLength, volume.zLength).applyMatrix4(volume.matrix).round().toArray().map(Math.abs);
|
|
263
|
+
volume.RASDimensions = new THREE.Vector3(volume.xLength, volume.yLength, volume.zLength).applyMatrix4(volume.matrix).round().toArray().map(Math.abs);
|
|
262
264
|
if (volume.lowerThreshold === -Infinity) {
|
|
263
265
|
volume.lowerThreshold = min;
|
|
264
266
|
}
|
|
@@ -396,6 +398,4 @@ const _fieldFunctions = {
|
|
|
396
398
|
}();
|
|
397
399
|
}
|
|
398
400
|
};
|
|
399
|
-
|
|
400
|
-
NRRDLoader
|
|
401
|
-
};
|
|
401
|
+
exports.NRRDLoader = NRRDLoader;
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const Volume = require("../misc/Volume.js");
|
|
6
|
-
class NRRDLoader extends THREE.Loader {
|
|
1
|
+
import { Loader, FileLoader, Vector3, Matrix4 } from "three";
|
|
2
|
+
import { gunzipSync } from "fflate";
|
|
3
|
+
import { Volume } from "../misc/Volume.js";
|
|
4
|
+
class NRRDLoader extends Loader {
|
|
7
5
|
constructor(manager) {
|
|
8
6
|
super(manager);
|
|
9
7
|
}
|
|
10
8
|
load(url, onLoad, onProgress, onError) {
|
|
11
9
|
const scope = this;
|
|
12
|
-
const loader = new
|
|
10
|
+
const loader = new FileLoader(scope.manager);
|
|
13
11
|
loader.setPath(scope.path);
|
|
14
12
|
loader.setResponseType("arraybuffer");
|
|
15
13
|
loader.setRequestHeader(scope.requestHeader);
|
|
@@ -125,7 +123,7 @@ class NRRDLoader extends THREE.Loader {
|
|
|
125
123
|
throw new Error("Bzip is not supported");
|
|
126
124
|
}
|
|
127
125
|
if (!headerObject.vectors) {
|
|
128
|
-
headerObject.vectors = [new
|
|
126
|
+
headerObject.vectors = [new Vector3(1, 0, 0), new Vector3(0, 1, 0), new Vector3(0, 0, 1)];
|
|
129
127
|
if (headerObject.spacings) {
|
|
130
128
|
for (i2 = 0; i2 <= 2; i2++) {
|
|
131
129
|
if (!isNaN(headerObject.spacings[i2])) {
|
|
@@ -186,7 +184,7 @@ class NRRDLoader extends THREE.Loader {
|
|
|
186
184
|
parseHeader(_header);
|
|
187
185
|
_data = _bytes.subarray(_data_start);
|
|
188
186
|
if (headerObject.encoding.substring(0, 2) === "gz") {
|
|
189
|
-
_data =
|
|
187
|
+
_data = gunzipSync(new Uint8Array(_data));
|
|
190
188
|
} else if (headerObject.encoding === "ascii" || headerObject.encoding === "text" || headerObject.encoding === "txt" || headerObject.encoding === "hex") {
|
|
191
189
|
_data = parseDataAsText(_data);
|
|
192
190
|
} else if (headerObject.encoding === "raw") {
|
|
@@ -197,7 +195,7 @@ class NRRDLoader extends THREE.Loader {
|
|
|
197
195
|
_data = _copy;
|
|
198
196
|
}
|
|
199
197
|
_data = _data.buffer;
|
|
200
|
-
const volume = new Volume
|
|
198
|
+
const volume = new Volume();
|
|
201
199
|
volume.header = headerObject;
|
|
202
200
|
volume.data = new headerObject.__array(_data);
|
|
203
201
|
const min_max = volume.computeMinMax();
|
|
@@ -209,23 +207,23 @@ class NRRDLoader extends THREE.Loader {
|
|
|
209
207
|
volume.xLength = volume.dimensions[0];
|
|
210
208
|
volume.yLength = volume.dimensions[1];
|
|
211
209
|
volume.zLength = volume.dimensions[2];
|
|
212
|
-
const spacingX = new
|
|
210
|
+
const spacingX = new Vector3(
|
|
213
211
|
headerObject.vectors[0][0],
|
|
214
212
|
headerObject.vectors[0][1],
|
|
215
213
|
headerObject.vectors[0][2]
|
|
216
214
|
).length();
|
|
217
|
-
const spacingY = new
|
|
215
|
+
const spacingY = new Vector3(
|
|
218
216
|
headerObject.vectors[1][0],
|
|
219
217
|
headerObject.vectors[1][1],
|
|
220
218
|
headerObject.vectors[1][2]
|
|
221
219
|
).length();
|
|
222
|
-
const spacingZ = new
|
|
220
|
+
const spacingZ = new Vector3(
|
|
223
221
|
headerObject.vectors[2][0],
|
|
224
222
|
headerObject.vectors[2][1],
|
|
225
223
|
headerObject.vectors[2][2]
|
|
226
224
|
).length();
|
|
227
225
|
volume.spacing = [spacingX, spacingY, spacingZ];
|
|
228
|
-
volume.matrix = new
|
|
226
|
+
volume.matrix = new Matrix4();
|
|
229
227
|
let _spaceX = 1;
|
|
230
228
|
let _spaceY = 1;
|
|
231
229
|
const _spaceZ = 1;
|
|
@@ -258,9 +256,9 @@ class NRRDLoader extends THREE.Loader {
|
|
|
258
256
|
1
|
|
259
257
|
);
|
|
260
258
|
}
|
|
261
|
-
volume.inverseMatrix = new
|
|
259
|
+
volume.inverseMatrix = new Matrix4();
|
|
262
260
|
volume.inverseMatrix.copy(volume.matrix).invert();
|
|
263
|
-
volume.RASDimensions = new
|
|
261
|
+
volume.RASDimensions = new Vector3(volume.xLength, volume.yLength, volume.zLength).applyMatrix4(volume.matrix).round().toArray().map(Math.abs);
|
|
264
262
|
if (volume.lowerThreshold === -Infinity) {
|
|
265
263
|
volume.lowerThreshold = min;
|
|
266
264
|
}
|
|
@@ -398,4 +396,6 @@ const _fieldFunctions = {
|
|
|
398
396
|
}();
|
|
399
397
|
}
|
|
400
398
|
};
|
|
401
|
-
|
|
399
|
+
export {
|
|
400
|
+
NRRDLoader
|
|
401
|
+
};
|