@needle-tools/three 0.146.9 → 0.153.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/build/three.cjs +39486 -20286
- package/build/three.js +39471 -20270
- package/build/three.min.js +3 -2
- package/build/three.module.js +6717 -5427
- package/build/three.module.min.js +6 -0
- package/examples/jsm/animation/AnimationClipCreator.js +5 -3
- package/examples/jsm/cameras/CinematicCamera.js +1 -2
- package/examples/jsm/capabilities/WebGPU.js +17 -5
- package/examples/jsm/controls/ArcballControls.js +1828 -1821
- package/examples/jsm/controls/MapControls.js +28 -0
- package/examples/jsm/controls/OrbitControls.js +25 -46
- package/examples/jsm/controls/PointerLockControls.js +70 -65
- package/examples/jsm/controls/TrackballControls.js +18 -4
- package/examples/jsm/controls/TransformControls.js +0 -1
- package/examples/jsm/csm/CSM.js +11 -5
- package/examples/jsm/csm/CSMShader.js +7 -6
- package/examples/jsm/effects/AnaglyphEffect.js +6 -20
- package/examples/jsm/effects/AsciiEffect.js +3 -6
- package/examples/jsm/effects/OutlineEffect.js +1 -15
- package/examples/jsm/effects/ParallaxBarrierEffect.js +3 -0
- package/examples/jsm/exporters/DRACOExporter.js +53 -11
- package/examples/jsm/exporters/EXRExporter.js +3 -9
- package/examples/jsm/exporters/GLTFExporter.js +561 -154
- package/examples/jsm/exporters/KTX2Exporter.js +34 -23
- package/examples/jsm/exporters/MMDExporter.js +1 -1
- package/examples/jsm/exporters/PLYExporter.js +8 -1
- package/examples/jsm/exporters/STLExporter.js +8 -4
- package/examples/jsm/exporters/USDZExporter.js +305 -792
- package/examples/jsm/geometries/ConvexGeometry.js +0 -6
- package/examples/jsm/geometries/ParametricGeometry.js +10 -0
- package/examples/jsm/helpers/OctreeHelper.js +1 -0
- package/examples/jsm/helpers/ViewHelper.js +71 -57
- package/examples/jsm/interactive/HTMLMesh.js +16 -3
- package/examples/jsm/interactive/InteractiveGroup.js +1 -1
- package/examples/{js → jsm}/libs/basis/README.md +4 -4
- package/examples/jsm/libs/draco/draco_decoder.js +34 -0
- package/examples/jsm/libs/draco/draco_decoder.wasm +0 -0
- package/examples/jsm/libs/draco/draco_wasm_wrapper.js +117 -0
- package/examples/jsm/libs/draco/gltf/draco_decoder.js +33 -0
- package/examples/jsm/libs/draco/gltf/draco_decoder.wasm +0 -0
- package/examples/jsm/libs/draco/gltf/draco_wasm_wrapper.js +116 -0
- package/examples/jsm/libs/lil-gui.module.min.js +2 -2
- package/examples/jsm/libs/tween.module.js +803 -0
- package/examples/jsm/lights/IESSpotLight.js +25 -0
- package/examples/jsm/lights/LightProbeGenerator.js +11 -9
- package/examples/jsm/lines/LineSegments2.js +16 -10
- package/examples/jsm/loaders/3DMLoader.js +8 -5
- package/examples/jsm/loaders/3MFLoader.js +12 -11
- package/examples/jsm/loaders/AMFLoader.js +2 -3
- package/examples/jsm/loaders/BVHLoader.js +2 -2
- package/examples/jsm/loaders/ColladaLoader.js +15 -16
- package/examples/jsm/loaders/DRACOLoader.js +69 -18
- package/examples/jsm/loaders/EXRLoader.js +23 -24
- package/examples/jsm/loaders/FBXLoader.js +34 -50
- package/examples/jsm/loaders/GCodeLoader.js +1 -2
- package/examples/jsm/loaders/GLTFLoader.js +417 -895
- package/examples/jsm/loaders/GLTFLoaderAnimationPointer.js +684 -0
- package/examples/jsm/loaders/HDRCubeTextureLoader.js +4 -4
- package/examples/jsm/loaders/IESLoader.js +337 -0
- package/examples/jsm/loaders/KMZLoader.js +4 -4
- package/examples/jsm/loaders/KTX2Loader.js +145 -69
- package/examples/jsm/loaders/LDrawLoader.js +20 -18
- package/examples/jsm/loaders/LWOLoader.js +12 -29
- package/examples/jsm/loaders/LottieLoader.js +3 -1
- package/examples/jsm/loaders/MMDLoader.js +49 -18
- package/examples/jsm/loaders/MTLLoader.js +2 -2
- package/examples/jsm/loaders/MaterialXLoader.js +9 -3
- package/examples/jsm/loaders/NRRDLoader.js +33 -5
- package/examples/jsm/loaders/OBJLoader.js +1 -1
- package/examples/jsm/loaders/PCDLoader.js +26 -12
- package/examples/jsm/loaders/PDBLoader.js +7 -2
- package/examples/jsm/loaders/PLYLoader.js +254 -109
- package/examples/jsm/loaders/RGBELoader.js +3 -3
- package/examples/jsm/loaders/STLLoader.js +9 -5
- package/examples/jsm/loaders/SVGLoader.js +36 -27
- package/examples/jsm/loaders/TTFLoader.js +1 -8
- package/examples/jsm/loaders/TiltLoader.js +13 -7
- package/examples/jsm/loaders/USDZLoader.js +6 -6
- package/examples/jsm/loaders/VOXLoader.js +8 -2
- package/examples/jsm/loaders/VRMLLoader.js +44 -16
- package/examples/jsm/loaders/VTKLoader.js +19 -10
- package/examples/jsm/loaders/XYZLoader.js +9 -3
- package/examples/jsm/loaders/lwo/IFFParser.js +19 -19
- package/examples/jsm/materials/MeshGouraudMaterial.js +0 -3
- package/examples/jsm/math/ConvexHull.js +3 -3
- package/examples/jsm/math/Lut.js +5 -4
- package/examples/jsm/math/MeshSurfaceSampler.js +7 -9
- package/examples/jsm/math/Octree.js +1 -1
- package/examples/jsm/misc/ConvexObjectBreaker.js +2 -8
- package/examples/jsm/misc/GPUComputationRenderer.js +6 -5
- package/examples/jsm/misc/MD2Character.js +2 -2
- package/examples/jsm/misc/MD2CharacterComplex.js +2 -2
- package/examples/jsm/misc/ProgressiveLightMap.js +12 -10
- package/examples/jsm/misc/RollerCoaster.js +7 -1
- package/examples/jsm/misc/Volume.js +20 -5
- package/examples/jsm/misc/VolumeSlice.js +3 -1
- package/examples/jsm/modifiers/CurveModifier.js +1 -0
- package/examples/jsm/modifiers/TessellateModifier.js +19 -19
- package/examples/jsm/nodes/Nodes.js +144 -335
- package/examples/jsm/nodes/accessors/BitangentNode.js +43 -16
- package/examples/jsm/nodes/accessors/BufferAttributeNode.js +86 -0
- package/examples/jsm/nodes/accessors/BufferNode.js +6 -0
- package/examples/jsm/nodes/accessors/CameraNode.js +12 -2
- package/examples/jsm/nodes/accessors/CubeTextureNode.js +27 -33
- package/examples/jsm/nodes/accessors/ExtendedMaterialNode.js +58 -0
- package/examples/jsm/nodes/accessors/InstanceNode.js +41 -26
- package/examples/jsm/nodes/accessors/MaterialNode.js +155 -38
- package/examples/jsm/nodes/accessors/MaterialReferenceNode.js +16 -0
- package/examples/jsm/nodes/accessors/ModelNode.js +11 -0
- package/examples/jsm/nodes/accessors/ModelViewProjectionNode.js +13 -14
- package/examples/jsm/nodes/accessors/NormalNode.js +35 -19
- package/examples/jsm/nodes/accessors/Object3DNode.js +32 -12
- package/examples/jsm/nodes/accessors/PointUVNode.js +6 -1
- package/examples/jsm/nodes/accessors/PositionNode.js +38 -23
- package/examples/jsm/nodes/accessors/ReferenceNode.js +21 -14
- package/examples/jsm/nodes/accessors/ReflectVectorNode.js +11 -7
- package/examples/jsm/nodes/accessors/SkinningNode.js +43 -40
- package/examples/jsm/nodes/accessors/StorageBufferNode.js +6 -0
- package/examples/jsm/nodes/accessors/TangentNode.js +28 -20
- package/examples/jsm/nodes/accessors/TextureNode.js +80 -12
- package/examples/jsm/nodes/accessors/UVNode.js +6 -0
- package/examples/jsm/nodes/accessors/UserDataNode.js +6 -0
- package/examples/jsm/nodes/code/CodeNode.js +75 -0
- package/examples/jsm/nodes/code/ExpressionNode.js +37 -0
- package/examples/jsm/nodes/{core → code}/FunctionCallNode.js +15 -1
- package/examples/jsm/nodes/{core → code}/FunctionNode.js +8 -7
- package/examples/jsm/nodes/code/ScriptableNode.js +488 -0
- package/examples/jsm/nodes/code/ScriptableValueNode.js +167 -0
- package/examples/jsm/nodes/core/ArrayUniformNode.js +3 -0
- package/examples/jsm/nodes/core/AttributeNode.js +17 -9
- package/examples/jsm/nodes/core/BypassNode.js +9 -2
- package/examples/jsm/nodes/core/CacheNode.js +46 -0
- package/examples/jsm/nodes/core/ConstNode.js +3 -0
- package/examples/jsm/nodes/core/ContextNode.js +8 -1
- package/examples/jsm/nodes/core/InputNode.js +26 -5
- package/examples/jsm/nodes/core/InstanceIndexNode.js +26 -2
- package/examples/jsm/nodes/core/LightingModel.js +16 -0
- package/examples/jsm/nodes/core/Node.js +129 -35
- package/examples/jsm/nodes/core/NodeAttribute.js +2 -1
- package/examples/jsm/nodes/core/NodeBuilder.js +271 -121
- package/examples/jsm/nodes/core/NodeCache.js +26 -0
- package/examples/jsm/nodes/core/NodeFrame.js +56 -5
- package/examples/jsm/nodes/core/NodeUtils.js +115 -28
- package/examples/jsm/nodes/core/PropertyNode.js +19 -2
- package/examples/jsm/nodes/core/StackNode.js +99 -0
- package/examples/jsm/nodes/core/TempNode.js +11 -3
- package/examples/jsm/nodes/core/UniformNode.js +16 -1
- package/examples/jsm/nodes/core/VarNode.js +21 -29
- package/examples/jsm/nodes/core/VaryingNode.js +15 -2
- package/examples/jsm/nodes/core/constants.js +6 -0
- package/examples/jsm/nodes/display/BlendModeNode.js +25 -11
- package/examples/jsm/nodes/display/ColorAdjustmentNode.js +30 -14
- package/examples/jsm/nodes/display/ColorSpaceNode.js +39 -27
- package/examples/jsm/nodes/display/FrontFacingNode.js +7 -1
- package/examples/jsm/nodes/display/NormalMapNode.js +31 -18
- package/examples/jsm/nodes/display/PosterizeNode.js +10 -3
- package/examples/jsm/nodes/display/ToneMappingNode.js +101 -11
- package/examples/jsm/nodes/display/ViewportNode.js +27 -18
- package/examples/jsm/nodes/display/ViewportSharedTextureNode.js +30 -0
- package/examples/jsm/nodes/display/ViewportTextureNode.js +67 -0
- package/examples/jsm/nodes/fog/FogExp2Node.js +35 -0
- package/examples/jsm/nodes/fog/FogNode.js +12 -6
- package/examples/jsm/nodes/fog/FogRangeNode.js +12 -5
- package/examples/jsm/nodes/functions/BSDF/BRDF_BlinnPhong.js +30 -0
- package/examples/jsm/nodes/functions/BSDF/BRDF_GGX.js +10 -13
- package/examples/jsm/nodes/functions/BSDF/BRDF_Lambert.js +2 -2
- package/examples/jsm/nodes/functions/BSDF/DFGApprox.js +8 -6
- package/examples/jsm/nodes/functions/BSDF/D_GGX.js +4 -4
- package/examples/jsm/nodes/functions/BSDF/F_Schlick.js +3 -3
- package/examples/jsm/nodes/functions/BSDF/V_GGX_SmithCorrelated.js +7 -5
- package/examples/jsm/nodes/functions/PhongLightingModel.js +28 -0
- package/examples/jsm/nodes/functions/PhysicalLightingModel.js +35 -36
- package/examples/jsm/nodes/functions/material/getGeometryRoughness.js +4 -3
- package/examples/jsm/nodes/functions/material/getRoughness.js +4 -4
- package/examples/jsm/nodes/geometry/RangeNode.js +50 -55
- package/examples/jsm/nodes/gpgpu/ComputeNode.js +9 -2
- package/examples/jsm/nodes/lighting/AONode.js +5 -3
- package/examples/jsm/nodes/lighting/AmbientLightNode.js +27 -0
- package/examples/jsm/nodes/lighting/AnalyticLightNode.js +114 -5
- package/examples/jsm/nodes/lighting/DirectionalLightNode.js +43 -0
- package/examples/jsm/nodes/lighting/EnvironmentNode.js +121 -35
- package/examples/jsm/nodes/lighting/HemisphereLightNode.js +15 -10
- package/examples/jsm/nodes/lighting/IESSpotLightNode.js +39 -0
- package/examples/jsm/nodes/lighting/LightNode.js +57 -0
- package/examples/jsm/nodes/lighting/LightUtils.js +17 -0
- package/examples/jsm/nodes/lighting/LightingContextNode.js +30 -8
- package/examples/jsm/nodes/lighting/LightingNode.js +3 -1
- package/examples/jsm/nodes/lighting/LightsNode.js +18 -10
- package/examples/jsm/nodes/lighting/PointLightNode.js +71 -0
- package/examples/jsm/nodes/lighting/SpotLightNode.js +92 -0
- package/examples/jsm/nodes/loaders/NodeLoader.js +5 -4
- package/examples/jsm/nodes/loaders/NodeMaterialLoader.js +4 -20
- package/examples/jsm/nodes/materials/LineBasicNodeMaterial.js +6 -9
- package/examples/jsm/nodes/materials/Materials.js +11 -55
- package/examples/jsm/nodes/materials/MeshBasicNodeMaterial.js +5 -11
- package/examples/jsm/nodes/materials/MeshNormalNodeMaterial.js +48 -0
- package/examples/jsm/nodes/materials/MeshPhongNodeMaterial.js +74 -0
- package/examples/jsm/nodes/materials/MeshPhysicalNodeMaterial.js +6 -6
- package/examples/jsm/nodes/materials/MeshStandardNodeMaterial.js +21 -96
- package/examples/jsm/nodes/materials/NodeMaterial.js +284 -62
- package/examples/jsm/nodes/materials/PointsNodeMaterial.js +7 -1
- package/examples/jsm/nodes/materials/SpriteNodeMaterial.js +29 -25
- package/examples/jsm/nodes/materialx/MaterialXNodes.js +31 -22
- package/examples/jsm/nodes/materialx/lib/mx_hsv.js +1 -1
- package/examples/jsm/nodes/materialx/lib/mx_noise.js +2 -1
- package/examples/jsm/nodes/materialx/lib/mx_transform_color.js +2 -1
- package/examples/jsm/nodes/math/CondNode.js +43 -17
- package/examples/jsm/nodes/math/MathNode.js +178 -73
- package/examples/jsm/nodes/math/OperatorNode.js +52 -2
- package/examples/jsm/nodes/procedural/CheckerNode.js +14 -6
- package/examples/jsm/nodes/shadernode/ShaderNode.js +186 -63
- package/examples/jsm/nodes/utils/ArrayElementNode.js +4 -2
- package/examples/jsm/nodes/utils/ConvertNode.js +19 -1
- package/examples/jsm/nodes/utils/DiscardNode.js +26 -0
- package/examples/jsm/nodes/utils/EquirectUVNode.js +10 -4
- package/examples/jsm/nodes/utils/JoinNode.js +4 -1
- package/examples/jsm/nodes/utils/LoopNode.js +186 -0
- package/examples/jsm/nodes/utils/MatcapUVNode.js +11 -4
- package/examples/jsm/nodes/utils/MaxMipLevelNode.js +18 -5
- package/examples/jsm/nodes/utils/OscNode.js +21 -14
- package/examples/jsm/nodes/utils/PackingNode.js +55 -0
- package/examples/jsm/nodes/utils/RemapNode.js +13 -5
- package/examples/jsm/nodes/utils/RotateUVNode.js +18 -7
- package/examples/jsm/nodes/utils/SpecularMIPLevelNode.js +37 -0
- package/examples/jsm/nodes/utils/SplitNode.js +7 -5
- package/examples/jsm/nodes/utils/SpriteSheetUVNode.js +15 -30
- package/examples/jsm/nodes/utils/TimerNode.js +16 -6
- package/examples/jsm/nodes/utils/TriplanarTexturesNode.js +21 -10
- package/examples/jsm/objects/GroundProjectedSkybox.js +172 -0
- package/examples/jsm/objects/Lensflare.js +3 -4
- package/examples/jsm/objects/MarchingCubes.js +5 -1
- package/examples/jsm/objects/Reflector.js +7 -4
- package/examples/jsm/objects/Refractor.js +4 -4
- package/examples/jsm/objects/ShadowMesh.js +3 -3
- package/examples/jsm/objects/Water.js +2 -1
- package/examples/jsm/physics/AmmoPhysics.js +27 -28
- package/examples/jsm/physics/RapierPhysics.js +199 -0
- package/examples/jsm/postprocessing/AfterimagePass.js +3 -2
- package/examples/jsm/postprocessing/BloomPass.js +7 -4
- package/examples/jsm/postprocessing/BokehPass.js +3 -8
- package/examples/jsm/postprocessing/DotScreenPass.js +1 -2
- package/examples/jsm/postprocessing/EffectComposer.js +5 -95
- package/examples/jsm/postprocessing/FilmPass.js +1 -2
- package/examples/jsm/postprocessing/GlitchPass.js +0 -2
- package/examples/jsm/postprocessing/HalftonePass.js +0 -6
- package/examples/jsm/postprocessing/OutlinePass.js +7 -7
- package/examples/jsm/postprocessing/OutputPass.js +72 -0
- package/examples/jsm/postprocessing/Pass.js +2 -0
- package/examples/jsm/postprocessing/RenderPixelatedPass.js +4 -3
- package/examples/jsm/postprocessing/SAOPass.js +4 -26
- package/examples/jsm/postprocessing/SMAAPass.js +5 -8
- package/examples/jsm/postprocessing/SSAARenderPass.js +15 -6
- package/examples/jsm/postprocessing/SSAOPass.js +4 -14
- package/examples/jsm/postprocessing/SSRPass.js +3 -7
- package/examples/jsm/postprocessing/SavePass.js +2 -3
- package/examples/jsm/postprocessing/ShaderPass.js +1 -0
- package/examples/jsm/postprocessing/TAARenderPass.js +3 -2
- package/examples/jsm/postprocessing/TexturePass.js +0 -2
- package/examples/jsm/postprocessing/UnrealBloomPass.js +4 -11
- package/examples/jsm/renderers/CSS2DRenderer.js +6 -1
- package/examples/jsm/renderers/CSS3DRenderer.js +27 -5
- package/examples/jsm/renderers/{webgpu/WebGPUAnimation.js → common/Animation.js} +4 -4
- package/examples/jsm/renderers/common/Attributes.js +75 -0
- package/examples/jsm/renderers/common/Backend.js +160 -0
- package/examples/jsm/renderers/common/Background.js +133 -0
- package/examples/jsm/renderers/common/Binding.js +11 -0
- package/examples/jsm/renderers/common/Bindings.js +169 -0
- package/examples/jsm/renderers/common/Buffer.js +38 -0
- package/examples/jsm/renderers/{webgpu/WebGPUBufferUtils.js → common/BufferUtils.js} +2 -2
- package/examples/jsm/renderers/common/ChainMap.js +89 -0
- package/examples/jsm/renderers/common/ComputePipeline.js +17 -0
- package/examples/jsm/renderers/common/Constants.js +14 -0
- package/examples/jsm/renderers/common/CubeRenderTarget.js +65 -0
- package/examples/jsm/renderers/common/DataMap.js +54 -0
- package/examples/jsm/renderers/common/Geometries.js +215 -0
- package/examples/jsm/renderers/{webgpu/WebGPUInfo.js → common/Info.js} +2 -3
- package/examples/jsm/renderers/common/Pipeline.js +13 -0
- package/examples/jsm/renderers/common/Pipelines.js +309 -0
- package/examples/jsm/renderers/common/ProgrammableStage.js +18 -0
- package/examples/jsm/renderers/common/RenderContext.js +37 -0
- package/examples/jsm/renderers/common/RenderContexts.js +38 -0
- package/examples/jsm/renderers/{webgpu/WebGPURenderLists.js → common/RenderList.js} +26 -47
- package/examples/jsm/renderers/common/RenderLists.js +38 -0
- package/examples/jsm/renderers/common/RenderObject.js +95 -0
- package/examples/jsm/renderers/common/RenderObjects.js +92 -0
- package/examples/jsm/renderers/common/RenderPipeline.js +16 -0
- package/examples/jsm/renderers/common/RenderTarget.js +15 -0
- package/examples/jsm/renderers/common/Renderer.js +822 -0
- package/examples/jsm/renderers/common/SampledTexture.js +80 -0
- package/examples/jsm/renderers/common/Sampler.js +18 -0
- package/examples/jsm/renderers/common/StorageBuffer.js +17 -0
- package/examples/jsm/renderers/common/Textures.js +206 -0
- package/examples/jsm/renderers/{webgpu/WebGPUUniform.js → common/Uniform.js} +13 -9
- package/examples/jsm/renderers/common/UniformBuffer.js +15 -0
- package/examples/jsm/renderers/{webgpu/WebGPUUniformsGroup.js → common/UniformsGroup.js} +13 -13
- package/examples/jsm/renderers/common/nodes/NodeRender.js +302 -0
- package/examples/jsm/renderers/{webgpu/nodes/WebGPUNodeSampledTexture.js → common/nodes/NodeSampledTexture.js} +4 -4
- package/examples/jsm/renderers/{webgpu/nodes/WebGPUNodeSampler.js → common/nodes/NodeSampler.js} +3 -3
- package/examples/jsm/renderers/{webgpu/nodes/WebGPUNodeUniform.js → common/nodes/NodeUniform.js} +1 -1
- package/examples/jsm/renderers/common/nodes/Nodes.js +319 -0
- package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +35 -31
- package/examples/jsm/renderers/webgpu/WebGPUBackend.js +765 -0
- package/examples/jsm/renderers/webgpu/WebGPURenderer.js +15 -987
- package/examples/jsm/renderers/webgpu/nodes/{WebGPUNodeBuilder.js → WGSLNodeBuilder.js} +117 -90
- package/examples/jsm/{nodes/parsers → renderers/webgpu/nodes}/WGSLNodeFunction.js +2 -2
- package/examples/jsm/{nodes/parsers → renderers/webgpu/nodes}/WGSLNodeParser.js +1 -1
- package/examples/jsm/renderers/webgpu/utils/WebGPUAttributeUtils.js +251 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUBindingUtils.js +145 -0
- package/examples/jsm/renderers/webgpu/{constants.js → utils/WebGPUConstants.js} +73 -12
- package/examples/jsm/renderers/webgpu/{WebGPURenderPipeline.js → utils/WebGPUPipelineUtils.js} +135 -285
- package/examples/jsm/renderers/webgpu/{WebGPUTextureUtils.js → utils/WebGPUTextureMipmapUtils.js} +5 -25
- package/examples/jsm/renderers/webgpu/utils/WebGPUTextureUtils.js +855 -0
- package/examples/jsm/renderers/webgpu/utils/WebGPUUtils.js +88 -0
- package/examples/jsm/shaders/BleachBypassShader.js +2 -0
- package/examples/jsm/shaders/BokehShader2.js +3 -0
- package/examples/jsm/shaders/ColorifyShader.js +2 -0
- package/examples/jsm/shaders/ConvolutionShader.js +2 -0
- package/examples/jsm/shaders/CopyShader.js +2 -0
- package/examples/jsm/shaders/DotScreenShader.js +2 -0
- package/examples/jsm/shaders/ExposureShader.js +44 -0
- package/examples/jsm/shaders/FilmShader.js +2 -0
- package/examples/jsm/shaders/GammaCorrectionShader.js +2 -0
- package/examples/jsm/shaders/HorizontalBlurShader.js +2 -0
- package/examples/jsm/shaders/MMDToonShader.js +15 -4
- package/examples/jsm/shaders/OutputShader.js +61 -0
- package/examples/jsm/shaders/RGBShiftShader.js +4 -2
- package/examples/jsm/shaders/SepiaShader.js +2 -0
- package/examples/jsm/shaders/ToonShader.js +13 -5
- package/examples/jsm/shaders/VelocityShader.js +1 -1
- package/examples/jsm/shaders/VerticalBlurShader.js +2 -0
- package/examples/jsm/shaders/VignetteShader.js +2 -0
- package/examples/jsm/shaders/WaterRefractionShader.js +5 -2
- package/examples/jsm/utils/BufferGeometryUtils.js +54 -36
- package/examples/jsm/utils/LDrawUtils.js +4 -4
- package/examples/jsm/utils/PackedPhongMaterial.js +5 -78
- package/examples/jsm/utils/SceneUtils.js +8 -4
- package/examples/jsm/utils/SkeletonUtils.js +27 -210
- package/examples/jsm/utils/TextureUtils.js +41 -40
- package/examples/jsm/webxr/VRButton.js +1 -2
- package/examples/jsm/webxr/XRButton.js +198 -0
- package/examples/jsm/webxr/XRHandPrimitiveModel.js +1 -0
- package/examples/jsm/webxr/XRPlanes.js +100 -0
- package/package.json +34 -87
- package/src/Three.Legacy.js +19 -110
- package/src/Three.js +4 -3
- package/src/animation/AnimationUtils.js +13 -1
- package/src/audio/Audio.js +7 -2
- package/src/audio/PositionalAudio.js +8 -0
- package/src/cameras/Camera.js +5 -0
- package/src/cameras/CubeCamera.js +76 -13
- package/src/cameras/OrthographicCamera.js +1 -1
- package/src/cameras/PerspectiveCamera.js +1 -1
- package/src/constants.js +22 -2
- package/src/core/BufferAttribute.js +150 -9
- package/src/core/BufferGeometry.js +4 -10
- package/src/core/GLBufferAttribute.js +2 -0
- package/src/core/InterleavedBufferAttribute.js +5 -5
- package/src/core/Object3D.js +37 -8
- package/src/extras/DataUtils.js +7 -1
- package/src/extras/ImageUtils.js +2 -2
- package/src/extras/PMREMGenerator.js +5 -5
- package/src/extras/core/Curve.js +1 -1
- package/src/extras/curves/LineCurve.js +6 -4
- package/src/extras/curves/LineCurve3.js +13 -0
- package/src/geometries/BoxGeometry.js +10 -0
- package/src/geometries/CircleGeometry.js +11 -1
- package/src/geometries/ConeGeometry.js +1 -1
- package/src/geometries/CylinderGeometry.js +11 -1
- package/src/geometries/EdgesGeometry.js +10 -0
- package/src/geometries/ExtrudeGeometry.js +11 -1
- package/src/geometries/LatheGeometry.js +10 -0
- package/src/geometries/PlaneGeometry.js +10 -0
- package/src/geometries/PolyhedronGeometry.js +11 -1
- package/src/geometries/RingGeometry.js +11 -1
- package/src/geometries/ShapeGeometry.js +11 -1
- package/src/geometries/SphereGeometry.js +12 -2
- package/src/geometries/TorusGeometry.js +11 -1
- package/src/geometries/TorusKnotGeometry.js +10 -0
- package/src/geometries/TubeGeometry.js +10 -0
- package/src/geometries/WireframeGeometry.js +10 -0
- package/src/helpers/Box3Helper.js +1 -2
- package/src/lights/DirectionalLight.js +1 -1
- package/src/lights/HemisphereLight.js +1 -1
- package/src/lights/SpotLight.js +1 -1
- package/src/loaders/AudioLoader.js +14 -8
- package/src/loaders/CubeTextureLoader.js +2 -0
- package/src/loaders/DataTextureLoader.js +5 -1
- package/src/loaders/MaterialLoader.js +8 -0
- package/src/loaders/ObjectLoader.js +10 -2
- package/src/materials/LineBasicMaterial.js +4 -0
- package/src/materials/Material.js +16 -4
- package/src/materials/MeshDistanceMaterial.js +0 -9
- package/src/materials/MeshPhysicalMaterial.js +32 -6
- package/src/materials/ShaderMaterial.js +6 -1
- package/src/math/Box2.js +3 -2
- package/src/math/Box3.js +49 -64
- package/src/math/Color.js +88 -66
- package/src/math/ColorManagement.js +75 -16
- package/src/math/Euler.js +2 -11
- package/src/math/Frustum.js +29 -5
- package/src/math/MathUtils.js +43 -1
- package/src/math/Matrix3.js +26 -6
- package/src/math/Matrix4.js +74 -19
- package/src/math/Plane.js +2 -2
- package/src/math/Quaternion.js +6 -0
- package/src/math/Ray.js +7 -7
- package/src/math/Triangle.js +37 -7
- package/src/math/Vector2.js +16 -0
- package/src/math/Vector3.js +10 -0
- package/src/math/interpolants/CubicInterpolant.js +1 -2
- package/src/objects/InstancedMesh.js +82 -1
- package/src/objects/Mesh.js +108 -76
- package/src/objects/Skeleton.js +1 -1
- package/src/objects/SkinnedMesh.js +123 -8
- package/src/objects/Sprite.js +1 -1
- package/src/renderers/WebGLCubeRenderTarget.js +12 -3
- package/src/renderers/WebGLMultipleRenderTargets.js +4 -2
- package/src/renderers/WebGLRenderTarget.js +14 -2
- package/src/renderers/WebGLRenderer.js +1433 -1236
- package/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +0 -271
- package/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +5 -5
- package/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js +2 -10
- package/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js +5 -5
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +32 -0
- package/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +26 -3
- package/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +3 -3
- package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +10 -2
- package/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +11 -11
- package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +39 -13
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +306 -10
- package/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +2 -10
- package/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js +9 -1
- package/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js +10 -2
- package/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +32 -10
- package/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +5 -13
- package/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +7 -7
- package/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +1 -2
- package/src/renderers/shaders/ShaderChunk/packing.glsl.js +11 -5
- package/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +4 -11
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +39 -34
- package/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +5 -5
- package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +101 -16
- package/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +113 -1
- package/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +134 -6
- package/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +116 -1
- package/src/renderers/shaders/ShaderChunk.js +0 -6
- package/src/renderers/shaders/ShaderLib/background.glsl.js +0 -8
- package/src/renderers/shaders/ShaderLib/linedashed.glsl.js +5 -0
- package/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +1 -4
- package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +0 -3
- package/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +3 -3
- package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -3
- package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +16 -12
- package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -3
- package/src/renderers/shaders/ShaderLib/points.glsl.js +13 -0
- package/src/renderers/shaders/ShaderLib/shadow.glsl.js +5 -0
- package/src/renderers/shaders/ShaderLib.js +18 -4
- package/src/renderers/shaders/UniformsLib.js +27 -15
- package/src/renderers/shaders/UniformsUtils.js +12 -3
- package/src/renderers/webgl/WebGLBackground.js +23 -12
- package/src/renderers/webgl/WebGLBindingStates.js +13 -5
- package/src/renderers/webgl/WebGLCapabilities.js +1 -2
- package/src/renderers/webgl/WebGLClipping.js +7 -3
- package/src/renderers/webgl/WebGLGeometries.js +12 -0
- package/src/renderers/webgl/WebGLInfo.js +0 -1
- package/src/renderers/webgl/WebGLLights.js +2 -2
- package/src/renderers/webgl/WebGLMaterials.js +123 -234
- package/src/renderers/webgl/WebGLMorphtargets.js +1 -1
- package/src/renderers/webgl/WebGLProgram.js +130 -48
- package/src/renderers/webgl/WebGLPrograms.js +210 -130
- package/src/renderers/webgl/WebGLRenderStates.js +2 -2
- package/src/renderers/webgl/WebGLShadowMap.js +40 -27
- package/src/renderers/webgl/WebGLState.js +23 -9
- package/src/renderers/webgl/WebGLTextures.js +39 -19
- package/src/renderers/webgl/WebGLUniformsGroups.js +74 -33
- package/src/renderers/webgl/WebGLUtils.js +41 -29
- package/src/renderers/webxr/WebXRController.js +3 -0
- package/src/renderers/webxr/WebXRManager.js +85 -141
- package/src/scenes/Scene.js +4 -6
- package/src/textures/CompressedTexture.js +2 -2
- package/src/textures/CubeTexture.js +2 -2
- package/src/textures/DataTexture.js +2 -2
- package/src/textures/DepthTexture.js +22 -0
- package/src/textures/FramebufferTexture.js +1 -3
- package/src/textures/Source.js +4 -0
- package/src/textures/Texture.js +43 -13
- package/src/utils.js +13 -1
- package/examples/fonts/open-sans/open-sans-v15-cyrillic-ext_greek_greek-ext_cyrillic_latin_latin-ext_vietnamese-regular.woff +0 -0
- package/examples/fonts/open-sans/open-sans-v15-cyrillic-ext_greek_greek-ext_cyrillic_latin_latin-ext_vietnamese-regular.woff2 +0 -0
- package/examples/fonts/open-sans/open-sans.css +0 -9
- package/examples/fonts/tabler-icons/fonts/tabler-icons.eot +0 -0
- package/examples/fonts/tabler-icons/fonts/tabler-icons.svg +0 -3966
- package/examples/fonts/tabler-icons/fonts/tabler-icons.ttf +0 -0
- package/examples/fonts/tabler-icons/fonts/tabler-icons.woff +0 -0
- package/examples/fonts/tabler-icons/fonts/tabler-icons.woff2 +0 -0
- package/examples/fonts/tabler-icons/tabler-icons.min.css +0 -4
- package/examples/js/animation/AnimationClipCreator.js +0 -89
- package/examples/js/animation/CCDIKSolver.js +0 -416
- package/examples/js/animation/MMDAnimationHelper.js +0 -1046
- package/examples/js/animation/MMDPhysics.js +0 -1174
- package/examples/js/cameras/CinematicCamera.js +0 -168
- package/examples/js/controls/ArcballControls.js +0 -2770
- package/examples/js/controls/DragControls.js +0 -205
- package/examples/js/controls/FirstPersonControls.js +0 -312
- package/examples/js/controls/FlyControls.js +0 -321
- package/examples/js/controls/OrbitControls.js +0 -1065
- package/examples/js/controls/PointerLockControls.js +0 -144
- package/examples/js/controls/TrackballControls.js +0 -729
- package/examples/js/controls/TransformControls.js +0 -1301
- package/examples/js/csm/CSM.js +0 -347
- package/examples/js/csm/CSMFrustum.js +0 -127
- package/examples/js/csm/CSMHelper.js +0 -165
- package/examples/js/csm/CSMShader.js +0 -253
- package/examples/js/curves/CurveExtras.js +0 -348
- package/examples/js/curves/NURBSCurve.js +0 -63
- package/examples/js/curves/NURBSSurface.js +0 -48
- package/examples/js/curves/NURBSUtils.js +0 -439
- package/examples/js/effects/AnaglyphEffect.js +0 -86
- package/examples/js/effects/AsciiEffect.js +0 -260
- package/examples/js/effects/OutlineEffect.js +0 -450
- package/examples/js/effects/ParallaxBarrierEffect.js +0 -62
- package/examples/js/effects/PeppersGhostEffect.js +0 -139
- package/examples/js/effects/StereoEffect.js +0 -46
- package/examples/js/environments/DebugEnvironment.js +0 -53
- package/examples/js/environments/RoomEnvironment.js +0 -124
- package/examples/js/exporters/ColladaExporter.js +0 -487
- package/examples/js/exporters/DRACOExporter.js +0 -212
- package/examples/js/exporters/EXRExporter.js +0 -455
- package/examples/js/exporters/GLTFExporter.js +0 -2425
- package/examples/js/exporters/MMDExporter.js +0 -187
- package/examples/js/exporters/OBJExporter.js +0 -260
- package/examples/js/exporters/PLYExporter.js +0 -427
- package/examples/js/exporters/STLExporter.js +0 -188
- package/examples/js/exporters/USDZExporter.js +0 -608
- package/examples/js/geometries/BoxLineGeometry.js +0 -59
- package/examples/js/geometries/ConvexGeometry.js +0 -53
- package/examples/js/geometries/DecalGeometry.js +0 -324
- package/examples/js/geometries/LightningStrike.js +0 -861
- package/examples/js/geometries/ParametricGeometries.js +0 -216
- package/examples/js/geometries/ParametricGeometry.js +0 -121
- package/examples/js/geometries/RoundedBoxGeometry.js +0 -142
- package/examples/js/geometries/TeapotGeometry.js +0 -335
- package/examples/js/geometries/TextGeometry.js +0 -53
- package/examples/js/helpers/LightProbeHelper.js +0 -48
- package/examples/js/helpers/OctreeHelper.js +0 -76
- package/examples/js/helpers/PositionalAudioHelper.js +0 -91
- package/examples/js/helpers/RectAreaLightHelper.js +0 -73
- package/examples/js/helpers/VertexNormalsHelper.js +0 -74
- package/examples/js/helpers/VertexTangentsHelper.js +0 -68
- package/examples/js/helpers/ViewHelper.js +0 -281
- package/examples/js/interactive/HTMLMesh.js +0 -497
- package/examples/js/interactive/InteractiveGroup.js +0 -95
- package/examples/js/interactive/SelectionBox.js +0 -195
- package/examples/js/interactive/SelectionHelper.js +0 -83
- package/examples/js/libs/chevrotain.min.js +0 -3
- package/examples/js/libs/draco/draco_decoder.js +0 -52
- package/examples/js/libs/draco/draco_decoder.wasm +0 -0
- package/examples/js/libs/draco/draco_wasm_wrapper.js +0 -104
- package/examples/js/libs/draco/gltf/draco_decoder.js +0 -48
- package/examples/js/libs/draco/gltf/draco_decoder.wasm +0 -0
- package/examples/js/libs/draco/gltf/draco_wasm_wrapper.js +0 -104
- package/examples/js/libs/fflate.min.js +0 -7
- package/examples/js/libs/ktx-parse.umd.js +0 -1
- package/examples/js/libs/meshopt_decoder.js +0 -188
- package/examples/js/libs/opentype.min.js +0 -1
- package/examples/js/libs/stats.min.js +0 -5
- package/examples/js/lights/LightProbeGenerator.js +0 -221
- package/examples/js/lights/RectAreaLightUniformsLib.js +0 -60
- package/examples/js/lines/Line2.js +0 -19
- package/examples/js/lines/LineGeometry.js +0 -69
- package/examples/js/lines/LineMaterial.js +0 -635
- package/examples/js/lines/LineSegments2.js +0 -311
- package/examples/js/lines/LineSegmentsGeometry.js +0 -198
- package/examples/js/lines/Wireframe.js +0 -47
- package/examples/js/lines/WireframeGeometry2.js +0 -20
- package/examples/js/loaders/3DMLoader.js +0 -1273
- package/examples/js/loaders/3MFLoader.js +0 -1306
- package/examples/js/loaders/AMFLoader.js +0 -504
- package/examples/js/loaders/BVHLoader.js +0 -395
- package/examples/js/loaders/BasisTextureLoader.js +0 -706
- package/examples/js/loaders/ColladaLoader.js +0 -3663
- package/examples/js/loaders/DDSLoader.js +0 -244
- package/examples/js/loaders/DRACOLoader.js +0 -511
- package/examples/js/loaders/EXRLoader.js +0 -2039
- package/examples/js/loaders/FBXLoader.js +0 -3680
- package/examples/js/loaders/FontLoader.js +0 -160
- package/examples/js/loaders/GCodeLoader.js +0 -255
- package/examples/js/loaders/GLTFLoader.js +0 -4108
- package/examples/js/loaders/HDRCubeTextureLoader.js +0 -87
- package/examples/js/loaders/KMZLoader.js +0 -121
- package/examples/js/loaders/KTXLoader.js +0 -159
- package/examples/js/loaders/LDrawLoader.js +0 -2263
- package/examples/js/loaders/LUT3dlLoader.js +0 -135
- package/examples/js/loaders/LUTCubeLoader.js +0 -132
- package/examples/js/loaders/LWOLoader.js +0 -901
- package/examples/js/loaders/LogLuvLoader.js +0 -715
- package/examples/js/loaders/LottieLoader.js +0 -62
- package/examples/js/loaders/MD2Loader.js +0 -248
- package/examples/js/loaders/MDDLoader.js +0 -91
- package/examples/js/loaders/MMDLoader.js +0 -1915
- package/examples/js/loaders/MTLLoader.js +0 -472
- package/examples/js/loaders/MaterialXLoader.js +0 -392
- package/examples/js/loaders/NRRDLoader.js +0 -609
- package/examples/js/loaders/OBJLoader.js +0 -789
- package/examples/js/loaders/PCDLoader.js +0 -413
- package/examples/js/loaders/PDBLoader.js +0 -317
- package/examples/js/loaders/PLYLoader.js +0 -532
- package/examples/js/loaders/PRWMLoader.js +0 -249
- package/examples/js/loaders/PVRLoader.js +0 -218
- package/examples/js/loaders/RGBELoader.js +0 -442
- package/examples/js/loaders/RGBMLoader.js +0 -1354
- package/examples/js/loaders/STLLoader.js +0 -364
- package/examples/js/loaders/SVGLoader.js +0 -2783
- package/examples/js/loaders/TDSLoader.js +0 -992
- package/examples/js/loaders/TGALoader.js +0 -484
- package/examples/js/loaders/TIFFLoader.js +0 -30
- package/examples/js/loaders/TTFLoader.js +0 -203
- package/examples/js/loaders/TiltLoader.js +0 -459
- package/examples/js/loaders/VOXLoader.js +0 -240
- package/examples/js/loaders/VRMLLoader.js +0 -3140
- package/examples/js/loaders/VTKLoader.js +0 -1078
- package/examples/js/loaders/XYZLoader.js +0 -89
- package/examples/js/loaders/lwo/IFFParser.js +0 -1067
- package/examples/js/loaders/lwo/LWO2Parser.js +0 -397
- package/examples/js/loaders/lwo/LWO3Parser.js +0 -360
- package/examples/js/materials/MeshGouraudMaterial.js +0 -387
- package/examples/js/math/Capsule.js +0 -103
- package/examples/js/math/ColorConverter.js +0 -33
- package/examples/js/math/ConvexHull.js +0 -1154
- package/examples/js/math/ImprovedNoise.js +0 -66
- package/examples/js/math/Lut.js +0 -164
- package/examples/js/math/MeshSurfaceSampler.js +0 -171
- package/examples/js/math/OBB.js +0 -382
- package/examples/js/math/Octree.js +0 -410
- package/examples/js/math/SimplexNoise.js +0 -445
- package/examples/js/misc/ConvexObjectBreaker.js +0 -474
- package/examples/js/misc/GPUComputationRenderer.js +0 -393
- package/examples/js/misc/Gyroscope.js +0 -56
- package/examples/js/misc/MD2Character.js +0 -235
- package/examples/js/misc/MD2CharacterComplex.js +0 -513
- package/examples/js/misc/MorphAnimMesh.js +0 -63
- package/examples/js/misc/MorphBlendMesh.js +0 -265
- package/examples/js/misc/ProgressiveLightMap.js +0 -335
- package/examples/js/misc/RollerCoaster.js +0 -430
- package/examples/js/misc/TubePainter.js +0 -167
- package/examples/js/misc/Volume.js +0 -437
- package/examples/js/misc/VolumeSlice.js +0 -214
- package/examples/js/modifiers/CurveModifier.js +0 -309
- package/examples/js/modifiers/EdgeSplitModifier.js +0 -228
- package/examples/js/modifiers/SimplifyModifier.js +0 -465
- package/examples/js/modifiers/TessellateModifier.js +0 -276
- package/examples/js/objects/GroundProjectedEnv.js +0 -181
- package/examples/js/objects/Lensflare.js +0 -356
- package/examples/js/objects/LightningStorm.js +0 -206
- package/examples/js/objects/MarchingCubes.js +0 -759
- package/examples/js/objects/Reflector.js +0 -216
- package/examples/js/objects/ReflectorForSSRPass.js +0 -315
- package/examples/js/objects/Refractor.js +0 -283
- package/examples/js/objects/ShadowMesh.js +0 -59
- package/examples/js/objects/Sky.js +0 -218
- package/examples/js/objects/Water.js +0 -292
- package/examples/js/objects/Water2.js +0 -307
- package/examples/js/physics/AmmoPhysics.js +0 -259
- package/examples/js/physics/OimoPhysics.js +0 -217
- package/examples/js/postprocessing/AdaptiveToneMappingPass.js +0 -335
- package/examples/js/postprocessing/AfterimagePass.js +0 -77
- package/examples/js/postprocessing/BloomPass.js +0 -135
- package/examples/js/postprocessing/BokehPass.js +0 -120
- package/examples/js/postprocessing/ClearPass.js +0 -39
- package/examples/js/postprocessing/CubeTexturePass.js +0 -60
- package/examples/js/postprocessing/DotScreenPass.js +0 -51
- package/examples/js/postprocessing/EffectComposer.js +0 -272
- package/examples/js/postprocessing/FilmPass.js +0 -52
- package/examples/js/postprocessing/GlitchPass.js +0 -104
- package/examples/js/postprocessing/HalftonePass.js +0 -75
- package/examples/js/postprocessing/LUTPass.js +0 -171
- package/examples/js/postprocessing/MaskPass.js +0 -95
- package/examples/js/postprocessing/OutlinePass.js +0 -598
- package/examples/js/postprocessing/Pass.js +0 -72
- package/examples/js/postprocessing/RenderPass.js +0 -70
- package/examples/js/postprocessing/SAOPass.js +0 -374
- package/examples/js/postprocessing/SMAAPass.js +0 -170
- package/examples/js/postprocessing/SSAARenderPass.js +0 -156
- package/examples/js/postprocessing/SSAOPass.js +0 -365
- package/examples/js/postprocessing/SSRPass.js +0 -567
- package/examples/js/postprocessing/SavePass.js +0 -59
- package/examples/js/postprocessing/ShaderPass.js +0 -64
- package/examples/js/postprocessing/TAARenderPass.js +0 -130
- package/examples/js/postprocessing/TexturePass.js +0 -49
- package/examples/js/postprocessing/UnrealBloomPass.js +0 -375
- package/examples/js/renderers/CSS2DRenderer.js +0 -178
- package/examples/js/renderers/CSS3DRenderer.js +0 -237
- package/examples/js/renderers/Projector.js +0 -818
- package/examples/js/renderers/SVGRenderer.js +0 -491
- package/examples/js/shaders/ACESFilmicToneMappingShader.js +0 -89
- package/examples/js/shaders/AfterimageShader.js +0 -60
- package/examples/js/shaders/BasicShader.js +0 -27
- package/examples/js/shaders/BleachBypassShader.js +0 -62
- package/examples/js/shaders/BlendShader.js +0 -54
- package/examples/js/shaders/BokehShader.js +0 -156
- package/examples/js/shaders/BokehShader2.js +0 -419
- package/examples/js/shaders/BrightnessContrastShader.js +0 -58
- package/examples/js/shaders/ColorCorrectionShader.js +0 -52
- package/examples/js/shaders/ColorifyShader.js +0 -47
- package/examples/js/shaders/ConvolutionShader.js +0 -92
- package/examples/js/shaders/CopyShader.js +0 -45
- package/examples/js/shaders/DOFMipMapShader.js +0 -60
- package/examples/js/shaders/DepthLimitedBlurShader.js +0 -173
- package/examples/js/shaders/DigitalGlitch.js +0 -127
- package/examples/js/shaders/DotScreenShader.js +0 -72
- package/examples/js/shaders/FXAAShader.js +0 -284
- package/examples/js/shaders/FilmShader.js +0 -110
- package/examples/js/shaders/FocusShader.js +0 -95
- package/examples/js/shaders/FreiChenShader.js +0 -93
- package/examples/js/shaders/GammaCorrectionShader.js +0 -41
- package/examples/js/shaders/GodRaysShader.js +0 -284
- package/examples/js/shaders/HalftoneShader.js +0 -336
- package/examples/js/shaders/HorizontalBlurShader.js +0 -59
- package/examples/js/shaders/HorizontalTiltShiftShader.js +0 -65
- package/examples/js/shaders/HueSaturationShader.js +0 -69
- package/examples/js/shaders/KaleidoShader.js +0 -60
- package/examples/js/shaders/LuminosityHighPassShader.js +0 -67
- package/examples/js/shaders/LuminosityShader.js +0 -46
- package/examples/js/shaders/MMDToonShader.js +0 -96
- package/examples/js/shaders/MirrorShader.js +0 -56
- package/examples/js/shaders/NormalMapShader.js +0 -55
- package/examples/js/shaders/RGBShiftShader.js +0 -56
- package/examples/js/shaders/SAOShader.js +0 -209
- package/examples/js/shaders/SMAAShader.js +0 -454
- package/examples/js/shaders/SSAOShader.js +0 -295
- package/examples/js/shaders/SSRShader.js +0 -381
- package/examples/js/shaders/SepiaShader.js +0 -52
- package/examples/js/shaders/SobelOperatorShader.js +0 -88
- package/examples/js/shaders/SubsurfaceScatteringShader.js +0 -49
- package/examples/js/shaders/TechnicolorShader.js +0 -43
- package/examples/js/shaders/ToneMapShader.js +0 -84
- package/examples/js/shaders/ToonShader.js +0 -335
- package/examples/js/shaders/TriangleBlurShader.js +0 -70
- package/examples/js/shaders/UnpackDepthRGBAShader.js +0 -47
- package/examples/js/shaders/VelocityShader.js +0 -126
- package/examples/js/shaders/VerticalBlurShader.js +0 -59
- package/examples/js/shaders/VerticalTiltShiftShader.js +0 -65
- package/examples/js/shaders/VignetteShader.js +0 -53
- package/examples/js/shaders/VolumeShader.js +0 -296
- package/examples/js/shaders/WaterRefractionShader.js +0 -84
- package/examples/js/textures/FlakesTexture.js +0 -40
- package/examples/js/utils/BufferGeometryUtils.js +0 -1160
- package/examples/js/utils/CameraUtils.js +0 -71
- package/examples/js/utils/GPUStatsPanel.js +0 -125
- package/examples/js/utils/GeometryCompressionUtils.js +0 -549
- package/examples/js/utils/GeometryUtils.js +0 -168
- package/examples/js/utils/LDrawUtils.js +0 -179
- package/examples/js/utils/PackedPhongMaterial.js +0 -109
- package/examples/js/utils/SceneUtils.js +0 -214
- package/examples/js/utils/ShadowMapViewer.js +0 -183
- package/examples/js/utils/SkeletonUtils.js +0 -493
- package/examples/js/utils/UVsDebug.js +0 -143
- package/examples/js/utils/WorkerPool.js +0 -105
- package/examples/jsm/exporters/ColladaExporter.js +0 -713
- package/examples/jsm/geometries/LightningStrike.js +0 -1017
- package/examples/jsm/libs/OimoPhysics/OimoPhysics.js +0 -37071
- package/examples/jsm/libs/OimoPhysics/index.js +0 -43
- package/examples/jsm/libs/flow.module.js +0 -4552
- package/examples/jsm/libs/tween.module.min.js +0 -3
- package/examples/jsm/loaders/BasisTextureLoader.js +0 -790
- package/examples/jsm/loaders/IFCLoader.js +0 -2431
- package/examples/jsm/loaders/PRWMLoader.js +0 -299
- package/examples/jsm/loaders/ifc/web-ifc-api.js +0 -47504
- package/examples/jsm/loaders/ifc/web-ifc.wasm +0 -0
- package/examples/jsm/node-editor/NodeEditor.js +0 -857
- package/examples/jsm/node-editor/accessors/MatcapUVEditor.js +0 -14
- package/examples/jsm/node-editor/accessors/NormalEditor.js +0 -30
- package/examples/jsm/node-editor/accessors/PositionEditor.js +0 -30
- package/examples/jsm/node-editor/accessors/UVEditor.js +0 -25
- package/examples/jsm/node-editor/core/BaseNode.js +0 -96
- package/examples/jsm/node-editor/core/DataFile.js +0 -59
- package/examples/jsm/node-editor/core/FileEditor.js +0 -20
- package/examples/jsm/node-editor/core/FileURLEditor.js +0 -29
- package/examples/jsm/node-editor/display/BlendEditor.js +0 -44
- package/examples/jsm/node-editor/display/NormalMapEditor.js +0 -49
- package/examples/jsm/node-editor/examples/animate-uv.json +0 -1
- package/examples/jsm/node-editor/examples/fake-top-light.json +0 -1
- package/examples/jsm/node-editor/examples/matcap.json +0 -1
- package/examples/jsm/node-editor/examples/oscillator-color.json +0 -1
- package/examples/jsm/node-editor/examples/rim.json +0 -1
- package/examples/jsm/node-editor/inputs/ColorEditor.js +0 -96
- package/examples/jsm/node-editor/inputs/FloatEditor.js +0 -23
- package/examples/jsm/node-editor/inputs/SliderEditor.js +0 -67
- package/examples/jsm/node-editor/inputs/TextureEditor.js +0 -155
- package/examples/jsm/node-editor/inputs/Vector2Editor.js +0 -28
- package/examples/jsm/node-editor/inputs/Vector3Editor.js +0 -30
- package/examples/jsm/node-editor/inputs/Vector4Editor.js +0 -37
- package/examples/jsm/node-editor/materials/BasicMaterialEditor.js +0 -84
- package/examples/jsm/node-editor/materials/PointsMaterialEditor.js +0 -102
- package/examples/jsm/node-editor/materials/StandardMaterialEditor.js +0 -118
- package/examples/jsm/node-editor/math/AngleEditor.js +0 -40
- package/examples/jsm/node-editor/math/DotEditor.js +0 -35
- package/examples/jsm/node-editor/math/InvertEditor.js +0 -39
- package/examples/jsm/node-editor/math/LimiterEditor.js +0 -62
- package/examples/jsm/node-editor/math/NormalizeEditor.js +0 -28
- package/examples/jsm/node-editor/math/OperatorEditor.js +0 -63
- package/examples/jsm/node-editor/math/PowerEditor.js +0 -44
- package/examples/jsm/node-editor/math/TrigonometryEditor.js +0 -45
- package/examples/jsm/node-editor/procedural/CheckerEditor.js +0 -27
- package/examples/jsm/node-editor/scene/MeshEditor.js +0 -102
- package/examples/jsm/node-editor/scene/Object3DEditor.js +0 -160
- package/examples/jsm/node-editor/scene/PointsEditor.js +0 -99
- package/examples/jsm/node-editor/utils/JoinEditor.js +0 -58
- package/examples/jsm/node-editor/utils/OscillatorEditor.js +0 -43
- package/examples/jsm/node-editor/utils/PreviewEditor.js +0 -170
- package/examples/jsm/node-editor/utils/SplitEditor.js +0 -39
- package/examples/jsm/node-editor/utils/TimerEditor.js +0 -58
- package/examples/jsm/nodes/core/CodeNode.js +0 -50
- package/examples/jsm/nodes/core/ExpressionNode.js +0 -32
- package/examples/jsm/nodes/functions/light/getDistanceAttenuation.js +0 -22
- package/examples/jsm/nodes/lighting/PunctualLightNode.js +0 -68
- package/examples/jsm/nodes/shadernode/ShaderNodeBaseElements.js +0 -301
- package/examples/jsm/nodes/shadernode/ShaderNodeElements.js +0 -149
- package/examples/jsm/objects/GroundProjectedEnv.js +0 -186
- package/examples/jsm/objects/LightningStorm.js +0 -245
- package/examples/jsm/physics/OimoPhysics.js +0 -231
- package/examples/jsm/postprocessing/AdaptiveToneMappingPass.js +0 -369
- package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +0 -187
- package/examples/jsm/renderers/webgpu/WebGPUBackground.js +0 -173
- package/examples/jsm/renderers/webgpu/WebGPUBinding.js +0 -22
- package/examples/jsm/renderers/webgpu/WebGPUBindings.js +0 -255
- package/examples/jsm/renderers/webgpu/WebGPUBuffer.js +0 -43
- package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +0 -78
- package/examples/jsm/renderers/webgpu/WebGPUGeometries.js +0 -82
- package/examples/jsm/renderers/webgpu/WebGPUObjects.js +0 -36
- package/examples/jsm/renderers/webgpu/WebGPUProgrammableStage.js +0 -22
- package/examples/jsm/renderers/webgpu/WebGPUProperties.js +0 -38
- package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +0 -296
- package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +0 -66
- package/examples/jsm/renderers/webgpu/WebGPUSampledTexture.js +0 -73
- package/examples/jsm/renderers/webgpu/WebGPUSampler.js +0 -29
- package/examples/jsm/renderers/webgpu/WebGPUStorageBuffer.js +0 -20
- package/examples/jsm/renderers/webgpu/WebGPUTextureRenderer.js +0 -40
- package/examples/jsm/renderers/webgpu/WebGPUTextures.js +0 -794
- package/examples/jsm/renderers/webgpu/WebGPUUniformBuffer.js +0 -18
- package/examples/jsm/renderers/webgpu/WebGPUUtils.js +0 -81
- package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +0 -83
- package/examples/jsm/shaders/ToneMapShader.js +0 -73
- package/src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js +0 -7
- package/src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js +0 -10
- package/src/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js +0 -7
- /package/examples/{js → jsm}/libs/ammo.wasm.js +0 -0
- /package/examples/{js → jsm}/libs/ammo.wasm.wasm +0 -0
- /package/examples/{js → jsm}/libs/basis/basis_transcoder.js +0 -0
- /package/examples/{js → jsm}/libs/basis/basis_transcoder.wasm +0 -0
- /package/examples/{js → jsm}/libs/draco/README.md +0 -0
- /package/examples/{js → jsm}/libs/draco/draco_encoder.js +0 -0
- /package/examples/{js → jsm}/libs/draco/gltf/draco_encoder.js +0 -0
|
@@ -9,10 +9,13 @@ import {
|
|
|
9
9
|
Shape,
|
|
10
10
|
ShapePath,
|
|
11
11
|
ShapeUtils,
|
|
12
|
+
SRGBColorSpace,
|
|
12
13
|
Vector2,
|
|
13
14
|
Vector3
|
|
14
15
|
} from 'three';
|
|
15
16
|
|
|
17
|
+
const COLOR_SPACE_SVG = SRGBColorSpace;
|
|
18
|
+
|
|
16
19
|
class SVGLoader extends Loader {
|
|
17
20
|
|
|
18
21
|
constructor( manager ) {
|
|
@@ -155,7 +158,7 @@ class SVGLoader extends Loader {
|
|
|
155
158
|
|
|
156
159
|
if ( style.fill !== undefined && style.fill !== 'none' ) {
|
|
157
160
|
|
|
158
|
-
path.color.setStyle( style.fill );
|
|
161
|
+
path.color.setStyle( style.fill, COLOR_SPACE_SVG );
|
|
159
162
|
|
|
160
163
|
}
|
|
161
164
|
|
|
@@ -218,6 +221,8 @@ class SVGLoader extends Loader {
|
|
|
218
221
|
|
|
219
222
|
const d = node.getAttribute( 'd' );
|
|
220
223
|
|
|
224
|
+
if ( d === '' || d === 'none' ) return null;
|
|
225
|
+
|
|
221
226
|
// console.log( d );
|
|
222
227
|
|
|
223
228
|
const commands = d.match( /[a-df-z][^a-df-z]*/ig );
|
|
@@ -866,7 +871,7 @@ class SVGLoader extends Loader {
|
|
|
866
871
|
|
|
867
872
|
}
|
|
868
873
|
|
|
869
|
-
const regex = /(
|
|
874
|
+
const regex = /([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g;
|
|
870
875
|
|
|
871
876
|
const path = new ShapePath();
|
|
872
877
|
|
|
@@ -901,7 +906,7 @@ class SVGLoader extends Loader {
|
|
|
901
906
|
|
|
902
907
|
}
|
|
903
908
|
|
|
904
|
-
const regex = /(
|
|
909
|
+
const regex = /([+-]?\d*\.?\d+(?:e[+-]?\d+)?)(?:,|\s)([+-]?\d*\.?\d+(?:e[+-]?\d+)?)/g;
|
|
905
910
|
|
|
906
911
|
const path = new ShapePath();
|
|
907
912
|
|
|
@@ -1600,7 +1605,7 @@ class SVGLoader extends Loader {
|
|
|
1600
1605
|
const sinTheta = Math.sin( curve.aRotation );
|
|
1601
1606
|
|
|
1602
1607
|
const v1 = new Vector3( a * cosTheta, a * sinTheta, 0 );
|
|
1603
|
-
const v2 = new Vector3( -b * sinTheta, b * cosTheta, 0 );
|
|
1608
|
+
const v2 = new Vector3( - b * sinTheta, b * cosTheta, 0 );
|
|
1604
1609
|
|
|
1605
1610
|
const f1 = v1.applyMatrix3( m );
|
|
1606
1611
|
const f2 = v2.applyMatrix3( m );
|
|
@@ -1608,7 +1613,7 @@ class SVGLoader extends Loader {
|
|
|
1608
1613
|
const mF = tempTransform0.set(
|
|
1609
1614
|
f1.x, f2.x, 0,
|
|
1610
1615
|
f1.y, f2.y, 0,
|
|
1611
|
-
0,
|
|
1616
|
+
0, 0, 1,
|
|
1612
1617
|
);
|
|
1613
1618
|
|
|
1614
1619
|
const mFInv = tempTransform1.copy( mF ).invert();
|
|
@@ -1616,7 +1621,7 @@ class SVGLoader extends Loader {
|
|
|
1616
1621
|
const mQ = mFInvT.multiply( mFInv );
|
|
1617
1622
|
const mQe = mQ.elements;
|
|
1618
1623
|
|
|
1619
|
-
const ed = eigenDecomposition( mQe[0], mQe[1], mQe[4] );
|
|
1624
|
+
const ed = eigenDecomposition( mQe[ 0 ], mQe[ 1 ], mQe[ 4 ] );
|
|
1620
1625
|
const rt1sqrt = Math.sqrt( ed.rt1 );
|
|
1621
1626
|
const rt2sqrt = Math.sqrt( ed.rt2 );
|
|
1622
1627
|
|
|
@@ -1630,18 +1635,18 @@ class SVGLoader extends Loader {
|
|
|
1630
1635
|
// Do not touch angles of a full ellipse because after transformation they
|
|
1631
1636
|
// would converge to a sinle value effectively removing the whole curve
|
|
1632
1637
|
|
|
1633
|
-
if ( !isFullEllipse ) {
|
|
1638
|
+
if ( ! isFullEllipse ) {
|
|
1634
1639
|
|
|
1635
1640
|
const mDsqrt = tempTransform1.set(
|
|
1636
1641
|
rt1sqrt, 0, 0,
|
|
1637
1642
|
0, rt2sqrt, 0,
|
|
1638
|
-
0, 0,
|
|
1643
|
+
0, 0, 1,
|
|
1639
1644
|
);
|
|
1640
1645
|
|
|
1641
1646
|
const mRT = tempTransform2.set(
|
|
1642
|
-
ed.cs,
|
|
1643
|
-
-ed.sn, ed.cs, 0,
|
|
1644
|
-
0,
|
|
1647
|
+
ed.cs, ed.sn, 0,
|
|
1648
|
+
- ed.sn, ed.cs, 0,
|
|
1649
|
+
0, 0, 1,
|
|
1645
1650
|
);
|
|
1646
1651
|
|
|
1647
1652
|
const mDRF = mDsqrt.multiply( mRT ).multiply( mF );
|
|
@@ -1653,14 +1658,14 @@ class SVGLoader extends Loader {
|
|
|
1653
1658
|
|
|
1654
1659
|
return Math.atan2( sinR, cosR );
|
|
1655
1660
|
|
|
1656
|
-
}
|
|
1661
|
+
};
|
|
1657
1662
|
|
|
1658
1663
|
curve.aStartAngle = transformAngle( curve.aStartAngle );
|
|
1659
1664
|
curve.aEndAngle = transformAngle( curve.aEndAngle );
|
|
1660
1665
|
|
|
1661
1666
|
if ( isTransformFlipped( m ) ) {
|
|
1662
1667
|
|
|
1663
|
-
curve.aClockwise = !curve.aClockwise;
|
|
1668
|
+
curve.aClockwise = ! curve.aClockwise;
|
|
1664
1669
|
|
|
1665
1670
|
}
|
|
1666
1671
|
|
|
@@ -1688,16 +1693,16 @@ class SVGLoader extends Loader {
|
|
|
1688
1693
|
// `sx`, `sy`, or both might be zero.
|
|
1689
1694
|
const theta =
|
|
1690
1695
|
sx > Number.EPSILON
|
|
1691
|
-
|
|
1692
|
-
|
|
1696
|
+
? Math.atan2( m.elements[ 1 ], m.elements[ 0 ] )
|
|
1697
|
+
: Math.atan2( - m.elements[ 3 ], m.elements[ 4 ] );
|
|
1693
1698
|
|
|
1694
1699
|
curve.aRotation += theta;
|
|
1695
1700
|
|
|
1696
1701
|
if ( isTransformFlipped( m ) ) {
|
|
1697
1702
|
|
|
1698
|
-
curve.aStartAngle *= -1;
|
|
1699
|
-
curve.aEndAngle *= -1;
|
|
1700
|
-
curve.aClockwise = !curve.aClockwise;
|
|
1703
|
+
curve.aStartAngle *= - 1;
|
|
1704
|
+
curve.aEndAngle *= - 1;
|
|
1705
|
+
curve.aClockwise = ! curve.aClockwise;
|
|
1701
1706
|
|
|
1702
1707
|
}
|
|
1703
1708
|
|
|
@@ -1829,7 +1834,7 @@ class SVGLoader extends Loader {
|
|
|
1829
1834
|
// This case needs to be treated separately to avoid div by 0
|
|
1830
1835
|
|
|
1831
1836
|
rt1 = 0.5 * rt;
|
|
1832
|
-
rt2 = -0.5 * rt;
|
|
1837
|
+
rt2 = - 0.5 * rt;
|
|
1833
1838
|
|
|
1834
1839
|
}
|
|
1835
1840
|
|
|
@@ -1847,7 +1852,7 @@ class SVGLoader extends Loader {
|
|
|
1847
1852
|
|
|
1848
1853
|
if ( Math.abs( cs ) > 2 * Math.abs( B ) ) {
|
|
1849
1854
|
|
|
1850
|
-
t = -2 * B / cs;
|
|
1855
|
+
t = - 2 * B / cs;
|
|
1851
1856
|
sn = 1 / Math.sqrt( 1 + t * t );
|
|
1852
1857
|
cs = t * sn;
|
|
1853
1858
|
|
|
@@ -1858,7 +1863,7 @@ class SVGLoader extends Loader {
|
|
|
1858
1863
|
|
|
1859
1864
|
} else {
|
|
1860
1865
|
|
|
1861
|
-
t = -0.5 * cs / B;
|
|
1866
|
+
t = - 0.5 * cs / B;
|
|
1862
1867
|
cs = 1 / Math.sqrt( 1 + t * t );
|
|
1863
1868
|
sn = t * cs;
|
|
1864
1869
|
|
|
@@ -1867,7 +1872,7 @@ class SVGLoader extends Loader {
|
|
|
1867
1872
|
if ( df > 0 ) {
|
|
1868
1873
|
|
|
1869
1874
|
t = cs;
|
|
1870
|
-
cs = -sn;
|
|
1875
|
+
cs = - sn;
|
|
1871
1876
|
sn = t;
|
|
1872
1877
|
|
|
1873
1878
|
}
|
|
@@ -2255,8 +2260,6 @@ class SVGLoader extends Loader {
|
|
|
2255
2260
|
// TODO
|
|
2256
2261
|
|
|
2257
2262
|
// prepare paths for hole detection
|
|
2258
|
-
let identifier = 0;
|
|
2259
|
-
|
|
2260
2263
|
let scanlineMinX = BIGNUMBER;
|
|
2261
2264
|
let scanlineMaxX = - BIGNUMBER;
|
|
2262
2265
|
|
|
@@ -2313,14 +2316,20 @@ class SVGLoader extends Loader {
|
|
|
2313
2316
|
|
|
2314
2317
|
}
|
|
2315
2318
|
|
|
2316
|
-
return { curves: p.curves, points: points, isCW: ShapeUtils.isClockWise( points ), identifier:
|
|
2319
|
+
return { curves: p.curves, points: points, isCW: ShapeUtils.isClockWise( points ), identifier: - 1, boundingBox: new Box2( new Vector2( minX, minY ), new Vector2( maxX, maxY ) ) };
|
|
2317
2320
|
|
|
2318
2321
|
} );
|
|
2319
2322
|
|
|
2320
2323
|
simplePaths = simplePaths.filter( sp => sp.points.length > 1 );
|
|
2321
2324
|
|
|
2325
|
+
for ( let identifier = 0; identifier < simplePaths.length; identifier ++ ) {
|
|
2326
|
+
|
|
2327
|
+
simplePaths[ identifier ].identifier = identifier;
|
|
2328
|
+
|
|
2329
|
+
}
|
|
2330
|
+
|
|
2322
2331
|
// check if path is solid or a hole
|
|
2323
|
-
const isAHole = simplePaths.map( p => isHoleTo( p, simplePaths, scanlineMinX, scanlineMaxX, shapePath.userData
|
|
2332
|
+
const isAHole = simplePaths.map( p => isHoleTo( p, simplePaths, scanlineMinX, scanlineMaxX, ( shapePath.userData ? shapePath.userData.style.fillRule : undefined ) ) );
|
|
2324
2333
|
|
|
2325
2334
|
|
|
2326
2335
|
const shapesToReturn = [];
|
|
@@ -2378,7 +2387,7 @@ class SVGLoader extends Loader {
|
|
|
2378
2387
|
|
|
2379
2388
|
static pointsToStroke( points, style, arcDivisions, minDistance ) {
|
|
2380
2389
|
|
|
2381
|
-
// Generates a stroke with some
|
|
2390
|
+
// Generates a stroke with some width around the given path.
|
|
2382
2391
|
// The path can be open or closed (last point equals to first point)
|
|
2383
2392
|
// Param points: Array of Vector2D (the path). Minimum 2 points.
|
|
2384
2393
|
// Param style: Object with SVG properties as returned by SVGLoader.getStrokeStyle(), or SVGLoader.parse() in the path.userData.style object
|
|
@@ -205,14 +205,7 @@ class TTFLoader extends Loader {
|
|
|
205
205
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
console.warn( 'THREE.TTFLoader: The loader requires opentype.js. Make sure it\'s included before using the loader.' );
|
|
211
|
-
return null;
|
|
212
|
-
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
return convert( opentype.parse( arraybuffer ), this.reversed ); // eslint-disable-line no-undef
|
|
208
|
+
return convert( opentype.parse( arraybuffer ), this.reversed );
|
|
216
209
|
|
|
217
210
|
}
|
|
218
211
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BufferAttribute,
|
|
3
3
|
BufferGeometry,
|
|
4
|
+
Color,
|
|
4
5
|
DoubleSide,
|
|
5
6
|
FileLoader,
|
|
6
7
|
Group,
|
|
@@ -182,6 +183,8 @@ class StrokeGeometry extends BufferGeometry {
|
|
|
182
183
|
const vector3 = new Vector3();
|
|
183
184
|
const vector4 = new Vector3();
|
|
184
185
|
|
|
186
|
+
const color = new Color();
|
|
187
|
+
|
|
185
188
|
// size = size / 2;
|
|
186
189
|
|
|
187
190
|
for ( const k in strokes ) {
|
|
@@ -190,7 +193,10 @@ class StrokeGeometry extends BufferGeometry {
|
|
|
190
193
|
const positions = stroke[ 0 ];
|
|
191
194
|
const quaternions = stroke[ 1 ];
|
|
192
195
|
const size = stroke[ 2 ];
|
|
193
|
-
const
|
|
196
|
+
const rgba = stroke[ 3 ];
|
|
197
|
+
const alpha = stroke[ 3 ][ 3 ];
|
|
198
|
+
|
|
199
|
+
color.fromArray( rgba ).convertSRGBToLinear();
|
|
194
200
|
|
|
195
201
|
prevPosition.fromArray( positions, 0 );
|
|
196
202
|
prevQuaternion.fromArray( quaternions, 0 );
|
|
@@ -227,13 +233,13 @@ class StrokeGeometry extends BufferGeometry {
|
|
|
227
233
|
prevPosition.copy( position );
|
|
228
234
|
prevQuaternion.copy( quaternion );
|
|
229
235
|
|
|
230
|
-
colors.push( ...color );
|
|
231
|
-
colors.push( ...color );
|
|
232
|
-
colors.push( ...color );
|
|
236
|
+
colors.push( ...color, alpha );
|
|
237
|
+
colors.push( ...color, alpha );
|
|
238
|
+
colors.push( ...color, alpha );
|
|
233
239
|
|
|
234
|
-
colors.push( ...color );
|
|
235
|
-
colors.push( ...color );
|
|
236
|
-
colors.push( ...color );
|
|
240
|
+
colors.push( ...color, alpha );
|
|
241
|
+
colors.push( ...color, alpha );
|
|
242
|
+
colors.push( ...color, alpha );
|
|
237
243
|
|
|
238
244
|
const p1 = i / l;
|
|
239
245
|
const p2 = ( i - 3 ) / l;
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
MeshStandardMaterial,
|
|
10
10
|
MirroredRepeatWrapping,
|
|
11
11
|
RepeatWrapping,
|
|
12
|
-
|
|
12
|
+
SRGBColorSpace,
|
|
13
13
|
TextureLoader,
|
|
14
14
|
Object3D,
|
|
15
15
|
} from 'three';
|
|
@@ -205,7 +205,7 @@ class USDZLoader extends Loader {
|
|
|
205
205
|
|
|
206
206
|
}
|
|
207
207
|
|
|
208
|
-
const zip = fflate.unzipSync( new Uint8Array( buffer ) );
|
|
208
|
+
const zip = fflate.unzipSync( new Uint8Array( buffer ) );
|
|
209
209
|
|
|
210
210
|
// console.log( zip );
|
|
211
211
|
|
|
@@ -254,7 +254,7 @@ class USDZLoader extends Loader {
|
|
|
254
254
|
|
|
255
255
|
if ( id !== undefined ) {
|
|
256
256
|
|
|
257
|
-
const def = `def "
|
|
257
|
+
const def = `def "${id}"`;
|
|
258
258
|
|
|
259
259
|
if ( def in data ) {
|
|
260
260
|
|
|
@@ -457,7 +457,7 @@ class USDZLoader extends Loader {
|
|
|
457
457
|
const sampler = findTexture( root, /(\w+).output/.exec( path )[ 1 ] );
|
|
458
458
|
|
|
459
459
|
material.map = buildTexture( sampler );
|
|
460
|
-
material.map.
|
|
460
|
+
material.map.colorSpace = SRGBColorSpace;
|
|
461
461
|
|
|
462
462
|
} else if ( 'color3f inputs:diffuseColor' in surface ) {
|
|
463
463
|
|
|
@@ -494,7 +494,7 @@ class USDZLoader extends Loader {
|
|
|
494
494
|
const sampler = data[ 'def Shader "diffuseColor_texture"' ];
|
|
495
495
|
|
|
496
496
|
material.map = buildTexture( sampler );
|
|
497
|
-
material.map.
|
|
497
|
+
material.map.colorSpace = SRGBColorSpace;
|
|
498
498
|
|
|
499
499
|
}
|
|
500
500
|
|
|
@@ -577,7 +577,7 @@ class USDZLoader extends Loader {
|
|
|
577
577
|
const geometry = buildGeometry( findMeshGeometry( data ) );
|
|
578
578
|
const material = buildMaterial( findMeshMaterial( data ) );
|
|
579
579
|
|
|
580
|
-
const mesh = geometry
|
|
580
|
+
const mesh = geometry ? new Mesh( geometry, material ) : new Object3D();
|
|
581
581
|
|
|
582
582
|
if ( 'matrix4d xformOp:transform' in data ) {
|
|
583
583
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BufferGeometry,
|
|
3
|
+
Color,
|
|
3
4
|
Data3DTexture,
|
|
4
5
|
FileLoader,
|
|
5
6
|
Float32BufferAttribute,
|
|
@@ -8,7 +9,8 @@ import {
|
|
|
8
9
|
Mesh,
|
|
9
10
|
MeshStandardMaterial,
|
|
10
11
|
NearestFilter,
|
|
11
|
-
RedFormat
|
|
12
|
+
RedFormat,
|
|
13
|
+
SRGBColorSpace
|
|
12
14
|
} from 'three';
|
|
13
15
|
|
|
14
16
|
class VOXLoader extends Loader {
|
|
@@ -184,6 +186,8 @@ class VOXMesh extends Mesh {
|
|
|
184
186
|
const nz = [ 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0 ];
|
|
185
187
|
const pz = [ 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1 ];
|
|
186
188
|
|
|
189
|
+
const _color = new Color();
|
|
190
|
+
|
|
187
191
|
function add( tile, x, y, z, r, g, b ) {
|
|
188
192
|
|
|
189
193
|
x -= size.x / 2;
|
|
@@ -192,8 +196,10 @@ class VOXMesh extends Mesh {
|
|
|
192
196
|
|
|
193
197
|
for ( let i = 0; i < 18; i += 3 ) {
|
|
194
198
|
|
|
199
|
+
_color.setRGB( r, g, b, SRGBColorSpace );
|
|
200
|
+
|
|
195
201
|
vertices.push( tile[ i + 0 ] + x, tile[ i + 1 ] + y, tile[ i + 2 ] + z );
|
|
196
|
-
colors.push( r, g, b );
|
|
202
|
+
colors.push( _color.r, _color.g, _color.b );
|
|
197
203
|
|
|
198
204
|
}
|
|
199
205
|
|
|
@@ -28,6 +28,7 @@ import {
|
|
|
28
28
|
Scene,
|
|
29
29
|
ShapeUtils,
|
|
30
30
|
SphereGeometry,
|
|
31
|
+
SRGBColorSpace,
|
|
31
32
|
TextureLoader,
|
|
32
33
|
Vector2,
|
|
33
34
|
Vector3
|
|
@@ -41,14 +42,6 @@ class VRMLLoader extends Loader {
|
|
|
41
42
|
|
|
42
43
|
super( manager );
|
|
43
44
|
|
|
44
|
-
// dependency check
|
|
45
|
-
|
|
46
|
-
if ( typeof chevrotain === 'undefined' ) { // eslint-disable-line no-undef
|
|
47
|
-
|
|
48
|
-
throw Error( 'THREE.VRMLLoader: External library chevrotain.min.js required.' );
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
45
|
}
|
|
53
46
|
|
|
54
47
|
load( url, onLoad, onProgress, onError ) {
|
|
@@ -128,7 +121,7 @@ class VRMLLoader extends Loader {
|
|
|
128
121
|
|
|
129
122
|
function createTokens() {
|
|
130
123
|
|
|
131
|
-
const createToken = chevrotain.createToken;
|
|
124
|
+
const createToken = chevrotain.createToken;
|
|
132
125
|
|
|
133
126
|
// from http://gun.teipir.gr/VRML-amgem/spec/part1/concepts.html#SyntaxBasics
|
|
134
127
|
|
|
@@ -203,7 +196,7 @@ class VRMLLoader extends Loader {
|
|
|
203
196
|
const Comment = createToken( {
|
|
204
197
|
name: 'Comment',
|
|
205
198
|
pattern: /#.*/,
|
|
206
|
-
group: chevrotain.Lexer.SKIPPED
|
|
199
|
+
group: chevrotain.Lexer.SKIPPED
|
|
207
200
|
} );
|
|
208
201
|
|
|
209
202
|
// commas, blanks, tabs, newlines and carriage returns are whitespace characters wherever they appear outside of string fields
|
|
@@ -211,7 +204,7 @@ class VRMLLoader extends Loader {
|
|
|
211
204
|
const WhiteSpace = createToken( {
|
|
212
205
|
name: 'WhiteSpace',
|
|
213
206
|
pattern: /[ ,\s]/,
|
|
214
|
-
group: chevrotain.Lexer.SKIPPED
|
|
207
|
+
group: chevrotain.Lexer.SKIPPED
|
|
215
208
|
} );
|
|
216
209
|
|
|
217
210
|
const tokens = [
|
|
@@ -926,6 +919,7 @@ class VRMLLoader extends Loader {
|
|
|
926
919
|
} else {
|
|
927
920
|
|
|
928
921
|
skyMaterial.color.setRGB( skyColor[ 0 ], skyColor[ 1 ], skyColor[ 2 ] );
|
|
922
|
+
skyMaterial.color.convertSRGBToLinear();
|
|
929
923
|
|
|
930
924
|
}
|
|
931
925
|
|
|
@@ -1231,10 +1225,12 @@ class VRMLLoader extends Loader {
|
|
|
1231
1225
|
|
|
1232
1226
|
case 'diffuseColor':
|
|
1233
1227
|
materialData.diffuseColor = new Color( fieldValues[ 0 ], fieldValues[ 1 ], fieldValues[ 2 ] );
|
|
1228
|
+
materialData.diffuseColor.convertSRGBToLinear();
|
|
1234
1229
|
break;
|
|
1235
1230
|
|
|
1236
1231
|
case 'emissiveColor':
|
|
1237
1232
|
materialData.emissiveColor = new Color( fieldValues[ 0 ], fieldValues[ 1 ], fieldValues[ 2 ] );
|
|
1233
|
+
materialData.emissiveColor.convertSRGBToLinear();
|
|
1238
1234
|
break;
|
|
1239
1235
|
|
|
1240
1236
|
case 'shininess':
|
|
@@ -1242,7 +1238,8 @@ class VRMLLoader extends Loader {
|
|
|
1242
1238
|
break;
|
|
1243
1239
|
|
|
1244
1240
|
case 'specularColor':
|
|
1245
|
-
materialData.
|
|
1241
|
+
materialData.specularColor = new Color( fieldValues[ 0 ], fieldValues[ 1 ], fieldValues[ 2 ] );
|
|
1242
|
+
materialData.specularColor.convertSRGBToLinear();
|
|
1246
1243
|
break;
|
|
1247
1244
|
|
|
1248
1245
|
case 'transparency':
|
|
@@ -1378,6 +1375,7 @@ class VRMLLoader extends Loader {
|
|
|
1378
1375
|
}
|
|
1379
1376
|
|
|
1380
1377
|
texture = new DataTexture( data, width, height );
|
|
1378
|
+
texture.colorSpace = SRGBColorSpace;
|
|
1381
1379
|
texture.needsUpdate = true;
|
|
1382
1380
|
texture.__type = textureType; // needed for material modifications
|
|
1383
1381
|
break;
|
|
@@ -1450,6 +1448,7 @@ class VRMLLoader extends Loader {
|
|
|
1450
1448
|
|
|
1451
1449
|
texture.wrapS = wrapS;
|
|
1452
1450
|
texture.wrapT = wrapT;
|
|
1451
|
+
texture.colorSpace = SRGBColorSpace;
|
|
1453
1452
|
|
|
1454
1453
|
}
|
|
1455
1454
|
|
|
@@ -1708,6 +1707,8 @@ class VRMLLoader extends Loader {
|
|
|
1708
1707
|
|
|
1709
1708
|
}
|
|
1710
1709
|
|
|
1710
|
+
convertColorsToLinearSRGB( colorAttribute );
|
|
1711
|
+
|
|
1711
1712
|
}
|
|
1712
1713
|
|
|
1713
1714
|
if ( normal ) {
|
|
@@ -1909,6 +1910,8 @@ class VRMLLoader extends Loader {
|
|
|
1909
1910
|
|
|
1910
1911
|
}
|
|
1911
1912
|
|
|
1913
|
+
convertColorsToLinearSRGB( colorAttribute );
|
|
1914
|
+
|
|
1912
1915
|
}
|
|
1913
1916
|
|
|
1914
1917
|
//
|
|
@@ -1974,7 +1977,15 @@ class VRMLLoader extends Loader {
|
|
|
1974
1977
|
const geometry = new BufferGeometry();
|
|
1975
1978
|
|
|
1976
1979
|
geometry.setAttribute( 'position', new Float32BufferAttribute( coord, 3 ) );
|
|
1977
|
-
|
|
1980
|
+
|
|
1981
|
+
if ( color ) {
|
|
1982
|
+
|
|
1983
|
+
const colorAttribute = new Float32BufferAttribute( color, 3 );
|
|
1984
|
+
convertColorsToLinearSRGB( colorAttribute );
|
|
1985
|
+
|
|
1986
|
+
geometry.setAttribute( 'color', colorAttribute );
|
|
1987
|
+
|
|
1988
|
+
}
|
|
1978
1989
|
|
|
1979
1990
|
geometry._type = 'points';
|
|
1980
1991
|
|
|
@@ -2388,6 +2399,8 @@ class VRMLLoader extends Loader {
|
|
|
2388
2399
|
|
|
2389
2400
|
}
|
|
2390
2401
|
|
|
2402
|
+
convertColorsToLinearSRGB( colorAttribute );
|
|
2403
|
+
|
|
2391
2404
|
}
|
|
2392
2405
|
|
|
2393
2406
|
// normal attribute
|
|
@@ -3075,6 +3088,21 @@ class VRMLLoader extends Loader {
|
|
|
3075
3088
|
|
|
3076
3089
|
}
|
|
3077
3090
|
|
|
3091
|
+
function convertColorsToLinearSRGB( attribute ) {
|
|
3092
|
+
|
|
3093
|
+
const color = new Color();
|
|
3094
|
+
|
|
3095
|
+
for ( let i = 0; i < attribute.count; i ++ ) {
|
|
3096
|
+
|
|
3097
|
+
color.fromBufferAttribute( attribute, i );
|
|
3098
|
+
color.convertSRGBToLinear();
|
|
3099
|
+
|
|
3100
|
+
attribute.setXYZ( i, color.r, color.g, color.b );
|
|
3101
|
+
|
|
3102
|
+
}
|
|
3103
|
+
|
|
3104
|
+
}
|
|
3105
|
+
|
|
3078
3106
|
/**
|
|
3079
3107
|
* Vertically paints the faces interpolating between the
|
|
3080
3108
|
* specified colors at the specified angels. This is used for the Background
|
|
@@ -3172,7 +3200,7 @@ class VRMLLoader extends Loader {
|
|
|
3172
3200
|
const colorA = colors[ thresholdIndexA ];
|
|
3173
3201
|
const colorB = colors[ thresholdIndexB ];
|
|
3174
3202
|
|
|
3175
|
-
color.copy( colorA ).lerp( colorB, t );
|
|
3203
|
+
color.copy( colorA ).lerp( colorB, t ).convertSRGBToLinear();
|
|
3176
3204
|
|
|
3177
3205
|
colorAttribute.setXYZ( index, color.r, color.g, color.b );
|
|
3178
3206
|
|
|
@@ -3213,7 +3241,7 @@ class VRMLLexer {
|
|
|
3213
3241
|
|
|
3214
3242
|
constructor( tokens ) {
|
|
3215
3243
|
|
|
3216
|
-
this.lexer = new chevrotain.Lexer( tokens );
|
|
3244
|
+
this.lexer = new chevrotain.Lexer( tokens );
|
|
3217
3245
|
|
|
3218
3246
|
}
|
|
3219
3247
|
|
|
@@ -3235,7 +3263,7 @@ class VRMLLexer {
|
|
|
3235
3263
|
|
|
3236
3264
|
}
|
|
3237
3265
|
|
|
3238
|
-
const CstParser = chevrotain.CstParser
|
|
3266
|
+
const CstParser = chevrotain.CstParser;
|
|
3239
3267
|
|
|
3240
3268
|
class VRMLParser extends CstParser {
|
|
3241
3269
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BufferAttribute,
|
|
3
3
|
BufferGeometry,
|
|
4
|
+
Color,
|
|
4
5
|
FileLoader,
|
|
5
6
|
Float32BufferAttribute,
|
|
6
|
-
Loader
|
|
7
|
-
LoaderUtils
|
|
7
|
+
Loader
|
|
8
8
|
} from 'three';
|
|
9
9
|
import * as fflate from '../libs/fflate.module.js';
|
|
10
10
|
|
|
@@ -108,6 +108,8 @@ class VTKLoader extends Loader {
|
|
|
108
108
|
let inColorSection = false;
|
|
109
109
|
let inNormalsSection = false;
|
|
110
110
|
|
|
111
|
+
const color = new Color();
|
|
112
|
+
|
|
111
113
|
const lines = data.split( '\n' );
|
|
112
114
|
|
|
113
115
|
for ( const i in lines ) {
|
|
@@ -208,7 +210,10 @@ class VTKLoader extends Loader {
|
|
|
208
210
|
const r = parseFloat( result[ 1 ] );
|
|
209
211
|
const g = parseFloat( result[ 2 ] );
|
|
210
212
|
const b = parseFloat( result[ 3 ] );
|
|
211
|
-
|
|
213
|
+
|
|
214
|
+
color.set( r, g, b ).convertSRGBToLinear();
|
|
215
|
+
|
|
216
|
+
colors.push( color.r, color.g, color.b );
|
|
212
217
|
|
|
213
218
|
}
|
|
214
219
|
|
|
@@ -320,9 +325,11 @@ class VTKLoader extends Loader {
|
|
|
320
325
|
const g = colors[ 3 * i + 1 ];
|
|
321
326
|
const b = colors[ 3 * i + 2 ];
|
|
322
327
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
newColors.push( r, g, b );
|
|
328
|
+
color.set( r, g, b ).convertSRGBToLinear();
|
|
329
|
+
|
|
330
|
+
newColors.push( color.r, color.g, color.b );
|
|
331
|
+
newColors.push( color.r, color.g, color.b );
|
|
332
|
+
newColors.push( color.r, color.g, color.b );
|
|
326
333
|
|
|
327
334
|
}
|
|
328
335
|
|
|
@@ -780,7 +787,7 @@ class VTKLoader extends Loader {
|
|
|
780
787
|
|
|
781
788
|
for ( let i = 0; i < dataOffsets.length - 1; i ++ ) {
|
|
782
789
|
|
|
783
|
-
const data = fflate.unzlibSync( byteData.slice( dataOffsets[ i ], dataOffsets[ i + 1 ] ) );
|
|
790
|
+
const data = fflate.unzlibSync( byteData.slice( dataOffsets[ i ], dataOffsets[ i + 1 ] ) );
|
|
784
791
|
content = data.buffer;
|
|
785
792
|
|
|
786
793
|
if ( ele.attributes.type === 'Float32' ) {
|
|
@@ -1130,16 +1137,18 @@ class VTKLoader extends Loader {
|
|
|
1130
1137
|
|
|
1131
1138
|
}
|
|
1132
1139
|
|
|
1140
|
+
const textDecoder = new TextDecoder();
|
|
1141
|
+
|
|
1133
1142
|
// get the 5 first lines of the files to check if there is the key word binary
|
|
1134
|
-
const meta =
|
|
1143
|
+
const meta = textDecoder.decode( new Uint8Array( data, 0, 250 ) ).split( '\n' );
|
|
1135
1144
|
|
|
1136
1145
|
if ( meta[ 0 ].indexOf( 'xml' ) !== - 1 ) {
|
|
1137
1146
|
|
|
1138
|
-
return parseXML(
|
|
1147
|
+
return parseXML( textDecoder.decode( data ) );
|
|
1139
1148
|
|
|
1140
1149
|
} else if ( meta[ 2 ].includes( 'ASCII' ) ) {
|
|
1141
1150
|
|
|
1142
|
-
return parseASCII(
|
|
1151
|
+
return parseASCII( textDecoder.decode( data ) );
|
|
1143
1152
|
|
|
1144
1153
|
} else {
|
|
1145
1154
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
BufferGeometry,
|
|
3
|
+
Color,
|
|
3
4
|
FileLoader,
|
|
4
5
|
Float32BufferAttribute,
|
|
5
6
|
Loader
|
|
@@ -47,6 +48,7 @@ class XYZLoader extends Loader {
|
|
|
47
48
|
|
|
48
49
|
const vertices = [];
|
|
49
50
|
const colors = [];
|
|
51
|
+
const color = new Color();
|
|
50
52
|
|
|
51
53
|
for ( let line of lines ) {
|
|
52
54
|
|
|
@@ -74,9 +76,13 @@ class XYZLoader extends Loader {
|
|
|
74
76
|
vertices.push( parseFloat( lineValues[ 1 ] ) );
|
|
75
77
|
vertices.push( parseFloat( lineValues[ 2 ] ) );
|
|
76
78
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
const r = parseFloat( lineValues[ 3 ] ) / 255;
|
|
80
|
+
const g = parseFloat( lineValues[ 4 ] ) / 255;
|
|
81
|
+
const b = parseFloat( lineValues[ 5 ] ) / 255;
|
|
82
|
+
|
|
83
|
+
color.set( r, g, b ).convertSRGBToLinear();
|
|
84
|
+
|
|
85
|
+
colors.push( color.r, color.g, color.b );
|
|
80
86
|
|
|
81
87
|
}
|
|
82
88
|
|