three-stdlib 2.24.2 → 2.25.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/controls/OrbitControls.d.ts +2 -0
- package/index.cjs +116401 -611
- package/index.js +116037 -263
- package/package.json +17 -4
- package/_polyfill/CapsuleGeometry.cjs +0 -22
- package/_polyfill/CapsuleGeometry.js +0 -22
- package/_polyfill/CompressedArrayTexture.cjs +0 -12
- package/_polyfill/CompressedArrayTexture.js +0 -12
- package/_polyfill/Data3DTexture.cjs +0 -17
- package/_polyfill/Data3DTexture.js +0 -17
- package/animation/AnimationClipCreator.cjs +0 -56
- package/animation/AnimationClipCreator.js +0 -56
- package/animation/CCDIKSolver.cjs +0 -269
- package/animation/CCDIKSolver.js +0 -269
- package/animation/MMDAnimationHelper.cjs +0 -688
- package/animation/MMDAnimationHelper.js +0 -688
- package/animation/MMDPhysics.cjs +0 -830
- package/animation/MMDPhysics.js +0 -830
- package/cameras/CinematicCamera.cjs +0 -131
- package/cameras/CinematicCamera.js +0 -131
- package/controls/ArcballControls.cjs +0 -2033
- package/controls/ArcballControls.js +0 -2033
- package/controls/DeviceOrientationControls.cjs +0 -85
- package/controls/DeviceOrientationControls.js +0 -85
- package/controls/DragControls.cjs +0 -182
- package/controls/DragControls.js +0 -182
- package/controls/FirstPersonControls.cjs +0 -229
- package/controls/FirstPersonControls.js +0 -229
- package/controls/FlyControls.cjs +0 -248
- package/controls/FlyControls.js +0 -248
- package/controls/OrbitControls.cjs +0 -787
- package/controls/OrbitControls.js +0 -787
- package/controls/PointerLockControls.cjs +0 -103
- package/controls/PointerLockControls.js +0 -103
- package/controls/TrackballControls.cjs +0 -502
- package/controls/TrackballControls.js +0 -502
- package/controls/TransformControls.cjs +0 -1089
- package/controls/TransformControls.js +0 -1089
- package/controls/experimental/CameraControls.cjs +0 -736
- package/controls/experimental/CameraControls.js +0 -736
- package/csm/CSM.cjs +0 -244
- package/csm/CSM.js +0 -244
- package/csm/CSMFrustum.cjs +0 -75
- package/csm/CSMFrustum.js +0 -75
- package/csm/CSMHelper.cjs +0 -114
- package/csm/CSMHelper.js +0 -114
- package/csm/CSMShader.cjs +0 -261
- package/csm/CSMShader.js +0 -261
- package/curves/CurveExtras.cjs +0 -214
- package/curves/CurveExtras.js +0 -214
- package/curves/NURBSCurve.cjs +0 -35
- package/curves/NURBSCurve.js +0 -35
- package/curves/NURBSSurface.cjs +0 -28
- package/curves/NURBSSurface.js +0 -28
- package/curves/NURBSUtils.cjs +0 -226
- package/curves/NURBSUtils.js +0 -226
- package/deprecated/Geometry.cjs +0 -971
- package/deprecated/Geometry.js +0 -971
- package/effects/AnaglyphEffect.cjs +0 -102
- package/effects/AnaglyphEffect.js +0 -102
- package/effects/AsciiEffect.cjs +0 -155
- package/effects/AsciiEffect.js +0 -155
- package/effects/OutlineEffect.cjs +0 -275
- package/effects/OutlineEffect.js +0 -275
- package/effects/ParallaxBarrierEffect.cjs +0 -65
- package/effects/ParallaxBarrierEffect.js +0 -65
- package/effects/PeppersGhostEffect.cjs +0 -88
- package/effects/PeppersGhostEffect.js +0 -88
- package/effects/StereoEffect.cjs +0 -35
- package/effects/StereoEffect.js +0 -35
- package/environments/RoomEnvironment.cjs +0 -95
- package/environments/RoomEnvironment.js +0 -78
- package/exporters/ColladaExporter.cjs +0 -331
- package/exporters/ColladaExporter.js +0 -331
- package/exporters/DRACOExporter.cjs +0 -141
- package/exporters/DRACOExporter.js +0 -141
- package/exporters/GLTFExporter.cjs +0 -1909
- package/exporters/GLTFExporter.js +0 -1909
- package/exporters/MMDExporter.cjs +0 -131
- package/exporters/MMDExporter.js +0 -131
- package/exporters/OBJExporter.cjs +0 -181
- package/exporters/OBJExporter.js +0 -181
- package/exporters/PLYExporter.cjs +0 -280
- package/exporters/PLYExporter.js +0 -280
- package/exporters/STLExporter.cjs +0 -146
- package/exporters/STLExporter.js +0 -146
- package/exporters/USDZExporter.cjs +0 -340
- package/exporters/USDZExporter.js +0 -340
- package/geometries/BoxLineGeometry.cjs +0 -45
- package/geometries/BoxLineGeometry.js +0 -45
- package/geometries/ConvexGeometry.cjs +0 -26
- package/geometries/ConvexGeometry.js +0 -26
- package/geometries/DecalGeometry.cjs +0 -184
- package/geometries/DecalGeometry.js +0 -184
- package/geometries/LightningStrike.cjs +0 -553
- package/geometries/LightningStrike.js +0 -553
- package/geometries/ParametricGeometries.cjs +0 -130
- package/geometries/ParametricGeometries.js +0 -130
- package/geometries/ParametricGeometry.cjs +0 -63
- package/geometries/ParametricGeometry.js +0 -63
- package/geometries/RoundedBoxGeometry.cjs +0 -91
- package/geometries/RoundedBoxGeometry.js +0 -91
- package/geometries/TeapotGeometry.cjs +0 -1563
- package/geometries/TeapotGeometry.js +0 -1563
- package/geometries/TextGeometry.cjs +0 -27
- package/geometries/TextGeometry.js +0 -27
- package/helpers/LightProbeHelper.cjs +0 -73
- package/helpers/LightProbeHelper.js +0 -73
- package/helpers/PositionalAudioHelper.cjs +0 -68
- package/helpers/PositionalAudioHelper.js +0 -68
- package/helpers/RectAreaLightHelper.cjs +0 -44
- package/helpers/RectAreaLightHelper.js +0 -44
- package/helpers/VertexNormalsHelper.cjs +0 -47
- package/helpers/VertexNormalsHelper.js +0 -47
- package/helpers/VertexTangentsHelper.cjs +0 -43
- package/helpers/VertexTangentsHelper.js +0 -43
- package/interactive/HTMLMesh.cjs +0 -325
- package/interactive/HTMLMesh.js +0 -325
- package/interactive/InteractiveGroup.cjs +0 -68
- package/interactive/InteractiveGroup.js +0 -68
- package/interactive/SelectionBox.cjs +0 -134
- package/interactive/SelectionBox.js +0 -134
- package/interactive/SelectionHelper.cjs +0 -51
- package/interactive/SelectionHelper.js +0 -51
- package/libs/MeshoptDecoder.cjs +0 -221
- package/libs/MeshoptDecoder.js +0 -221
- package/libs/MotionControllers.cjs +0 -325
- package/libs/MotionControllers.js +0 -325
- package/lights/LightProbeGenerator.cjs +0 -145
- package/lights/LightProbeGenerator.js +0 -145
- package/lights/RectAreaLightUniformsLib.cjs +0 -32846
- package/lights/RectAreaLightUniformsLib.js +0 -32846
- package/lines/Line2.cjs +0 -13
- package/lines/Line2.js +0 -13
- package/lines/LineGeometry.cjs +0 -44
- package/lines/LineGeometry.js +0 -44
- package/lines/LineMaterial.cjs +0 -547
- package/lines/LineMaterial.js +0 -547
- package/lines/LineSegments2.cjs +0 -203
- package/lines/LineSegments2.js +0 -203
- package/lines/LineSegmentsGeometry.cjs +0 -124
- package/lines/LineSegmentsGeometry.js +0 -124
- package/lines/Wireframe.cjs +0 -32
- package/lines/Wireframe.js +0 -32
- package/lines/WireframeGeometry2.cjs +0 -13
- package/lines/WireframeGeometry2.js +0 -13
- package/loaders/3DMLoader.cjs +0 -803
- package/loaders/3DMLoader.js +0 -803
- package/loaders/3MFLoader.cjs +0 -854
- package/loaders/3MFLoader.js +0 -854
- package/loaders/AMFLoader.cjs +0 -284
- package/loaders/AMFLoader.js +0 -284
- package/loaders/AssimpLoader.cjs +0 -1434
- package/loaders/AssimpLoader.js +0 -1434
- package/loaders/BVHLoader.cjs +0 -207
- package/loaders/BVHLoader.js +0 -207
- package/loaders/BasisTextureLoader.cjs +0 -489
- package/loaders/BasisTextureLoader.js +0 -489
- package/loaders/ColladaLoader.cjs +0 -2405
- package/loaders/ColladaLoader.js +0 -2405
- package/loaders/DDSLoader.cjs +0 -148
- package/loaders/DDSLoader.js +0 -148
- package/loaders/DRACOLoader.cjs +0 -341
- package/loaders/DRACOLoader.js +0 -341
- package/loaders/EXRLoader.cjs +0 -1356
- package/loaders/EXRLoader.js +0 -1356
- package/loaders/FBXLoader.cjs +0 -2457
- package/loaders/FBXLoader.js +0 -2457
- package/loaders/FontLoader.cjs +0 -123
- package/loaders/FontLoader.js +0 -123
- package/loaders/GCodeLoader.cjs +0 -141
- package/loaders/GCodeLoader.js +0 -141
- package/loaders/GLTFLoader.cjs +0 -2504
- package/loaders/GLTFLoader.js +0 -2504
- package/loaders/HDRCubeTextureLoader.cjs +0 -75
- package/loaders/HDRCubeTextureLoader.js +0 -75
- package/loaders/KMZLoader.cjs +0 -75
- package/loaders/KMZLoader.js +0 -75
- package/loaders/KTX2Loader.cjs +0 -480
- package/loaders/KTX2Loader.js +0 -480
- package/loaders/KTXLoader.cjs +0 -93
- package/loaders/KTXLoader.js +0 -93
- package/loaders/LDrawLoader.cjs +0 -1424
- package/loaders/LDrawLoader.js +0 -1424
- package/loaders/LUT3dlLoader.cjs +0 -103
- package/loaders/LUT3dlLoader.js +0 -103
- package/loaders/LUTCubeLoader.cjs +0 -107
- package/loaders/LUTCubeLoader.js +0 -107
- package/loaders/LWOLoader.cjs +0 -645
- package/loaders/LWOLoader.js +0 -645
- package/loaders/LottieLoader.cjs +0 -47
- package/loaders/LottieLoader.js +0 -47
- package/loaders/MD2Loader.cjs +0 -359
- package/loaders/MD2Loader.js +0 -359
- package/loaders/MDDLoader.cjs +0 -58
- package/loaders/MDDLoader.js +0 -58
- package/loaders/MMDLoader.cjs +0 -1121
- package/loaders/MMDLoader.js +0 -1121
- package/loaders/MTLLoader.cjs +0 -304
- package/loaders/MTLLoader.js +0 -304
- package/loaders/NRRDLoader.cjs +0 -401
- package/loaders/NRRDLoader.js +0 -401
- package/loaders/OBJLoader.cjs +0 -487
- package/loaders/OBJLoader.js +0 -487
- package/loaders/PCDLoader.cjs +0 -248
- package/loaders/PCDLoader.js +0 -248
- package/loaders/PDBLoader.cjs +0 -247
- package/loaders/PDBLoader.js +0 -247
- package/loaders/PLYLoader.cjs +0 -317
- package/loaders/PLYLoader.js +0 -317
- package/loaders/PRWMLoader.cjs +0 -160
- package/loaders/PRWMLoader.js +0 -160
- package/loaders/PVRLoader.cjs +0 -131
- package/loaders/PVRLoader.js +0 -131
- package/loaders/RGBELoader.cjs +0 -252
- package/loaders/RGBELoader.js +0 -252
- package/loaders/RGBMLoader.cjs +0 -1004
- package/loaders/RGBMLoader.js +0 -1004
- package/loaders/STLLoader.cjs +0 -190
- package/loaders/STLLoader.js +0 -190
- package/loaders/SVGLoader.cjs +0 -1712
- package/loaders/SVGLoader.js +0 -1712
- package/loaders/TDSLoader.cjs +0 -650
- package/loaders/TDSLoader.js +0 -650
- package/loaders/TGALoader.cjs +0 -285
- package/loaders/TGALoader.js +0 -285
- package/loaders/TTFLoader.cjs +0 -131
- package/loaders/TTFLoader.js +0 -131
- package/loaders/TiltLoader.cjs +0 -375
- package/loaders/TiltLoader.js +0 -375
- package/loaders/VOXLoader.cjs +0 -432
- package/loaders/VOXLoader.js +0 -432
- package/loaders/VRMLLoader.cjs +0 -2105
- package/loaders/VRMLLoader.js +0 -2105
- package/loaders/VRMLoader.cjs +0 -38
- package/loaders/VRMLoader.js +0 -38
- package/loaders/VTKLoader.cjs +0 -648
- package/loaders/VTKLoader.js +0 -648
- package/loaders/XLoader.cjs +0 -1258
- package/loaders/XLoader.js +0 -1258
- package/loaders/XYZLoader.cjs +0 -60
- package/loaders/XYZLoader.js +0 -60
- package/loaders/lwo/IFFParser.cjs +0 -743
- package/loaders/lwo/IFFParser.js +0 -743
- package/loaders/lwo/LWO2Parser.cjs +0 -312
- package/loaders/lwo/LWO2Parser.js +0 -312
- package/loaders/lwo/LWO3Parser.cjs +0 -282
- package/loaders/lwo/LWO3Parser.js +0 -282
- package/math/Capsule.cjs +0 -98
- package/math/Capsule.js +0 -98
- package/math/ColorConverter.cjs +0 -42
- package/math/ColorConverter.js +0 -42
- package/math/ConvexHull.cjs +0 -596
- package/math/ConvexHull.js +0 -596
- package/math/ImprovedNoise.cjs +0 -304
- package/math/ImprovedNoise.js +0 -304
- package/math/Lut.cjs +0 -137
- package/math/Lut.js +0 -137
- package/math/MeshSurfaceSampler.cjs +0 -103
- package/math/MeshSurfaceSampler.js +0 -103
- package/math/OBB.cjs +0 -242
- package/math/OBB.js +0 -242
- package/math/Octree.cjs +0 -273
- package/math/Octree.js +0 -273
- package/math/SimplexNoise.cjs +0 -440
- package/math/SimplexNoise.js +0 -440
- package/misc/ConvexObjectBreaker.cjs +0 -292
- package/misc/ConvexObjectBreaker.js +0 -292
- package/misc/GPUComputationRenderer.cjs +0 -205
- package/misc/GPUComputationRenderer.js +0 -205
- package/misc/Gyroscope.cjs +0 -33
- package/misc/Gyroscope.js +0 -33
- package/misc/MD2Character.cjs +0 -167
- package/misc/MD2Character.js +0 -167
- package/misc/MD2CharacterComplex.cjs +0 -332
- package/misc/MD2CharacterComplex.js +0 -332
- package/misc/MorphAnimMesh.cjs +0 -40
- package/misc/MorphAnimMesh.js +0 -40
- package/misc/MorphBlendMesh.cjs +0 -179
- package/misc/MorphBlendMesh.js +0 -179
- package/misc/ProgressiveLightmap.cjs +0 -186
- package/misc/ProgressiveLightmap.js +0 -186
- package/misc/RollerCoaster.cjs +0 -353
- package/misc/RollerCoaster.js +0 -353
- package/misc/Timer.cjs +0 -101
- package/misc/Timer.js +0 -101
- package/misc/TubePainter.cjs +0 -123
- package/misc/TubePainter.js +0 -123
- package/misc/Volume.cjs +0 -305
- package/misc/Volume.js +0 -305
- package/misc/VolumeSlice.cjs +0 -114
- package/misc/VolumeSlice.js +0 -114
- package/misc/WebGL.cjs +0 -74
- package/misc/WebGL.js +0 -74
- package/modifiers/CurveModifier.cjs +0 -232
- package/modifiers/CurveModifier.js +0 -232
- package/modifiers/EdgeSplitModifier.cjs +0 -167
- package/modifiers/EdgeSplitModifier.js +0 -168
- package/modifiers/SimplifyModifier.cjs +0 -301
- package/modifiers/SimplifyModifier.js +0 -301
- package/modifiers/TessellateModifier.cjs +0 -214
- package/modifiers/TessellateModifier.js +0 -214
- package/objects/GroundProjectedEnv.cjs +0 -134
- package/objects/GroundProjectedEnv.js +0 -134
- package/objects/Lensflare.cjs +0 -291
- package/objects/Lensflare.js +0 -291
- package/objects/LightningStorm.cjs +0 -110
- package/objects/LightningStorm.js +0 -110
- package/objects/MarchingCubes.cjs +0 -4809
- package/objects/MarchingCubes.js +0 -4809
- package/objects/Reflector.cjs +0 -202
- package/objects/Reflector.js +0 -202
- package/objects/ReflectorForSSRPass.cjs +0 -260
- package/objects/ReflectorForSSRPass.js +0 -260
- package/objects/ReflectorRTT.cjs +0 -10
- package/objects/ReflectorRTT.js +0 -10
- package/objects/Refractor.cjs +0 -215
- package/objects/Refractor.js +0 -215
- package/objects/ShadowMesh.cjs +0 -45
- package/objects/ShadowMesh.js +0 -45
- package/objects/Sky.cjs +0 -200
- package/objects/Sky.js +0 -200
- package/objects/Water.cjs +0 -242
- package/objects/Water.js +0 -242
- package/objects/Water2.cjs +0 -256
- package/objects/Water2.js +0 -256
- package/physics/AmmoPhysics.cjs +0 -166
- package/physics/AmmoPhysics.js +0 -166
- package/postprocessing/AdaptiveToneMappingPass.cjs +0 -218
- package/postprocessing/AdaptiveToneMappingPass.js +0 -218
- package/postprocessing/AfterimagePass.cjs +0 -68
- package/postprocessing/AfterimagePass.js +0 -68
- package/postprocessing/BloomPass.cjs +0 -109
- package/postprocessing/BloomPass.js +0 -109
- package/postprocessing/BokehPass.cjs +0 -90
- package/postprocessing/BokehPass.js +0 -90
- package/postprocessing/ClearPass.cjs +0 -36
- package/postprocessing/ClearPass.js +0 -36
- package/postprocessing/CubeTexturePass.cjs +0 -53
- package/postprocessing/CubeTexturePass.js +0 -53
- package/postprocessing/DotScreenPass.cjs +0 -49
- package/postprocessing/DotScreenPass.js +0 -49
- package/postprocessing/EffectComposer.cjs +0 -157
- package/postprocessing/EffectComposer.js +0 -157
- package/postprocessing/FilmPass.cjs +0 -51
- package/postprocessing/FilmPass.js +0 -51
- package/postprocessing/GlitchPass.cjs +0 -84
- package/postprocessing/GlitchPass.js +0 -84
- package/postprocessing/HalftonePass.cjs +0 -53
- package/postprocessing/HalftonePass.js +0 -53
- package/postprocessing/LUTPass.cjs +0 -142
- package/postprocessing/LUTPass.js +0 -142
- package/postprocessing/MaskPass.cjs +0 -69
- package/postprocessing/MaskPass.js +0 -69
- package/postprocessing/OutlinePass.cjs +0 -479
- package/postprocessing/OutlinePass.js +0 -479
- package/postprocessing/Pass.cjs +0 -48
- package/postprocessing/Pass.js +0 -48
- package/postprocessing/RenderPass.cjs +0 -59
- package/postprocessing/RenderPass.js +0 -59
- package/postprocessing/RenderPixelatedPass.cjs +0 -199
- package/postprocessing/RenderPixelatedPass.js +0 -199
- package/postprocessing/SAOPass.cjs +0 -288
- package/postprocessing/SAOPass.js +0 -288
- package/postprocessing/SMAAPass.cjs +0 -112
- package/postprocessing/SMAAPass.js +0 -112
- package/postprocessing/SSAARenderPass.cjs +0 -189
- package/postprocessing/SSAARenderPass.js +0 -189
- package/postprocessing/SSAOPass.cjs +0 -272
- package/postprocessing/SSAOPass.js +0 -272
- package/postprocessing/SSRPass.cjs +0 -411
- package/postprocessing/SSRPass.js +0 -411
- package/postprocessing/SavePass.cjs +0 -38
- package/postprocessing/SavePass.js +0 -38
- package/postprocessing/ShaderPass.cjs +0 -49
- package/postprocessing/ShaderPass.js +0 -49
- package/postprocessing/TAARenderPass.cjs +0 -174
- package/postprocessing/TAARenderPass.js +0 -174
- package/postprocessing/TexturePass.cjs +0 -42
- package/postprocessing/TexturePass.js +0 -42
- package/postprocessing/UnrealBloomPass.cjs +0 -277
- package/postprocessing/UnrealBloomPass.js +0 -277
- package/postprocessing/WaterPass.cjs +0 -72
- package/postprocessing/WaterPass.js +0 -72
- package/renderers/CSS2DRenderer.cjs +0 -122
- package/renderers/CSS2DRenderer.js +0 -122
- package/renderers/CSS3DRenderer.cjs +0 -167
- package/renderers/CSS3DRenderer.js +0 -167
- package/renderers/Projector.cjs +0 -499
- package/renderers/Projector.js +0 -499
- package/renderers/SVGRenderer.cjs +0 -311
- package/renderers/SVGRenderer.js +0 -311
- package/shaders/ACESFilmicToneMappingShader.cjs +0 -55
- package/shaders/ACESFilmicToneMappingShader.js +0 -55
- package/shaders/AfterimageShader.cjs +0 -32
- package/shaders/AfterimageShader.js +0 -32
- package/shaders/BasicShader.cjs +0 -12
- package/shaders/BasicShader.js +0 -12
- package/shaders/BleachBypassShader.cjs +0 -35
- package/shaders/BleachBypassShader.js +0 -35
- package/shaders/BlendShader.cjs +0 -30
- package/shaders/BlendShader.js +0 -30
- package/shaders/BokehShader.cjs +0 -109
- package/shaders/BokehShader.js +0 -109
- package/shaders/BokehShader2.cjs +0 -269
- package/shaders/BokehShader2.js +0 -269
- package/shaders/BrightnessContrastShader.cjs +0 -32
- package/shaders/BrightnessContrastShader.js +0 -32
- package/shaders/ColorCorrectionShader.cjs +0 -30
- package/shaders/ColorCorrectionShader.js +0 -30
- package/shaders/ColorifyShader.cjs +0 -28
- package/shaders/ColorifyShader.js +0 -28
- package/shaders/ConvolutionShader.cjs +0 -55
- package/shaders/ConvolutionShader.js +0 -55
- package/shaders/CopyShader.cjs +0 -25
- package/shaders/CopyShader.js +0 -25
- package/shaders/DOFMipMapShader.cjs +0 -32
- package/shaders/DOFMipMapShader.js +0 -32
- package/shaders/DepthLimitedBlurShader.cjs +0 -114
- package/shaders/DepthLimitedBlurShader.js +0 -114
- package/shaders/DigitalGlitch.cjs +0 -85
- package/shaders/DigitalGlitch.js +0 -85
- package/shaders/DotScreenShader.cjs +0 -39
- package/shaders/DotScreenShader.js +0 -39
- package/shaders/FXAAShader.cjs +0 -1098
- package/shaders/FXAAShader.js +0 -1098
- package/shaders/FilmShader.cjs +0 -53
- package/shaders/FilmShader.js +0 -53
- package/shaders/FocusShader.cjs +0 -55
- package/shaders/FocusShader.js +0 -55
- package/shaders/FreiChenShader.cjs +0 -64
- package/shaders/FreiChenShader.js +0 -64
- package/shaders/FresnelShader.cjs +0 -47
- package/shaders/FresnelShader.js +0 -47
- package/shaders/GammaCorrectionShader.cjs +0 -23
- package/shaders/GammaCorrectionShader.js +0 -23
- package/shaders/GodRaysShader.cjs +0 -183
- package/shaders/GodRaysShader.js +0 -183
- package/shaders/HalftoneShader.cjs +0 -228
- package/shaders/HalftoneShader.js +0 -228
- package/shaders/HorizontalBlurShader.cjs +0 -49
- package/shaders/HorizontalBlurShader.js +0 -49
- package/shaders/HorizontalTiltShiftShader.cjs +0 -37
- package/shaders/HorizontalTiltShiftShader.js +0 -37
- package/shaders/HueSaturationShader.cjs +0 -43
- package/shaders/HueSaturationShader.js +0 -43
- package/shaders/KaleidoShader.cjs +0 -34
- package/shaders/KaleidoShader.js +0 -34
- package/shaders/LuminosityHighPassShader.cjs +0 -37
- package/shaders/LuminosityHighPassShader.js +0 -37
- package/shaders/LuminosityShader.cjs +0 -25
- package/shaders/LuminosityShader.js +0 -25
- package/shaders/MirrorShader.cjs +0 -35
- package/shaders/MirrorShader.js +0 -35
- package/shaders/NormalMapShader.cjs +0 -31
- package/shaders/NormalMapShader.js +0 -31
- package/shaders/ParallaxShader.cjs +0 -133
- package/shaders/ParallaxShader.js +0 -133
- package/shaders/PixelShader.cjs +0 -28
- package/shaders/PixelShader.js +0 -28
- package/shaders/RGBShiftShader.cjs +0 -30
- package/shaders/RGBShiftShader.js +0 -30
- package/shaders/SAOShader.cjs +0 -144
- package/shaders/SAOShader.js +0 -144
- package/shaders/SMAAShader.cjs +0 -358
- package/shaders/SMAAShader.js +0 -358
- package/shaders/SSAOShader.cjs +0 -182
- package/shaders/SSAOShader.js +0 -182
- package/shaders/SSRShader.cjs +0 -342
- package/shaders/SSRShader.js +0 -342
- package/shaders/SepiaShader.cjs +0 -29
- package/shaders/SepiaShader.js +0 -29
- package/shaders/SobelOperatorShader.cjs +0 -54
- package/shaders/SobelOperatorShader.js +0 -54
- package/shaders/SubsurfaceScatteringShader.cjs +0 -98
- package/shaders/SubsurfaceScatteringShader.js +0 -98
- package/shaders/TechnicolorShader.cjs +0 -24
- package/shaders/TechnicolorShader.js +0 -24
- package/shaders/ToneMapShader.cjs +0 -51
- package/shaders/ToneMapShader.js +0 -51
- package/shaders/ToonShader.cjs +0 -188
- package/shaders/ToonShader.js +0 -188
- package/shaders/TriangleBlurShader.cjs +0 -37
- package/shaders/TriangleBlurShader.js +0 -37
- package/shaders/UnpackDepthRGBAShader.cjs +0 -26
- package/shaders/UnpackDepthRGBAShader.js +0 -26
- package/shaders/VerticalBlurShader.cjs +0 -50
- package/shaders/VerticalBlurShader.js +0 -50
- package/shaders/VerticalTiltShiftShader.cjs +0 -37
- package/shaders/VerticalTiltShiftShader.js +0 -37
- package/shaders/VignetteShader.cjs +0 -38
- package/shaders/VignetteShader.js +0 -38
- package/shaders/VolumeShader.cjs +0 -225
- package/shaders/VolumeShader.js +0 -225
- package/shaders/WaterRefractionShader.cjs +0 -59
- package/shaders/WaterRefractionShader.js +0 -59
- package/shaders/types.cjs +0 -1
- package/shaders/types.js +0 -1
- package/textures/FlakesTexture.cjs +0 -30
- package/textures/FlakesTexture.js +0 -30
- package/types/helpers.cjs +0 -4
- package/types/helpers.js +0 -4
- package/utils/BufferGeometryUtils.cjs +0 -636
- package/utils/BufferGeometryUtils.js +0 -636
- package/utils/GeometryCompressionUtils.cjs +0 -573
- package/utils/GeometryCompressionUtils.js +0 -573
- package/utils/GeometryUtils.cjs +0 -109
- package/utils/GeometryUtils.js +0 -109
- package/utils/RoughnessMipmapper.cjs +0 -223
- package/utils/RoughnessMipmapper.js +0 -223
- package/utils/SceneUtils.cjs +0 -36
- package/utils/SceneUtils.js +0 -36
- package/utils/ShadowMapViewer.cjs +0 -111
- package/utils/ShadowMapViewer.js +0 -111
- package/utils/SkeletonUtils.cjs +0 -211
- package/utils/SkeletonUtils.js +0 -211
- package/utils/UVsDebug.cjs +0 -80
- package/utils/UVsDebug.js +0 -80
- package/utils/WorkerPool.cjs +0 -62
- package/utils/WorkerPool.js +0 -62
- package/webxr/ARButton.cjs +0 -119
- package/webxr/ARButton.js +0 -119
- package/webxr/OculusHandModel.cjs +0 -82
- package/webxr/OculusHandModel.js +0 -82
- package/webxr/OculusHandPointerModel.cjs +0 -241
- package/webxr/OculusHandPointerModel.js +0 -224
- package/webxr/Text2D.cjs +0 -48
- package/webxr/Text2D.js +0 -31
- package/webxr/VRButton.cjs +0 -111
- package/webxr/VRButton.js +0 -111
- package/webxr/XRControllerModelFactory.cjs +0 -174
- package/webxr/XRControllerModelFactory.js +0 -174
- package/webxr/XREstimatedLight.cjs +0 -126
- package/webxr/XREstimatedLight.js +0 -126
- package/webxr/XRHandMeshModel.cjs +0 -82
- package/webxr/XRHandMeshModel.js +0 -82
- package/webxr/XRHandModelFactory.cjs +0 -61
- package/webxr/XRHandModelFactory.js +0 -61
- package/webxr/XRHandPrimitiveModel.cjs +0 -68
- package/webxr/XRHandPrimitiveModel.js +0 -68
package/loaders/TDSLoader.cjs
DELETED
|
@@ -1,650 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const THREE = require("three");
|
|
4
|
-
class TDSLoader extends THREE.Loader {
|
|
5
|
-
constructor(manager) {
|
|
6
|
-
super(manager);
|
|
7
|
-
this.debug = false;
|
|
8
|
-
this.group = null;
|
|
9
|
-
this.position = 0;
|
|
10
|
-
this.materials = [];
|
|
11
|
-
this.meshes = [];
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Load 3ds file from url.
|
|
15
|
-
*
|
|
16
|
-
* @method load
|
|
17
|
-
* @param {[type]} url URL for the file.
|
|
18
|
-
* @param {Function} onLoad onLoad callback, receives group Object3D as argument.
|
|
19
|
-
* @param {Function} onProgress onProgress callback.
|
|
20
|
-
* @param {Function} onError onError callback.
|
|
21
|
-
*/
|
|
22
|
-
load(url, onLoad, onProgress, onError) {
|
|
23
|
-
const scope = this;
|
|
24
|
-
const path = this.path === "" ? THREE.LoaderUtils.extractUrlBase(url) : this.path;
|
|
25
|
-
const loader = new THREE.FileLoader(this.manager);
|
|
26
|
-
loader.setPath(this.path);
|
|
27
|
-
loader.setResponseType("arraybuffer");
|
|
28
|
-
loader.setRequestHeader(this.requestHeader);
|
|
29
|
-
loader.setWithCredentials(this.withCredentials);
|
|
30
|
-
loader.load(
|
|
31
|
-
url,
|
|
32
|
-
function(data) {
|
|
33
|
-
try {
|
|
34
|
-
onLoad(scope.parse(data, path));
|
|
35
|
-
} catch (e) {
|
|
36
|
-
if (onError) {
|
|
37
|
-
onError(e);
|
|
38
|
-
} else {
|
|
39
|
-
console.error(e);
|
|
40
|
-
}
|
|
41
|
-
scope.manager.itemError(url);
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
onProgress,
|
|
45
|
-
onError
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Parse arraybuffer data and load 3ds file.
|
|
50
|
-
*
|
|
51
|
-
* @method parse
|
|
52
|
-
* @param {ArrayBuffer} arraybuffer Arraybuffer data to be loaded.
|
|
53
|
-
* @param {String} path Path for external resources.
|
|
54
|
-
* @return {Group} Group loaded from 3ds file.
|
|
55
|
-
*/
|
|
56
|
-
parse(arraybuffer, path) {
|
|
57
|
-
this.group = new THREE.Group();
|
|
58
|
-
this.position = 0;
|
|
59
|
-
this.materials = [];
|
|
60
|
-
this.meshes = [];
|
|
61
|
-
this.readFile(arraybuffer, path);
|
|
62
|
-
for (let i = 0; i < this.meshes.length; i++) {
|
|
63
|
-
this.group.add(this.meshes[i]);
|
|
64
|
-
}
|
|
65
|
-
return this.group;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Decode file content to read 3ds data.
|
|
69
|
-
*
|
|
70
|
-
* @method readFile
|
|
71
|
-
* @param {ArrayBuffer} arraybuffer Arraybuffer data to be loaded.
|
|
72
|
-
* @param {String} path Path for external resources.
|
|
73
|
-
*/
|
|
74
|
-
readFile(arraybuffer, path) {
|
|
75
|
-
const data = new DataView(arraybuffer);
|
|
76
|
-
const chunk = this.readChunk(data);
|
|
77
|
-
if (chunk.id === MLIBMAGIC || chunk.id === CMAGIC || chunk.id === M3DMAGIC) {
|
|
78
|
-
let next = this.nextChunk(data, chunk);
|
|
79
|
-
while (next !== 0) {
|
|
80
|
-
if (next === M3D_VERSION) {
|
|
81
|
-
const version = this.readDWord(data);
|
|
82
|
-
this.debugMessage("3DS file version: " + version);
|
|
83
|
-
} else if (next === MDATA) {
|
|
84
|
-
this.resetPosition(data);
|
|
85
|
-
this.readMeshData(data, path);
|
|
86
|
-
} else {
|
|
87
|
-
this.debugMessage("Unknown main chunk: " + next.toString(16));
|
|
88
|
-
}
|
|
89
|
-
next = this.nextChunk(data, chunk);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
this.debugMessage("Parsed " + this.meshes.length + " meshes");
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Read mesh data chunk.
|
|
96
|
-
*
|
|
97
|
-
* @method readMeshData
|
|
98
|
-
* @param {Dataview} data Dataview in use.
|
|
99
|
-
* @param {String} path Path for external resources.
|
|
100
|
-
*/
|
|
101
|
-
readMeshData(data, path) {
|
|
102
|
-
const chunk = this.readChunk(data);
|
|
103
|
-
let next = this.nextChunk(data, chunk);
|
|
104
|
-
while (next !== 0) {
|
|
105
|
-
if (next === MESH_VERSION) {
|
|
106
|
-
const version = +this.readDWord(data);
|
|
107
|
-
this.debugMessage("Mesh Version: " + version);
|
|
108
|
-
} else if (next === MASTER_SCALE) {
|
|
109
|
-
const scale = this.readFloat(data);
|
|
110
|
-
this.debugMessage("Master scale: " + scale);
|
|
111
|
-
this.group.scale.set(scale, scale, scale);
|
|
112
|
-
} else if (next === NAMED_OBJECT) {
|
|
113
|
-
this.debugMessage("Named Object");
|
|
114
|
-
this.resetPosition(data);
|
|
115
|
-
this.readNamedObject(data);
|
|
116
|
-
} else if (next === MAT_ENTRY) {
|
|
117
|
-
this.debugMessage("Material");
|
|
118
|
-
this.resetPosition(data);
|
|
119
|
-
this.readMaterialEntry(data, path);
|
|
120
|
-
} else {
|
|
121
|
-
this.debugMessage("Unknown MDATA chunk: " + next.toString(16));
|
|
122
|
-
}
|
|
123
|
-
next = this.nextChunk(data, chunk);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Read named object chunk.
|
|
128
|
-
*
|
|
129
|
-
* @method readNamedObject
|
|
130
|
-
* @param {Dataview} data Dataview in use.
|
|
131
|
-
*/
|
|
132
|
-
readNamedObject(data) {
|
|
133
|
-
const chunk = this.readChunk(data);
|
|
134
|
-
const name = this.readString(data, 64);
|
|
135
|
-
chunk.cur = this.position;
|
|
136
|
-
let next = this.nextChunk(data, chunk);
|
|
137
|
-
while (next !== 0) {
|
|
138
|
-
if (next === N_TRI_OBJECT) {
|
|
139
|
-
this.resetPosition(data);
|
|
140
|
-
const mesh = this.readMesh(data);
|
|
141
|
-
mesh.name = name;
|
|
142
|
-
this.meshes.push(mesh);
|
|
143
|
-
} else {
|
|
144
|
-
this.debugMessage("Unknown named object chunk: " + next.toString(16));
|
|
145
|
-
}
|
|
146
|
-
next = this.nextChunk(data, chunk);
|
|
147
|
-
}
|
|
148
|
-
this.endChunk(chunk);
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Read material data chunk and add it to the material list.
|
|
152
|
-
*
|
|
153
|
-
* @method readMaterialEntry
|
|
154
|
-
* @param {Dataview} data Dataview in use.
|
|
155
|
-
* @param {String} path Path for external resources.
|
|
156
|
-
*/
|
|
157
|
-
readMaterialEntry(data, path) {
|
|
158
|
-
const chunk = this.readChunk(data);
|
|
159
|
-
let next = this.nextChunk(data, chunk);
|
|
160
|
-
const material = new THREE.MeshPhongMaterial();
|
|
161
|
-
while (next !== 0) {
|
|
162
|
-
if (next === MAT_NAME) {
|
|
163
|
-
material.name = this.readString(data, 64);
|
|
164
|
-
this.debugMessage(" Name: " + material.name);
|
|
165
|
-
} else if (next === MAT_WIRE) {
|
|
166
|
-
this.debugMessage(" Wireframe");
|
|
167
|
-
material.wireframe = true;
|
|
168
|
-
} else if (next === MAT_WIRE_SIZE) {
|
|
169
|
-
const value = this.readByte(data);
|
|
170
|
-
material.wireframeLinewidth = value;
|
|
171
|
-
this.debugMessage(" Wireframe Thickness: " + value);
|
|
172
|
-
} else if (next === MAT_TWO_SIDE) {
|
|
173
|
-
material.side = THREE.DoubleSide;
|
|
174
|
-
this.debugMessage(" DoubleSided");
|
|
175
|
-
} else if (next === MAT_ADDITIVE) {
|
|
176
|
-
this.debugMessage(" Additive Blending");
|
|
177
|
-
material.blending = THREE.AdditiveBlending;
|
|
178
|
-
} else if (next === MAT_DIFFUSE) {
|
|
179
|
-
this.debugMessage(" Diffuse Color");
|
|
180
|
-
material.color = this.readColor(data);
|
|
181
|
-
} else if (next === MAT_SPECULAR) {
|
|
182
|
-
this.debugMessage(" Specular Color");
|
|
183
|
-
material.specular = this.readColor(data);
|
|
184
|
-
} else if (next === MAT_AMBIENT) {
|
|
185
|
-
this.debugMessage(" Ambient color");
|
|
186
|
-
material.color = this.readColor(data);
|
|
187
|
-
} else if (next === MAT_SHININESS) {
|
|
188
|
-
const shininess = this.readPercentage(data);
|
|
189
|
-
material.shininess = shininess * 100;
|
|
190
|
-
this.debugMessage(" Shininess : " + shininess);
|
|
191
|
-
} else if (next === MAT_TRANSPARENCY) {
|
|
192
|
-
const transparency = this.readPercentage(data);
|
|
193
|
-
material.opacity = 1 - transparency;
|
|
194
|
-
this.debugMessage(" Transparency : " + transparency);
|
|
195
|
-
material.transparent = material.opacity < 1 ? true : false;
|
|
196
|
-
} else if (next === MAT_TEXMAP) {
|
|
197
|
-
this.debugMessage(" ColorMap");
|
|
198
|
-
this.resetPosition(data);
|
|
199
|
-
material.map = this.readMap(data, path);
|
|
200
|
-
} else if (next === MAT_BUMPMAP) {
|
|
201
|
-
this.debugMessage(" BumpMap");
|
|
202
|
-
this.resetPosition(data);
|
|
203
|
-
material.bumpMap = this.readMap(data, path);
|
|
204
|
-
} else if (next === MAT_OPACMAP) {
|
|
205
|
-
this.debugMessage(" OpacityMap");
|
|
206
|
-
this.resetPosition(data);
|
|
207
|
-
material.alphaMap = this.readMap(data, path);
|
|
208
|
-
} else if (next === MAT_SPECMAP) {
|
|
209
|
-
this.debugMessage(" SpecularMap");
|
|
210
|
-
this.resetPosition(data);
|
|
211
|
-
material.specularMap = this.readMap(data, path);
|
|
212
|
-
} else {
|
|
213
|
-
this.debugMessage(" Unknown material chunk: " + next.toString(16));
|
|
214
|
-
}
|
|
215
|
-
next = this.nextChunk(data, chunk);
|
|
216
|
-
}
|
|
217
|
-
this.endChunk(chunk);
|
|
218
|
-
this.materials[material.name] = material;
|
|
219
|
-
}
|
|
220
|
-
/**
|
|
221
|
-
* Read mesh data chunk.
|
|
222
|
-
*
|
|
223
|
-
* @method readMesh
|
|
224
|
-
* @param {Dataview} data Dataview in use.
|
|
225
|
-
* @return {Mesh} The parsed mesh.
|
|
226
|
-
*/
|
|
227
|
-
readMesh(data) {
|
|
228
|
-
const chunk = this.readChunk(data);
|
|
229
|
-
let next = this.nextChunk(data, chunk);
|
|
230
|
-
const geometry = new THREE.BufferGeometry();
|
|
231
|
-
const material = new THREE.MeshPhongMaterial();
|
|
232
|
-
const mesh = new THREE.Mesh(geometry, material);
|
|
233
|
-
mesh.name = "mesh";
|
|
234
|
-
while (next !== 0) {
|
|
235
|
-
if (next === POINT_ARRAY) {
|
|
236
|
-
const points = this.readWord(data);
|
|
237
|
-
this.debugMessage(" Vertex: " + points);
|
|
238
|
-
const vertices = [];
|
|
239
|
-
for (let i = 0; i < points; i++) {
|
|
240
|
-
vertices.push(this.readFloat(data));
|
|
241
|
-
vertices.push(this.readFloat(data));
|
|
242
|
-
vertices.push(this.readFloat(data));
|
|
243
|
-
}
|
|
244
|
-
geometry.setAttribute("position", new THREE.Float32BufferAttribute(vertices, 3));
|
|
245
|
-
} else if (next === FACE_ARRAY) {
|
|
246
|
-
this.resetPosition(data);
|
|
247
|
-
this.readFaceArray(data, mesh);
|
|
248
|
-
} else if (next === TEX_VERTS) {
|
|
249
|
-
const texels = this.readWord(data);
|
|
250
|
-
this.debugMessage(" UV: " + texels);
|
|
251
|
-
const uvs = [];
|
|
252
|
-
for (let i = 0; i < texels; i++) {
|
|
253
|
-
uvs.push(this.readFloat(data));
|
|
254
|
-
uvs.push(this.readFloat(data));
|
|
255
|
-
}
|
|
256
|
-
geometry.setAttribute("uv", new THREE.Float32BufferAttribute(uvs, 2));
|
|
257
|
-
} else if (next === MESH_MATRIX) {
|
|
258
|
-
this.debugMessage(" Tranformation Matrix (TODO)");
|
|
259
|
-
const values = [];
|
|
260
|
-
for (let i = 0; i < 12; i++) {
|
|
261
|
-
values[i] = this.readFloat(data);
|
|
262
|
-
}
|
|
263
|
-
const matrix = new THREE.Matrix4();
|
|
264
|
-
matrix.elements[0] = values[0];
|
|
265
|
-
matrix.elements[1] = values[6];
|
|
266
|
-
matrix.elements[2] = values[3];
|
|
267
|
-
matrix.elements[3] = values[9];
|
|
268
|
-
matrix.elements[4] = values[2];
|
|
269
|
-
matrix.elements[5] = values[8];
|
|
270
|
-
matrix.elements[6] = values[5];
|
|
271
|
-
matrix.elements[7] = values[11];
|
|
272
|
-
matrix.elements[8] = values[1];
|
|
273
|
-
matrix.elements[9] = values[7];
|
|
274
|
-
matrix.elements[10] = values[4];
|
|
275
|
-
matrix.elements[11] = values[10];
|
|
276
|
-
matrix.elements[12] = 0;
|
|
277
|
-
matrix.elements[13] = 0;
|
|
278
|
-
matrix.elements[14] = 0;
|
|
279
|
-
matrix.elements[15] = 1;
|
|
280
|
-
matrix.transpose();
|
|
281
|
-
const inverse = new THREE.Matrix4();
|
|
282
|
-
inverse.copy(matrix).invert();
|
|
283
|
-
geometry.applyMatrix4(inverse);
|
|
284
|
-
matrix.decompose(mesh.position, mesh.quaternion, mesh.scale);
|
|
285
|
-
} else {
|
|
286
|
-
this.debugMessage(" Unknown mesh chunk: " + next.toString(16));
|
|
287
|
-
}
|
|
288
|
-
next = this.nextChunk(data, chunk);
|
|
289
|
-
}
|
|
290
|
-
this.endChunk(chunk);
|
|
291
|
-
geometry.computeVertexNormals();
|
|
292
|
-
return mesh;
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Read face array data chunk.
|
|
296
|
-
*
|
|
297
|
-
* @method readFaceArray
|
|
298
|
-
* @param {Dataview} data Dataview in use.
|
|
299
|
-
* @param {Mesh} mesh Mesh to be filled with the data read.
|
|
300
|
-
*/
|
|
301
|
-
readFaceArray(data, mesh) {
|
|
302
|
-
const chunk = this.readChunk(data);
|
|
303
|
-
const faces = this.readWord(data);
|
|
304
|
-
this.debugMessage(" Faces: " + faces);
|
|
305
|
-
const index = [];
|
|
306
|
-
for (let i = 0; i < faces; ++i) {
|
|
307
|
-
index.push(this.readWord(data), this.readWord(data), this.readWord(data));
|
|
308
|
-
this.readWord(data);
|
|
309
|
-
}
|
|
310
|
-
mesh.geometry.setIndex(index);
|
|
311
|
-
let materialIndex = 0;
|
|
312
|
-
let start = 0;
|
|
313
|
-
while (this.position < chunk.end) {
|
|
314
|
-
const subchunk = this.readChunk(data);
|
|
315
|
-
if (subchunk.id === MSH_MAT_GROUP) {
|
|
316
|
-
this.debugMessage(" Material Group");
|
|
317
|
-
this.resetPosition(data);
|
|
318
|
-
const group = this.readMaterialGroup(data);
|
|
319
|
-
const count = group.index.length * 3;
|
|
320
|
-
mesh.geometry.addGroup(start, count, materialIndex);
|
|
321
|
-
start += count;
|
|
322
|
-
materialIndex++;
|
|
323
|
-
const material = this.materials[group.name];
|
|
324
|
-
if (Array.isArray(mesh.material) === false)
|
|
325
|
-
mesh.material = [];
|
|
326
|
-
if (material !== void 0) {
|
|
327
|
-
mesh.material.push(material);
|
|
328
|
-
}
|
|
329
|
-
} else {
|
|
330
|
-
this.debugMessage(" Unknown face array chunk: " + subchunk.toString(16));
|
|
331
|
-
}
|
|
332
|
-
this.endChunk(subchunk);
|
|
333
|
-
}
|
|
334
|
-
if (mesh.material.length === 1)
|
|
335
|
-
mesh.material = mesh.material[0];
|
|
336
|
-
this.endChunk(chunk);
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* Read texture map data chunk.
|
|
340
|
-
*
|
|
341
|
-
* @method readMap
|
|
342
|
-
* @param {Dataview} data Dataview in use.
|
|
343
|
-
* @param {String} path Path for external resources.
|
|
344
|
-
* @return {Texture} Texture read from this data chunk.
|
|
345
|
-
*/
|
|
346
|
-
readMap(data, path) {
|
|
347
|
-
const chunk = this.readChunk(data);
|
|
348
|
-
let next = this.nextChunk(data, chunk);
|
|
349
|
-
let texture = {};
|
|
350
|
-
const loader = new THREE.TextureLoader(this.manager);
|
|
351
|
-
loader.setPath(this.resourcePath || path).setCrossOrigin(this.crossOrigin);
|
|
352
|
-
while (next !== 0) {
|
|
353
|
-
if (next === MAT_MAPNAME) {
|
|
354
|
-
const name = this.readString(data, 128);
|
|
355
|
-
texture = loader.load(name);
|
|
356
|
-
this.debugMessage(" File: " + path + name);
|
|
357
|
-
} else if (next === MAT_MAP_UOFFSET) {
|
|
358
|
-
texture.offset.x = this.readFloat(data);
|
|
359
|
-
this.debugMessage(" OffsetX: " + texture.offset.x);
|
|
360
|
-
} else if (next === MAT_MAP_VOFFSET) {
|
|
361
|
-
texture.offset.y = this.readFloat(data);
|
|
362
|
-
this.debugMessage(" OffsetY: " + texture.offset.y);
|
|
363
|
-
} else if (next === MAT_MAP_USCALE) {
|
|
364
|
-
texture.repeat.x = this.readFloat(data);
|
|
365
|
-
this.debugMessage(" RepeatX: " + texture.repeat.x);
|
|
366
|
-
} else if (next === MAT_MAP_VSCALE) {
|
|
367
|
-
texture.repeat.y = this.readFloat(data);
|
|
368
|
-
this.debugMessage(" RepeatY: " + texture.repeat.y);
|
|
369
|
-
} else {
|
|
370
|
-
this.debugMessage(" Unknown map chunk: " + next.toString(16));
|
|
371
|
-
}
|
|
372
|
-
next = this.nextChunk(data, chunk);
|
|
373
|
-
}
|
|
374
|
-
this.endChunk(chunk);
|
|
375
|
-
return texture;
|
|
376
|
-
}
|
|
377
|
-
/**
|
|
378
|
-
* Read material group data chunk.
|
|
379
|
-
*
|
|
380
|
-
* @method readMaterialGroup
|
|
381
|
-
* @param {Dataview} data Dataview in use.
|
|
382
|
-
* @return {Object} Object with name and index of the object.
|
|
383
|
-
*/
|
|
384
|
-
readMaterialGroup(data) {
|
|
385
|
-
this.readChunk(data);
|
|
386
|
-
const name = this.readString(data, 64);
|
|
387
|
-
const numFaces = this.readWord(data);
|
|
388
|
-
this.debugMessage(" Name: " + name);
|
|
389
|
-
this.debugMessage(" Faces: " + numFaces);
|
|
390
|
-
const index = [];
|
|
391
|
-
for (let i = 0; i < numFaces; ++i) {
|
|
392
|
-
index.push(this.readWord(data));
|
|
393
|
-
}
|
|
394
|
-
return { name, index };
|
|
395
|
-
}
|
|
396
|
-
/**
|
|
397
|
-
* Read a color value.
|
|
398
|
-
*
|
|
399
|
-
* @method readColor
|
|
400
|
-
* @param {DataView} data Dataview.
|
|
401
|
-
* @return {Color} Color value read..
|
|
402
|
-
*/
|
|
403
|
-
readColor(data) {
|
|
404
|
-
const chunk = this.readChunk(data);
|
|
405
|
-
const color = new THREE.Color();
|
|
406
|
-
if (chunk.id === COLOR_24 || chunk.id === LIN_COLOR_24) {
|
|
407
|
-
const r = this.readByte(data);
|
|
408
|
-
const g = this.readByte(data);
|
|
409
|
-
const b = this.readByte(data);
|
|
410
|
-
color.setRGB(r / 255, g / 255, b / 255);
|
|
411
|
-
this.debugMessage(" Color: " + color.r + ", " + color.g + ", " + color.b);
|
|
412
|
-
} else if (chunk.id === COLOR_F || chunk.id === LIN_COLOR_F) {
|
|
413
|
-
const r = this.readFloat(data);
|
|
414
|
-
const g = this.readFloat(data);
|
|
415
|
-
const b = this.readFloat(data);
|
|
416
|
-
color.setRGB(r, g, b);
|
|
417
|
-
this.debugMessage(" Color: " + color.r + ", " + color.g + ", " + color.b);
|
|
418
|
-
} else {
|
|
419
|
-
this.debugMessage(" Unknown color chunk: " + chunk.toString(16));
|
|
420
|
-
}
|
|
421
|
-
this.endChunk(chunk);
|
|
422
|
-
return color;
|
|
423
|
-
}
|
|
424
|
-
/**
|
|
425
|
-
* Read next chunk of data.
|
|
426
|
-
*
|
|
427
|
-
* @method readChunk
|
|
428
|
-
* @param {DataView} data Dataview.
|
|
429
|
-
* @return {Object} Chunk of data read.
|
|
430
|
-
*/
|
|
431
|
-
readChunk(data) {
|
|
432
|
-
const chunk = {};
|
|
433
|
-
chunk.cur = this.position;
|
|
434
|
-
chunk.id = this.readWord(data);
|
|
435
|
-
chunk.size = this.readDWord(data);
|
|
436
|
-
chunk.end = chunk.cur + chunk.size;
|
|
437
|
-
chunk.cur += 6;
|
|
438
|
-
return chunk;
|
|
439
|
-
}
|
|
440
|
-
/**
|
|
441
|
-
* Set position to the end of the current chunk of data.
|
|
442
|
-
*
|
|
443
|
-
* @method endChunk
|
|
444
|
-
* @param {Object} chunk Data chunk.
|
|
445
|
-
*/
|
|
446
|
-
endChunk(chunk) {
|
|
447
|
-
this.position = chunk.end;
|
|
448
|
-
}
|
|
449
|
-
/**
|
|
450
|
-
* Move to the next data chunk.
|
|
451
|
-
*
|
|
452
|
-
* @method nextChunk
|
|
453
|
-
* @param {DataView} data Dataview.
|
|
454
|
-
* @param {Object} chunk Data chunk.
|
|
455
|
-
*/
|
|
456
|
-
nextChunk(data, chunk) {
|
|
457
|
-
if (chunk.cur >= chunk.end) {
|
|
458
|
-
return 0;
|
|
459
|
-
}
|
|
460
|
-
this.position = chunk.cur;
|
|
461
|
-
try {
|
|
462
|
-
const next = this.readChunk(data);
|
|
463
|
-
chunk.cur += next.size;
|
|
464
|
-
return next.id;
|
|
465
|
-
} catch (e) {
|
|
466
|
-
this.debugMessage("Unable to read chunk at " + this.position);
|
|
467
|
-
return 0;
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
/**
|
|
471
|
-
* Reset dataview position.
|
|
472
|
-
*
|
|
473
|
-
* @method resetPosition
|
|
474
|
-
*/
|
|
475
|
-
resetPosition() {
|
|
476
|
-
this.position -= 6;
|
|
477
|
-
}
|
|
478
|
-
/**
|
|
479
|
-
* Read byte value.
|
|
480
|
-
*
|
|
481
|
-
* @method readByte
|
|
482
|
-
* @param {DataView} data Dataview to read data from.
|
|
483
|
-
* @return {Number} Data read from the dataview.
|
|
484
|
-
*/
|
|
485
|
-
readByte(data) {
|
|
486
|
-
const v = data.getUint8(this.position, true);
|
|
487
|
-
this.position += 1;
|
|
488
|
-
return v;
|
|
489
|
-
}
|
|
490
|
-
/**
|
|
491
|
-
* Read 32 bit float value.
|
|
492
|
-
*
|
|
493
|
-
* @method readFloat
|
|
494
|
-
* @param {DataView} data Dataview to read data from.
|
|
495
|
-
* @return {Number} Data read from the dataview.
|
|
496
|
-
*/
|
|
497
|
-
readFloat(data) {
|
|
498
|
-
try {
|
|
499
|
-
const v = data.getFloat32(this.position, true);
|
|
500
|
-
this.position += 4;
|
|
501
|
-
return v;
|
|
502
|
-
} catch (e) {
|
|
503
|
-
this.debugMessage(e + " " + this.position + " " + data.byteLength);
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
/**
|
|
507
|
-
* Read 32 bit signed integer value.
|
|
508
|
-
*
|
|
509
|
-
* @method readInt
|
|
510
|
-
* @param {DataView} data Dataview to read data from.
|
|
511
|
-
* @return {Number} Data read from the dataview.
|
|
512
|
-
*/
|
|
513
|
-
readInt(data) {
|
|
514
|
-
const v = data.getInt32(this.position, true);
|
|
515
|
-
this.position += 4;
|
|
516
|
-
return v;
|
|
517
|
-
}
|
|
518
|
-
/**
|
|
519
|
-
* Read 16 bit signed integer value.
|
|
520
|
-
*
|
|
521
|
-
* @method readShort
|
|
522
|
-
* @param {DataView} data Dataview to read data from.
|
|
523
|
-
* @return {Number} Data read from the dataview.
|
|
524
|
-
*/
|
|
525
|
-
readShort(data) {
|
|
526
|
-
const v = data.getInt16(this.position, true);
|
|
527
|
-
this.position += 2;
|
|
528
|
-
return v;
|
|
529
|
-
}
|
|
530
|
-
/**
|
|
531
|
-
* Read 64 bit unsigned integer value.
|
|
532
|
-
*
|
|
533
|
-
* @method readDWord
|
|
534
|
-
* @param {DataView} data Dataview to read data from.
|
|
535
|
-
* @return {Number} Data read from the dataview.
|
|
536
|
-
*/
|
|
537
|
-
readDWord(data) {
|
|
538
|
-
const v = data.getUint32(this.position, true);
|
|
539
|
-
this.position += 4;
|
|
540
|
-
return v;
|
|
541
|
-
}
|
|
542
|
-
/**
|
|
543
|
-
* Read 32 bit unsigned integer value.
|
|
544
|
-
*
|
|
545
|
-
* @method readWord
|
|
546
|
-
* @param {DataView} data Dataview to read data from.
|
|
547
|
-
* @return {Number} Data read from the dataview.
|
|
548
|
-
*/
|
|
549
|
-
readWord(data) {
|
|
550
|
-
const v = data.getUint16(this.position, true);
|
|
551
|
-
this.position += 2;
|
|
552
|
-
return v;
|
|
553
|
-
}
|
|
554
|
-
/**
|
|
555
|
-
* Read string value.
|
|
556
|
-
*
|
|
557
|
-
* @method readString
|
|
558
|
-
* @param {DataView} data Dataview to read data from.
|
|
559
|
-
* @param {Number} maxLength Max size of the string to be read.
|
|
560
|
-
* @return {String} Data read from the dataview.
|
|
561
|
-
*/
|
|
562
|
-
readString(data, maxLength) {
|
|
563
|
-
let s = "";
|
|
564
|
-
for (let i = 0; i < maxLength; i++) {
|
|
565
|
-
const c = this.readByte(data);
|
|
566
|
-
if (!c) {
|
|
567
|
-
break;
|
|
568
|
-
}
|
|
569
|
-
s += String.fromCharCode(c);
|
|
570
|
-
}
|
|
571
|
-
return s;
|
|
572
|
-
}
|
|
573
|
-
/**
|
|
574
|
-
* Read percentage value.
|
|
575
|
-
*
|
|
576
|
-
* @method readPercentage
|
|
577
|
-
* @param {DataView} data Dataview to read data from.
|
|
578
|
-
* @return {Number} Data read from the dataview.
|
|
579
|
-
*/
|
|
580
|
-
readPercentage(data) {
|
|
581
|
-
const chunk = this.readChunk(data);
|
|
582
|
-
let value;
|
|
583
|
-
switch (chunk.id) {
|
|
584
|
-
case INT_PERCENTAGE:
|
|
585
|
-
value = this.readShort(data) / 100;
|
|
586
|
-
break;
|
|
587
|
-
case FLOAT_PERCENTAGE:
|
|
588
|
-
value = this.readFloat(data);
|
|
589
|
-
break;
|
|
590
|
-
default:
|
|
591
|
-
this.debugMessage(" Unknown percentage chunk: " + chunk.toString(16));
|
|
592
|
-
}
|
|
593
|
-
this.endChunk(chunk);
|
|
594
|
-
return value;
|
|
595
|
-
}
|
|
596
|
-
/**
|
|
597
|
-
* Print debug message to the console.
|
|
598
|
-
*
|
|
599
|
-
* Is controlled by a flag to show or hide debug messages.
|
|
600
|
-
*
|
|
601
|
-
* @method debugMessage
|
|
602
|
-
* @param {Object} message Debug message to print to the console.
|
|
603
|
-
*/
|
|
604
|
-
debugMessage(message) {
|
|
605
|
-
if (this.debug) {
|
|
606
|
-
console.log(message);
|
|
607
|
-
}
|
|
608
|
-
}
|
|
609
|
-
}
|
|
610
|
-
const M3DMAGIC = 19789;
|
|
611
|
-
const MLIBMAGIC = 15786;
|
|
612
|
-
const CMAGIC = 49725;
|
|
613
|
-
const M3D_VERSION = 2;
|
|
614
|
-
const COLOR_F = 16;
|
|
615
|
-
const COLOR_24 = 17;
|
|
616
|
-
const LIN_COLOR_24 = 18;
|
|
617
|
-
const LIN_COLOR_F = 19;
|
|
618
|
-
const INT_PERCENTAGE = 48;
|
|
619
|
-
const FLOAT_PERCENTAGE = 49;
|
|
620
|
-
const MDATA = 15677;
|
|
621
|
-
const MESH_VERSION = 15678;
|
|
622
|
-
const MASTER_SCALE = 256;
|
|
623
|
-
const MAT_ENTRY = 45055;
|
|
624
|
-
const MAT_NAME = 40960;
|
|
625
|
-
const MAT_AMBIENT = 40976;
|
|
626
|
-
const MAT_DIFFUSE = 40992;
|
|
627
|
-
const MAT_SPECULAR = 41008;
|
|
628
|
-
const MAT_SHININESS = 41024;
|
|
629
|
-
const MAT_TRANSPARENCY = 41040;
|
|
630
|
-
const MAT_TWO_SIDE = 41089;
|
|
631
|
-
const MAT_ADDITIVE = 41091;
|
|
632
|
-
const MAT_WIRE = 41093;
|
|
633
|
-
const MAT_WIRE_SIZE = 41095;
|
|
634
|
-
const MAT_TEXMAP = 41472;
|
|
635
|
-
const MAT_OPACMAP = 41488;
|
|
636
|
-
const MAT_BUMPMAP = 41520;
|
|
637
|
-
const MAT_SPECMAP = 41476;
|
|
638
|
-
const MAT_MAPNAME = 41728;
|
|
639
|
-
const MAT_MAP_USCALE = 41812;
|
|
640
|
-
const MAT_MAP_VSCALE = 41814;
|
|
641
|
-
const MAT_MAP_UOFFSET = 41816;
|
|
642
|
-
const MAT_MAP_VOFFSET = 41818;
|
|
643
|
-
const NAMED_OBJECT = 16384;
|
|
644
|
-
const N_TRI_OBJECT = 16640;
|
|
645
|
-
const POINT_ARRAY = 16656;
|
|
646
|
-
const FACE_ARRAY = 16672;
|
|
647
|
-
const MSH_MAT_GROUP = 16688;
|
|
648
|
-
const TEX_VERTS = 16704;
|
|
649
|
-
const MESH_MATRIX = 16736;
|
|
650
|
-
exports.TDSLoader = TDSLoader;
|