super-three 0.147.1 → 0.152.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 +36410 -21120
- package/build/three.js +36999 -21708
- package/build/three.min.js +3 -2
- package/build/three.module.js +6386 -5509
- package/build/three.module.min.js +6 -0
- package/examples/jsm/animation/AnimationClipCreator.js +5 -3
- package/examples/jsm/capabilities/WebGPU.js +2 -4
- package/examples/jsm/controls/ArcballControls.js +1828 -1821
- package/examples/jsm/controls/MapControls.js +28 -0
- package/examples/jsm/controls/OrbitControls.js +20 -45
- 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 -3
- package/examples/jsm/csm/CSMShader.js +7 -6
- package/examples/jsm/effects/AsciiEffect.js +3 -6
- package/examples/jsm/effects/OutlineEffect.js +1 -15
- package/examples/jsm/exporters/ColladaExporter.js +26 -14
- package/examples/jsm/exporters/DRACOExporter.js +53 -11
- package/examples/jsm/exporters/EXRExporter.js +3 -9
- package/examples/jsm/exporters/GLTFExporter.js +524 -111
- 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 +22 -3
- 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 +70 -56
- 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 +12 -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 +67 -18
- package/examples/jsm/loaders/EXRLoader.js +23 -24
- package/examples/jsm/loaders/FBXLoader.js +32 -50
- package/examples/jsm/loaders/GCodeLoader.js +1 -2
- package/examples/jsm/loaders/GLTFLoader.js +249 -215
- 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 +41 -24
- 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 +17 -13
- 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 +1 -2
- package/examples/jsm/loaders/PLYLoader.js +238 -105
- package/examples/jsm/loaders/RGBELoader.js +3 -3
- package/examples/jsm/loaders/STLLoader.js +1 -2
- 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 +5 -5
- package/examples/jsm/loaders/VOXLoader.js +8 -2
- package/examples/jsm/loaders/VRMLLoader.js +5 -13
- package/examples/jsm/loaders/VTKLoader.js +7 -6
- package/examples/jsm/loaders/lwo/IFFParser.js +19 -19
- package/examples/jsm/materials/MeshGouraudMaterial.js +0 -3
- package/examples/jsm/math/MeshSurfaceSampler.js +0 -6
- package/examples/jsm/misc/ConvexObjectBreaker.js +2 -8
- package/examples/jsm/misc/GPUComputationRenderer.js +5 -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/modifiers/CurveModifier.js +1 -0
- package/examples/jsm/modifiers/TessellateModifier.js +19 -19
- package/examples/jsm/nodes/Nodes.js +143 -335
- package/examples/jsm/nodes/accessors/BitangentNode.js +43 -16
- 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 +17 -21
- 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 +12 -8
- 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/{core → code}/CodeNode.js +27 -2
- 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 +16 -8
- 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 +6 -1
- package/examples/jsm/nodes/core/LightingModel.js +16 -0
- package/examples/jsm/nodes/core/Node.js +128 -34
- package/examples/jsm/nodes/core/NodeBuilder.js +209 -118
- 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 +105 -28
- package/examples/jsm/nodes/core/PropertyNode.js +19 -2
- package/examples/jsm/nodes/core/StackNode.js +92 -0
- package/examples/jsm/nodes/core/TempNode.js +11 -3
- package/examples/jsm/nodes/core/UniformNode.js +15 -0
- 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 +92 -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 +61 -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 +33 -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 +32 -19
- 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 +112 -6
- package/examples/jsm/nodes/lighting/DirectionalLightNode.js +43 -0
- package/examples/jsm/nodes/lighting/EnvironmentNode.js +104 -34
- 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 +244 -61
- 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 +158 -42
- 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 +11 -4
- package/examples/jsm/nodes/utils/JoinNode.js +4 -1
- 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/Reflector.js +4 -4
- package/examples/jsm/objects/Refractor.js +4 -4
- package/examples/jsm/objects/ShadowMesh.js +3 -3
- package/examples/jsm/physics/AmmoPhysics.js +27 -28
- package/examples/jsm/physics/{OimoPhysics.js → RapierPhysics.js} +59 -51
- package/examples/jsm/postprocessing/AdaptiveToneMappingPass.js +0 -8
- package/examples/jsm/postprocessing/AfterimagePass.js +0 -2
- package/examples/jsm/postprocessing/BloomPass.js +0 -2
- package/examples/jsm/postprocessing/BokehPass.js +0 -6
- package/examples/jsm/postprocessing/DotScreenPass.js +0 -2
- package/examples/jsm/postprocessing/EffectComposer.js +3 -94
- package/examples/jsm/postprocessing/FilmPass.js +0 -2
- package/examples/jsm/postprocessing/GlitchPass.js +0 -2
- package/examples/jsm/postprocessing/HalftonePass.js +0 -6
- package/examples/jsm/postprocessing/OutlinePass.js +0 -1
- package/examples/jsm/postprocessing/Pass.js +2 -0
- package/examples/jsm/postprocessing/SAOPass.js +0 -24
- package/examples/jsm/postprocessing/SMAAPass.js +0 -6
- package/examples/jsm/postprocessing/SSAARenderPass.js +13 -5
- package/examples/jsm/postprocessing/SSAOPass.js +0 -12
- package/examples/jsm/postprocessing/SSRPass.js +0 -6
- package/examples/jsm/postprocessing/SavePass.js +0 -2
- package/examples/jsm/postprocessing/TexturePass.js +0 -2
- package/examples/jsm/postprocessing/UnrealBloomPass.js +0 -8
- package/examples/jsm/renderers/CSS2DRenderer.js +6 -1
- package/examples/jsm/renderers/CSS3DRenderer.js +27 -5
- package/examples/jsm/renderers/webgl/nodes/WebGLNodeBuilder.js +35 -31
- package/examples/jsm/renderers/webgpu/WebGPUAnimation.js +2 -2
- package/examples/jsm/renderers/webgpu/WebGPUAttributes.js +14 -4
- package/examples/jsm/renderers/webgpu/WebGPUBackground.js +72 -55
- package/examples/jsm/renderers/webgpu/WebGPUBindings.js +34 -19
- package/examples/jsm/renderers/webgpu/WebGPUComputePipelines.js +1 -1
- package/examples/jsm/renderers/webgpu/WebGPUGeometries.js +158 -26
- package/examples/jsm/renderers/webgpu/WebGPUProgrammableStage.js +1 -1
- package/examples/jsm/renderers/webgpu/WebGPUProperties.js +6 -0
- package/examples/jsm/renderers/webgpu/WebGPURenderLists.js +30 -14
- package/examples/jsm/renderers/webgpu/WebGPURenderObject.js +40 -0
- package/examples/jsm/renderers/webgpu/WebGPURenderObjects.js +50 -0
- package/examples/jsm/renderers/webgpu/WebGPURenderPipeline.js +49 -111
- package/examples/jsm/renderers/webgpu/WebGPURenderPipelines.js +40 -62
- package/examples/jsm/renderers/webgpu/WebGPURenderStates.js +14 -26
- package/examples/jsm/renderers/webgpu/WebGPURenderTarget.js +15 -0
- package/examples/jsm/renderers/webgpu/WebGPURenderer.js +244 -100
- package/examples/jsm/renderers/webgpu/WebGPUSampledTexture.js +3 -1
- package/examples/jsm/renderers/webgpu/WebGPUTextureRenderer.js +2 -4
- package/examples/jsm/renderers/webgpu/WebGPUTextureUtils.js +2 -0
- package/examples/jsm/renderers/webgpu/WebGPUTextures.js +366 -110
- package/examples/jsm/renderers/webgpu/WebGPUUniformsGroup.js +1 -1
- package/examples/jsm/renderers/webgpu/WebGPUUtils.js +13 -6
- package/examples/jsm/renderers/webgpu/WebGPUWeakMap.js +83 -0
- package/examples/jsm/renderers/webgpu/constants.js +68 -6
- package/examples/jsm/renderers/webgpu/nodes/WebGPUNodeBuilder.js +74 -57
- package/examples/jsm/renderers/webgpu/nodes/WebGPUNodes.js +241 -22
- package/examples/jsm/shaders/MMDToonShader.js +15 -4
- package/examples/jsm/shaders/RGBShiftShader.js +2 -2
- package/examples/jsm/shaders/VelocityShader.js +1 -1
- package/examples/jsm/utils/BufferGeometryUtils.js +37 -35
- 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/webxr/VRButton.js +1 -2
- package/examples/jsm/webxr/XRButton.js +198 -0
- package/package.json +33 -87
- package/src/Three.Legacy.js +19 -110
- package/src/Three.js +4 -3
- package/src/animation/AnimationUtils.js +13 -1
- package/src/animation/PropertyBinding.js +2 -2
- package/src/audio/Audio.js +7 -2
- package/src/constants.js +10 -2
- package/src/core/BufferAttribute.js +147 -8
- package/src/core/BufferGeometry.js +3 -9
- package/src/core/GLBufferAttribute.js +2 -0
- package/src/core/InterleavedBufferAttribute.js +1 -1
- package/src/core/Object3D.js +36 -7
- package/src/extras/DataUtils.js +7 -1
- package/src/extras/ImageUtils.js +2 -2
- package/src/extras/PMREMGenerator.js +5 -5
- 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 +10 -0
- package/src/geometries/RingGeometry.js +11 -1
- package/src/geometries/ShapeGeometry.js +10 -0
- 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/DataTextureLoader.js +5 -1
- package/src/loaders/MaterialLoader.js +4 -0
- package/src/loaders/ObjectLoader.js +9 -2
- package/src/materials/LineBasicMaterial.js +4 -0
- package/src/materials/Material.js +6 -3
- package/src/materials/MeshDistanceMaterial.js +0 -9
- 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 +72 -55
- package/src/math/ColorManagement.js +75 -16
- package/src/math/Euler.js +2 -11
- package/src/math/Frustum.js +13 -3
- package/src/math/MathUtils.js +27 -1
- 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 +79 -1
- package/src/objects/Mesh.js +101 -73
- package/src/objects/SkinnedMesh.js +95 -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 +1340 -1258
- 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/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 +1 -1
- package/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +11 -11
- package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +13 -13
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +256 -10
- package/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +1 -11
- 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/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/transmission_fragment.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +91 -11
- package/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +108 -1
- package/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +128 -6
- package/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +111 -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 +8 -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 +15 -4
- package/src/renderers/shaders/UniformsLib.js +25 -15
- package/src/renderers/shaders/UniformsUtils.js +12 -3
- package/src/renderers/webgl/WebGLBackground.js +23 -12
- package/src/renderers/webgl/WebGLCapabilities.js +1 -2
- package/src/renderers/webgl/WebGLClipping.js +7 -3
- package/src/renderers/webgl/WebGLLights.js +2 -2
- package/src/renderers/webgl/WebGLMaterials.js +105 -234
- package/src/renderers/webgl/WebGLMorphtargets.js +1 -1
- package/src/renderers/webgl/WebGLProgram.js +111 -48
- package/src/renderers/webgl/WebGLPrograms.js +200 -129
- 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 +21 -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 +69 -47
- 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/Texture.js +41 -12
- 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 -1101
- 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 -2367
- 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 -313
- 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 -3690
- 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 -3681
- package/examples/js/loaders/FontLoader.js +0 -160
- package/examples/js/loaders/GCodeLoader.js +0 -255
- package/examples/js/loaders/GLTFLoader.js +0 -3862
- 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/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 -576
- 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/RenderPixelatedPass.js +0 -215
- 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 -94
- 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/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/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/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/renderers/webgpu/WebGPUObjects.js +0 -36
- 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
|
|
|
@@ -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
|
|
|
@@ -41,14 +41,6 @@ class VRMLLoader extends Loader {
|
|
|
41
41
|
|
|
42
42
|
super( manager );
|
|
43
43
|
|
|
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
44
|
}
|
|
53
45
|
|
|
54
46
|
load( url, onLoad, onProgress, onError ) {
|
|
@@ -128,7 +120,7 @@ class VRMLLoader extends Loader {
|
|
|
128
120
|
|
|
129
121
|
function createTokens() {
|
|
130
122
|
|
|
131
|
-
const createToken = chevrotain.createToken;
|
|
123
|
+
const createToken = chevrotain.createToken;
|
|
132
124
|
|
|
133
125
|
// from http://gun.teipir.gr/VRML-amgem/spec/part1/concepts.html#SyntaxBasics
|
|
134
126
|
|
|
@@ -203,7 +195,7 @@ class VRMLLoader extends Loader {
|
|
|
203
195
|
const Comment = createToken( {
|
|
204
196
|
name: 'Comment',
|
|
205
197
|
pattern: /#.*/,
|
|
206
|
-
group: chevrotain.Lexer.SKIPPED
|
|
198
|
+
group: chevrotain.Lexer.SKIPPED
|
|
207
199
|
} );
|
|
208
200
|
|
|
209
201
|
// commas, blanks, tabs, newlines and carriage returns are whitespace characters wherever they appear outside of string fields
|
|
@@ -211,7 +203,7 @@ class VRMLLoader extends Loader {
|
|
|
211
203
|
const WhiteSpace = createToken( {
|
|
212
204
|
name: 'WhiteSpace',
|
|
213
205
|
pattern: /[ ,\s]/,
|
|
214
|
-
group: chevrotain.Lexer.SKIPPED
|
|
206
|
+
group: chevrotain.Lexer.SKIPPED
|
|
215
207
|
} );
|
|
216
208
|
|
|
217
209
|
const tokens = [
|
|
@@ -3213,7 +3205,7 @@ class VRMLLexer {
|
|
|
3213
3205
|
|
|
3214
3206
|
constructor( tokens ) {
|
|
3215
3207
|
|
|
3216
|
-
this.lexer = new chevrotain.Lexer( tokens );
|
|
3208
|
+
this.lexer = new chevrotain.Lexer( tokens );
|
|
3217
3209
|
|
|
3218
3210
|
}
|
|
3219
3211
|
|
|
@@ -3235,7 +3227,7 @@ class VRMLLexer {
|
|
|
3235
3227
|
|
|
3236
3228
|
}
|
|
3237
3229
|
|
|
3238
|
-
const CstParser = chevrotain.CstParser
|
|
3230
|
+
const CstParser = chevrotain.CstParser;
|
|
3239
3231
|
|
|
3240
3232
|
class VRMLParser extends CstParser {
|
|
3241
3233
|
|
|
@@ -3,8 +3,7 @@ import {
|
|
|
3
3
|
BufferGeometry,
|
|
4
4
|
FileLoader,
|
|
5
5
|
Float32BufferAttribute,
|
|
6
|
-
Loader
|
|
7
|
-
LoaderUtils
|
|
6
|
+
Loader
|
|
8
7
|
} from 'three';
|
|
9
8
|
import * as fflate from '../libs/fflate.module.js';
|
|
10
9
|
|
|
@@ -780,7 +779,7 @@ class VTKLoader extends Loader {
|
|
|
780
779
|
|
|
781
780
|
for ( let i = 0; i < dataOffsets.length - 1; i ++ ) {
|
|
782
781
|
|
|
783
|
-
const data = fflate.unzlibSync( byteData.slice( dataOffsets[ i ], dataOffsets[ i + 1 ] ) );
|
|
782
|
+
const data = fflate.unzlibSync( byteData.slice( dataOffsets[ i ], dataOffsets[ i + 1 ] ) );
|
|
784
783
|
content = data.buffer;
|
|
785
784
|
|
|
786
785
|
if ( ele.attributes.type === 'Float32' ) {
|
|
@@ -1130,16 +1129,18 @@ class VTKLoader extends Loader {
|
|
|
1130
1129
|
|
|
1131
1130
|
}
|
|
1132
1131
|
|
|
1132
|
+
const textDecoder = new TextDecoder();
|
|
1133
|
+
|
|
1133
1134
|
// get the 5 first lines of the files to check if there is the key word binary
|
|
1134
|
-
const meta =
|
|
1135
|
+
const meta = textDecoder.decode( new Uint8Array( data, 0, 250 ) ).split( '\n' );
|
|
1135
1136
|
|
|
1136
1137
|
if ( meta[ 0 ].indexOf( 'xml' ) !== - 1 ) {
|
|
1137
1138
|
|
|
1138
|
-
return parseXML(
|
|
1139
|
+
return parseXML( textDecoder.decode( data ) );
|
|
1139
1140
|
|
|
1140
1141
|
} else if ( meta[ 2 ].includes( 'ASCII' ) ) {
|
|
1141
1142
|
|
|
1142
|
-
return parseASCII(
|
|
1143
|
+
return parseASCII( textDecoder.decode( data ) );
|
|
1143
1144
|
|
|
1144
1145
|
} else {
|
|
1145
1146
|
|
|
@@ -32,7 +32,6 @@
|
|
|
32
32
|
*
|
|
33
33
|
**/
|
|
34
34
|
|
|
35
|
-
import { LoaderUtils } from 'three';
|
|
36
35
|
import { LWO2Parser } from './LWO2Parser.js';
|
|
37
36
|
import { LWO3Parser } from './LWO3Parser.js';
|
|
38
37
|
|
|
@@ -908,6 +907,8 @@ function DataViewReader( buffer ) {
|
|
|
908
907
|
|
|
909
908
|
this.dv = new DataView( buffer );
|
|
910
909
|
this.offset = 0;
|
|
910
|
+
this._textDecoder = new TextDecoder();
|
|
911
|
+
this._bytes = new Uint8Array( buffer );
|
|
911
912
|
|
|
912
913
|
}
|
|
913
914
|
|
|
@@ -1065,35 +1066,34 @@ DataViewReader.prototype = {
|
|
|
1065
1066
|
|
|
1066
1067
|
if ( size === 0 ) return;
|
|
1067
1068
|
|
|
1068
|
-
|
|
1069
|
-
var a = [];
|
|
1070
|
-
|
|
1071
|
-
if ( size ) {
|
|
1069
|
+
const start = this.offset;
|
|
1072
1070
|
|
|
1073
|
-
|
|
1071
|
+
let result;
|
|
1072
|
+
let length;
|
|
1074
1073
|
|
|
1075
|
-
|
|
1074
|
+
if ( size ) {
|
|
1076
1075
|
|
|
1077
|
-
|
|
1076
|
+
length = size;
|
|
1077
|
+
result = this._textDecoder.decode( new Uint8Array( this.dv.buffer, start, size ) );
|
|
1078
1078
|
|
|
1079
1079
|
} else {
|
|
1080
1080
|
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
while ( currentChar !== 0 ) {
|
|
1081
|
+
// use 1:1 mapping of buffer to avoid redundant new array creation.
|
|
1082
|
+
length = this._bytes.indexOf( 0, start ) - start;
|
|
1085
1083
|
|
|
1086
|
-
|
|
1087
|
-
if ( currentChar !== 0 ) a.push( currentChar );
|
|
1088
|
-
len ++;
|
|
1084
|
+
result = this._textDecoder.decode( new Uint8Array( this.dv.buffer, start, length ) );
|
|
1089
1085
|
|
|
1090
|
-
|
|
1086
|
+
// account for null byte in length
|
|
1087
|
+
length ++;
|
|
1091
1088
|
|
|
1092
|
-
|
|
1089
|
+
// if string with terminating nullbyte is uneven, extra nullbyte is added, skip that too
|
|
1090
|
+
length += length % 2;
|
|
1093
1091
|
|
|
1094
1092
|
}
|
|
1095
1093
|
|
|
1096
|
-
|
|
1094
|
+
this.skip( length );
|
|
1095
|
+
|
|
1096
|
+
return result;
|
|
1097
1097
|
|
|
1098
1098
|
},
|
|
1099
1099
|
|
|
@@ -1211,7 +1211,7 @@ function stringOffset( string ) {
|
|
|
1211
1211
|
// printBuffer( this.reader.dv.buffer, this.reader.offset, length );
|
|
1212
1212
|
function printBuffer( buffer, from, to ) {
|
|
1213
1213
|
|
|
1214
|
-
console.log(
|
|
1214
|
+
console.log( new TextDecoder().decode( new Uint8Array( buffer, from, to ) ) );
|
|
1215
1215
|
|
|
1216
1216
|
}
|
|
1217
1217
|
|
|
@@ -37,7 +37,6 @@ const GouraudShader = {
|
|
|
37
37
|
|
|
38
38
|
#include <common>
|
|
39
39
|
#include <uv_pars_vertex>
|
|
40
|
-
#include <uv2_pars_vertex>
|
|
41
40
|
#include <envmap_pars_vertex>
|
|
42
41
|
#include <bsdfs>
|
|
43
42
|
#include <lights_pars_begin>
|
|
@@ -52,7 +51,6 @@ const GouraudShader = {
|
|
|
52
51
|
void main() {
|
|
53
52
|
|
|
54
53
|
#include <uv_vertex>
|
|
55
|
-
#include <uv2_vertex>
|
|
56
54
|
#include <color_vertex>
|
|
57
55
|
#include <morphcolor_vertex>
|
|
58
56
|
|
|
@@ -221,7 +219,6 @@ const GouraudShader = {
|
|
|
221
219
|
#include <dithering_pars_fragment>
|
|
222
220
|
#include <color_pars_fragment>
|
|
223
221
|
#include <uv_pars_fragment>
|
|
224
|
-
#include <uv2_pars_fragment>
|
|
225
222
|
#include <map_pars_fragment>
|
|
226
223
|
#include <alphamap_pars_fragment>
|
|
227
224
|
#include <alphatest_pars_fragment>
|
|
@@ -23,12 +23,6 @@ class MeshSurfaceSampler {
|
|
|
23
23
|
|
|
24
24
|
let geometry = mesh.geometry;
|
|
25
25
|
|
|
26
|
-
if ( ! geometry.isBufferGeometry || geometry.attributes.position.itemSize !== 3 ) {
|
|
27
|
-
|
|
28
|
-
throw new Error( 'THREE.MeshSurfaceSampler: Requires BufferGeometry triangle mesh.' );
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
26
|
if ( geometry.index ) {
|
|
33
27
|
|
|
34
28
|
console.warn( 'THREE.MeshSurfaceSampler: Converting geometry to non-indexed BufferGeometry.' );
|
|
@@ -19,7 +19,7 @@ import { ConvexGeometry } from '../geometries/ConvexGeometry.js';
|
|
|
19
19
|
*
|
|
20
20
|
* Requisites for the object:
|
|
21
21
|
*
|
|
22
|
-
* - Mesh object must have a
|
|
22
|
+
* - Mesh object must have a buffer geometry and a material
|
|
23
23
|
*
|
|
24
24
|
* - Vertex normals must be planar (not smoothed)
|
|
25
25
|
*
|
|
@@ -70,16 +70,10 @@ class ConvexObjectBreaker {
|
|
|
70
70
|
|
|
71
71
|
prepareBreakableObject( object, mass, velocity, angularVelocity, breakable ) {
|
|
72
72
|
|
|
73
|
-
// object is a Object3d (normally a Mesh), must have a
|
|
73
|
+
// object is a Object3d (normally a Mesh), must have a buffer geometry, and it must be convex.
|
|
74
74
|
// Its material property is propagated to its children (sub-pieces)
|
|
75
75
|
// mass must be > 0
|
|
76
76
|
|
|
77
|
-
if ( ! object.geometry.isBufferGeometry ) {
|
|
78
|
-
|
|
79
|
-
console.error( 'THREE.ConvexObjectBreaker.prepareBreakableObject(): Parameter object must have a BufferGeometry.' );
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
|
|
83
77
|
const userData = object.userData;
|
|
84
78
|
userData.mass = mass;
|
|
85
79
|
userData.velocity = velocity.clone();
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
ClampToEdgeWrapping,
|
|
4
4
|
DataTexture,
|
|
5
5
|
FloatType,
|
|
6
|
-
|
|
6
|
+
LinearSRGBColorSpace,
|
|
7
7
|
Mesh,
|
|
8
8
|
NearestFilter,
|
|
9
9
|
NoToneMapping,
|
|
@@ -301,7 +301,7 @@ class GPUComputationRenderer {
|
|
|
301
301
|
|
|
302
302
|
const variable = variables[ i ];
|
|
303
303
|
|
|
304
|
-
variable.initialValueTexture
|
|
304
|
+
if ( variable.initialValueTexture ) variable.initialValueTexture.dispose();
|
|
305
305
|
|
|
306
306
|
const renderTargets = variable.renderTargets;
|
|
307
307
|
|
|
@@ -399,12 +399,12 @@ class GPUComputationRenderer {
|
|
|
399
399
|
|
|
400
400
|
const currentXrEnabled = renderer.xr.enabled;
|
|
401
401
|
const currentShadowAutoUpdate = renderer.shadowMap.autoUpdate;
|
|
402
|
-
const
|
|
402
|
+
const currentOutputColorSpace = renderer.outputColorSpace;
|
|
403
403
|
const currentToneMapping = renderer.toneMapping;
|
|
404
404
|
|
|
405
405
|
renderer.xr.enabled = false; // Avoid camera modification
|
|
406
406
|
renderer.shadowMap.autoUpdate = false; // Avoid re-computing shadows
|
|
407
|
-
renderer.
|
|
407
|
+
renderer.outputColorSpace = LinearSRGBColorSpace;
|
|
408
408
|
renderer.toneMapping = NoToneMapping;
|
|
409
409
|
|
|
410
410
|
mesh.material = material;
|
|
@@ -414,7 +414,7 @@ class GPUComputationRenderer {
|
|
|
414
414
|
|
|
415
415
|
renderer.xr.enabled = currentXrEnabled;
|
|
416
416
|
renderer.shadowMap.autoUpdate = currentShadowAutoUpdate;
|
|
417
|
-
renderer.
|
|
417
|
+
renderer.outputColorSpace = currentOutputColorSpace;
|
|
418
418
|
renderer.toneMapping = currentToneMapping;
|
|
419
419
|
|
|
420
420
|
renderer.setRenderTarget( currentRenderTarget );
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
Object3D,
|
|
7
7
|
TextureLoader,
|
|
8
8
|
UVMapping,
|
|
9
|
-
|
|
9
|
+
SRGBColorSpace
|
|
10
10
|
} from 'three';
|
|
11
11
|
import { MD2Loader } from '../loaders/MD2Loader.js';
|
|
12
12
|
|
|
@@ -73,7 +73,7 @@ class MD2Character {
|
|
|
73
73
|
textures[ i ] = textureLoader.load( baseUrl + textureUrls[ i ], checkLoadingComplete );
|
|
74
74
|
textures[ i ].mapping = UVMapping;
|
|
75
75
|
textures[ i ].name = textureUrls[ i ];
|
|
76
|
-
textures[ i ].
|
|
76
|
+
textures[ i ].colorSpace = SRGBColorSpace;
|
|
77
77
|
|
|
78
78
|
}
|
|
79
79
|
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
Object3D,
|
|
6
6
|
TextureLoader,
|
|
7
7
|
UVMapping,
|
|
8
|
-
|
|
8
|
+
SRGBColorSpace
|
|
9
9
|
} from 'three';
|
|
10
10
|
import { MD2Loader } from '../loaders/MD2Loader.js';
|
|
11
11
|
import { MorphBlendMesh } from '../misc/MorphBlendMesh.js';
|
|
@@ -157,7 +157,7 @@ class MD2CharacterComplex {
|
|
|
157
157
|
textures[ i ] = textureLoader.load( baseUrl + textureUrls[ i ], checkLoadingComplete );
|
|
158
158
|
textures[ i ].mapping = UVMapping;
|
|
159
159
|
textures[ i ].name = textureUrls[ i ];
|
|
160
|
-
textures[ i ].
|
|
160
|
+
textures[ i ].colorSpace = SRGBColorSpace;
|
|
161
161
|
|
|
162
162
|
}
|
|
163
163
|
|