@needle-tools/three 0.145.2 → 0.146.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/README.md +1 -1
- package/build/three.cjs +3559 -6924
- package/build/three.js +3559 -6924
- package/build/three.min.js +1 -2
- package/build/three.module.js +732 -339
- package/examples/js/animation/AnimationClipCreator.js +0 -8
- package/examples/js/animation/CCDIKSolver.js +49 -66
- package/examples/js/animation/MMDAnimationHelper.js +66 -137
- package/examples/js/animation/MMDPhysics.js +70 -134
- package/examples/js/cameras/CinematicCamera.js +33 -22
- package/examples/js/controls/ArcballControls.js +138 -405
- package/examples/js/controls/DragControls.js +8 -33
- package/examples/js/controls/FirstPersonControls.js +32 -54
- package/examples/js/controls/FlyControls.js +29 -55
- package/examples/js/controls/OrbitControls.js +85 -95
- package/examples/js/controls/PointerLockControls.js +5 -14
- package/examples/js/controls/TrackballControls.js +33 -86
- package/examples/js/controls/TransformControls.js +84 -169
- package/examples/js/csm/CSM.js +4 -39
- package/examples/js/csm/CSMFrustum.js +3 -9
- package/examples/js/csm/CSMHelper.js +24 -4
- package/examples/js/csm/CSMShader.js +2 -6
- package/examples/js/curves/CurveExtras.js +27 -27
- package/examples/js/curves/NURBSCurve.js +4 -16
- package/examples/js/curves/NURBSSurface.js +3 -9
- package/examples/js/curves/NURBSUtils.js +8 -45
- package/examples/js/effects/AnaglyphEffect.js +4 -18
- package/examples/js/effects/AsciiEffect.js +32 -31
- package/examples/js/effects/OutlineEffect.js +26 -30
- package/examples/js/effects/ParallaxBarrierEffect.js +0 -13
- package/examples/js/effects/PeppersGhostEffect.js +12 -39
- package/examples/js/effects/StereoEffect.js +0 -4
- package/examples/js/environments/RoomEnvironment.js +12 -10
- package/examples/js/exporters/ColladaExporter.js +48 -65
- package/examples/js/exporters/DRACOExporter.js +22 -22
- package/examples/js/exporters/EXRExporter.js +15 -18
- package/examples/js/exporters/GLTFExporter.js +143 -261
- package/examples/js/exporters/MMDExporter.js +5 -12
- package/examples/js/exporters/OBJExporter.js +42 -33
- package/examples/js/exporters/PLYExporter.js +38 -33
- package/examples/js/exporters/STLExporter.js +5 -7
- package/examples/js/exporters/USDZExporter.js +110 -25
- package/examples/js/geometries/BoxLineGeometry.js +0 -1
- package/examples/js/geometries/ConvexGeometry.js +11 -6
- package/examples/js/geometries/DecalGeometry.js +53 -20
- package/examples/js/geometries/LightningStrike.js +54 -67
- package/examples/js/geometries/ParametricGeometries.js +8 -7
- package/examples/js/geometries/ParametricGeometry.js +25 -12
- package/examples/js/geometries/RoundedBoxGeometry.js +21 -19
- package/examples/js/geometries/TeapotGeometry.js +54 -50
- package/examples/js/geometries/TextGeometry.js +6 -4
- package/examples/js/helpers/LightProbeHelper.js +1 -2
- package/examples/js/helpers/OctreeHelper.js +22 -20
- package/examples/js/helpers/PositionalAudioHelper.js +8 -6
- package/examples/js/helpers/RectAreaLightHelper.js +6 -7
- package/examples/js/helpers/VertexNormalsHelper.js +15 -13
- package/examples/js/helpers/VertexTangentsHelper.js +15 -9
- package/examples/js/helpers/ViewHelper.js +31 -16
- package/examples/js/interactive/HTMLMesh.js +22 -33
- package/examples/js/interactive/InteractiveGroup.js +6 -12
- package/examples/js/interactive/SelectionBox.js +3 -70
- package/examples/js/interactive/SelectionHelper.js +0 -8
- package/examples/js/lights/LightProbeGenerator.js +32 -39
- package/examples/js/lights/RectAreaLightUniformsLib.js +5 -1
- package/examples/js/lines/LineGeometry.js +3 -5
- package/examples/js/lines/LineMaterial.js +4 -11
- package/examples/js/lines/LineSegments2.js +38 -89
- package/examples/js/lines/LineSegmentsGeometry.js +7 -28
- package/examples/js/lines/Wireframe.js +2 -7
- package/examples/js/lines/WireframeGeometry2.js +3 -1
- package/examples/js/loaders/3DMLoader.js +58 -155
- package/examples/js/loaders/3MFLoader.js +72 -106
- package/examples/js/loaders/AMFLoader.js +0 -25
- package/examples/js/loaders/BVHLoader.js +44 -43
- package/examples/js/loaders/BasisTextureLoader.js +16 -46
- package/examples/js/loaders/ColladaLoader.js +201 -359
- package/examples/js/loaders/DDSLoader.js +24 -25
- package/examples/js/loaders/DRACOLoader.js +29 -66
- package/examples/js/loaders/EXRLoader.js +67 -164
- package/examples/js/loaders/FBXLoader.js +286 -441
- package/examples/js/loaders/FontLoader.js +6 -15
- package/examples/js/loaders/GCodeLoader.js +15 -16
- package/examples/js/loaders/GLTFLoader.js +354 -405
- package/examples/js/loaders/HDRCubeTextureLoader.js +0 -6
- package/examples/js/loaders/KMZLoader.js +3 -7
- package/examples/js/loaders/KTXLoader.js +12 -30
- package/examples/js/loaders/LDrawLoader.js +178 -289
- package/examples/js/loaders/LUT3dlLoader.js +7 -11
- package/examples/js/loaders/LUTCubeLoader.js +0 -8
- package/examples/js/loaders/LWOLoader.js +59 -124
- package/examples/js/loaders/LogLuvLoader.js +27 -77
- package/examples/js/loaders/LottieLoader.js +4 -4
- package/examples/js/loaders/MD2Loader.js +26 -27
- package/examples/js/loaders/MDDLoader.js +6 -10
- package/examples/js/loaders/MMDLoader.js +180 -189
- package/examples/js/loaders/MTLLoader.js +18 -47
- package/examples/js/loaders/MaterialXLoader.js +392 -0
- package/examples/js/loaders/NRRDLoader.js +44 -84
- package/examples/js/loaders/OBJLoader.js +50 -65
- package/examples/js/loaders/PCDLoader.js +34 -29
- package/examples/js/loaders/PDBLoader.js +17 -13
- package/examples/js/loaders/PLYLoader.js +9 -39
- package/examples/js/loaders/PRWMLoader.js +11 -22
- package/examples/js/loaders/PVRLoader.js +7 -16
- package/examples/js/loaders/RGBELoader.js +36 -61
- package/examples/js/loaders/RGBMLoader.js +26 -87
- package/examples/js/loaders/STLLoader.js +20 -27
- package/examples/js/loaders/SVGLoader.js +361 -233
- package/examples/js/loaders/TDSLoader.js +81 -118
- package/examples/js/loaders/TGALoader.js +39 -41
- package/examples/js/loaders/TIFFLoader.js +0 -1
- package/examples/js/loaders/TTFLoader.js +0 -8
- package/examples/js/loaders/TiltLoader.js +14 -15
- package/examples/js/loaders/VOXLoader.js +8 -16
- package/examples/js/loaders/VRMLLoader.js +243 -340
- package/examples/js/loaders/VTKLoader.js +101 -118
- package/examples/js/loaders/XYZLoader.js +2 -4
- package/examples/js/loaders/lwo/IFFParser.js +55 -136
- package/examples/js/loaders/lwo/LWO2Parser.js +32 -83
- package/examples/js/loaders/lwo/LWO3Parser.js +31 -73
- package/examples/js/materials/MeshGouraudMaterial.js +15 -13
- package/examples/js/math/Capsule.js +0 -17
- package/examples/js/math/ColorConverter.js +3 -3
- package/examples/js/math/ConvexHull.js +183 -139
- package/examples/js/math/ImprovedNoise.js +1 -1
- package/examples/js/math/Lut.js +8 -15
- package/examples/js/math/MeshSurfaceSampler.js +6 -28
- package/examples/js/math/OBB.js +90 -49
- package/examples/js/math/Octree.js +2 -57
- package/examples/js/math/SimplexNoise.js +74 -88
- package/examples/js/misc/ConvexObjectBreaker.js +37 -48
- package/examples/js/misc/GPUComputationRenderer.js +14 -18
- package/examples/js/misc/Gyroscope.js +5 -9
- package/examples/js/misc/MD2Character.js +14 -23
- package/examples/js/misc/MD2CharacterComplex.js +73 -54
- package/examples/js/misc/MorphAnimMesh.js +0 -6
- package/examples/js/misc/MorphBlendMesh.js +3 -30
- package/examples/js/misc/ProgressiveLightMap.js +47 -43
- package/examples/js/misc/RollerCoaster.js +17 -24
- package/examples/js/misc/TubePainter.js +18 -12
- package/examples/js/misc/Volume.js +16 -45
- package/examples/js/misc/VolumeSlice.js +14 -24
- package/examples/js/modifiers/CurveModifier.js +19 -21
- package/examples/js/modifiers/EdgeSplitModifier.js +0 -30
- package/examples/js/modifiers/SimplifyModifier.js +56 -59
- package/examples/js/modifiers/TessellateModifier.js +2 -9
- package/examples/js/objects/GroundProjectedEnv.js +2 -14
- package/examples/js/objects/Lensflare.js +47 -38
- package/examples/js/objects/LightningStorm.js +10 -13
- package/examples/js/objects/MarchingCubes.js +80 -59
- package/examples/js/objects/Reflector.js +22 -20
- package/examples/js/objects/ReflectorForSSRPass.js +19 -23
- package/examples/js/objects/Refractor.js +52 -30
- package/examples/js/objects/ShadowMesh.js +1 -2
- package/examples/js/objects/Sky.js +2 -7
- package/examples/js/objects/Water.js +23 -18
- package/examples/js/objects/Water2.js +20 -19
- package/examples/js/physics/AmmoPhysics.js +23 -20
- package/examples/js/physics/OimoPhysics.js +19 -17
- package/examples/js/postprocessing/AdaptiveToneMappingPass.js +13 -20
- package/examples/js/postprocessing/AfterimagePass.js +19 -12
- package/examples/js/postprocessing/BloomPass.js +38 -17
- package/examples/js/postprocessing/BokehPass.js +29 -12
- package/examples/js/postprocessing/ClearPass.js +1 -6
- package/examples/js/postprocessing/CubeTexturePass.js +12 -9
- package/examples/js/postprocessing/DotScreenPass.js +7 -5
- package/examples/js/postprocessing/EffectComposer.js +25 -32
- package/examples/js/postprocessing/FilmPass.js +7 -5
- package/examples/js/postprocessing/GlitchPass.js +10 -11
- package/examples/js/postprocessing/HalftonePass.js +9 -9
- package/examples/js/postprocessing/LUTPass.js +2 -15
- package/examples/js/postprocessing/MaskPass.js +20 -17
- package/examples/js/postprocessing/OutlinePass.js +45 -36
- package/examples/js/postprocessing/Pass.js +11 -14
- package/examples/js/postprocessing/RenderPass.js +3 -7
- package/examples/js/postprocessing/SAOPass.js +40 -32
- package/examples/js/postprocessing/SMAAPass.js +34 -17
- package/examples/js/postprocessing/SSAARenderPass.js +14 -14
- package/examples/js/postprocessing/SSAOPass.js +56 -42
- package/examples/js/postprocessing/SSRPass.js +78 -61
- package/examples/js/postprocessing/SavePass.js +14 -6
- package/examples/js/postprocessing/ShaderPass.js +9 -8
- package/examples/js/postprocessing/TAARenderPass.js +11 -9
- package/examples/js/postprocessing/TexturePass.js +7 -4
- package/examples/js/postprocessing/UnrealBloomPass.js +43 -25
- package/examples/js/renderers/CSS2DRenderer.js +2 -21
- package/examples/js/renderers/CSS3DRenderer.js +3 -24
- package/examples/js/renderers/Projector.js +29 -85
- package/examples/js/renderers/SVGRenderer.js +4 -50
- package/examples/js/shaders/ACESFilmicToneMappingShader.js +3 -6
- package/examples/js/shaders/AfterimageShader.js +3 -6
- package/examples/js/shaders/BasicShader.js +3 -6
- package/examples/js/shaders/BleachBypassShader.js +3 -6
- package/examples/js/shaders/BlendShader.js +3 -6
- package/examples/js/shaders/BokehShader.js +3 -6
- package/examples/js/shaders/BokehShader2.js +4 -13
- package/examples/js/shaders/BrightnessContrastShader.js +3 -6
- package/examples/js/shaders/ColorCorrectionShader.js +2 -6
- package/examples/js/shaders/ColorifyShader.js +2 -6
- package/examples/js/shaders/ConvolutionShader.js +5 -10
- package/examples/js/shaders/CopyShader.js +3 -6
- package/examples/js/shaders/DOFMipMapShader.js +3 -6
- package/examples/js/shaders/DepthLimitedBlurShader.js +2 -9
- package/examples/js/shaders/DigitalGlitch.js +3 -6
- package/examples/js/shaders/DotScreenShader.js +2 -6
- package/examples/js/shaders/FXAAShader.js +1 -3
- package/examples/js/shaders/FilmShader.js +3 -6
- package/examples/js/shaders/FocusShader.js +3 -6
- package/examples/js/shaders/FreiChenShader.js +2 -6
- package/examples/js/shaders/GammaCorrectionShader.js +3 -6
- package/examples/js/shaders/GodRaysShader.js +11 -24
- package/examples/js/shaders/HalftoneShader.js +3 -6
- package/examples/js/shaders/HorizontalBlurShader.js +3 -6
- package/examples/js/shaders/HorizontalTiltShiftShader.js +3 -6
- package/examples/js/shaders/HueSaturationShader.js +3 -6
- package/examples/js/shaders/KaleidoShader.js +3 -6
- package/examples/js/shaders/LuminosityHighPassShader.js +2 -6
- package/examples/js/shaders/LuminosityShader.js +3 -6
- package/examples/js/shaders/MMDToonShader.js +2 -6
- package/examples/js/shaders/MirrorShader.js +3 -6
- package/examples/js/shaders/NormalMapShader.js +2 -6
- package/examples/js/shaders/RGBShiftShader.js +3 -6
- package/examples/js/shaders/SAOShader.js +2 -6
- package/examples/js/shaders/SMAAShader.js +6 -18
- package/examples/js/shaders/SSAOShader.js +2 -6
- package/examples/js/shaders/SSRShader.js +6 -18
- package/examples/js/shaders/SepiaShader.js +3 -6
- package/examples/js/shaders/SobelOperatorShader.js +2 -6
- package/examples/js/shaders/TechnicolorShader.js +3 -6
- package/examples/js/shaders/ToneMapShader.js +3 -6
- package/examples/js/shaders/ToonShader.js +8 -24
- package/examples/js/shaders/TriangleBlurShader.js +2 -6
- package/examples/js/shaders/UnpackDepthRGBAShader.js +3 -6
- package/examples/js/shaders/VelocityShader.js +126 -0
- package/examples/js/shaders/VerticalBlurShader.js +3 -6
- package/examples/js/shaders/VerticalTiltShiftShader.js +3 -6
- package/examples/js/shaders/VignetteShader.js +3 -6
- package/examples/js/shaders/VolumeShader.js +2 -6
- package/examples/js/shaders/WaterRefractionShader.js +2 -6
- package/examples/js/textures/FlakesTexture.js +0 -1
- package/examples/js/utils/BufferGeometryUtils.js +234 -168
- package/examples/js/utils/CameraUtils.js +5 -20
- package/examples/js/utils/GPUStatsPanel.js +3 -12
- package/examples/js/utils/GeometryCompressionUtils.js +19 -44
- package/examples/js/utils/GeometryUtils.js +13 -18
- package/examples/js/utils/LDrawUtils.js +8 -11
- package/examples/js/utils/PackedPhongMaterial.js +6 -4
- package/examples/js/utils/SceneUtils.js +117 -6
- package/examples/js/utils/ShadowMapViewer.js +17 -14
- package/examples/js/utils/SkeletonUtils.js +13 -27
- package/examples/js/utils/UVsDebug.js +20 -12
- package/examples/js/utils/WorkerPool.js +1 -11
- package/examples/jsm/animation/CCDIKSolver.js +1 -1
- package/examples/jsm/capabilities/WebGPU.js +3 -1
- package/examples/jsm/controls/OrbitControls.js +44 -4
- package/examples/jsm/exporters/GLTFExporter.js +17 -131
- package/examples/jsm/exporters/USDZExporter.js +94 -28
- package/examples/jsm/interactive/HTMLMesh.js +2 -0
- package/examples/jsm/libs/lottie_canvas.module.js +14844 -0
- package/examples/jsm/loaders/3DMLoader.js +1 -2
- package/examples/jsm/loaders/ColladaLoader.js +28 -0
- package/examples/jsm/loaders/FBXLoader.js +16 -2
- package/examples/jsm/loaders/GLTFLoader.js +204 -377
- package/examples/jsm/loaders/KTX2Loader.js +68 -29
- package/examples/jsm/loaders/LDrawLoader.js +14 -13
- package/examples/jsm/loaders/LottieLoader.js +4 -2
- package/examples/jsm/loaders/MaterialXLoader.js +728 -0
- package/examples/jsm/loaders/PCDLoader.js +1 -1
- package/examples/jsm/loaders/PLYLoader.js +68 -16
- package/examples/jsm/loaders/SVGLoader.js +227 -14
- package/examples/jsm/loaders/USDZLoader.js +31 -16
- package/examples/jsm/nodes/Nodes.js +14 -2
- package/examples/jsm/nodes/accessors/Object3DNode.js +1 -1
- package/examples/jsm/nodes/accessors/PositionNode.js +6 -0
- package/examples/jsm/nodes/accessors/ReferenceNode.js +1 -1
- package/examples/jsm/nodes/accessors/SkinningNode.js +1 -1
- package/examples/jsm/nodes/core/Node.js +1 -1
- package/examples/jsm/nodes/core/NodeBuilder.js +36 -4
- package/examples/jsm/nodes/core/NodeFrame.js +2 -2
- package/examples/jsm/nodes/core/NodeVarying.js +7 -4
- package/examples/jsm/nodes/core/VaryingNode.js +6 -4
- package/examples/jsm/nodes/core/constants.js +13 -13
- package/examples/jsm/nodes/display/PosterizeNode.js +25 -0
- package/examples/jsm/nodes/display/ViewportNode.js +106 -0
- package/examples/jsm/nodes/gpgpu/ComputeNode.js +1 -1
- package/examples/jsm/nodes/lighting/AnalyticLightNode.js +1 -1
- package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +3 -1
- package/examples/jsm/nodes/materials/Materials.js +9 -7
- package/examples/jsm/nodes/materials/NodeMaterial.js +9 -1
- package/examples/jsm/nodes/materialx/MaterialXNodes.js +6 -2
- package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +18 -0
- package/examples/jsm/nodes/math/MathNode.js +5 -0
- package/examples/jsm/nodes/math/OperatorNode.js +6 -1
- package/examples/jsm/nodes/shadernode/ShaderNode.js +26 -13
- package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +2 -0
- package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +18 -0
- package/examples/jsm/nodes/utils/EquirectUVNode.js +27 -0
- package/examples/jsm/nodes/utils/JoinNode.js +8 -2
- package/examples/jsm/nodes/utils/MatcapUVNode.js +2 -4
- package/examples/jsm/nodes/utils/MaxMipLevelNode.js +1 -1
- package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +8 -10
- package/examples/jsm/nodes/utils/TimerNode.js +1 -1
- package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +51 -0
- package/examples/jsm/postprocessing/AfterimagePass.js +17 -4
- package/examples/jsm/postprocessing/BloomPass.js +22 -3
- package/examples/jsm/postprocessing/BokehPass.js +18 -4
- package/examples/jsm/postprocessing/CubeTexturePass.js +12 -5
- package/examples/jsm/postprocessing/DotScreenPass.js +8 -0
- package/examples/jsm/postprocessing/EffectComposer.js +9 -0
- package/examples/jsm/postprocessing/FilmPass.js +8 -0
- package/examples/jsm/postprocessing/GlitchPass.js +13 -1
- package/examples/jsm/postprocessing/HalftonePass.js +8 -0
- package/examples/jsm/postprocessing/OutlinePass.js +10 -0
- package/examples/jsm/postprocessing/Pass.js +2 -0
- package/examples/jsm/postprocessing/RenderPixelatedPass.js +234 -0
- package/examples/jsm/postprocessing/SAOPass.js +20 -0
- package/examples/jsm/postprocessing/SMAAPass.js +16 -0
- package/examples/jsm/postprocessing/SSAARenderPass.js +4 -0
- package/examples/jsm/postprocessing/SavePass.js +17 -1
- package/examples/jsm/postprocessing/ShaderPass.js +8 -0
- package/examples/jsm/postprocessing/TAARenderPass.js +9 -0
- package/examples/jsm/postprocessing/TexturePass.js +8 -0
- package/examples/jsm/postprocessing/UnrealBloomPass.js +16 -0
- package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +39 -16
- package/examples/jsm/renderers/webgpu/WebGPUAnimation.js +58 -0
- package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +63 -5
- package/examples/jsm/renderers/webgpu/WebGPUBackground.js +36 -7
- package/examples/jsm/renderers/webgpu/WebGPURenderer.js +47 -12
- package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +35 -5
- package/examples/jsm/shaders/MMDToonShader.js +0 -2
- package/examples/jsm/shaders/VelocityShader.js +128 -0
- package/examples/jsm/utils/BufferGeometryUtils.js +130 -6
- package/examples/jsm/utils/SceneUtils.js +129 -4
- package/examples/jsm/utils/TextureUtils.js +85 -0
- package/examples/jsm/webxr/OculusHandModel.js +1 -1
- package/examples/jsm/webxr/XRHandMeshModel.js +6 -3
- package/package.json +11 -12
- package/src/Three.js +1 -0
- package/src/audio/AudioContext.js +5 -5
- package/src/cameras/CubeCamera.js +14 -14
- package/src/constants.js +1 -1
- package/src/core/InstancedBufferGeometry.js +1 -7
- package/src/extras/Earcut.js +67 -67
- package/src/helpers/DirectionalLightHelper.js +5 -1
- package/src/helpers/HemisphereLightHelper.js +4 -1
- package/src/helpers/PointLightHelper.js +2 -1
- package/src/helpers/SpotLightHelper.js +4 -2
- package/src/lights/PointLight.js +2 -2
- package/src/lights/SpotLight.js +2 -2
- package/src/loaders/FileLoader.js +4 -1
- package/src/loaders/ObjectLoader.js +5 -1
- package/src/materials/Material.js +1 -1
- package/src/math/Color.js +5 -5
- package/src/math/Matrix3.js +53 -18
- package/src/math/Ray.js +2 -5
- package/src/math/Sphere.js +19 -26
- package/src/objects/InstancedMesh.js +7 -0
- package/src/objects/LOD.js +25 -6
- package/src/renderers/WebGL3DRenderTarget.js +1 -1
- package/src/renderers/WebGLArrayRenderTarget.js +1 -1
- package/src/renderers/WebGLCubeRenderTarget.js +1 -1
- package/src/renderers/WebGLMultipleRenderTargets.js +1 -1
- package/src/renderers/WebGLRenderTarget.js +1 -1
- package/src/renderers/WebGLRenderer.js +36 -62
- package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +0 -4
- package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +0 -1
- package/src/renderers/shaders/ShaderChunk/lights_lambert_pars_fragment.glsl.js +0 -2
- package/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +0 -2
- package/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +0 -2
- package/src/renderers/shaders/ShaderChunk/packing.glsl.js +8 -0
- package/src/renderers/shaders/ShaderChunk.js +3 -0
- package/src/renderers/shaders/ShaderLib/background.glsl.js +7 -2
- package/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +62 -0
- package/src/renderers/shaders/ShaderLib/cube.glsl.js +4 -6
- package/src/renderers/shaders/ShaderLib.js +20 -6
- package/src/renderers/shaders/UniformsLib.js +1 -1
- package/src/renderers/shaders/UniformsUtils.js +15 -0
- package/src/renderers/webgl/WebGLAttributes.js +2 -0
- package/src/renderers/webgl/WebGLBackground.js +15 -7
- package/src/renderers/webgl/WebGLCubeUVMaps.js +1 -1
- package/src/renderers/webgl/WebGLLights.js +0 -4
- package/src/renderers/webgl/WebGLMaterials.js +2 -1
- package/src/renderers/webgl/WebGLShadowMap.js +3 -1
- package/src/renderers/webgl/WebGLState.js +31 -1
- package/src/renderers/webgl/WebGLTextures.js +71 -18
- package/src/renderers/webgl/WebGLUniforms.js +116 -20
- package/src/renderers/webgl/WebGLUtils.js +1 -1
- package/src/renderers/webxr/WebXRController.js +46 -13
- package/src/renderers/webxr/WebXRManager.js +85 -3
- package/src/scenes/Scene.js +8 -0
- package/src/textures/CompressedArrayTexture.js +18 -0
- package/examples/js/libs/lottie_canvas.js +0 -12751
- package/examples/js/shaders/PixelShader.js +0 -51
- package/examples/jsm/shaders/PixelShader.js +0 -44
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
this.meshes = [];
|
|
21
21
|
|
|
22
22
|
}
|
|
23
|
+
|
|
23
24
|
/**
|
|
24
25
|
* Load 3ds file from url.
|
|
25
26
|
*
|
|
@@ -29,8 +30,6 @@
|
|
|
29
30
|
* @param {Function} onProgress onProgress callback.
|
|
30
31
|
* @param {Function} onError onError callback.
|
|
31
32
|
*/
|
|
32
|
-
|
|
33
|
-
|
|
34
33
|
load( url, onLoad, onProgress, onError ) {
|
|
35
34
|
|
|
36
35
|
const scope = this;
|
|
@@ -65,6 +64,7 @@
|
|
|
65
64
|
}, onProgress, onError );
|
|
66
65
|
|
|
67
66
|
}
|
|
67
|
+
|
|
68
68
|
/**
|
|
69
69
|
* Parse arraybuffer data and load 3ds file.
|
|
70
70
|
*
|
|
@@ -73,15 +73,12 @@
|
|
|
73
73
|
* @param {String} path Path for external resources.
|
|
74
74
|
* @return {Group} THREE.Group loaded from 3ds file.
|
|
75
75
|
*/
|
|
76
|
-
|
|
77
|
-
|
|
78
76
|
parse( arraybuffer, path ) {
|
|
79
77
|
|
|
80
78
|
this.group = new THREE.Group();
|
|
81
79
|
this.materials = [];
|
|
82
80
|
this.meshes = [];
|
|
83
81
|
this.readFile( arraybuffer, path );
|
|
84
|
-
|
|
85
82
|
for ( let i = 0; i < this.meshes.length; i ++ ) {
|
|
86
83
|
|
|
87
84
|
this.group.add( this.meshes[ i ] );
|
|
@@ -91,6 +88,7 @@
|
|
|
91
88
|
return this.group;
|
|
92
89
|
|
|
93
90
|
}
|
|
91
|
+
|
|
94
92
|
/**
|
|
95
93
|
* Decode file content to read 3ds data.
|
|
96
94
|
*
|
|
@@ -98,17 +96,13 @@
|
|
|
98
96
|
* @param {ArrayBuffer} arraybuffer Arraybuffer data to be loaded.
|
|
99
97
|
* @param {String} path Path for external resources.
|
|
100
98
|
*/
|
|
101
|
-
|
|
102
|
-
|
|
103
99
|
readFile( arraybuffer, path ) {
|
|
104
100
|
|
|
105
101
|
const data = new DataView( arraybuffer );
|
|
106
102
|
const chunk = new Chunk( data, 0, this.debugMessage );
|
|
107
|
-
|
|
108
103
|
if ( chunk.id === MLIBMAGIC || chunk.id === CMAGIC || chunk.id === M3DMAGIC ) {
|
|
109
104
|
|
|
110
105
|
let next = chunk.readChunk();
|
|
111
|
-
|
|
112
106
|
while ( next ) {
|
|
113
107
|
|
|
114
108
|
if ( next.id === M3D_VERSION ) {
|
|
@@ -135,6 +129,7 @@
|
|
|
135
129
|
this.debugMessage( 'Parsed ' + this.meshes.length + ' meshes' );
|
|
136
130
|
|
|
137
131
|
}
|
|
132
|
+
|
|
138
133
|
/**
|
|
139
134
|
* Read mesh data chunk.
|
|
140
135
|
*
|
|
@@ -142,12 +137,9 @@
|
|
|
142
137
|
* @param {Chunk} chunk to read mesh from
|
|
143
138
|
* @param {String} path Path for external resources.
|
|
144
139
|
*/
|
|
145
|
-
|
|
146
|
-
|
|
147
140
|
readMeshData( chunk, path ) {
|
|
148
141
|
|
|
149
142
|
let next = chunk.readChunk();
|
|
150
|
-
|
|
151
143
|
while ( next ) {
|
|
152
144
|
|
|
153
145
|
if ( next.id === MESH_VERSION ) {
|
|
@@ -182,19 +174,17 @@
|
|
|
182
174
|
}
|
|
183
175
|
|
|
184
176
|
}
|
|
177
|
+
|
|
185
178
|
/**
|
|
186
179
|
* Read named object chunk.
|
|
187
180
|
*
|
|
188
181
|
* @method readNamedObject
|
|
189
182
|
* @param {Chunk} chunk Chunk in use.
|
|
190
183
|
*/
|
|
191
|
-
|
|
192
|
-
|
|
193
184
|
readNamedObject( chunk ) {
|
|
194
185
|
|
|
195
186
|
const name = chunk.readString();
|
|
196
187
|
let next = chunk.readChunk();
|
|
197
|
-
|
|
198
188
|
while ( next ) {
|
|
199
189
|
|
|
200
190
|
if ( next.id === N_TRI_OBJECT ) {
|
|
@@ -214,6 +204,7 @@
|
|
|
214
204
|
}
|
|
215
205
|
|
|
216
206
|
}
|
|
207
|
+
|
|
217
208
|
/**
|
|
218
209
|
* Read material data chunk and add it to the material list.
|
|
219
210
|
*
|
|
@@ -221,13 +212,10 @@
|
|
|
221
212
|
* @param {Chunk} chunk Chunk in use.
|
|
222
213
|
* @param {String} path Path for external resources.
|
|
223
214
|
*/
|
|
224
|
-
|
|
225
|
-
|
|
226
215
|
readMaterialEntry( chunk, path ) {
|
|
227
216
|
|
|
228
217
|
let next = chunk.readChunk();
|
|
229
218
|
const material = new THREE.MeshPhongMaterial();
|
|
230
|
-
|
|
231
219
|
while ( next ) {
|
|
232
220
|
|
|
233
221
|
if ( next.id === MAT_NAME ) {
|
|
@@ -317,6 +305,7 @@
|
|
|
317
305
|
this.materials[ material.name ] = material;
|
|
318
306
|
|
|
319
307
|
}
|
|
308
|
+
|
|
320
309
|
/**
|
|
321
310
|
* Read mesh data chunk.
|
|
322
311
|
*
|
|
@@ -324,8 +313,6 @@
|
|
|
324
313
|
* @param {Chunk} chunk Chunk in use.
|
|
325
314
|
* @return {Mesh} The parsed mesh.
|
|
326
315
|
*/
|
|
327
|
-
|
|
328
|
-
|
|
329
316
|
readMesh( chunk ) {
|
|
330
317
|
|
|
331
318
|
let next = chunk.readChunk();
|
|
@@ -333,16 +320,16 @@
|
|
|
333
320
|
const material = new THREE.MeshPhongMaterial();
|
|
334
321
|
const mesh = new THREE.Mesh( geometry, material );
|
|
335
322
|
mesh.name = 'mesh';
|
|
336
|
-
|
|
337
323
|
while ( next ) {
|
|
338
324
|
|
|
339
325
|
if ( next.id === POINT_ARRAY ) {
|
|
340
326
|
|
|
341
327
|
const points = next.readWord();
|
|
342
|
-
this.debugMessage( ' Vertex: ' + points );
|
|
328
|
+
this.debugMessage( ' Vertex: ' + points );
|
|
343
329
|
|
|
344
|
-
|
|
330
|
+
//BufferGeometry
|
|
345
331
|
|
|
332
|
+
const vertices = [];
|
|
346
333
|
for ( let i = 0; i < points; i ++ ) {
|
|
347
334
|
|
|
348
335
|
vertices.push( next.readFloat() );
|
|
@@ -360,10 +347,11 @@
|
|
|
360
347
|
} else if ( next.id === TEX_VERTS ) {
|
|
361
348
|
|
|
362
349
|
const texels = next.readWord();
|
|
363
|
-
this.debugMessage( ' UV: ' + texels );
|
|
350
|
+
this.debugMessage( ' UV: ' + texels );
|
|
364
351
|
|
|
365
|
-
|
|
352
|
+
//BufferGeometry
|
|
366
353
|
|
|
354
|
+
const uvs = [];
|
|
367
355
|
for ( let i = 0; i < texels; i ++ ) {
|
|
368
356
|
|
|
369
357
|
uvs.push( next.readFloat() );
|
|
@@ -377,30 +365,33 @@
|
|
|
377
365
|
|
|
378
366
|
this.debugMessage( ' Tranformation Matrix (TODO)' );
|
|
379
367
|
const values = [];
|
|
380
|
-
|
|
381
368
|
for ( let i = 0; i < 12; i ++ ) {
|
|
382
369
|
|
|
383
370
|
values[ i ] = next.readFloat();
|
|
384
371
|
|
|
385
372
|
}
|
|
386
373
|
|
|
387
|
-
const matrix = new THREE.Matrix4();
|
|
374
|
+
const matrix = new THREE.Matrix4();
|
|
388
375
|
|
|
376
|
+
//X Line
|
|
389
377
|
matrix.elements[ 0 ] = values[ 0 ];
|
|
390
378
|
matrix.elements[ 1 ] = values[ 6 ];
|
|
391
379
|
matrix.elements[ 2 ] = values[ 3 ];
|
|
392
|
-
matrix.elements[ 3 ] = values[ 9 ];
|
|
380
|
+
matrix.elements[ 3 ] = values[ 9 ];
|
|
393
381
|
|
|
382
|
+
//Y Line
|
|
394
383
|
matrix.elements[ 4 ] = values[ 2 ];
|
|
395
384
|
matrix.elements[ 5 ] = values[ 8 ];
|
|
396
385
|
matrix.elements[ 6 ] = values[ 5 ];
|
|
397
|
-
matrix.elements[ 7 ] = values[ 11 ];
|
|
386
|
+
matrix.elements[ 7 ] = values[ 11 ];
|
|
398
387
|
|
|
388
|
+
//Z Line
|
|
399
389
|
matrix.elements[ 8 ] = values[ 1 ];
|
|
400
390
|
matrix.elements[ 9 ] = values[ 7 ];
|
|
401
391
|
matrix.elements[ 10 ] = values[ 4 ];
|
|
402
|
-
matrix.elements[ 11 ] = values[ 10 ];
|
|
392
|
+
matrix.elements[ 11 ] = values[ 10 ];
|
|
403
393
|
|
|
394
|
+
//W Line
|
|
404
395
|
matrix.elements[ 12 ] = 0;
|
|
405
396
|
matrix.elements[ 13 ] = 0;
|
|
406
397
|
matrix.elements[ 14 ] = 0;
|
|
@@ -425,6 +416,7 @@
|
|
|
425
416
|
return mesh;
|
|
426
417
|
|
|
427
418
|
}
|
|
419
|
+
|
|
428
420
|
/**
|
|
429
421
|
* Read face array data chunk.
|
|
430
422
|
*
|
|
@@ -432,14 +424,11 @@
|
|
|
432
424
|
* @param {Chunk} chunk Chunk in use.
|
|
433
425
|
* @param {Mesh} mesh THREE.Mesh to be filled with the data read.
|
|
434
426
|
*/
|
|
435
|
-
|
|
436
|
-
|
|
437
427
|
readFaceArray( chunk, mesh ) {
|
|
438
428
|
|
|
439
429
|
const faces = chunk.readWord();
|
|
440
430
|
this.debugMessage( ' Faces: ' + faces );
|
|
441
431
|
const index = [];
|
|
442
|
-
|
|
443
432
|
for ( let i = 0; i < faces; ++ i ) {
|
|
444
433
|
|
|
445
434
|
index.push( chunk.readWord(), chunk.readWord(), chunk.readWord() );
|
|
@@ -447,15 +436,15 @@
|
|
|
447
436
|
|
|
448
437
|
}
|
|
449
438
|
|
|
450
|
-
mesh.geometry.setIndex( index );
|
|
439
|
+
mesh.geometry.setIndex( index );
|
|
440
|
+
|
|
441
|
+
//The rest of the FACE_ARRAY chunk is subchunks
|
|
451
442
|
|
|
452
443
|
let materialIndex = 0;
|
|
453
444
|
let start = 0;
|
|
454
|
-
|
|
455
445
|
while ( ! chunk.endOfChunk ) {
|
|
456
446
|
|
|
457
447
|
const subchunk = chunk.readChunk();
|
|
458
|
-
|
|
459
448
|
if ( subchunk.id === MSH_MAT_GROUP ) {
|
|
460
449
|
|
|
461
450
|
this.debugMessage( ' Material THREE.Group' );
|
|
@@ -467,7 +456,6 @@
|
|
|
467
456
|
materialIndex ++;
|
|
468
457
|
const material = this.materials[ group.name ];
|
|
469
458
|
if ( Array.isArray( mesh.material ) === false ) mesh.material = [];
|
|
470
|
-
|
|
471
459
|
if ( material !== undefined ) {
|
|
472
460
|
|
|
473
461
|
mesh.material.push( material );
|
|
@@ -485,6 +473,7 @@
|
|
|
485
473
|
if ( mesh.material.length === 1 ) mesh.material = mesh.material[ 0 ]; // for backwards compatibility
|
|
486
474
|
|
|
487
475
|
}
|
|
476
|
+
|
|
488
477
|
/**
|
|
489
478
|
* Read texture map data chunk.
|
|
490
479
|
*
|
|
@@ -493,15 +482,12 @@
|
|
|
493
482
|
* @param {String} path Path for external resources.
|
|
494
483
|
* @return {Texture} Texture read from this data chunk.
|
|
495
484
|
*/
|
|
496
|
-
|
|
497
|
-
|
|
498
485
|
readMap( chunk, path ) {
|
|
499
486
|
|
|
500
487
|
let next = chunk.readChunk();
|
|
501
488
|
let texture = {};
|
|
502
489
|
const loader = new THREE.TextureLoader( this.manager );
|
|
503
490
|
loader.setPath( this.resourcePath || path ).setCrossOrigin( this.crossOrigin );
|
|
504
|
-
|
|
505
491
|
while ( next ) {
|
|
506
492
|
|
|
507
493
|
if ( next.id === MAT_MAPNAME ) {
|
|
@@ -543,6 +529,7 @@
|
|
|
543
529
|
return texture;
|
|
544
530
|
|
|
545
531
|
}
|
|
532
|
+
|
|
546
533
|
/**
|
|
547
534
|
* Read material group data chunk.
|
|
548
535
|
*
|
|
@@ -550,8 +537,6 @@
|
|
|
550
537
|
* @param {Chunk} chunk Chunk in use.
|
|
551
538
|
* @return {Object} Object with name and index of the object.
|
|
552
539
|
*/
|
|
553
|
-
|
|
554
|
-
|
|
555
540
|
readMaterialGroup( chunk ) {
|
|
556
541
|
|
|
557
542
|
const name = chunk.readString();
|
|
@@ -559,7 +544,6 @@
|
|
|
559
544
|
this.debugMessage( ' Name: ' + name );
|
|
560
545
|
this.debugMessage( ' Faces: ' + numFaces );
|
|
561
546
|
const index = [];
|
|
562
|
-
|
|
563
547
|
for ( let i = 0; i < numFaces; ++ i ) {
|
|
564
548
|
|
|
565
549
|
index.push( chunk.readWord() );
|
|
@@ -572,6 +556,7 @@
|
|
|
572
556
|
};
|
|
573
557
|
|
|
574
558
|
}
|
|
559
|
+
|
|
575
560
|
/**
|
|
576
561
|
* Read a color value.
|
|
577
562
|
*
|
|
@@ -579,13 +564,10 @@
|
|
|
579
564
|
* @param {Chunk} chunk Chunk.
|
|
580
565
|
* @return {Color} THREE.Color value read..
|
|
581
566
|
*/
|
|
582
|
-
|
|
583
|
-
|
|
584
567
|
readColor( chunk ) {
|
|
585
568
|
|
|
586
569
|
const subChunk = chunk.readChunk();
|
|
587
570
|
const color = new THREE.Color();
|
|
588
|
-
|
|
589
571
|
if ( subChunk.id === COLOR_24 || subChunk.id === LIN_COLOR_24 ) {
|
|
590
572
|
|
|
591
573
|
const r = subChunk.readByte();
|
|
@@ -611,6 +593,7 @@
|
|
|
611
593
|
return color;
|
|
612
594
|
|
|
613
595
|
}
|
|
596
|
+
|
|
614
597
|
/**
|
|
615
598
|
* Read percentage value.
|
|
616
599
|
*
|
|
@@ -618,22 +601,17 @@
|
|
|
618
601
|
* @param {Chunk} chunk Chunk to read data from.
|
|
619
602
|
* @return {Number} Data read from the dataview.
|
|
620
603
|
*/
|
|
621
|
-
|
|
622
|
-
|
|
623
604
|
readPercentage( chunk ) {
|
|
624
605
|
|
|
625
606
|
const subChunk = chunk.readChunk();
|
|
626
|
-
|
|
627
607
|
switch ( subChunk.id ) {
|
|
628
608
|
|
|
629
609
|
case INT_PERCENTAGE:
|
|
630
610
|
return subChunk.readShort() / 100;
|
|
631
611
|
break;
|
|
632
|
-
|
|
633
612
|
case FLOAT_PERCENTAGE:
|
|
634
613
|
return subChunk.readFloat();
|
|
635
614
|
break;
|
|
636
|
-
|
|
637
615
|
default:
|
|
638
616
|
this.debugMessage( ' Unknown percentage chunk: ' + subChunk.hexId );
|
|
639
617
|
return 0;
|
|
@@ -641,6 +619,7 @@
|
|
|
641
619
|
}
|
|
642
620
|
|
|
643
621
|
}
|
|
622
|
+
|
|
644
623
|
/**
|
|
645
624
|
* Print debug message to the console.
|
|
646
625
|
*
|
|
@@ -649,8 +628,6 @@
|
|
|
649
628
|
* @method debugMessage
|
|
650
629
|
* @param {Object} message Debug message to print to the console.
|
|
651
630
|
*/
|
|
652
|
-
|
|
653
|
-
|
|
654
631
|
debugMessage( message ) {
|
|
655
632
|
|
|
656
633
|
if ( this.debug ) {
|
|
@@ -662,9 +639,8 @@
|
|
|
662
639
|
}
|
|
663
640
|
|
|
664
641
|
}
|
|
665
|
-
/** Read data/sub-chunks from chunk */
|
|
666
|
-
|
|
667
642
|
|
|
643
|
+
/** Read data/sub-chunks from chunk */
|
|
668
644
|
class Chunk {
|
|
669
645
|
|
|
670
646
|
/**
|
|
@@ -677,13 +653,12 @@
|
|
|
677
653
|
*/
|
|
678
654
|
constructor( data, position, debugMessage ) {
|
|
679
655
|
|
|
680
|
-
this.data = data;
|
|
681
|
-
|
|
682
|
-
this.offset = position;
|
|
683
|
-
|
|
656
|
+
this.data = data;
|
|
657
|
+
// the offset to the begin of this chunk
|
|
658
|
+
this.offset = position;
|
|
659
|
+
// the current reading position
|
|
684
660
|
this.position = position;
|
|
685
661
|
this.debugMessage = debugMessage;
|
|
686
|
-
|
|
687
662
|
if ( this.debugMessage instanceof Function ) {
|
|
688
663
|
|
|
689
664
|
this.debugMessage = function () {};
|
|
@@ -693,7 +668,6 @@
|
|
|
693
668
|
this.id = this.readWord();
|
|
694
669
|
this.size = this.readDWord();
|
|
695
670
|
this.end = this.offset + this.size;
|
|
696
|
-
|
|
697
671
|
if ( this.end > data.byteLength ) {
|
|
698
672
|
|
|
699
673
|
this.debugMessage( 'Bad chunk size for chunk at ' + position );
|
|
@@ -701,14 +675,13 @@
|
|
|
701
675
|
}
|
|
702
676
|
|
|
703
677
|
}
|
|
678
|
+
|
|
704
679
|
/**
|
|
705
680
|
* read a sub cchunk.
|
|
706
681
|
*
|
|
707
682
|
* @method readChunk
|
|
708
683
|
* @return {Chunk | null} next sub chunk
|
|
709
684
|
*/
|
|
710
|
-
|
|
711
|
-
|
|
712
685
|
readChunk() {
|
|
713
686
|
|
|
714
687
|
if ( this.endOfChunk ) {
|
|
@@ -731,33 +704,30 @@
|
|
|
731
704
|
}
|
|
732
705
|
|
|
733
706
|
}
|
|
707
|
+
|
|
734
708
|
/**
|
|
735
709
|
* return the ID of this chunk as Hex
|
|
736
710
|
*
|
|
737
711
|
* @method idToString
|
|
738
712
|
* @return {String} hex-string of id
|
|
739
713
|
*/
|
|
740
|
-
|
|
741
|
-
|
|
742
714
|
get hexId() {
|
|
743
715
|
|
|
744
716
|
return this.id.toString( 16 );
|
|
745
717
|
|
|
746
718
|
}
|
|
747
|
-
|
|
748
719
|
get endOfChunk() {
|
|
749
720
|
|
|
750
721
|
return this.position >= this.end;
|
|
751
722
|
|
|
752
723
|
}
|
|
724
|
+
|
|
753
725
|
/**
|
|
754
726
|
* Read byte value.
|
|
755
727
|
*
|
|
756
728
|
* @method readByte
|
|
757
729
|
* @return {Number} Data read from the dataview.
|
|
758
730
|
*/
|
|
759
|
-
|
|
760
|
-
|
|
761
731
|
readByte() {
|
|
762
732
|
|
|
763
733
|
const v = this.data.getUint8( this.position, true );
|
|
@@ -765,14 +735,13 @@
|
|
|
765
735
|
return v;
|
|
766
736
|
|
|
767
737
|
}
|
|
738
|
+
|
|
768
739
|
/**
|
|
769
740
|
* Read 32 bit float value.
|
|
770
741
|
*
|
|
771
742
|
* @method readFloat
|
|
772
743
|
* @return {Number} Data read from the dataview.
|
|
773
744
|
*/
|
|
774
|
-
|
|
775
|
-
|
|
776
745
|
readFloat() {
|
|
777
746
|
|
|
778
747
|
try {
|
|
@@ -789,14 +758,13 @@
|
|
|
789
758
|
}
|
|
790
759
|
|
|
791
760
|
}
|
|
761
|
+
|
|
792
762
|
/**
|
|
793
763
|
* Read 32 bit signed integer value.
|
|
794
764
|
*
|
|
795
765
|
* @method readInt
|
|
796
766
|
* @return {Number} Data read from the dataview.
|
|
797
767
|
*/
|
|
798
|
-
|
|
799
|
-
|
|
800
768
|
readInt() {
|
|
801
769
|
|
|
802
770
|
const v = this.data.getInt32( this.position, true );
|
|
@@ -804,14 +772,13 @@
|
|
|
804
772
|
return v;
|
|
805
773
|
|
|
806
774
|
}
|
|
775
|
+
|
|
807
776
|
/**
|
|
808
777
|
* Read 16 bit signed integer value.
|
|
809
778
|
*
|
|
810
779
|
* @method readShort
|
|
811
780
|
* @return {Number} Data read from the dataview.
|
|
812
781
|
*/
|
|
813
|
-
|
|
814
|
-
|
|
815
782
|
readShort() {
|
|
816
783
|
|
|
817
784
|
const v = this.data.getInt16( this.position, true );
|
|
@@ -819,14 +786,13 @@
|
|
|
819
786
|
return v;
|
|
820
787
|
|
|
821
788
|
}
|
|
789
|
+
|
|
822
790
|
/**
|
|
823
791
|
* Read 64 bit unsigned integer value.
|
|
824
792
|
*
|
|
825
793
|
* @method readDWord
|
|
826
794
|
* @return {Number} Data read from the dataview.
|
|
827
795
|
*/
|
|
828
|
-
|
|
829
|
-
|
|
830
796
|
readDWord() {
|
|
831
797
|
|
|
832
798
|
const v = this.data.getUint32( this.position, true );
|
|
@@ -834,14 +800,13 @@
|
|
|
834
800
|
return v;
|
|
835
801
|
|
|
836
802
|
}
|
|
803
|
+
|
|
837
804
|
/**
|
|
838
805
|
* Read 32 bit unsigned integer value.
|
|
839
806
|
*
|
|
840
807
|
* @method readWord
|
|
841
808
|
* @return {Number} Data read from the dataview.
|
|
842
809
|
*/
|
|
843
|
-
|
|
844
|
-
|
|
845
810
|
readWord() {
|
|
846
811
|
|
|
847
812
|
const v = this.data.getUint16( this.position, true );
|
|
@@ -849,19 +814,17 @@
|
|
|
849
814
|
return v;
|
|
850
815
|
|
|
851
816
|
}
|
|
817
|
+
|
|
852
818
|
/**
|
|
853
819
|
* Read NULL terminated ASCII string value from chunk-pos.
|
|
854
820
|
*
|
|
855
821
|
* @method readString
|
|
856
822
|
* @return {String} Data read from the dataview.
|
|
857
823
|
*/
|
|
858
|
-
|
|
859
|
-
|
|
860
824
|
readString() {
|
|
861
825
|
|
|
862
826
|
let s = '';
|
|
863
827
|
let c = this.readByte();
|
|
864
|
-
|
|
865
828
|
while ( c ) {
|
|
866
829
|
|
|
867
830
|
s += String.fromCharCode( c );
|
|
@@ -873,17 +836,17 @@
|
|
|
873
836
|
|
|
874
837
|
}
|
|
875
838
|
|
|
876
|
-
}
|
|
877
|
-
|
|
839
|
+
}
|
|
878
840
|
|
|
879
|
-
|
|
841
|
+
// const NULL_CHUNK = 0x0000;
|
|
842
|
+
const M3DMAGIC = 0x4D4D;
|
|
843
|
+
// const SMAGIC = 0x2D2D;
|
|
880
844
|
// const LMAGIC = 0x2D3D;
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
845
|
+
const MLIBMAGIC = 0x3DAA;
|
|
846
|
+
// const MATMAGIC = 0x3DFF;
|
|
884
847
|
const CMAGIC = 0xC23D;
|
|
885
|
-
const M3D_VERSION = 0x0002;
|
|
886
|
-
|
|
848
|
+
const M3D_VERSION = 0x0002;
|
|
849
|
+
// const M3D_KFVERSION = 0x0005;
|
|
887
850
|
const COLOR_F = 0x0010;
|
|
888
851
|
const COLOR_24 = 0x0011;
|
|
889
852
|
const LIN_COLOR_24 = 0x0012;
|
|
@@ -892,7 +855,8 @@
|
|
|
892
855
|
const FLOAT_PERCENTAGE = 0x0031;
|
|
893
856
|
const MDATA = 0x3D3D;
|
|
894
857
|
const MESH_VERSION = 0x3D3E;
|
|
895
|
-
const MASTER_SCALE = 0x0100;
|
|
858
|
+
const MASTER_SCALE = 0x0100;
|
|
859
|
+
// const LO_SHADOW_BIAS = 0x1400;
|
|
896
860
|
// const HI_SHADOW_BIAS = 0x1410;
|
|
897
861
|
// const SHADOW_MAP_SIZE = 0x1420;
|
|
898
862
|
// const SHADOW_SAMPLES = 0x1430;
|
|
@@ -915,47 +879,47 @@
|
|
|
915
879
|
// const USE_FOG = 0x2201;
|
|
916
880
|
// const USE_LAYER_FOG = 0x2303;
|
|
917
881
|
// const USE_DISTANCE_CUE = 0x2301;
|
|
918
|
-
|
|
919
882
|
const MAT_ENTRY = 0xAFFF;
|
|
920
883
|
const MAT_NAME = 0xA000;
|
|
921
884
|
const MAT_AMBIENT = 0xA010;
|
|
922
885
|
const MAT_DIFFUSE = 0xA020;
|
|
923
886
|
const MAT_SPECULAR = 0xA030;
|
|
924
|
-
const MAT_SHININESS = 0xA040;
|
|
925
|
-
|
|
926
|
-
const MAT_TRANSPARENCY = 0xA050;
|
|
887
|
+
const MAT_SHININESS = 0xA040;
|
|
888
|
+
// const MAT_SHIN2PCT = 0xA041;
|
|
889
|
+
const MAT_TRANSPARENCY = 0xA050;
|
|
890
|
+
// const MAT_XPFALL = 0xA052;
|
|
927
891
|
// const MAT_USE_XPFALL = 0xA240;
|
|
928
892
|
// const MAT_REFBLUR = 0xA053;
|
|
929
893
|
// const MAT_SHADING = 0xA100;
|
|
930
894
|
// const MAT_USE_REFBLUR = 0xA250;
|
|
931
895
|
// const MAT_SELF_ILLUM = 0xA084;
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
896
|
+
const MAT_TWO_SIDE = 0xA081;
|
|
897
|
+
// const MAT_DECAL = 0xA082;
|
|
935
898
|
const MAT_ADDITIVE = 0xA083;
|
|
936
|
-
const MAT_WIRE = 0xA085;
|
|
899
|
+
const MAT_WIRE = 0xA085;
|
|
900
|
+
// const MAT_FACEMAP = 0xA088;
|
|
937
901
|
// const MAT_TRANSFALLOFF_IN = 0xA08A;
|
|
938
902
|
// const MAT_PHONGSOFT = 0xA08C;
|
|
939
903
|
// const MAT_WIREABS = 0xA08E;
|
|
940
|
-
|
|
941
904
|
const MAT_WIRE_SIZE = 0xA087;
|
|
942
|
-
const MAT_TEXMAP = 0xA200;
|
|
905
|
+
const MAT_TEXMAP = 0xA200;
|
|
906
|
+
// const MAT_SXP_TEXT_DATA = 0xA320;
|
|
943
907
|
// const MAT_TEXMASK = 0xA33E;
|
|
944
908
|
// const MAT_SXP_TEXTMASK_DATA = 0xA32A;
|
|
945
909
|
// const MAT_TEX2MAP = 0xA33A;
|
|
946
910
|
// const MAT_SXP_TEXT2_DATA = 0xA321;
|
|
947
911
|
// const MAT_TEX2MASK = 0xA340;
|
|
948
912
|
// const MAT_SXP_TEXT2MASK_DATA = 0xA32C;
|
|
949
|
-
|
|
950
|
-
|
|
913
|
+
const MAT_OPACMAP = 0xA210;
|
|
914
|
+
// const MAT_SXP_OPAC_DATA = 0xA322;
|
|
951
915
|
// const MAT_OPACMASK = 0xA342;
|
|
952
916
|
// const MAT_SXP_OPACMASK_DATA = 0xA32E;
|
|
953
|
-
|
|
954
|
-
|
|
917
|
+
const MAT_BUMPMAP = 0xA230;
|
|
918
|
+
// const MAT_SXP_BUMP_DATA = 0xA324;
|
|
955
919
|
// const MAT_BUMPMASK = 0xA344;
|
|
956
920
|
// const MAT_SXP_BUMPMASK_DATA = 0xA330;
|
|
957
|
-
|
|
958
|
-
|
|
921
|
+
const MAT_SPECMAP = 0xA204;
|
|
922
|
+
// const MAT_SXP_SPEC_DATA = 0xA325;
|
|
959
923
|
// const MAT_SPECMASK = 0xA348;
|
|
960
924
|
// const MAT_SXP_SPECMASK_DATA = 0xA332;
|
|
961
925
|
// const MAT_SHINMAP = 0xA33C;
|
|
@@ -970,21 +934,21 @@
|
|
|
970
934
|
// const MAT_REFLMASK = 0xA34C;
|
|
971
935
|
// const MAT_SXP_REFLMASK_DATA = 0xA338;
|
|
972
936
|
// const MAT_ACUBIC = 0xA310;
|
|
973
|
-
|
|
974
|
-
|
|
937
|
+
const MAT_MAPNAME = 0xA300;
|
|
938
|
+
// const MAT_MAP_TILING = 0xA351;
|
|
975
939
|
// const MAT_MAP_TEXBLUR = 0xA353;
|
|
976
|
-
|
|
977
940
|
const MAT_MAP_USCALE = 0xA354;
|
|
978
941
|
const MAT_MAP_VSCALE = 0xA356;
|
|
979
942
|
const MAT_MAP_UOFFSET = 0xA358;
|
|
980
|
-
const MAT_MAP_VOFFSET = 0xA35A;
|
|
943
|
+
const MAT_MAP_VOFFSET = 0xA35A;
|
|
944
|
+
// const MAT_MAP_ANG = 0xA35C;
|
|
981
945
|
// const MAT_MAP_COL1 = 0xA360;
|
|
982
946
|
// const MAT_MAP_COL2 = 0xA362;
|
|
983
947
|
// const MAT_MAP_RCOL = 0xA364;
|
|
984
948
|
// const MAT_MAP_GCOL = 0xA366;
|
|
985
949
|
// const MAT_MAP_BCOL = 0xA368;
|
|
986
|
-
|
|
987
|
-
|
|
950
|
+
const NAMED_OBJECT = 0x4000;
|
|
951
|
+
// const N_DIRECT_LIGHT = 0x4600;
|
|
988
952
|
// const DL_OFF = 0x4620;
|
|
989
953
|
// const DL_OUTER_RANGE = 0x465A;
|
|
990
954
|
// const DL_INNER_RANGE = 0x4659;
|
|
@@ -1013,16 +977,15 @@
|
|
|
1013
977
|
// const OBJ_FAST = 0x4014;
|
|
1014
978
|
// const OBJ_PROCEDURAL = 0x4015;
|
|
1015
979
|
// const OBJ_FROZEN = 0x4016;
|
|
1016
|
-
|
|
1017
980
|
const N_TRI_OBJECT = 0x4100;
|
|
1018
|
-
const POINT_ARRAY = 0x4110;
|
|
1019
|
-
|
|
981
|
+
const POINT_ARRAY = 0x4110;
|
|
982
|
+
// const POINT_FLAG_ARRAY = 0x4111;
|
|
1020
983
|
const FACE_ARRAY = 0x4120;
|
|
1021
|
-
const MSH_MAT_GROUP = 0x4130;
|
|
984
|
+
const MSH_MAT_GROUP = 0x4130;
|
|
985
|
+
// const SMOOTH_GROUP = 0x4150;
|
|
1022
986
|
// const MSH_BOXMAP = 0x4190;
|
|
1023
|
-
|
|
1024
987
|
const TEX_VERTS = 0x4140;
|
|
1025
|
-
const MESH_MATRIX = 0x4160;
|
|
988
|
+
const MESH_MATRIX = 0x4160;
|
|
1026
989
|
|
|
1027
990
|
THREE.TDSLoader = TDSLoader;
|
|
1028
991
|
|