@plastic-software/three 0.180.0 → 0.181.2
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/build/three.cjs +944 -487
- package/build/three.core.js +506 -327
- package/build/three.core.min.js +1 -1
- package/build/three.module.js +436 -164
- package/build/three.module.min.js +1 -1
- package/build/three.tsl.js +8 -2
- package/build/three.tsl.min.js +1 -1
- package/build/three.webgpu.js +3753 -1177
- package/build/three.webgpu.min.js +1 -1
- package/build/three.webgpu.nodes.js +3752 -1176
- package/build/three.webgpu.nodes.min.js +1 -1
- package/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
- package/examples/fonts/MPLUSRounded1c/OFL.txt +91 -0
- package/examples/jsm/animation/CCDIKSolver.js +1 -1
- package/examples/jsm/controls/ArcballControls.js +1 -1
- package/examples/jsm/controls/DragControls.js +1 -1
- package/examples/jsm/controls/FirstPersonControls.js +1 -1
- package/examples/jsm/controls/FlyControls.js +1 -1
- package/examples/jsm/controls/OrbitControls.js +2 -2
- package/examples/jsm/controls/PointerLockControls.js +2 -2
- package/examples/jsm/controls/TrackballControls.js +1 -1
- package/examples/jsm/controls/TransformControls.js +1 -1
- package/examples/jsm/effects/AsciiEffect.js +8 -8
- package/examples/jsm/exporters/DRACOExporter.js +2 -2
- package/examples/jsm/exporters/EXRExporter.js +1 -1
- package/examples/jsm/exporters/GLTFExporter.js +3 -3
- package/examples/jsm/exporters/USDZExporter.js +9 -2
- package/examples/jsm/geometries/DecalGeometry.js +2 -2
- package/examples/jsm/geometries/ParametricGeometry.js +1 -1
- package/examples/jsm/geometries/TeapotGeometry.js +2 -2
- package/examples/jsm/geometries/TextGeometry.js +3 -2
- package/examples/jsm/gpgpu/BitonicSort.js +715 -0
- package/examples/jsm/helpers/ViewHelper.js +43 -5
- package/examples/jsm/inspector/Inspector.js +427 -0
- package/examples/jsm/inspector/RendererInspector.js +415 -0
- package/examples/jsm/inspector/tabs/Console.js +204 -0
- package/examples/jsm/inspector/tabs/Parameters.js +332 -0
- package/examples/jsm/inspector/tabs/Performance.js +268 -0
- package/examples/jsm/inspector/tabs/Viewer.js +166 -0
- package/examples/jsm/inspector/ui/Graph.js +95 -0
- package/examples/jsm/inspector/ui/Item.js +170 -0
- package/examples/jsm/inspector/ui/List.js +75 -0
- package/examples/jsm/inspector/ui/Profiler.js +170 -0
- package/examples/jsm/inspector/ui/Style.js +654 -0
- package/examples/jsm/inspector/ui/Tab.js +46 -0
- package/examples/jsm/inspector/ui/Values.js +423 -0
- package/examples/jsm/inspector/ui/utils.js +56 -0
- package/examples/jsm/interactive/HTMLMesh.js +6 -10
- package/examples/jsm/interactive/InteractiveGroup.js +1 -1
- package/examples/jsm/interactive/SelectionBox.js +30 -0
- package/examples/jsm/lights/RectAreaLightTexturesLib.js +1 -1
- package/examples/jsm/loaders/3MFLoader.js +1 -1
- package/examples/jsm/loaders/ColladaLoader.js +2 -2
- package/examples/jsm/loaders/DDSLoader.js +1 -1
- package/examples/jsm/loaders/DRACOLoader.js +73 -22
- package/examples/jsm/loaders/FBXLoader.js +2 -2
- package/examples/jsm/loaders/FontLoader.js +23 -5
- package/examples/jsm/loaders/GLTFLoader.js +5 -3
- package/examples/jsm/loaders/KTX2Loader.js +28 -21
- package/examples/jsm/loaders/KTXLoader.js +2 -2
- package/examples/jsm/loaders/LDrawLoader.js +1 -1
- package/examples/jsm/loaders/LUT3dlLoader.js +2 -2
- package/examples/jsm/loaders/LUTCubeLoader.js +1 -1
- package/examples/jsm/loaders/LWOLoader.js +2 -2
- package/examples/jsm/loaders/MaterialXLoader.js +22 -5
- package/examples/jsm/loaders/OBJLoader.js +1 -1
- package/examples/jsm/loaders/PDBLoader.js +1 -1
- package/examples/jsm/loaders/SVGLoader.js +2 -2
- package/examples/jsm/loaders/UltraHDRLoader.js +1 -1
- package/examples/jsm/math/ConvexHull.js +1 -1
- package/examples/jsm/math/ImprovedNoise.js +1 -1
- package/examples/jsm/math/SimplexNoise.js +1 -1
- package/examples/jsm/misc/ProgressiveLightMap.js +9 -3
- package/examples/jsm/misc/ProgressiveLightMapGPU.js +7 -1
- package/examples/jsm/misc/TubePainter.js +383 -40
- package/examples/jsm/modifiers/SimplifyModifier.js +1 -1
- package/examples/jsm/objects/ReflectorForSSRPass.js +1 -0
- package/examples/jsm/objects/Sky.js +1 -1
- package/examples/jsm/objects/SkyMesh.js +1 -1
- package/examples/jsm/objects/Water.js +3 -3
- package/examples/jsm/objects/WaterMesh.js +6 -6
- package/examples/jsm/postprocessing/GlitchPass.js +2 -2
- package/examples/jsm/postprocessing/UnrealBloomPass.js +8 -6
- package/examples/jsm/renderers/CSS2DRenderer.js +16 -5
- package/examples/jsm/renderers/CSS3DRenderer.js +7 -6
- package/examples/jsm/renderers/SVGRenderer.js +1 -1
- package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +1 -1
- package/examples/jsm/shaders/AfterimageShader.js +1 -1
- package/examples/jsm/shaders/BleachBypassShader.js +1 -1
- package/examples/jsm/shaders/BokehShader.js +1 -1
- package/examples/jsm/shaders/BokehShader2.js +1 -1
- package/examples/jsm/shaders/DotScreenShader.js +1 -1
- package/examples/jsm/shaders/FocusShader.js +1 -1
- package/examples/jsm/shaders/GTAOShader.js +2 -2
- package/examples/jsm/shaders/GodRaysShader.js +1 -1
- package/examples/jsm/shaders/KaleidoShader.js +1 -1
- package/examples/jsm/shaders/PoissonDenoiseShader.js +2 -2
- package/examples/jsm/shaders/SSRShader.js +1 -1
- package/examples/jsm/shaders/SepiaShader.js +1 -1
- package/examples/jsm/shaders/SubsurfaceScatteringShader.js +1 -1
- package/examples/jsm/shaders/TriangleBlurShader.js +1 -1
- package/examples/jsm/shaders/VignetteShader.js +1 -1
- package/examples/jsm/transpiler/TSLEncoder.js +7 -0
- package/examples/jsm/tsl/display/AfterImageNode.js +26 -24
- package/examples/jsm/tsl/display/AnamorphicNode.js +2 -1
- package/examples/jsm/tsl/display/BloomNode.js +4 -0
- package/examples/jsm/tsl/display/DenoiseNode.js +2 -0
- package/examples/jsm/tsl/display/DepthOfFieldNode.js +7 -0
- package/examples/jsm/tsl/display/GTAONode.js +45 -5
- package/examples/jsm/tsl/display/GaussianBlurNode.js +5 -3
- package/examples/jsm/tsl/display/OutlineNode.js +11 -0
- package/examples/jsm/tsl/display/SSGINode.js +654 -0
- package/examples/jsm/tsl/display/SSRNode.js +2 -0
- package/examples/jsm/tsl/display/SSSNode.js +488 -0
- package/examples/jsm/tsl/display/TRAANode.js +123 -6
- package/examples/jsm/tsl/display/boxBlur.js +1 -0
- package/examples/jsm/tsl/display/hashBlur.js +1 -0
- package/examples/jsm/tsl/lighting/TiledLightsNode.js +21 -1
- package/examples/jsm/webxr/XRControllerModelFactory.js +1 -1
- package/examples/jsm/webxr/XRHandModelFactory.js +2 -6
- package/package.json +5 -10
- package/src/Three.Core.js +3 -2
- package/src/Three.TSL.js +7 -1
- package/src/Three.WebGPU.Nodes.js +2 -0
- package/src/Three.WebGPU.js +2 -0
- package/src/animation/AnimationClip.js +3 -2
- package/src/animation/AnimationMixer.js +3 -3
- package/src/animation/AnimationObjectGroup.js +2 -1
- package/src/animation/KeyframeTrack.js +7 -6
- package/src/animation/PropertyBinding.js +12 -11
- package/src/audio/Audio.js +10 -9
- package/src/audio/PositionalAudio.js +1 -1
- package/src/cameras/OrthographicCamera.js +1 -1
- package/src/cameras/PerspectiveCamera.js +1 -1
- package/src/cameras/StereoCamera.js +2 -2
- package/src/constants.js +1 -1
- package/src/core/BufferGeometry.js +8 -8
- package/src/core/EventDispatcher.js +1 -1
- package/src/core/InterleavedBuffer.js +1 -1
- package/src/core/InterleavedBufferAttribute.js +3 -2
- package/src/core/Object3D.js +3 -2
- package/src/core/Raycaster.js +2 -1
- package/src/core/RenderTarget.js +10 -1
- package/src/extras/Controls.js +5 -4
- package/src/extras/DataUtils.js +2 -1
- package/src/extras/Earcut.js +6 -0
- package/src/extras/ImageUtils.js +2 -2
- package/src/extras/PMREMGenerator.js +268 -55
- package/src/extras/core/Curve.js +2 -1
- package/src/extras/core/Interpolations.js +7 -1
- package/src/extras/core/ShapePath.js +4 -4
- package/src/extras/lib/earcut.js +7 -7
- package/src/geometries/BoxGeometry.js +1 -0
- package/src/geometries/CapsuleGeometry.js +1 -0
- package/src/geometries/CircleGeometry.js +1 -0
- package/src/geometries/ConeGeometry.js +1 -0
- package/src/geometries/CylinderGeometry.js +1 -0
- package/src/geometries/DodecahedronGeometry.js +1 -0
- package/src/geometries/ExtrudeGeometry.js +8 -6
- package/src/geometries/IcosahedronGeometry.js +1 -0
- package/src/geometries/LatheGeometry.js +1 -0
- package/src/geometries/OctahedronGeometry.js +1 -0
- package/src/geometries/PlaneGeometry.js +1 -0
- package/src/geometries/RingGeometry.js +1 -0
- package/src/geometries/ShapeGeometry.js +1 -0
- package/src/geometries/SphereGeometry.js +1 -0
- package/src/geometries/TetrahedronGeometry.js +1 -0
- package/src/geometries/TorusGeometry.js +1 -0
- package/src/geometries/TorusKnotGeometry.js +1 -0
- package/src/geometries/TubeGeometry.js +1 -0
- package/src/helpers/CameraHelper.js +1 -1
- package/src/loaders/AnimationLoader.js +2 -1
- package/src/loaders/AudioLoader.js +2 -1
- package/src/loaders/BufferGeometryLoader.js +2 -2
- package/src/loaders/Cache.js +2 -2
- package/src/loaders/DataTextureLoader.js +1 -1
- package/src/loaders/FileLoader.js +3 -2
- package/src/loaders/ImageBitmapLoader.js +5 -4
- package/src/loaders/ImageLoader.js +1 -1
- package/src/loaders/Loader.js +3 -3
- package/src/loaders/LoadingManager.js +25 -3
- package/src/loaders/MaterialLoader.js +3 -2
- package/src/loaders/ObjectLoader.js +13 -13
- package/src/loaders/TextureLoader.js +1 -1
- package/src/loaders/nodes/NodeLoader.js +3 -2
- package/src/materials/Material.js +4 -3
- package/src/materials/MeshBasicMaterial.js +1 -0
- package/src/materials/MeshDepthMaterial.js +1 -0
- package/src/materials/MeshLambertMaterial.js +2 -1
- package/src/materials/MeshMatcapMaterial.js +22 -0
- package/src/materials/MeshNormalMaterial.js +1 -0
- package/src/materials/MeshPhongMaterial.js +2 -1
- package/src/materials/MeshPhysicalMaterial.js +2 -1
- package/src/materials/MeshStandardMaterial.js +8 -7
- package/src/materials/MeshToonMaterial.js +1 -0
- package/src/materials/PointsMaterial.js +1 -1
- package/src/materials/ShaderMaterial.js +2 -2
- package/src/materials/nodes/Line2NodeMaterial.js +2 -2
- package/src/materials/nodes/MeshSSSNodeMaterial.js +1 -1
- package/src/materials/nodes/NodeMaterial.js +62 -22
- package/src/materials/nodes/manager/NodeMaterialObserver.js +2 -1
- package/src/math/Color.js +6 -5
- package/src/math/ColorManagement.js +2 -2
- package/src/math/Cylindrical.js +1 -1
- package/src/math/Euler.js +2 -1
- package/src/math/MathUtils.js +13 -11
- package/src/math/Matrix2.js +1 -1
- package/src/math/Matrix3.js +2 -2
- package/src/math/Matrix4.js +7 -7
- package/src/math/Plane.js +1 -1
- package/src/math/Quaternion.js +68 -66
- package/src/math/Spherical.js +1 -1
- package/src/nodes/Nodes.js +1 -1
- package/src/nodes/TSL.js +1 -1
- package/src/nodes/accessors/CubeTextureNode.js +3 -2
- package/src/nodes/accessors/InstanceNode.js +22 -4
- package/src/nodes/accessors/Lights.js +10 -0
- package/src/nodes/accessors/Normal.js +5 -4
- package/src/nodes/accessors/Position.js +18 -2
- package/src/nodes/accessors/ReferenceNode.js +2 -1
- package/src/nodes/accessors/SceneNode.js +2 -1
- package/src/nodes/accessors/StorageBufferNode.js +2 -1
- package/src/nodes/accessors/StorageTextureNode.js +22 -0
- package/src/nodes/accessors/Texture3DNode.js +1 -1
- package/src/nodes/accessors/TextureNode.js +61 -27
- package/src/nodes/code/FunctionCallNode.js +5 -4
- package/src/nodes/core/ArrayNode.js +1 -0
- package/src/nodes/core/AttributeNode.js +2 -1
- package/src/nodes/core/ContextNode.js +5 -10
- package/src/nodes/core/IndexNode.js +2 -2
- package/src/nodes/core/InputNode.js +2 -1
- package/src/nodes/core/InspectorNode.js +128 -0
- package/src/nodes/core/{CacheNode.js → IsolateNode.js} +40 -7
- package/src/nodes/core/Node.js +137 -12
- package/src/nodes/core/NodeBuilder.js +135 -21
- package/src/nodes/core/NodeFrame.js +20 -20
- package/src/nodes/core/NodeFunction.js +2 -1
- package/src/nodes/core/NodeParser.js +2 -1
- package/src/nodes/core/NodeUtils.js +17 -90
- package/src/nodes/core/ParameterNode.js +31 -0
- package/src/nodes/core/PropertyNode.js +7 -0
- package/src/nodes/core/StackNode.js +16 -14
- package/src/nodes/core/UniformNode.js +2 -1
- package/src/nodes/core/VarNode.js +70 -12
- package/src/nodes/core/VaryingNode.js +3 -2
- package/src/nodes/display/BlendModes.js +5 -4
- package/src/nodes/display/BumpMapNode.js +1 -1
- package/src/nodes/display/ColorAdjustment.js +1 -1
- package/src/nodes/display/NormalMapNode.js +2 -1
- package/src/nodes/display/PassNode.js +51 -10
- package/src/nodes/display/RenderOutputNode.js +28 -2
- package/src/nodes/display/ScreenNode.js +2 -1
- package/src/nodes/display/ToneMappingNode.js +31 -4
- package/src/nodes/display/ToonOutlinePassNode.js +8 -0
- package/src/nodes/fog/Fog.js +3 -2
- package/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
- package/src/nodes/functions/BSDF/DFGApprox.js +60 -19
- package/src/nodes/functions/BasicLightingModel.js +2 -1
- package/src/nodes/functions/PhysicalLightingModel.js +3 -2
- package/src/nodes/functions/VolumetricLightingModel.js +5 -5
- package/src/nodes/geometry/RangeNode.js +40 -4
- package/src/nodes/gpgpu/ComputeBuiltinNode.js +2 -1
- package/src/nodes/gpgpu/ComputeNode.js +17 -5
- package/src/nodes/gpgpu/SubgroupFunctionNode.js +25 -0
- package/src/nodes/gpgpu/WorkgroupInfoNode.js +2 -1
- package/src/nodes/lighting/EnvironmentNode.js +6 -6
- package/src/nodes/lighting/LightsNode.js +2 -3
- package/src/nodes/lighting/PointShadowNode.js +6 -0
- package/src/nodes/lighting/ShadowFilterNode.js +2 -0
- package/src/nodes/lighting/ShadowNode.js +75 -8
- package/src/nodes/math/ConditionalNode.js +6 -5
- package/src/nodes/math/MathNode.js +22 -4
- package/src/nodes/math/OperatorNode.js +3 -2
- package/src/nodes/pmrem/PMREMUtils.js +117 -2
- package/src/nodes/shapes/Shapes.js +1 -1
- package/src/nodes/tsl/TSLBase.js +5 -2
- package/src/nodes/tsl/TSLCore.js +36 -15
- package/src/nodes/utils/DebugNode.js +2 -1
- package/src/nodes/utils/EventNode.js +36 -0
- package/src/nodes/utils/FunctionOverloadingNode.js +37 -19
- package/src/nodes/utils/JoinNode.js +3 -2
- package/src/nodes/utils/LoopNode.js +20 -24
- package/src/nodes/utils/MemberNode.js +2 -1
- package/src/nodes/utils/PostProcessingUtils.js +28 -1
- package/src/nodes/utils/RTTNode.js +12 -2
- package/src/nodes/utils/ReflectorNode.js +10 -3
- package/src/objects/Line.js +2 -1
- package/src/objects/LineSegments.js +2 -1
- package/src/objects/Skeleton.js +3 -2
- package/src/objects/SkinnedMesh.js +3 -1
- package/src/objects/Sprite.js +2 -1
- package/src/renderers/WebGLRenderer.js +49 -33
- package/src/renderers/common/Animation.js +13 -1
- package/src/renderers/common/Backend.js +93 -30
- package/src/renderers/common/Background.js +2 -1
- package/src/renderers/common/Bindings.js +56 -2
- package/src/renderers/common/CanvasTarget.js +341 -0
- package/src/renderers/common/Geometries.js +26 -0
- package/src/renderers/common/Info.js +4 -2
- package/src/renderers/common/InspectorBase.js +146 -0
- package/src/renderers/common/PostProcessing.js +6 -25
- package/src/renderers/common/QuadMesh.js +7 -1
- package/src/renderers/common/RenderList.js +7 -3
- package/src/renderers/common/RenderObject.js +3 -1
- package/src/renderers/common/RenderObjects.js +1 -1
- package/src/renderers/common/Renderer.js +436 -228
- package/src/renderers/common/RendererUtils.js +9 -0
- package/src/renderers/common/SampledTexture.js +8 -0
- package/src/renderers/common/Sampler.js +37 -11
- package/src/renderers/common/StorageTexture.js +9 -1
- package/src/renderers/common/Textures.js +89 -35
- package/src/renderers/common/TimestampQueryPool.js +63 -1
- package/src/renderers/common/UniformsGroup.js +2 -1
- package/src/renderers/common/XRManager.js +7 -3
- package/src/renderers/common/extras/PMREMGenerator.js +160 -65
- package/src/renderers/common/nodes/NodeLibrary.js +4 -2
- package/src/renderers/common/nodes/NodeSampler.js +13 -1
- package/src/renderers/common/nodes/Nodes.js +38 -16
- package/src/renderers/shaders/DFGLUTData.js +64 -0
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -12
- package/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +52 -18
- package/src/renderers/shaders/UniformsLib.js +1 -0
- package/src/renderers/shaders/UniformsUtils.js +25 -4
- package/src/renderers/webgl/WebGLCapabilities.js +2 -1
- package/src/renderers/webgl/WebGLExtensions.js +2 -25
- package/src/renderers/webgl/WebGLInfo.js +3 -1
- package/src/renderers/webgl/WebGLProgram.js +11 -10
- package/src/renderers/webgl/WebGLPrograms.js +2 -1
- package/src/renderers/webgl/WebGLShadowMap.js +2 -1
- package/src/renderers/webgl/WebGLState.js +15 -14
- package/src/renderers/webgl/WebGLTextures.js +18 -14
- package/src/renderers/webgl/WebGLUniformsGroups.js +5 -3
- package/src/renderers/webgl-fallback/WebGLBackend.js +22 -41
- package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +74 -11
- package/src/renderers/webgl-fallback/utils/WebGLConstants.js +2 -3
- package/src/renderers/webgl-fallback/utils/WebGLState.js +6 -5
- package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +117 -16
- package/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +42 -12
- package/src/renderers/webgpu/WebGPUBackend.js +134 -108
- package/src/renderers/webgpu/WebGPURenderer.Nodes.js +2 -1
- package/src/renderers/webgpu/WebGPURenderer.js +3 -2
- package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +21 -19
- package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +2 -1
- package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +5 -3
- package/src/renderers/webgpu/utils/WebGPUConstants.js +5 -0
- package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +44 -16
- package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +6 -8
- package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +146 -74
- package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +29 -6
- package/src/renderers/webgpu/utils/WebGPUUtils.js +22 -2
- package/src/renderers/webxr/WebXRManager.js +3 -2
- package/src/textures/Source.js +2 -1
- package/src/textures/Texture.js +3 -2
- package/src/textures/VideoTexture.js +2 -0
- package/src/utils.js +67 -3
package/build/three.core.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2010-2025 Three.js Authors
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
|
-
const REVISION = '
|
|
6
|
+
const REVISION = '181';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* Represents mouse buttons and interaction types in context of controls.
|
|
@@ -1682,10 +1682,161 @@ const InterpolationSamplingMode = {
|
|
|
1682
1682
|
* @property {string} EITHER - Flat interpolation using either vertex.
|
|
1683
1683
|
*/
|
|
1684
1684
|
|
|
1685
|
+
function arrayNeedsUint32( array ) {
|
|
1686
|
+
|
|
1687
|
+
// assumes larger values usually on last
|
|
1688
|
+
|
|
1689
|
+
for ( let i = array.length - 1; i >= 0; -- i ) {
|
|
1690
|
+
|
|
1691
|
+
if ( array[ i ] >= 65535 ) return true; // account for PRIMITIVE_RESTART_FIXED_INDEX, #24565
|
|
1692
|
+
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
return false;
|
|
1696
|
+
|
|
1697
|
+
}
|
|
1698
|
+
|
|
1699
|
+
const TYPED_ARRAYS = {
|
|
1700
|
+
Int8Array: Int8Array,
|
|
1701
|
+
Uint8Array: Uint8Array,
|
|
1702
|
+
Uint8ClampedArray: Uint8ClampedArray,
|
|
1703
|
+
Int16Array: Int16Array,
|
|
1704
|
+
Uint16Array: Uint16Array,
|
|
1705
|
+
Int32Array: Int32Array,
|
|
1706
|
+
Uint32Array: Uint32Array,
|
|
1707
|
+
Float32Array: Float32Array,
|
|
1708
|
+
Float64Array: Float64Array
|
|
1709
|
+
};
|
|
1710
|
+
|
|
1711
|
+
function getTypedArray( type, buffer ) {
|
|
1712
|
+
|
|
1713
|
+
return new TYPED_ARRAYS[ type ]( buffer );
|
|
1714
|
+
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
function createElementNS( name ) {
|
|
1718
|
+
|
|
1719
|
+
return document.createElementNS( 'http://www.w3.org/1999/xhtml', name );
|
|
1720
|
+
|
|
1721
|
+
}
|
|
1722
|
+
|
|
1723
|
+
function createCanvasElement() {
|
|
1724
|
+
|
|
1725
|
+
const canvas = createElementNS( 'canvas' );
|
|
1726
|
+
canvas.style.display = 'block';
|
|
1727
|
+
return canvas;
|
|
1728
|
+
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
const _cache = {};
|
|
1732
|
+
|
|
1733
|
+
let _setConsoleFunction = null;
|
|
1734
|
+
|
|
1735
|
+
function setConsoleFunction( fn ) {
|
|
1736
|
+
|
|
1737
|
+
_setConsoleFunction = fn;
|
|
1738
|
+
|
|
1739
|
+
}
|
|
1740
|
+
|
|
1741
|
+
function getConsoleFunction() {
|
|
1742
|
+
|
|
1743
|
+
return _setConsoleFunction;
|
|
1744
|
+
|
|
1745
|
+
}
|
|
1746
|
+
|
|
1747
|
+
function log( ...params ) {
|
|
1748
|
+
|
|
1749
|
+
const message = 'THREE.' + params.shift();
|
|
1750
|
+
|
|
1751
|
+
if ( _setConsoleFunction ) {
|
|
1752
|
+
|
|
1753
|
+
_setConsoleFunction( 'log', message, ...params );
|
|
1754
|
+
|
|
1755
|
+
} else {
|
|
1756
|
+
|
|
1757
|
+
console.log( message, ...params );
|
|
1758
|
+
|
|
1759
|
+
}
|
|
1760
|
+
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1763
|
+
function warn( ...params ) {
|
|
1764
|
+
|
|
1765
|
+
const message = 'THREE.' + params.shift();
|
|
1766
|
+
|
|
1767
|
+
if ( _setConsoleFunction ) {
|
|
1768
|
+
|
|
1769
|
+
_setConsoleFunction( 'warn', message, ...params );
|
|
1770
|
+
|
|
1771
|
+
} else {
|
|
1772
|
+
|
|
1773
|
+
console.warn( message, ...params );
|
|
1774
|
+
|
|
1775
|
+
}
|
|
1776
|
+
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
function error( ...params ) {
|
|
1780
|
+
|
|
1781
|
+
const message = 'THREE.' + params.shift();
|
|
1782
|
+
|
|
1783
|
+
if ( _setConsoleFunction ) {
|
|
1784
|
+
|
|
1785
|
+
_setConsoleFunction( 'error', message, ...params );
|
|
1786
|
+
|
|
1787
|
+
} else {
|
|
1788
|
+
|
|
1789
|
+
console.error( message, ...params );
|
|
1790
|
+
|
|
1791
|
+
}
|
|
1792
|
+
|
|
1793
|
+
}
|
|
1794
|
+
|
|
1795
|
+
function warnOnce( ...params ) {
|
|
1796
|
+
|
|
1797
|
+
const message = params.join( ' ' );
|
|
1798
|
+
|
|
1799
|
+
if ( message in _cache ) return;
|
|
1800
|
+
|
|
1801
|
+
_cache[ message ] = true;
|
|
1802
|
+
|
|
1803
|
+
warn( ...params );
|
|
1804
|
+
|
|
1805
|
+
}
|
|
1806
|
+
|
|
1807
|
+
function probeAsync( gl, sync, interval ) {
|
|
1808
|
+
|
|
1809
|
+
return new Promise( function ( resolve, reject ) {
|
|
1810
|
+
|
|
1811
|
+
function probe() {
|
|
1812
|
+
|
|
1813
|
+
switch ( gl.clientWaitSync( sync, gl.SYNC_FLUSH_COMMANDS_BIT, 0 ) ) {
|
|
1814
|
+
|
|
1815
|
+
case gl.WAIT_FAILED:
|
|
1816
|
+
reject();
|
|
1817
|
+
break;
|
|
1818
|
+
|
|
1819
|
+
case gl.TIMEOUT_EXPIRED:
|
|
1820
|
+
setTimeout( probe, interval );
|
|
1821
|
+
break;
|
|
1822
|
+
|
|
1823
|
+
default:
|
|
1824
|
+
resolve();
|
|
1825
|
+
|
|
1826
|
+
}
|
|
1827
|
+
|
|
1828
|
+
}
|
|
1829
|
+
|
|
1830
|
+
setTimeout( probe, interval );
|
|
1831
|
+
|
|
1832
|
+
} );
|
|
1833
|
+
|
|
1834
|
+
}
|
|
1835
|
+
|
|
1685
1836
|
/**
|
|
1686
1837
|
* This modules allows to dispatch event objects on custom JavaScript objects.
|
|
1687
1838
|
*
|
|
1688
|
-
* Main repository: [eventdispatcher.js]
|
|
1839
|
+
* Main repository: [eventdispatcher.js](https://github.com/mrdoob/eventdispatcher.js/)
|
|
1689
1840
|
*
|
|
1690
1841
|
* Code Example:
|
|
1691
1842
|
* ```js
|
|
@@ -1820,7 +1971,7 @@ const DEG2RAD = Math.PI / 180;
|
|
|
1820
1971
|
const RAD2DEG = 180 / Math.PI;
|
|
1821
1972
|
|
|
1822
1973
|
/**
|
|
1823
|
-
* Generate a [UUID]
|
|
1974
|
+
* Generate a [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier)
|
|
1824
1975
|
* (universally unique identifier).
|
|
1825
1976
|
*
|
|
1826
1977
|
* @return {string} The UUID.
|
|
@@ -1933,7 +2084,7 @@ function lerp( x, y, t ) {
|
|
|
1933
2084
|
/**
|
|
1934
2085
|
* Smoothly interpolate a number from `x` to `y` in a spring-like manner using a delta
|
|
1935
2086
|
* time to maintain frame rate independent movement. For details, see
|
|
1936
|
-
* [Frame rate independent damping using lerp]
|
|
2087
|
+
* [Frame rate independent damping using lerp](http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/).
|
|
1937
2088
|
*
|
|
1938
2089
|
* @param {number} x - The current point.
|
|
1939
2090
|
* @param {number} y - The target point.
|
|
@@ -1968,7 +2119,7 @@ function pingpong( x, length = 1 ) {
|
|
|
1968
2119
|
* moved between `min` and `max`, but smoothed or slowed down the closer `x` is to
|
|
1969
2120
|
* the `min` and `max`.
|
|
1970
2121
|
*
|
|
1971
|
-
* See [Smoothstep]
|
|
2122
|
+
* See [Smoothstep](http://en.wikipedia.org/wiki/Smoothstep) for more details.
|
|
1972
2123
|
*
|
|
1973
2124
|
* @param {number} x - The value to evaluate based on its position between min and max.
|
|
1974
2125
|
* @param {number} min - The min value. Any x value below min will be `0`.
|
|
@@ -1987,7 +2138,7 @@ function smoothstep( x, min, max ) {
|
|
|
1987
2138
|
}
|
|
1988
2139
|
|
|
1989
2140
|
/**
|
|
1990
|
-
* A [variation on smoothstep]
|
|
2141
|
+
* A [variation on smoothstep](https://en.wikipedia.org/wiki/Smoothstep#Variations)
|
|
1991
2142
|
* that has zero 1st and 2nd order derivatives at x=0 and x=1.
|
|
1992
2143
|
*
|
|
1993
2144
|
* @param {number} x - The value to evaluate based on its position between min and max.
|
|
@@ -2127,7 +2278,7 @@ function floorPowerOfTwo( value ) {
|
|
|
2127
2278
|
}
|
|
2128
2279
|
|
|
2129
2280
|
/**
|
|
2130
|
-
* Sets the given quaternion from the [Intrinsic Proper Euler Angles]
|
|
2281
|
+
* Sets the given quaternion from the [Intrinsic Proper Euler Angles](https://en.wikipedia.org/wiki/Euler_angles)
|
|
2131
2282
|
* defined by the given angles and order.
|
|
2132
2283
|
*
|
|
2133
2284
|
* Rotations are applied to the axes in the order specified by order:
|
|
@@ -2183,7 +2334,7 @@ function setQuaternionFromProperEuler( q, a, b, c, order ) {
|
|
|
2183
2334
|
break;
|
|
2184
2335
|
|
|
2185
2336
|
default:
|
|
2186
|
-
|
|
2337
|
+
warn( 'MathUtils: .setQuaternionFromProperEuler() encountered an unknown order: ' + order );
|
|
2187
2338
|
|
|
2188
2339
|
}
|
|
2189
2340
|
|
|
@@ -2292,7 +2443,7 @@ const MathUtils = {
|
|
|
2292
2443
|
DEG2RAD: DEG2RAD,
|
|
2293
2444
|
RAD2DEG: RAD2DEG,
|
|
2294
2445
|
/**
|
|
2295
|
-
* Generate a [UUID]
|
|
2446
|
+
* Generate a [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier)
|
|
2296
2447
|
* (universally unique identifier).
|
|
2297
2448
|
*
|
|
2298
2449
|
* @static
|
|
@@ -2363,7 +2514,7 @@ const MathUtils = {
|
|
|
2363
2514
|
/**
|
|
2364
2515
|
* Smoothly interpolate a number from `x` to `y` in a spring-like manner using a delta
|
|
2365
2516
|
* time to maintain frame rate independent movement. For details, see
|
|
2366
|
-
* [Frame rate independent damping using lerp]
|
|
2517
|
+
* [Frame rate independent damping using lerp](http://www.rorydriscoll.com/2016/03/07/frame-rate-independent-damping-using-lerp/).
|
|
2367
2518
|
*
|
|
2368
2519
|
* @static
|
|
2369
2520
|
* @method
|
|
@@ -2390,7 +2541,7 @@ const MathUtils = {
|
|
|
2390
2541
|
* moved between `min` and `max`, but smoothed or slowed down the closer `x` is to
|
|
2391
2542
|
* the `min` and `max`.
|
|
2392
2543
|
*
|
|
2393
|
-
* See [Smoothstep]
|
|
2544
|
+
* See [Smoothstep](http://en.wikipedia.org/wiki/Smoothstep) for more details.
|
|
2394
2545
|
*
|
|
2395
2546
|
* @static
|
|
2396
2547
|
* @method
|
|
@@ -2401,7 +2552,7 @@ const MathUtils = {
|
|
|
2401
2552
|
*/
|
|
2402
2553
|
smoothstep: smoothstep,
|
|
2403
2554
|
/**
|
|
2404
|
-
* A [variation on smoothstep]
|
|
2555
|
+
* A [variation on smoothstep](https://en.wikipedia.org/wiki/Smoothstep#Variations)
|
|
2405
2556
|
* that has zero 1st and 2nd order derivatives at x=0 and x=1.
|
|
2406
2557
|
*
|
|
2407
2558
|
* @static
|
|
@@ -2496,7 +2647,7 @@ const MathUtils = {
|
|
|
2496
2647
|
*/
|
|
2497
2648
|
floorPowerOfTwo: floorPowerOfTwo,
|
|
2498
2649
|
/**
|
|
2499
|
-
* Sets the given quaternion from the [Intrinsic Proper Euler Angles]
|
|
2650
|
+
* Sets the given quaternion from the [Intrinsic Proper Euler Angles](https://en.wikipedia.org/wiki/Euler_angles)
|
|
2500
2651
|
* defined by the given angles and order.
|
|
2501
2652
|
*
|
|
2502
2653
|
* Rotations are applied to the axes in the order specified by order:
|
|
@@ -3441,7 +3592,7 @@ class Quaternion {
|
|
|
3441
3592
|
|
|
3442
3593
|
/**
|
|
3443
3594
|
* Interpolates between two quaternions via SLERP. This implementation assumes the
|
|
3444
|
-
* quaternion data are managed
|
|
3595
|
+
* quaternion data are managed in flat arrays.
|
|
3445
3596
|
*
|
|
3446
3597
|
* @param {Array<number>} dst - The destination array.
|
|
3447
3598
|
* @param {number} dstOffset - An offset into the destination array.
|
|
@@ -3454,65 +3605,78 @@ class Quaternion {
|
|
|
3454
3605
|
*/
|
|
3455
3606
|
static slerpFlat( dst, dstOffset, src0, srcOffset0, src1, srcOffset1, t ) {
|
|
3456
3607
|
|
|
3457
|
-
// fuzz-free, array-based Quaternion SLERP operation
|
|
3458
|
-
|
|
3459
3608
|
let x0 = src0[ srcOffset0 + 0 ],
|
|
3460
3609
|
y0 = src0[ srcOffset0 + 1 ],
|
|
3461
3610
|
z0 = src0[ srcOffset0 + 2 ],
|
|
3462
3611
|
w0 = src0[ srcOffset0 + 3 ];
|
|
3463
3612
|
|
|
3464
|
-
|
|
3613
|
+
let x1 = src1[ srcOffset1 + 0 ],
|
|
3465
3614
|
y1 = src1[ srcOffset1 + 1 ],
|
|
3466
3615
|
z1 = src1[ srcOffset1 + 2 ],
|
|
3467
3616
|
w1 = src1[ srcOffset1 + 3 ];
|
|
3468
3617
|
|
|
3469
|
-
if ( t
|
|
3618
|
+
if ( t <= 0 ) {
|
|
3470
3619
|
|
|
3471
3620
|
dst[ dstOffset + 0 ] = x0;
|
|
3472
3621
|
dst[ dstOffset + 1 ] = y0;
|
|
3473
3622
|
dst[ dstOffset + 2 ] = z0;
|
|
3474
3623
|
dst[ dstOffset + 3 ] = w0;
|
|
3624
|
+
|
|
3475
3625
|
return;
|
|
3476
3626
|
|
|
3477
3627
|
}
|
|
3478
3628
|
|
|
3479
|
-
if ( t
|
|
3629
|
+
if ( t >= 1 ) {
|
|
3480
3630
|
|
|
3481
3631
|
dst[ dstOffset + 0 ] = x1;
|
|
3482
3632
|
dst[ dstOffset + 1 ] = y1;
|
|
3483
3633
|
dst[ dstOffset + 2 ] = z1;
|
|
3484
3634
|
dst[ dstOffset + 3 ] = w1;
|
|
3635
|
+
|
|
3485
3636
|
return;
|
|
3486
3637
|
|
|
3487
3638
|
}
|
|
3488
3639
|
|
|
3489
3640
|
if ( w0 !== w1 || x0 !== x1 || y0 !== y1 || z0 !== z1 ) {
|
|
3490
3641
|
|
|
3491
|
-
let
|
|
3492
|
-
const cos = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1,
|
|
3493
|
-
dir = ( cos >= 0 ? 1 : -1 ),
|
|
3494
|
-
sqrSin = 1 - cos * cos;
|
|
3642
|
+
let dot = x0 * x1 + y0 * y1 + z0 * z1 + w0 * w1;
|
|
3495
3643
|
|
|
3496
|
-
|
|
3497
|
-
if ( sqrSin > Number.EPSILON ) {
|
|
3644
|
+
if ( dot < 0 ) {
|
|
3498
3645
|
|
|
3499
|
-
|
|
3500
|
-
|
|
3646
|
+
x1 = - x1;
|
|
3647
|
+
y1 = - y1;
|
|
3648
|
+
z1 = - z1;
|
|
3649
|
+
w1 = - w1;
|
|
3501
3650
|
|
|
3502
|
-
|
|
3503
|
-
t = Math.sin( t * len ) / sin;
|
|
3651
|
+
dot = - dot;
|
|
3504
3652
|
|
|
3505
3653
|
}
|
|
3506
3654
|
|
|
3507
|
-
|
|
3655
|
+
let s = 1 - t;
|
|
3656
|
+
|
|
3657
|
+
if ( dot < 0.9995 ) {
|
|
3658
|
+
|
|
3659
|
+
// slerp
|
|
3660
|
+
|
|
3661
|
+
const theta = Math.acos( dot );
|
|
3662
|
+
const sin = Math.sin( theta );
|
|
3663
|
+
|
|
3664
|
+
s = Math.sin( s * theta ) / sin;
|
|
3665
|
+
t = Math.sin( t * theta ) / sin;
|
|
3666
|
+
|
|
3667
|
+
x0 = x0 * s + x1 * t;
|
|
3668
|
+
y0 = y0 * s + y1 * t;
|
|
3669
|
+
z0 = z0 * s + z1 * t;
|
|
3670
|
+
w0 = w0 * s + w1 * t;
|
|
3671
|
+
|
|
3672
|
+
} else {
|
|
3508
3673
|
|
|
3509
|
-
|
|
3510
|
-
y0 = y0 * s + y1 * tDir;
|
|
3511
|
-
z0 = z0 * s + z1 * tDir;
|
|
3512
|
-
w0 = w0 * s + w1 * tDir;
|
|
3674
|
+
// for small angles, lerp then normalize
|
|
3513
3675
|
|
|
3514
|
-
|
|
3515
|
-
|
|
3676
|
+
x0 = x0 * s + x1 * t;
|
|
3677
|
+
y0 = y0 * s + y1 * t;
|
|
3678
|
+
z0 = z0 * s + z1 * t;
|
|
3679
|
+
w0 = w0 * s + w1 * t;
|
|
3516
3680
|
|
|
3517
3681
|
const f = 1 / Math.sqrt( x0 * x0 + y0 * y0 + z0 * z0 + w0 * w0 );
|
|
3518
3682
|
|
|
@@ -3766,7 +3930,7 @@ class Quaternion {
|
|
|
3766
3930
|
break;
|
|
3767
3931
|
|
|
3768
3932
|
default:
|
|
3769
|
-
|
|
3933
|
+
warn( 'Quaternion: .setFromEuler() encountered an unknown order: ' + order );
|
|
3770
3934
|
|
|
3771
3935
|
}
|
|
3772
3936
|
|
|
@@ -4122,68 +4286,56 @@ class Quaternion {
|
|
|
4122
4286
|
*/
|
|
4123
4287
|
slerp( qb, t ) {
|
|
4124
4288
|
|
|
4125
|
-
if ( t
|
|
4126
|
-
if ( t === 1 ) return this.copy( qb );
|
|
4127
|
-
|
|
4128
|
-
const x = this._x, y = this._y, z = this._z, w = this._w;
|
|
4289
|
+
if ( t <= 0 ) return this;
|
|
4129
4290
|
|
|
4130
|
-
//
|
|
4291
|
+
if ( t >= 1 ) return this.copy( qb ); // copy calls _onChangeCallback()
|
|
4131
4292
|
|
|
4132
|
-
let
|
|
4293
|
+
let x = qb._x, y = qb._y, z = qb._z, w = qb._w;
|
|
4133
4294
|
|
|
4134
|
-
|
|
4295
|
+
let dot = this.dot( qb );
|
|
4135
4296
|
|
|
4136
|
-
|
|
4137
|
-
this._x = - qb._x;
|
|
4138
|
-
this._y = - qb._y;
|
|
4139
|
-
this._z = - qb._z;
|
|
4297
|
+
if ( dot < 0 ) {
|
|
4140
4298
|
|
|
4141
|
-
|
|
4299
|
+
x = - x;
|
|
4300
|
+
y = - y;
|
|
4301
|
+
z = - z;
|
|
4302
|
+
w = - w;
|
|
4142
4303
|
|
|
4143
|
-
|
|
4144
|
-
|
|
4145
|
-
this.copy( qb );
|
|
4304
|
+
dot = - dot;
|
|
4146
4305
|
|
|
4147
4306
|
}
|
|
4148
4307
|
|
|
4149
|
-
|
|
4308
|
+
let s = 1 - t;
|
|
4150
4309
|
|
|
4151
|
-
|
|
4152
|
-
this._x = x;
|
|
4153
|
-
this._y = y;
|
|
4154
|
-
this._z = z;
|
|
4310
|
+
if ( dot < 0.9995 ) {
|
|
4155
4311
|
|
|
4156
|
-
|
|
4312
|
+
// slerp
|
|
4157
4313
|
|
|
4158
|
-
|
|
4159
|
-
|
|
4160
|
-
const sqrSinHalfTheta = 1.0 - cosHalfTheta * cosHalfTheta;
|
|
4314
|
+
const theta = Math.acos( dot );
|
|
4315
|
+
const sin = Math.sin( theta );
|
|
4161
4316
|
|
|
4162
|
-
|
|
4317
|
+
s = Math.sin( s * theta ) / sin;
|
|
4318
|
+
t = Math.sin( t * theta ) / sin;
|
|
4163
4319
|
|
|
4164
|
-
|
|
4165
|
-
this.
|
|
4166
|
-
this.
|
|
4167
|
-
this.
|
|
4168
|
-
this._z = s * z + t * this._z;
|
|
4320
|
+
this._x = this._x * s + x * t;
|
|
4321
|
+
this._y = this._y * s + y * t;
|
|
4322
|
+
this._z = this._z * s + z * t;
|
|
4323
|
+
this._w = this._w * s + w * t;
|
|
4169
4324
|
|
|
4170
|
-
this.
|
|
4325
|
+
this._onChangeCallback();
|
|
4171
4326
|
|
|
4172
|
-
|
|
4327
|
+
} else {
|
|
4173
4328
|
|
|
4174
|
-
|
|
4329
|
+
// for small angles, lerp then normalize
|
|
4175
4330
|
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4331
|
+
this._x = this._x * s + x * t;
|
|
4332
|
+
this._y = this._y * s + y * t;
|
|
4333
|
+
this._z = this._z * s + z * t;
|
|
4334
|
+
this._w = this._w * s + w * t;
|
|
4180
4335
|
|
|
4181
|
-
|
|
4182
|
-
this._x = ( x * ratioA + this._x * ratioB );
|
|
4183
|
-
this._y = ( y * ratioA + this._y * ratioB );
|
|
4184
|
-
this._z = ( z * ratioA + this._z * ratioB );
|
|
4336
|
+
this.normalize(); // normalize calls _onChangeCallback()
|
|
4185
4337
|
|
|
4186
|
-
|
|
4338
|
+
}
|
|
4187
4339
|
|
|
4188
4340
|
return this;
|
|
4189
4341
|
|
|
@@ -5598,7 +5750,7 @@ const _quaternion$4 = /*@__PURE__*/ new Quaternion();
|
|
|
5598
5750
|
* A Note on Row-Major and Column-Major Ordering:
|
|
5599
5751
|
*
|
|
5600
5752
|
* The constructor and {@link Matrix3#set} method take arguments in
|
|
5601
|
-
* [row-major]
|
|
5753
|
+
* [row-major](https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order)
|
|
5602
5754
|
* order, while internally they are stored in the {@link Matrix3#elements} array in column-major order.
|
|
5603
5755
|
* This means that calling:
|
|
5604
5756
|
* ```js
|
|
@@ -5872,7 +6024,7 @@ class Matrix3 {
|
|
|
5872
6024
|
}
|
|
5873
6025
|
|
|
5874
6026
|
/**
|
|
5875
|
-
* Inverts this matrix, using the [analytic method]
|
|
6027
|
+
* Inverts this matrix, using the [analytic method](https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution).
|
|
5876
6028
|
* You can not invert with a determinant of zero. If you attempt this, the method produces
|
|
5877
6029
|
* a zero matrix instead.
|
|
5878
6030
|
*
|
|
@@ -6204,93 +6356,6 @@ class Matrix3 {
|
|
|
6204
6356
|
|
|
6205
6357
|
const _m3 = /*@__PURE__*/ new Matrix3();
|
|
6206
6358
|
|
|
6207
|
-
function arrayNeedsUint32( array ) {
|
|
6208
|
-
|
|
6209
|
-
// assumes larger values usually on last
|
|
6210
|
-
|
|
6211
|
-
for ( let i = array.length - 1; i >= 0; -- i ) {
|
|
6212
|
-
|
|
6213
|
-
if ( array[ i ] >= 65535 ) return true; // account for PRIMITIVE_RESTART_FIXED_INDEX, #24565
|
|
6214
|
-
|
|
6215
|
-
}
|
|
6216
|
-
|
|
6217
|
-
return false;
|
|
6218
|
-
|
|
6219
|
-
}
|
|
6220
|
-
|
|
6221
|
-
const TYPED_ARRAYS = {
|
|
6222
|
-
Int8Array: Int8Array,
|
|
6223
|
-
Uint8Array: Uint8Array,
|
|
6224
|
-
Uint8ClampedArray: Uint8ClampedArray,
|
|
6225
|
-
Int16Array: Int16Array,
|
|
6226
|
-
Uint16Array: Uint16Array,
|
|
6227
|
-
Int32Array: Int32Array,
|
|
6228
|
-
Uint32Array: Uint32Array,
|
|
6229
|
-
Float32Array: Float32Array,
|
|
6230
|
-
Float64Array: Float64Array
|
|
6231
|
-
};
|
|
6232
|
-
|
|
6233
|
-
function getTypedArray( type, buffer ) {
|
|
6234
|
-
|
|
6235
|
-
return new TYPED_ARRAYS[ type ]( buffer );
|
|
6236
|
-
|
|
6237
|
-
}
|
|
6238
|
-
|
|
6239
|
-
function createElementNS( name ) {
|
|
6240
|
-
|
|
6241
|
-
return document.createElementNS( 'http://www.w3.org/1999/xhtml', name );
|
|
6242
|
-
|
|
6243
|
-
}
|
|
6244
|
-
|
|
6245
|
-
function createCanvasElement() {
|
|
6246
|
-
|
|
6247
|
-
const canvas = createElementNS( 'canvas' );
|
|
6248
|
-
canvas.style.display = 'block';
|
|
6249
|
-
return canvas;
|
|
6250
|
-
|
|
6251
|
-
}
|
|
6252
|
-
|
|
6253
|
-
const _cache = {};
|
|
6254
|
-
|
|
6255
|
-
function warnOnce( message ) {
|
|
6256
|
-
|
|
6257
|
-
if ( message in _cache ) return;
|
|
6258
|
-
|
|
6259
|
-
_cache[ message ] = true;
|
|
6260
|
-
|
|
6261
|
-
console.warn( message );
|
|
6262
|
-
|
|
6263
|
-
}
|
|
6264
|
-
|
|
6265
|
-
function probeAsync( gl, sync, interval ) {
|
|
6266
|
-
|
|
6267
|
-
return new Promise( function ( resolve, reject ) {
|
|
6268
|
-
|
|
6269
|
-
function probe() {
|
|
6270
|
-
|
|
6271
|
-
switch ( gl.clientWaitSync( sync, gl.SYNC_FLUSH_COMMANDS_BIT, 0 ) ) {
|
|
6272
|
-
|
|
6273
|
-
case gl.WAIT_FAILED:
|
|
6274
|
-
reject();
|
|
6275
|
-
break;
|
|
6276
|
-
|
|
6277
|
-
case gl.TIMEOUT_EXPIRED:
|
|
6278
|
-
setTimeout( probe, interval );
|
|
6279
|
-
break;
|
|
6280
|
-
|
|
6281
|
-
default:
|
|
6282
|
-
resolve();
|
|
6283
|
-
|
|
6284
|
-
}
|
|
6285
|
-
|
|
6286
|
-
}
|
|
6287
|
-
|
|
6288
|
-
setTimeout( probe, interval );
|
|
6289
|
-
|
|
6290
|
-
} );
|
|
6291
|
-
|
|
6292
|
-
}
|
|
6293
|
-
|
|
6294
6359
|
const LINEAR_REC709_TO_XYZ = /*@__PURE__*/ new Matrix3().set(
|
|
6295
6360
|
0.4123908, 0.3575843, 0.1804808,
|
|
6296
6361
|
0.2126390, 0.7151687, 0.0721923,
|
|
@@ -6436,7 +6501,7 @@ function createColorManagement() {
|
|
|
6436
6501
|
|
|
6437
6502
|
fromWorkingColorSpace: function ( color, targetColorSpace ) {
|
|
6438
6503
|
|
|
6439
|
-
warnOnce( '
|
|
6504
|
+
warnOnce( 'ColorManagement: .fromWorkingColorSpace() has been renamed to .workingToColorSpace().' ); // @deprecated, r177
|
|
6440
6505
|
|
|
6441
6506
|
return ColorManagement.workingToColorSpace( color, targetColorSpace );
|
|
6442
6507
|
|
|
@@ -6444,7 +6509,7 @@ function createColorManagement() {
|
|
|
6444
6509
|
|
|
6445
6510
|
toWorkingColorSpace: function ( color, sourceColorSpace ) {
|
|
6446
6511
|
|
|
6447
|
-
warnOnce( '
|
|
6512
|
+
warnOnce( 'ColorManagement: .toWorkingColorSpace() has been renamed to .colorSpaceToWorking().' ); // @deprecated, r177
|
|
6448
6513
|
|
|
6449
6514
|
return ColorManagement.colorSpaceToWorking( color, sourceColorSpace );
|
|
6450
6515
|
|
|
@@ -6627,7 +6692,7 @@ class ImageUtils {
|
|
|
6627
6692
|
|
|
6628
6693
|
} else {
|
|
6629
6694
|
|
|
6630
|
-
|
|
6695
|
+
warn( 'ImageUtils.sRGBToLinear(): Unsupported image type. No color space conversion applied.' );
|
|
6631
6696
|
return image;
|
|
6632
6697
|
|
|
6633
6698
|
}
|
|
@@ -6852,7 +6917,7 @@ function serializeImage( image ) {
|
|
|
6852
6917
|
|
|
6853
6918
|
} else {
|
|
6854
6919
|
|
|
6855
|
-
|
|
6920
|
+
warn( 'Texture: Unable to serialize Texture.' );
|
|
6856
6921
|
return {};
|
|
6857
6922
|
|
|
6858
6923
|
}
|
|
@@ -7366,7 +7431,7 @@ class Texture extends EventDispatcher {
|
|
|
7366
7431
|
|
|
7367
7432
|
if ( newValue === undefined ) {
|
|
7368
7433
|
|
|
7369
|
-
|
|
7434
|
+
warn( `Texture.setValues(): parameter '${ key }' has value of undefined.` );
|
|
7370
7435
|
continue;
|
|
7371
7436
|
|
|
7372
7437
|
}
|
|
@@ -7375,7 +7440,7 @@ class Texture extends EventDispatcher {
|
|
|
7375
7440
|
|
|
7376
7441
|
if ( currentValue === undefined ) {
|
|
7377
7442
|
|
|
7378
|
-
|
|
7443
|
+
warn( `Texture.setValues(): property '${ key }' does not exist.` );
|
|
7379
7444
|
continue;
|
|
7380
7445
|
|
|
7381
7446
|
}
|
|
@@ -8992,7 +9057,16 @@ class RenderTarget extends EventDispatcher {
|
|
|
8992
9057
|
this.textures[ i ].image.width = width;
|
|
8993
9058
|
this.textures[ i ].image.height = height;
|
|
8994
9059
|
this.textures[ i ].image.depth = depth;
|
|
8995
|
-
|
|
9060
|
+
|
|
9061
|
+
if ( this.textures[ i ].isData3DTexture !== true ) { // Fix for #31693
|
|
9062
|
+
|
|
9063
|
+
// TODO: Reconsider setting isArrayTexture flag here and in the ctor of Texture.
|
|
9064
|
+
// Maybe a method `isArrayTexture()` or just a getter could replace a flag since
|
|
9065
|
+
// both are evaluated on each call?
|
|
9066
|
+
|
|
9067
|
+
this.textures[ i ].isArrayTexture = this.textures[ i ].image.depth > 1;
|
|
9068
|
+
|
|
9069
|
+
}
|
|
8996
9070
|
|
|
8997
9071
|
}
|
|
8998
9072
|
|
|
@@ -11309,7 +11383,7 @@ class Ray {
|
|
|
11309
11383
|
* Represents a 4x4 matrix.
|
|
11310
11384
|
*
|
|
11311
11385
|
* The most common use of a 4x4 matrix in 3D computer graphics is as a transformation matrix.
|
|
11312
|
-
* For an introduction to transformation matrices as used in WebGL, check out [this tutorial]
|
|
11386
|
+
* For an introduction to transformation matrices as used in WebGL, check out [this tutorial](https://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices)
|
|
11313
11387
|
*
|
|
11314
11388
|
* This allows a 3D vector representing a point in 3D space to undergo
|
|
11315
11389
|
* transformations such as translation, rotation, shear, scale, reflection,
|
|
@@ -11319,7 +11393,7 @@ class Ray {
|
|
|
11319
11393
|
* A Note on Row-Major and Column-Major Ordering:
|
|
11320
11394
|
*
|
|
11321
11395
|
* The constructor and {@link Matrix3#set} method take arguments in
|
|
11322
|
-
* [row-major]
|
|
11396
|
+
* [row-major](https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order)
|
|
11323
11397
|
* order, while internally they are stored in the {@link Matrix3#elements} array in column-major order.
|
|
11324
11398
|
* This means that calling:
|
|
11325
11399
|
* ```js
|
|
@@ -11613,7 +11687,7 @@ class Matrix4 {
|
|
|
11613
11687
|
* Sets the rotation component (the upper left 3x3 matrix) of this matrix to
|
|
11614
11688
|
* the rotation specified by the given Euler angles. The rest of
|
|
11615
11689
|
* the matrix is set to the identity. Depending on the {@link Euler#order},
|
|
11616
|
-
* there are six possible outcomes. See [this page]
|
|
11690
|
+
* there are six possible outcomes. See [this page](https://en.wikipedia.org/wiki/Euler_angles#Rotation_matrix)
|
|
11617
11691
|
* for a complete list.
|
|
11618
11692
|
*
|
|
11619
11693
|
* @param {Euler} euler - The Euler angles.
|
|
@@ -11743,7 +11817,7 @@ class Matrix4 {
|
|
|
11743
11817
|
|
|
11744
11818
|
/**
|
|
11745
11819
|
* Sets the rotation component of this matrix to the rotation specified by
|
|
11746
|
-
* the given Quaternion as outlined [here]
|
|
11820
|
+
* the given Quaternion as outlined [here](https://en.wikipedia.org/wiki/Rotation_matrix#Quaternion)
|
|
11747
11821
|
* The rest of the matrix is set to the identity.
|
|
11748
11822
|
*
|
|
11749
11823
|
* @param {Quaternion} q - The Quaternion.
|
|
@@ -11905,7 +11979,7 @@ class Matrix4 {
|
|
|
11905
11979
|
/**
|
|
11906
11980
|
* Computes and returns the determinant of this matrix.
|
|
11907
11981
|
*
|
|
11908
|
-
* Based on the method outlined [here]
|
|
11982
|
+
* Based on the method outlined [here](http://www.euclideanspace.com/maths/algebra/matrix/functions/inverse/fourD/index.html).
|
|
11909
11983
|
*
|
|
11910
11984
|
* @return {number} The determinant.
|
|
11911
11985
|
*/
|
|
@@ -12012,7 +12086,7 @@ class Matrix4 {
|
|
|
12012
12086
|
}
|
|
12013
12087
|
|
|
12014
12088
|
/**
|
|
12015
|
-
* Inverts this matrix, using the [analytic method]
|
|
12089
|
+
* Inverts this matrix, using the [analytic method](https://en.wikipedia.org/wiki/Invertible_matrix#Analytic_solution).
|
|
12016
12090
|
* You can not invert with a determinant of zero. If you attempt this, the method produces
|
|
12017
12091
|
* a zero matrix instead.
|
|
12018
12092
|
*
|
|
@@ -12215,7 +12289,7 @@ class Matrix4 {
|
|
|
12215
12289
|
* the given angle.
|
|
12216
12290
|
*
|
|
12217
12291
|
* This is a somewhat controversial but mathematically sound alternative to
|
|
12218
|
-
* rotating via Quaternions. See the discussion [here]
|
|
12292
|
+
* rotating via Quaternions. See the discussion [here](https://www.gamedev.net/articles/programming/math-and-physics/do-we-really-need-quaternions-r1199).
|
|
12219
12293
|
*
|
|
12220
12294
|
* @param {Vector3} axis - The normalized rotation axis.
|
|
12221
12295
|
* @param {number} angle - The rotation in radians.
|
|
@@ -12904,7 +12978,7 @@ class Euler {
|
|
|
12904
12978
|
|
|
12905
12979
|
default:
|
|
12906
12980
|
|
|
12907
|
-
|
|
12981
|
+
warn( 'Euler: .setFromRotationMatrix() encountered an unknown order: ' + order );
|
|
12908
12982
|
|
|
12909
12983
|
}
|
|
12910
12984
|
|
|
@@ -13890,7 +13964,7 @@ class Object3D extends EventDispatcher {
|
|
|
13890
13964
|
|
|
13891
13965
|
if ( object === this ) {
|
|
13892
13966
|
|
|
13893
|
-
|
|
13967
|
+
error( 'Object3D.add: object can\'t be added as a child of itself.', object );
|
|
13894
13968
|
return this;
|
|
13895
13969
|
|
|
13896
13970
|
}
|
|
@@ -13909,7 +13983,7 @@ class Object3D extends EventDispatcher {
|
|
|
13909
13983
|
|
|
13910
13984
|
} else {
|
|
13911
13985
|
|
|
13912
|
-
|
|
13986
|
+
error( 'Object3D.add: object not an instance of THREE.Object3D.', object );
|
|
13913
13987
|
|
|
13914
13988
|
}
|
|
13915
13989
|
|
|
@@ -15580,7 +15654,7 @@ class Color {
|
|
|
15580
15654
|
/**
|
|
15581
15655
|
* Sets this color from a CSS-style string. For example, `rgb(250, 0,0)`,
|
|
15582
15656
|
* `rgb(100%, 0%, 0%)`, `hsl(0, 100%, 50%)`, `#ff0000`, `#f00`, or `red` ( or
|
|
15583
|
-
* any [X11 color name]
|
|
15657
|
+
* any [X11 color name](https://en.wikipedia.org/wiki/X11_color_names#Color_name_chart) -
|
|
15584
15658
|
* all 140 color names are supported).
|
|
15585
15659
|
*
|
|
15586
15660
|
* @param {string} style - Color as a CSS-style string.
|
|
@@ -15595,7 +15669,7 @@ class Color {
|
|
|
15595
15669
|
|
|
15596
15670
|
if ( parseFloat( string ) < 1 ) {
|
|
15597
15671
|
|
|
15598
|
-
|
|
15672
|
+
warn( 'Color: Alpha component of ' + style + ' will be ignored.' );
|
|
15599
15673
|
|
|
15600
15674
|
}
|
|
15601
15675
|
|
|
@@ -15671,7 +15745,7 @@ class Color {
|
|
|
15671
15745
|
|
|
15672
15746
|
default:
|
|
15673
15747
|
|
|
15674
|
-
|
|
15748
|
+
warn( 'Color: Unknown color model ' + style );
|
|
15675
15749
|
|
|
15676
15750
|
}
|
|
15677
15751
|
|
|
@@ -15699,7 +15773,7 @@ class Color {
|
|
|
15699
15773
|
|
|
15700
15774
|
} else {
|
|
15701
15775
|
|
|
15702
|
-
|
|
15776
|
+
warn( 'Color: Invalid hex color ' + style );
|
|
15703
15777
|
|
|
15704
15778
|
}
|
|
15705
15779
|
|
|
@@ -15739,7 +15813,7 @@ class Color {
|
|
|
15739
15813
|
} else {
|
|
15740
15814
|
|
|
15741
15815
|
// unknown color
|
|
15742
|
-
|
|
15816
|
+
warn( 'Color: Unknown color ' + style );
|
|
15743
15817
|
|
|
15744
15818
|
}
|
|
15745
15819
|
|
|
@@ -16787,7 +16861,7 @@ class Material extends EventDispatcher {
|
|
|
16787
16861
|
*
|
|
16788
16862
|
* This method can only be used when rendering with {@link WebGLRenderer}. The
|
|
16789
16863
|
* recommended approach when customizing materials is to use `WebGPURenderer` with the new
|
|
16790
|
-
* Node Material system and [TSL]
|
|
16864
|
+
* Node Material system and [TSL](https://github.com/mrdoob/three.js/wiki/Three.js-Shading-Language).
|
|
16791
16865
|
*
|
|
16792
16866
|
* @param {{vertexShader:string,fragmentShader:string,uniforms:Object}} shaderobject - The object holds the uniforms and the vertex and fragment shader source.
|
|
16793
16867
|
* @param {WebGLRenderer} renderer - A reference to the renderer.
|
|
@@ -16826,7 +16900,7 @@ class Material extends EventDispatcher {
|
|
|
16826
16900
|
|
|
16827
16901
|
if ( newValue === undefined ) {
|
|
16828
16902
|
|
|
16829
|
-
|
|
16903
|
+
warn( `Material: parameter '${ key }' has value of undefined.` );
|
|
16830
16904
|
continue;
|
|
16831
16905
|
|
|
16832
16906
|
}
|
|
@@ -16835,7 +16909,7 @@ class Material extends EventDispatcher {
|
|
|
16835
16909
|
|
|
16836
16910
|
if ( currentValue === undefined ) {
|
|
16837
16911
|
|
|
16838
|
-
|
|
16912
|
+
warn( `Material: '${ key }' is not a property of THREE.${ this.type }.` );
|
|
16839
16913
|
continue;
|
|
16840
16914
|
|
|
16841
16915
|
}
|
|
@@ -17282,6 +17356,7 @@ class Material extends EventDispatcher {
|
|
|
17282
17356
|
* This material is not affected by lights.
|
|
17283
17357
|
*
|
|
17284
17358
|
* @augments Material
|
|
17359
|
+
* @demo scenes/material-browser.html#MeshBasicMaterial
|
|
17285
17360
|
*/
|
|
17286
17361
|
class MeshBasicMaterial extends Material {
|
|
17287
17362
|
|
|
@@ -17667,7 +17742,7 @@ function _generateTables() {
|
|
|
17667
17742
|
*/
|
|
17668
17743
|
function toHalfFloat( val ) {
|
|
17669
17744
|
|
|
17670
|
-
if ( Math.abs( val ) > 65504 )
|
|
17745
|
+
if ( Math.abs( val ) > 65504 ) warn( 'DataUtils.toHalfFloat(): Value out of range.' );
|
|
17671
17746
|
|
|
17672
17747
|
val = clamp( val, -65504, 65504 );
|
|
17673
17748
|
|
|
@@ -19338,7 +19413,7 @@ class BufferGeometry extends EventDispatcher {
|
|
|
19338
19413
|
|
|
19339
19414
|
if ( points.length > positionAttribute.count ) {
|
|
19340
19415
|
|
|
19341
|
-
|
|
19416
|
+
warn( 'BufferGeometry: Buffer size too small for points data. Use .dispose() and create a new geometry.' );
|
|
19342
19417
|
|
|
19343
19418
|
}
|
|
19344
19419
|
|
|
@@ -19368,7 +19443,7 @@ class BufferGeometry extends EventDispatcher {
|
|
|
19368
19443
|
|
|
19369
19444
|
if ( position && position.isGLBufferAttribute ) {
|
|
19370
19445
|
|
|
19371
|
-
|
|
19446
|
+
error( 'BufferGeometry.computeBoundingBox(): GLBufferAttribute requires a manual bounding box.', this );
|
|
19372
19447
|
|
|
19373
19448
|
this.boundingBox.set(
|
|
19374
19449
|
new Vector3( - Infinity, - Infinity, - Infinity ),
|
|
@@ -19419,7 +19494,7 @@ class BufferGeometry extends EventDispatcher {
|
|
|
19419
19494
|
|
|
19420
19495
|
if ( isNaN( this.boundingBox.min.x ) || isNaN( this.boundingBox.min.y ) || isNaN( this.boundingBox.min.z ) ) {
|
|
19421
19496
|
|
|
19422
|
-
|
|
19497
|
+
error( 'BufferGeometry.computeBoundingBox(): Computed min/max have NaN values. The "position" attribute is likely to have NaN values.', this );
|
|
19423
19498
|
|
|
19424
19499
|
}
|
|
19425
19500
|
|
|
@@ -19443,7 +19518,7 @@ class BufferGeometry extends EventDispatcher {
|
|
|
19443
19518
|
|
|
19444
19519
|
if ( position && position.isGLBufferAttribute ) {
|
|
19445
19520
|
|
|
19446
|
-
|
|
19521
|
+
error( 'BufferGeometry.computeBoundingSphere(): GLBufferAttribute requires a manual bounding sphere.', this );
|
|
19447
19522
|
|
|
19448
19523
|
this.boundingSphere.set( new Vector3(), Infinity );
|
|
19449
19524
|
|
|
@@ -19534,7 +19609,7 @@ class BufferGeometry extends EventDispatcher {
|
|
|
19534
19609
|
|
|
19535
19610
|
if ( isNaN( this.boundingSphere.radius ) ) {
|
|
19536
19611
|
|
|
19537
|
-
|
|
19612
|
+
error( 'BufferGeometry.computeBoundingSphere(): Computed radius is NaN. The "position" attribute is likely to have NaN values.', this );
|
|
19538
19613
|
|
|
19539
19614
|
}
|
|
19540
19615
|
|
|
@@ -19562,7 +19637,7 @@ class BufferGeometry extends EventDispatcher {
|
|
|
19562
19637
|
attributes.normal === undefined ||
|
|
19563
19638
|
attributes.uv === undefined ) {
|
|
19564
19639
|
|
|
19565
|
-
|
|
19640
|
+
error( 'BufferGeometry: .computeTangents() failed. Missing required attributes (index, position, normal or uv)' );
|
|
19566
19641
|
return;
|
|
19567
19642
|
|
|
19568
19643
|
}
|
|
@@ -19872,7 +19947,7 @@ class BufferGeometry extends EventDispatcher {
|
|
|
19872
19947
|
|
|
19873
19948
|
if ( this.index === null ) {
|
|
19874
19949
|
|
|
19875
|
-
|
|
19950
|
+
warn( 'BufferGeometry.toNonIndexed(): BufferGeometry is already non-indexed.' );
|
|
19876
19951
|
return this;
|
|
19877
19952
|
|
|
19878
19953
|
}
|
|
@@ -20682,6 +20757,7 @@ function checkGeometryIntersection( object, material, raycaster, ray, uv, uv1, n
|
|
|
20682
20757
|
* ```
|
|
20683
20758
|
*
|
|
20684
20759
|
* @augments BufferGeometry
|
|
20760
|
+
* @demo scenes/geometry-browser.html#BoxGeometry
|
|
20685
20761
|
*/
|
|
20686
20762
|
class BoxGeometry extends BufferGeometry {
|
|
20687
20763
|
|
|
@@ -20882,8 +20958,20 @@ class BoxGeometry extends BufferGeometry {
|
|
|
20882
20958
|
|
|
20883
20959
|
}
|
|
20884
20960
|
|
|
20885
|
-
|
|
20961
|
+
/**
|
|
20962
|
+
* Provides utility functions for managing uniforms.
|
|
20963
|
+
*
|
|
20964
|
+
* @module UniformsUtils
|
|
20965
|
+
*/
|
|
20886
20966
|
|
|
20967
|
+
/**
|
|
20968
|
+
* Clones the given uniform definitions by performing a deep-copy. That means
|
|
20969
|
+
* if the value of a uniform refers to an object like a Vector3 or Texture,
|
|
20970
|
+
* the cloned uniform will refer to a new object reference.
|
|
20971
|
+
*
|
|
20972
|
+
* @param {Object} src - An object representing uniform definitions.
|
|
20973
|
+
* @return {Object} The cloned uniforms.
|
|
20974
|
+
*/
|
|
20887
20975
|
function cloneUniforms( src ) {
|
|
20888
20976
|
|
|
20889
20977
|
const dst = {};
|
|
@@ -20903,7 +20991,7 @@ function cloneUniforms( src ) {
|
|
|
20903
20991
|
|
|
20904
20992
|
if ( property.isRenderTargetTexture ) {
|
|
20905
20993
|
|
|
20906
|
-
|
|
20994
|
+
warn( 'UniformsUtils: Textures of render targets cannot be cloned via cloneUniforms() or mergeUniforms().' );
|
|
20907
20995
|
dst[ u ][ p ] = null;
|
|
20908
20996
|
|
|
20909
20997
|
} else {
|
|
@@ -20930,6 +21018,14 @@ function cloneUniforms( src ) {
|
|
|
20930
21018
|
|
|
20931
21019
|
}
|
|
20932
21020
|
|
|
21021
|
+
/**
|
|
21022
|
+
* Merges the given uniform definitions into a single object. Since the
|
|
21023
|
+
* method internally uses cloneUniforms(), it performs a deep-copy when
|
|
21024
|
+
* producing the merged uniform definitions.
|
|
21025
|
+
*
|
|
21026
|
+
* @param {Array} uniforms - An array of objects containing uniform definitions.
|
|
21027
|
+
* @return {Object} The merged uniforms.
|
|
21028
|
+
*/
|
|
20933
21029
|
function mergeUniforms( uniforms ) {
|
|
20934
21030
|
|
|
20935
21031
|
const merged = {};
|
|
@@ -21007,7 +21103,7 @@ var default_fragment = "void main() {\n\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 1.0
|
|
|
21007
21103
|
* - You can use the directive `#pragma unroll_loop_start` and `#pragma unroll_loop_end`
|
|
21008
21104
|
* in order to unroll a `for` loop in GLSL by the shader preprocessor. The directive has
|
|
21009
21105
|
* to be placed right above the loop. The loop formatting has to correspond to a defined standard.
|
|
21010
|
-
* - The loop has to be [normalized]
|
|
21106
|
+
* - The loop has to be [normalized](https://en.wikipedia.org/wiki/Normalized_loop).
|
|
21011
21107
|
* - The loop variable has to be *i*.
|
|
21012
21108
|
* - The value `UNROLLED_LOOP_INDEX` will be replaced with the explicitly
|
|
21013
21109
|
* value of *i* for the given iteration and can be used in preprocessor
|
|
@@ -21213,7 +21309,7 @@ class ShaderMaterial extends Material {
|
|
|
21213
21309
|
};
|
|
21214
21310
|
|
|
21215
21311
|
/**
|
|
21216
|
-
* If set, this calls [gl.bindAttribLocation]
|
|
21312
|
+
* If set, this calls [gl.bindAttribLocation](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/bindAttribLocation)
|
|
21217
21313
|
* to bind a generic vertex index to an attribute variable.
|
|
21218
21314
|
*
|
|
21219
21315
|
* @type {string|undefined}
|
|
@@ -21500,7 +21596,7 @@ const _minTarget = /*@__PURE__*/ new Vector2();
|
|
|
21500
21596
|
const _maxTarget = /*@__PURE__*/ new Vector2();
|
|
21501
21597
|
|
|
21502
21598
|
/**
|
|
21503
|
-
* Camera that uses [perspective projection]
|
|
21599
|
+
* Camera that uses [perspective projection](https://en.wikipedia.org/wiki/Perspective_(graphical)).
|
|
21504
21600
|
*
|
|
21505
21601
|
* This projection mode is designed to mimic the way the human eye sees. It
|
|
21506
21602
|
* is the most common projection mode used for rendering a 3D scene.
|
|
@@ -23183,7 +23279,7 @@ class Scene extends Object3D {
|
|
|
23183
23279
|
* "Interleaved" means that multiple attributes, possibly of different types,
|
|
23184
23280
|
* (e.g., position, normal, uv, color) are packed into a single array buffer.
|
|
23185
23281
|
*
|
|
23186
|
-
* An introduction into interleaved arrays can be found here: [Interleaved array basics]
|
|
23282
|
+
* An introduction into interleaved arrays can be found here: [Interleaved array basics](https://blog.tojicode.com/2011/05/interleaved-array-basics.html)
|
|
23187
23283
|
*/
|
|
23188
23284
|
class InterleavedBuffer {
|
|
23189
23285
|
|
|
@@ -23903,7 +23999,7 @@ class InterleavedBufferAttribute {
|
|
|
23903
23999
|
|
|
23904
24000
|
if ( data === undefined ) {
|
|
23905
24001
|
|
|
23906
|
-
|
|
24002
|
+
log( 'InterleavedBufferAttribute.clone(): Cloning an interleaved buffer attribute will de-interleave buffer data.' );
|
|
23907
24003
|
|
|
23908
24004
|
const array = [];
|
|
23909
24005
|
|
|
@@ -23953,7 +24049,7 @@ class InterleavedBufferAttribute {
|
|
|
23953
24049
|
|
|
23954
24050
|
if ( data === undefined ) {
|
|
23955
24051
|
|
|
23956
|
-
|
|
24052
|
+
log( 'InterleavedBufferAttribute.toJSON(): Serializing an interleaved buffer attribute will de-interleave buffer data.' );
|
|
23957
24053
|
|
|
23958
24054
|
const array = [];
|
|
23959
24055
|
|
|
@@ -24261,7 +24357,7 @@ class Sprite extends Object3D {
|
|
|
24261
24357
|
|
|
24262
24358
|
if ( raycaster.camera === null ) {
|
|
24263
24359
|
|
|
24264
|
-
|
|
24360
|
+
error( 'Sprite: "Raycaster.camera" needs to be set in order to raycast against sprites.' );
|
|
24265
24361
|
|
|
24266
24362
|
}
|
|
24267
24363
|
|
|
@@ -24722,6 +24818,7 @@ const _ray$2 = /*@__PURE__*/ new Ray();
|
|
|
24722
24818
|
* or {@link FBXLoader } import respective models.
|
|
24723
24819
|
*
|
|
24724
24820
|
* @augments Mesh
|
|
24821
|
+
* @demo scenes/bones-browser.html
|
|
24725
24822
|
*/
|
|
24726
24823
|
class SkinnedMesh extends Mesh {
|
|
24727
24824
|
|
|
@@ -24989,7 +25086,7 @@ class SkinnedMesh extends Mesh {
|
|
|
24989
25086
|
|
|
24990
25087
|
} else {
|
|
24991
25088
|
|
|
24992
|
-
|
|
25089
|
+
warn( 'SkinnedMesh: Unrecognized bindMode: ' + this.bindMode );
|
|
24993
25090
|
|
|
24994
25091
|
}
|
|
24995
25092
|
|
|
@@ -25258,7 +25355,7 @@ class Skeleton {
|
|
|
25258
25355
|
|
|
25259
25356
|
if ( bones.length !== boneInverses.length ) {
|
|
25260
25357
|
|
|
25261
|
-
|
|
25358
|
+
warn( 'Skeleton: Number of inverse bone matrices does not match amount of bones.' );
|
|
25262
25359
|
|
|
25263
25360
|
this.boneInverses = [];
|
|
25264
25361
|
|
|
@@ -25476,7 +25573,7 @@ class Skeleton {
|
|
|
25476
25573
|
|
|
25477
25574
|
if ( bone === undefined ) {
|
|
25478
25575
|
|
|
25479
|
-
|
|
25576
|
+
warn( 'Skeleton: No bone found with UUID:', uuid );
|
|
25480
25577
|
bone = new Bone();
|
|
25481
25578
|
|
|
25482
25579
|
}
|
|
@@ -25988,7 +26085,7 @@ const _normalMatrix = /*@__PURE__*/ new Matrix3();
|
|
|
25988
26085
|
|
|
25989
26086
|
/**
|
|
25990
26087
|
* A two dimensional surface that extends infinitely in 3D space, represented
|
|
25991
|
-
* in [Hessian normal form]
|
|
26088
|
+
* in [Hessian normal form](http://mathworld.wolfram.com/HessianNormalForm.html)
|
|
25992
26089
|
* by a unit length normal vector and a constant.
|
|
25993
26090
|
*/
|
|
25994
26091
|
class Plane {
|
|
@@ -28767,7 +28864,7 @@ class Line extends Object3D {
|
|
|
28767
28864
|
|
|
28768
28865
|
} else {
|
|
28769
28866
|
|
|
28770
|
-
|
|
28867
|
+
warn( 'Line.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );
|
|
28771
28868
|
|
|
28772
28869
|
}
|
|
28773
28870
|
|
|
@@ -29008,7 +29105,7 @@ class LineSegments extends Line {
|
|
|
29008
29105
|
|
|
29009
29106
|
} else {
|
|
29010
29107
|
|
|
29011
|
-
|
|
29108
|
+
warn( 'LineSegments.computeLineDistances(): Computation only possible with non-indexed BufferGeometry.' );
|
|
29012
29109
|
|
|
29013
29110
|
}
|
|
29014
29111
|
|
|
@@ -29139,7 +29236,7 @@ class PointsMaterial extends Material {
|
|
|
29139
29236
|
/**
|
|
29140
29237
|
* Defines the size of the points in pixels.
|
|
29141
29238
|
*
|
|
29142
|
-
* Might be capped if the value exceeds hardware dependent parameters like [gl.ALIASED_POINT_SIZE_RANGE]
|
|
29239
|
+
* Might be capped if the value exceeds hardware dependent parameters like [gl.ALIASED_POINT_SIZE_RANGE](https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/getParamete).
|
|
29143
29240
|
*
|
|
29144
29241
|
* @type {number}
|
|
29145
29242
|
* @default 1
|
|
@@ -29519,6 +29616,8 @@ class VideoTexture extends Texture {
|
|
|
29519
29616
|
|
|
29520
29617
|
this.source.data.cancelVideoFrameCallback( this._requestVideoFrameCallbackId );
|
|
29521
29618
|
|
|
29619
|
+
this._requestVideoFrameCallbackId = 0;
|
|
29620
|
+
|
|
29522
29621
|
}
|
|
29523
29622
|
|
|
29524
29623
|
super.dispose();
|
|
@@ -30094,6 +30193,7 @@ class ExternalTexture extends Texture {
|
|
|
30094
30193
|
* ```
|
|
30095
30194
|
*
|
|
30096
30195
|
* @augments BufferGeometry
|
|
30196
|
+
* @demo scenes/geometry-browser.html#CapsuleGeometry
|
|
30097
30197
|
*/
|
|
30098
30198
|
class CapsuleGeometry extends BufferGeometry {
|
|
30099
30199
|
|
|
@@ -30311,6 +30411,7 @@ class CapsuleGeometry extends BufferGeometry {
|
|
|
30311
30411
|
* ```
|
|
30312
30412
|
*
|
|
30313
30413
|
* @augments BufferGeometry
|
|
30414
|
+
* @demo scenes/geometry-browser.html#CircleGeometry
|
|
30314
30415
|
*/
|
|
30315
30416
|
class CircleGeometry extends BufferGeometry {
|
|
30316
30417
|
|
|
@@ -30440,6 +30541,7 @@ class CircleGeometry extends BufferGeometry {
|
|
|
30440
30541
|
* ```
|
|
30441
30542
|
*
|
|
30442
30543
|
* @augments BufferGeometry
|
|
30544
|
+
* @demo scenes/geometry-browser.html#CylinderGeometry
|
|
30443
30545
|
*/
|
|
30444
30546
|
class CylinderGeometry extends BufferGeometry {
|
|
30445
30547
|
|
|
@@ -30765,6 +30867,7 @@ class CylinderGeometry extends BufferGeometry {
|
|
|
30765
30867
|
* ```
|
|
30766
30868
|
*
|
|
30767
30869
|
* @augments CylinderGeometry
|
|
30870
|
+
* @demo scenes/geometry-browser.html#ConeGeometry
|
|
30768
30871
|
*/
|
|
30769
30872
|
class ConeGeometry extends CylinderGeometry {
|
|
30770
30873
|
|
|
@@ -31173,6 +31276,7 @@ class PolyhedronGeometry extends BufferGeometry {
|
|
|
31173
31276
|
* ```
|
|
31174
31277
|
*
|
|
31175
31278
|
* @augments PolyhedronGeometry
|
|
31279
|
+
* @demo scenes/geometry-browser.html#DodecahedronGeometry
|
|
31176
31280
|
*/
|
|
31177
31281
|
class DodecahedronGeometry extends PolyhedronGeometry {
|
|
31178
31282
|
|
|
@@ -31492,7 +31596,7 @@ class Curve {
|
|
|
31492
31596
|
*/
|
|
31493
31597
|
getPoint( /* t, optionalTarget */ ) {
|
|
31494
31598
|
|
|
31495
|
-
|
|
31599
|
+
warn( 'Curve: .getPoint() not implemented.' );
|
|
31496
31600
|
|
|
31497
31601
|
}
|
|
31498
31602
|
|
|
@@ -32550,7 +32654,13 @@ class CatmullRomCurve3 extends Curve {
|
|
|
32550
32654
|
|
|
32551
32655
|
}
|
|
32552
32656
|
|
|
32553
|
-
|
|
32657
|
+
/**
|
|
32658
|
+
* Interpolations contains spline and Bézier functions internally used by concrete curve classes.
|
|
32659
|
+
*
|
|
32660
|
+
* Bezier Curves formulas obtained from: https://en.wikipedia.org/wiki/B%C3%A9zier_curve
|
|
32661
|
+
*
|
|
32662
|
+
* @module Interpolations
|
|
32663
|
+
*/
|
|
32554
32664
|
|
|
32555
32665
|
/**
|
|
32556
32666
|
* Computes a point on a Catmull-Rom spline.
|
|
@@ -34332,8 +34442,8 @@ class Shape extends Path {
|
|
|
34332
34442
|
}
|
|
34333
34443
|
|
|
34334
34444
|
/* eslint-disable */
|
|
34335
|
-
// copy of mapbox/earcut version 3.0.
|
|
34336
|
-
// https://github.com/mapbox/earcut/tree/v3.0.
|
|
34445
|
+
// copy of mapbox/earcut version 3.0.2
|
|
34446
|
+
// https://github.com/mapbox/earcut/tree/v3.0.2
|
|
34337
34447
|
|
|
34338
34448
|
function earcut(data, holeIndices, dim = 2) {
|
|
34339
34449
|
|
|
@@ -34350,10 +34460,10 @@ function earcut(data, holeIndices, dim = 2) {
|
|
|
34350
34460
|
|
|
34351
34461
|
// if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox
|
|
34352
34462
|
if (data.length > 80 * dim) {
|
|
34353
|
-
minX =
|
|
34354
|
-
minY =
|
|
34355
|
-
let maxX =
|
|
34356
|
-
let maxY =
|
|
34463
|
+
minX = data[0];
|
|
34464
|
+
minY = data[1];
|
|
34465
|
+
let maxX = minX;
|
|
34466
|
+
let maxY = minY;
|
|
34357
34467
|
|
|
34358
34468
|
for (let i = dim; i < outerLen; i += dim) {
|
|
34359
34469
|
const x = data[i];
|
|
@@ -34629,7 +34739,7 @@ function compareXYSlope(a, b) {
|
|
|
34629
34739
|
return result;
|
|
34630
34740
|
}
|
|
34631
34741
|
|
|
34632
|
-
// find a bridge between vertices that connects hole with an outer ring and
|
|
34742
|
+
// find a bridge between vertices that connects hole with an outer ring and link it
|
|
34633
34743
|
function eliminateHole(hole, outerNode) {
|
|
34634
34744
|
const bridge = findHoleBridge(hole, outerNode);
|
|
34635
34745
|
if (!bridge) {
|
|
@@ -34967,6 +35077,12 @@ function signedArea(data, start, end, dim) {
|
|
|
34967
35077
|
return sum;
|
|
34968
35078
|
}
|
|
34969
35079
|
|
|
35080
|
+
/**
|
|
35081
|
+
* An implementation of the earcut polygon triangulation algorithm.
|
|
35082
|
+
* The code is a port of [mapbox/earcut](https://github.com/mapbox/earcut).
|
|
35083
|
+
*
|
|
35084
|
+
* @see https://github.com/mapbox/earcut
|
|
35085
|
+
*/
|
|
34970
35086
|
class Earcut {
|
|
34971
35087
|
|
|
34972
35088
|
/**
|
|
@@ -35117,6 +35233,7 @@ function addContour( vertices, contour ) {
|
|
|
35117
35233
|
* ```
|
|
35118
35234
|
*
|
|
35119
35235
|
* @augments BufferGeometry
|
|
35236
|
+
* @demo scenes/geometry-browser.html#ExtrudeGeometry
|
|
35120
35237
|
*/
|
|
35121
35238
|
class ExtrudeGeometry extends BufferGeometry {
|
|
35122
35239
|
|
|
@@ -35205,7 +35322,7 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
35205
35322
|
|
|
35206
35323
|
splineTube = extrudePath.computeFrenetFrames( steps, false );
|
|
35207
35324
|
|
|
35208
|
-
//
|
|
35325
|
+
// log(splineTube, 'splineTube', splineTube.normals.length, 'steps', steps, 'extrudePts', extrudePts.length);
|
|
35209
35326
|
|
|
35210
35327
|
binormal = new Vector3();
|
|
35211
35328
|
normal = new Vector3();
|
|
@@ -35310,7 +35427,7 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
35310
35427
|
|
|
35311
35428
|
function scalePt2( pt, vec, size ) {
|
|
35312
35429
|
|
|
35313
|
-
if ( ! vec )
|
|
35430
|
+
if ( ! vec ) error( 'ExtrudeGeometry: vec does not exist' );
|
|
35314
35431
|
|
|
35315
35432
|
return pt.clone().addScaledVector( vec, size );
|
|
35316
35433
|
|
|
@@ -35425,14 +35542,14 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
35425
35542
|
|
|
35426
35543
|
if ( direction_eq ) {
|
|
35427
35544
|
|
|
35428
|
-
//
|
|
35545
|
+
// log("Warning: lines are a straight sequence");
|
|
35429
35546
|
v_trans_x = - v_prev_y;
|
|
35430
35547
|
v_trans_y = v_prev_x;
|
|
35431
35548
|
shrink_by = Math.sqrt( v_prev_lensq );
|
|
35432
35549
|
|
|
35433
35550
|
} else {
|
|
35434
35551
|
|
|
35435
|
-
//
|
|
35552
|
+
// log("Warning: lines are a straight spike");
|
|
35436
35553
|
v_trans_x = v_prev_x;
|
|
35437
35554
|
v_trans_y = v_prev_y;
|
|
35438
35555
|
shrink_by = Math.sqrt( v_prev_lensq / 2 );
|
|
@@ -35454,7 +35571,7 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
35454
35571
|
if ( k === il ) k = 0;
|
|
35455
35572
|
|
|
35456
35573
|
// (j)---(i)---(k)
|
|
35457
|
-
//
|
|
35574
|
+
// log('i,j,k', i, j , k)
|
|
35458
35575
|
|
|
35459
35576
|
contourMovements[ i ] = getBevelVec( contour[ i ], contour[ j ], contour[ k ] );
|
|
35460
35577
|
|
|
@@ -35751,7 +35868,7 @@ class ExtrudeGeometry extends BufferGeometry {
|
|
|
35751
35868
|
let k = i - 1;
|
|
35752
35869
|
if ( k < 0 ) k = contour.length - 1;
|
|
35753
35870
|
|
|
35754
|
-
//
|
|
35871
|
+
//log('b', i,j, i-1, k,vertices.length);
|
|
35755
35872
|
|
|
35756
35873
|
for ( let s = 0, sl = ( steps + bevelSegments * 2 ); s < sl; s ++ ) {
|
|
35757
35874
|
|
|
@@ -35991,6 +36108,7 @@ function toJSON$1( shapes, options, data ) {
|
|
|
35991
36108
|
* ```
|
|
35992
36109
|
*
|
|
35993
36110
|
* @augments PolyhedronGeometry
|
|
36111
|
+
* @demo scenes/geometry-browser.html#IcosahedronGeometry
|
|
35994
36112
|
*/
|
|
35995
36113
|
class IcosahedronGeometry extends PolyhedronGeometry {
|
|
35996
36114
|
|
|
@@ -36065,6 +36183,7 @@ class IcosahedronGeometry extends PolyhedronGeometry {
|
|
|
36065
36183
|
* ```
|
|
36066
36184
|
*
|
|
36067
36185
|
* @augments BufferGeometry
|
|
36186
|
+
* @demo scenes/geometry-browser.html#LatheGeometry
|
|
36068
36187
|
*/
|
|
36069
36188
|
class LatheGeometry extends BufferGeometry {
|
|
36070
36189
|
|
|
@@ -36282,6 +36401,7 @@ class LatheGeometry extends BufferGeometry {
|
|
|
36282
36401
|
* ```
|
|
36283
36402
|
*
|
|
36284
36403
|
* @augments PolyhedronGeometry
|
|
36404
|
+
* @demo scenes/geometry-browser.html#OctahedronGeometry
|
|
36285
36405
|
*/
|
|
36286
36406
|
class OctahedronGeometry extends PolyhedronGeometry {
|
|
36287
36407
|
|
|
@@ -36348,6 +36468,7 @@ class OctahedronGeometry extends PolyhedronGeometry {
|
|
|
36348
36468
|
* ```
|
|
36349
36469
|
*
|
|
36350
36470
|
* @augments BufferGeometry
|
|
36471
|
+
* @demo scenes/geometry-browser.html#PlaneGeometry
|
|
36351
36472
|
*/
|
|
36352
36473
|
class PlaneGeometry extends BufferGeometry {
|
|
36353
36474
|
|
|
@@ -36476,6 +36597,7 @@ class PlaneGeometry extends BufferGeometry {
|
|
|
36476
36597
|
* ```
|
|
36477
36598
|
*
|
|
36478
36599
|
* @augments BufferGeometry
|
|
36600
|
+
* @demo scenes/geometry-browser.html#RingGeometry
|
|
36479
36601
|
*/
|
|
36480
36602
|
class RingGeometry extends BufferGeometry {
|
|
36481
36603
|
|
|
@@ -36637,6 +36759,7 @@ class RingGeometry extends BufferGeometry {
|
|
|
36637
36759
|
* ```
|
|
36638
36760
|
*
|
|
36639
36761
|
* @augments BufferGeometry
|
|
36762
|
+
* @demo scenes/geometry-browser.html#ShapeGeometry
|
|
36640
36763
|
*/
|
|
36641
36764
|
class ShapeGeometry extends BufferGeometry {
|
|
36642
36765
|
|
|
@@ -36858,6 +36981,7 @@ function toJSON( shapes, data ) {
|
|
|
36858
36981
|
* ```
|
|
36859
36982
|
*
|
|
36860
36983
|
* @augments BufferGeometry
|
|
36984
|
+
* @demo scenes/geometry-browser.html#SphereGeometry
|
|
36861
36985
|
*/
|
|
36862
36986
|
class SphereGeometry extends BufferGeometry {
|
|
36863
36987
|
|
|
@@ -37027,6 +37151,7 @@ class SphereGeometry extends BufferGeometry {
|
|
|
37027
37151
|
* ```
|
|
37028
37152
|
*
|
|
37029
37153
|
* @augments PolyhedronGeometry
|
|
37154
|
+
* @demo scenes/geometry-browser.html#TetrahedronGeometry
|
|
37030
37155
|
*/
|
|
37031
37156
|
class TetrahedronGeometry extends PolyhedronGeometry {
|
|
37032
37157
|
|
|
@@ -37090,6 +37215,7 @@ class TetrahedronGeometry extends PolyhedronGeometry {
|
|
|
37090
37215
|
* ```
|
|
37091
37216
|
*
|
|
37092
37217
|
* @augments BufferGeometry
|
|
37218
|
+
* @demo scenes/geometry-browser.html#TorusGeometry
|
|
37093
37219
|
*/
|
|
37094
37220
|
class TorusGeometry extends BufferGeometry {
|
|
37095
37221
|
|
|
@@ -37242,6 +37368,7 @@ class TorusGeometry extends BufferGeometry {
|
|
|
37242
37368
|
* ```
|
|
37243
37369
|
*
|
|
37244
37370
|
* @augments BufferGeometry
|
|
37371
|
+
* @demo scenes/geometry-browser.html#TorusKnotGeometry
|
|
37245
37372
|
*/
|
|
37246
37373
|
class TorusKnotGeometry extends BufferGeometry {
|
|
37247
37374
|
|
|
@@ -37454,6 +37581,7 @@ class TorusKnotGeometry extends BufferGeometry {
|
|
|
37454
37581
|
* ```
|
|
37455
37582
|
*
|
|
37456
37583
|
* @augments BufferGeometry
|
|
37584
|
+
* @demo scenes/geometry-browser.html#TubeGeometry
|
|
37457
37585
|
*/
|
|
37458
37586
|
class TubeGeometry extends BufferGeometry {
|
|
37459
37587
|
|
|
@@ -38001,9 +38129,9 @@ class RawShaderMaterial extends ShaderMaterial {
|
|
|
38001
38129
|
* A standard physically based material, using Metallic-Roughness workflow.
|
|
38002
38130
|
*
|
|
38003
38131
|
* Physically based rendering (PBR) has recently become the standard in many
|
|
38004
|
-
* 3D applications, such as [Unity]
|
|
38005
|
-
* [Unreal]
|
|
38006
|
-
* [3D Studio Max]
|
|
38132
|
+
* 3D applications, such as [Unity](https://blogs.unity3d.com/2014/10/29/physically-based-shading-in-unity-5-a-primer/),
|
|
38133
|
+
* [Unreal](https://docs.unrealengine.com/latest/INT/Engine/Rendering/Materials/PhysicallyBased/) and
|
|
38134
|
+
* [3D Studio Max](http://area.autodesk.com/blogs/the-3ds-max-blog/what039s-new-for-rendering-in-3ds-max-2017).
|
|
38007
38135
|
*
|
|
38008
38136
|
* This approach differs from older approaches in that instead of using
|
|
38009
38137
|
* approximations for the way in which light interacts with a surface, a
|
|
@@ -38019,16 +38147,17 @@ class RawShaderMaterial extends ShaderMaterial {
|
|
|
38019
38147
|
* Note that for best results you should always specify an environment map when using this material.
|
|
38020
38148
|
*
|
|
38021
38149
|
* For a non-technical introduction to the concept of PBR and how to set up a
|
|
38022
|
-
* PBR material, check out these articles by the people at [marmoset]
|
|
38150
|
+
* PBR material, check out these articles by the people at [marmoset](https://www.marmoset.co):
|
|
38023
38151
|
*
|
|
38024
|
-
* - [Basic Theory of Physically Based Rendering]
|
|
38025
|
-
* - [Physically Based Rendering and You Can Too]
|
|
38152
|
+
* - [Basic Theory of Physically Based Rendering](https://www.marmoset.co/posts/basic-theory-of-physically-based-rendering/)
|
|
38153
|
+
* - [Physically Based Rendering and You Can Too](https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/)
|
|
38026
38154
|
*
|
|
38027
38155
|
* Technical details of the approach used in three.js (and most other PBR systems) can be found is this
|
|
38028
|
-
* [paper from Disney]
|
|
38156
|
+
* [paper from Disney](https://media.disneyanimation.com/uploads/production/publication_asset/48/asset/s2012_pbs_disney_brdf_notes_v3.pdf)
|
|
38029
38157
|
* (pdf), by Brent Burley.
|
|
38030
38158
|
*
|
|
38031
38159
|
* @augments Material
|
|
38160
|
+
* @demo scenes/material-browser.html#MeshStandardMaterial
|
|
38032
38161
|
*/
|
|
38033
38162
|
class MeshStandardMaterial extends Material {
|
|
38034
38163
|
|
|
@@ -38438,6 +38567,7 @@ class MeshStandardMaterial extends Material {
|
|
|
38438
38567
|
* best results, always specify an environment map when using this material.
|
|
38439
38568
|
*
|
|
38440
38569
|
* @augments MeshStandardMaterial
|
|
38570
|
+
* @demo scenes/material-browser.html#MeshPhysicalMaterial
|
|
38441
38571
|
*/
|
|
38442
38572
|
class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
38443
38573
|
|
|
@@ -38734,7 +38864,7 @@ class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
|
38734
38864
|
}
|
|
38735
38865
|
|
|
38736
38866
|
/**
|
|
38737
|
-
* The anisotropy strength.
|
|
38867
|
+
* The anisotropy strength, from `0.0` to `1.0`.
|
|
38738
38868
|
*
|
|
38739
38869
|
* @type {number}
|
|
38740
38870
|
* @default 0
|
|
@@ -38946,7 +39076,7 @@ class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
|
38946
39076
|
/**
|
|
38947
39077
|
* A material for shiny surfaces with specular highlights.
|
|
38948
39078
|
*
|
|
38949
|
-
* The material uses a non-physically based [Blinn-Phong]
|
|
39079
|
+
* The material uses a non-physically based [Blinn-Phong](https://en.wikipedia.org/wiki/Blinn-Phong_shading_model)
|
|
38950
39080
|
* model for calculating reflectance. Unlike the Lambertian model used in the
|
|
38951
39081
|
* {@link MeshLambertMaterial} this can simulate shiny surfaces with specular
|
|
38952
39082
|
* highlights (such as varnished wood). `MeshPhongMaterial` uses per-fragment shading.
|
|
@@ -38956,6 +39086,7 @@ class MeshPhysicalMaterial extends MeshStandardMaterial {
|
|
|
38956
39086
|
* some graphical accuracy.
|
|
38957
39087
|
*
|
|
38958
39088
|
* @augments Material
|
|
39089
|
+
* @demo scenes/material-browser.html#MeshPhongMaterial
|
|
38959
39090
|
*/
|
|
38960
39091
|
class MeshPhongMaterial extends Material {
|
|
38961
39092
|
|
|
@@ -39351,6 +39482,7 @@ class MeshPhongMaterial extends Material {
|
|
|
39351
39482
|
* A material implementing toon shading.
|
|
39352
39483
|
*
|
|
39353
39484
|
* @augments Material
|
|
39485
|
+
* @demo scenes/material-browser.html#MeshToonMaterial
|
|
39354
39486
|
*/
|
|
39355
39487
|
class MeshToonMaterial extends Material {
|
|
39356
39488
|
|
|
@@ -39665,6 +39797,7 @@ class MeshToonMaterial extends Material {
|
|
|
39665
39797
|
* A material that maps the normal vectors to RGB colors.
|
|
39666
39798
|
*
|
|
39667
39799
|
* @augments Material
|
|
39800
|
+
* @demo scenes/material-browser.html#MeshNormalMaterial
|
|
39668
39801
|
*/
|
|
39669
39802
|
class MeshNormalMaterial extends Material {
|
|
39670
39803
|
|
|
@@ -39833,7 +39966,7 @@ class MeshNormalMaterial extends Material {
|
|
|
39833
39966
|
/**
|
|
39834
39967
|
* A material for non-shiny surfaces, without specular highlights.
|
|
39835
39968
|
*
|
|
39836
|
-
* The material uses a non-physically based [Lambertian]
|
|
39969
|
+
* The material uses a non-physically based [Lambertian](https://en.wikipedia.org/wiki/Lambertian_reflectance)
|
|
39837
39970
|
* model for calculating reflectance. This can simulate some surfaces (such
|
|
39838
39971
|
* as untreated wood or stone) well, but cannot simulate shiny surfaces with
|
|
39839
39972
|
* specular highlights (such as varnished wood). `MeshLambertMaterial` uses per-fragment
|
|
@@ -39845,6 +39978,7 @@ class MeshNormalMaterial extends Material {
|
|
|
39845
39978
|
* {@link MeshPhysicalMaterial}, at the cost of some graphical accuracy.
|
|
39846
39979
|
*
|
|
39847
39980
|
* @augments Material
|
|
39981
|
+
* @demo scenes/material-browser.html#MeshLambertMaterial
|
|
39848
39982
|
*/
|
|
39849
39983
|
class MeshLambertMaterial extends Material {
|
|
39850
39984
|
|
|
@@ -40220,6 +40354,7 @@ class MeshLambertMaterial extends Material {
|
|
|
40220
40354
|
* near and far plane. White is nearest, black is farthest.
|
|
40221
40355
|
*
|
|
40222
40356
|
* @augments Material
|
|
40357
|
+
* @demo scenes/material-browser.html#MeshDepthMaterial
|
|
40223
40358
|
*/
|
|
40224
40359
|
class MeshDepthMaterial extends Material {
|
|
40225
40360
|
|
|
@@ -40484,6 +40619,7 @@ class MeshDistanceMaterial extends Material {
|
|
|
40484
40619
|
* shadows.
|
|
40485
40620
|
*
|
|
40486
40621
|
* @augments Material
|
|
40622
|
+
* @demo scenes/material-browser.html#MeshMatcapMaterial
|
|
40487
40623
|
*/
|
|
40488
40624
|
class MeshMatcapMaterial extends Material {
|
|
40489
40625
|
|
|
@@ -40635,6 +40771,24 @@ class MeshMatcapMaterial extends Material {
|
|
|
40635
40771
|
*/
|
|
40636
40772
|
this.alphaMap = null;
|
|
40637
40773
|
|
|
40774
|
+
/**
|
|
40775
|
+
* Renders the geometry as a wireframe.
|
|
40776
|
+
*
|
|
40777
|
+
* @type {boolean}
|
|
40778
|
+
* @default false
|
|
40779
|
+
*/
|
|
40780
|
+
this.wireframe = false;
|
|
40781
|
+
|
|
40782
|
+
/**
|
|
40783
|
+
* Controls the thickness of the wireframe.
|
|
40784
|
+
*
|
|
40785
|
+
* Can only be used with {@link SVGRenderer}.
|
|
40786
|
+
*
|
|
40787
|
+
* @type {number}
|
|
40788
|
+
* @default 1
|
|
40789
|
+
*/
|
|
40790
|
+
this.wireframeLinewidth = 1;
|
|
40791
|
+
|
|
40638
40792
|
/**
|
|
40639
40793
|
* Whether the material is rendered with flat shading or not.
|
|
40640
40794
|
*
|
|
@@ -40681,6 +40835,9 @@ class MeshMatcapMaterial extends Material {
|
|
|
40681
40835
|
|
|
40682
40836
|
this.alphaMap = source.alphaMap;
|
|
40683
40837
|
|
|
40838
|
+
this.wireframe = source.wireframe;
|
|
40839
|
+
this.wireframeLinewidth = source.wireframeLinewidth;
|
|
40840
|
+
|
|
40684
40841
|
this.flatShading = source.flatShading;
|
|
40685
40842
|
|
|
40686
40843
|
this.fog = source.fog;
|
|
@@ -42001,7 +42158,7 @@ class KeyframeTrack {
|
|
|
42001
42158
|
|
|
42002
42159
|
}
|
|
42003
42160
|
|
|
42004
|
-
|
|
42161
|
+
warn( 'KeyframeTrack:', message );
|
|
42005
42162
|
return this;
|
|
42006
42163
|
|
|
42007
42164
|
}
|
|
@@ -42161,7 +42318,7 @@ class KeyframeTrack {
|
|
|
42161
42318
|
const valueSize = this.getValueSize();
|
|
42162
42319
|
if ( valueSize - Math.floor( valueSize ) !== 0 ) {
|
|
42163
42320
|
|
|
42164
|
-
|
|
42321
|
+
error( 'KeyframeTrack: Invalid value size in track.', this );
|
|
42165
42322
|
valid = false;
|
|
42166
42323
|
|
|
42167
42324
|
}
|
|
@@ -42173,7 +42330,7 @@ class KeyframeTrack {
|
|
|
42173
42330
|
|
|
42174
42331
|
if ( nKeys === 0 ) {
|
|
42175
42332
|
|
|
42176
|
-
|
|
42333
|
+
error( 'KeyframeTrack: Track is empty.', this );
|
|
42177
42334
|
valid = false;
|
|
42178
42335
|
|
|
42179
42336
|
}
|
|
@@ -42186,7 +42343,7 @@ class KeyframeTrack {
|
|
|
42186
42343
|
|
|
42187
42344
|
if ( typeof currTime === 'number' && isNaN( currTime ) ) {
|
|
42188
42345
|
|
|
42189
|
-
|
|
42346
|
+
error( 'KeyframeTrack: Time is not a valid number.', this, i, currTime );
|
|
42190
42347
|
valid = false;
|
|
42191
42348
|
break;
|
|
42192
42349
|
|
|
@@ -42194,7 +42351,7 @@ class KeyframeTrack {
|
|
|
42194
42351
|
|
|
42195
42352
|
if ( prevTime !== null && prevTime > currTime ) {
|
|
42196
42353
|
|
|
42197
|
-
|
|
42354
|
+
error( 'KeyframeTrack: Out of order keys.', this, i, currTime, prevTime );
|
|
42198
42355
|
valid = false;
|
|
42199
42356
|
break;
|
|
42200
42357
|
|
|
@@ -42214,7 +42371,7 @@ class KeyframeTrack {
|
|
|
42214
42371
|
|
|
42215
42372
|
if ( isNaN( value ) ) {
|
|
42216
42373
|
|
|
42217
|
-
|
|
42374
|
+
error( 'KeyframeTrack: Value is not a valid number.', this, i, value );
|
|
42218
42375
|
valid = false;
|
|
42219
42376
|
break;
|
|
42220
42377
|
|
|
@@ -42984,11 +43141,11 @@ class AnimationClip {
|
|
|
42984
43141
|
*/
|
|
42985
43142
|
static parseAnimation( animation, bones ) {
|
|
42986
43143
|
|
|
42987
|
-
|
|
43144
|
+
warn( 'AnimationClip: parseAnimation() is deprecated and will be removed with r185' );
|
|
42988
43145
|
|
|
42989
43146
|
if ( ! animation ) {
|
|
42990
43147
|
|
|
42991
|
-
|
|
43148
|
+
error( 'AnimationClip: No animation in JSONLoader data.' );
|
|
42992
43149
|
return null;
|
|
42993
43150
|
|
|
42994
43151
|
}
|
|
@@ -43340,7 +43497,7 @@ const Cache = {
|
|
|
43340
43497
|
|
|
43341
43498
|
if ( this.enabled === false ) return;
|
|
43342
43499
|
|
|
43343
|
-
//
|
|
43500
|
+
// log( 'Cache', 'Adding key:', key );
|
|
43344
43501
|
|
|
43345
43502
|
this.files[ key ] = file;
|
|
43346
43503
|
|
|
@@ -43357,7 +43514,7 @@ const Cache = {
|
|
|
43357
43514
|
|
|
43358
43515
|
if ( this.enabled === false ) return;
|
|
43359
43516
|
|
|
43360
|
-
//
|
|
43517
|
+
// log( 'Cache', 'Checking key:', key );
|
|
43361
43518
|
|
|
43362
43519
|
return this.files[ key ];
|
|
43363
43520
|
|
|
@@ -43462,9 +43619,10 @@ class LoadingManager {
|
|
|
43462
43619
|
/**
|
|
43463
43620
|
* Used for aborting ongoing requests in loaders using this manager.
|
|
43464
43621
|
*
|
|
43465
|
-
* @
|
|
43622
|
+
* @private
|
|
43623
|
+
* @type {AbortController | null}
|
|
43466
43624
|
*/
|
|
43467
|
-
this.
|
|
43625
|
+
this._abortController = null;
|
|
43468
43626
|
|
|
43469
43627
|
/**
|
|
43470
43628
|
* This should be called by any loader using the manager when the loader
|
|
@@ -43675,8 +43833,9 @@ class LoadingManager {
|
|
|
43675
43833
|
*/
|
|
43676
43834
|
this.abort = function () {
|
|
43677
43835
|
|
|
43836
|
+
|
|
43678
43837
|
this.abortController.abort();
|
|
43679
|
-
this.
|
|
43838
|
+
this._abortController = null;
|
|
43680
43839
|
|
|
43681
43840
|
return this;
|
|
43682
43841
|
|
|
@@ -43684,6 +43843,26 @@ class LoadingManager {
|
|
|
43684
43843
|
|
|
43685
43844
|
}
|
|
43686
43845
|
|
|
43846
|
+
// TODO: Revert this back to a single member variable once this issue has been fixed
|
|
43847
|
+
// https://github.com/cloudflare/workerd/issues/3657
|
|
43848
|
+
|
|
43849
|
+
/**
|
|
43850
|
+
* Used for aborting ongoing requests in loaders using this manager.
|
|
43851
|
+
*
|
|
43852
|
+
* @type {AbortController}
|
|
43853
|
+
*/
|
|
43854
|
+
get abortController() {
|
|
43855
|
+
|
|
43856
|
+
if ( ! this._abortController ) {
|
|
43857
|
+
|
|
43858
|
+
this._abortController = new AbortController();
|
|
43859
|
+
|
|
43860
|
+
}
|
|
43861
|
+
|
|
43862
|
+
return this._abortController;
|
|
43863
|
+
|
|
43864
|
+
}
|
|
43865
|
+
|
|
43687
43866
|
}
|
|
43688
43867
|
|
|
43689
43868
|
/**
|
|
@@ -43748,7 +43927,7 @@ class Loader {
|
|
|
43748
43927
|
this.resourcePath = '';
|
|
43749
43928
|
|
|
43750
43929
|
/**
|
|
43751
|
-
* The [request header]
|
|
43930
|
+
* The [request header](https://developer.mozilla.org/en-US/docs/Glossary/Request_header)
|
|
43752
43931
|
* used in HTTP request.
|
|
43753
43932
|
*
|
|
43754
43933
|
* @type {Object<string, any>}
|
|
@@ -43813,7 +43992,7 @@ class Loader {
|
|
|
43813
43992
|
|
|
43814
43993
|
/**
|
|
43815
43994
|
* Whether the XMLHttpRequest uses credentials such as cookies, authorization
|
|
43816
|
-
* headers or TLS client certificates, see [XMLHttpRequest.withCredentials]
|
|
43995
|
+
* headers or TLS client certificates, see [XMLHttpRequest.withCredentials](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials).
|
|
43817
43996
|
*
|
|
43818
43997
|
* Note: This setting has no effect if you are loading files locally or from the same domain.
|
|
43819
43998
|
*
|
|
@@ -43856,7 +44035,7 @@ class Loader {
|
|
|
43856
44035
|
/**
|
|
43857
44036
|
* Sets the given request header.
|
|
43858
44037
|
*
|
|
43859
|
-
* @param {Object} requestHeader - A [request header]
|
|
44038
|
+
* @param {Object} requestHeader - A [request header](https://developer.mozilla.org/en-US/docs/Glossary/Request_header)
|
|
43860
44039
|
* for configuring the HTTP request.
|
|
43861
44040
|
* @return {Loader} A reference to this instance.
|
|
43862
44041
|
*/
|
|
@@ -43948,7 +44127,7 @@ class FileLoader extends Loader {
|
|
|
43948
44127
|
|
|
43949
44128
|
/**
|
|
43950
44129
|
* The expected mime type. Valid values can be found
|
|
43951
|
-
* [here]
|
|
44130
|
+
* [here](hhttps://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#mimetype)
|
|
43952
44131
|
*
|
|
43953
44132
|
* @type {string}
|
|
43954
44133
|
*/
|
|
@@ -44054,7 +44233,7 @@ class FileLoader extends Loader {
|
|
|
44054
44233
|
|
|
44055
44234
|
if ( response.status === 0 ) {
|
|
44056
44235
|
|
|
44057
|
-
|
|
44236
|
+
warn( 'FileLoader: HTTP Status 0 received.' );
|
|
44058
44237
|
|
|
44059
44238
|
}
|
|
44060
44239
|
|
|
@@ -44324,7 +44503,7 @@ class AnimationLoader extends Loader {
|
|
|
44324
44503
|
|
|
44325
44504
|
} else {
|
|
44326
44505
|
|
|
44327
|
-
|
|
44506
|
+
error( e );
|
|
44328
44507
|
|
|
44329
44508
|
}
|
|
44330
44509
|
|
|
@@ -44519,7 +44698,7 @@ const _loading = new WeakMap();
|
|
|
44519
44698
|
* ```
|
|
44520
44699
|
* Please note that `ImageLoader` has dropped support for progress
|
|
44521
44700
|
* events in `r84`. For an `ImageLoader` that supports progress events, see
|
|
44522
|
-
* [this thread]
|
|
44701
|
+
* [this thread](https://github.com/mrdoob/three.js/issues/10439#issuecomment-275785639).
|
|
44523
44702
|
*
|
|
44524
44703
|
* @augments Loader
|
|
44525
44704
|
*/
|
|
@@ -44828,7 +45007,7 @@ class DataTextureLoader extends Loader {
|
|
|
44828
45007
|
|
|
44829
45008
|
} else {
|
|
44830
45009
|
|
|
44831
|
-
|
|
45010
|
+
error( error );
|
|
44832
45011
|
return;
|
|
44833
45012
|
|
|
44834
45013
|
}
|
|
@@ -44923,7 +45102,7 @@ class DataTextureLoader extends Loader {
|
|
|
44923
45102
|
* ```
|
|
44924
45103
|
* Please note that `TextureLoader` has dropped support for progress
|
|
44925
45104
|
* events in `r84`. For a `TextureLoader` that supports progress events, see
|
|
44926
|
-
* [this thread]
|
|
45105
|
+
* [this thread](https://github.com/mrdoob/three.js/issues/10439#issuecomment-293260145).
|
|
44927
45106
|
*
|
|
44928
45107
|
* @augments Loader
|
|
44929
45108
|
*/
|
|
@@ -45926,7 +46105,7 @@ class PointLight extends Light {
|
|
|
45926
46105
|
}
|
|
45927
46106
|
|
|
45928
46107
|
/**
|
|
45929
|
-
* Camera that uses [orthographic projection]
|
|
46108
|
+
* Camera that uses [orthographic projection](https://en.wikipedia.org/wiki/Orthographic_projection).
|
|
45930
46109
|
*
|
|
45931
46110
|
* In this projection mode, an object's size in the rendered image stays
|
|
45932
46111
|
* constant regardless of its distance from the camera. This can be useful
|
|
@@ -46926,7 +47105,7 @@ class MaterialLoader extends Loader {
|
|
|
46926
47105
|
|
|
46927
47106
|
} else {
|
|
46928
47107
|
|
|
46929
|
-
|
|
47108
|
+
error( e );
|
|
46930
47109
|
|
|
46931
47110
|
}
|
|
46932
47111
|
|
|
@@ -46952,7 +47131,7 @@ class MaterialLoader extends Loader {
|
|
|
46952
47131
|
|
|
46953
47132
|
if ( textures[ name ] === undefined ) {
|
|
46954
47133
|
|
|
46955
|
-
|
|
47134
|
+
warn( 'MaterialLoader: Undefined texture', name );
|
|
46956
47135
|
|
|
46957
47136
|
}
|
|
46958
47137
|
|
|
@@ -47444,7 +47623,7 @@ class BufferGeometryLoader extends Loader {
|
|
|
47444
47623
|
|
|
47445
47624
|
} else {
|
|
47446
47625
|
|
|
47447
|
-
|
|
47626
|
+
error( e );
|
|
47448
47627
|
|
|
47449
47628
|
}
|
|
47450
47629
|
|
|
@@ -47617,7 +47796,7 @@ class BufferGeometryLoader extends Loader {
|
|
|
47617
47796
|
}
|
|
47618
47797
|
|
|
47619
47798
|
/**
|
|
47620
|
-
* A loader for loading a JSON resource in the [JSON Object/Scene format]
|
|
47799
|
+
* A loader for loading a JSON resource in the [JSON Object/Scene format](https://github.com/mrdoob/three.js/wiki/JSON-Object-Scene-format-4).
|
|
47621
47800
|
* The files are internally loaded via {@link FileLoader}.
|
|
47622
47801
|
*
|
|
47623
47802
|
* ```js
|
|
@@ -47676,7 +47855,7 @@ class ObjectLoader extends Loader {
|
|
|
47676
47855
|
|
|
47677
47856
|
if ( onError !== undefined ) onError( error );
|
|
47678
47857
|
|
|
47679
|
-
|
|
47858
|
+
error( 'ObjectLoader: Can\'t parse ' + url + '.', error.message );
|
|
47680
47859
|
|
|
47681
47860
|
return;
|
|
47682
47861
|
|
|
@@ -47688,7 +47867,7 @@ class ObjectLoader extends Loader {
|
|
|
47688
47867
|
|
|
47689
47868
|
if ( onError !== undefined ) onError( new Error( 'THREE.ObjectLoader: Can\'t load ' + url ) );
|
|
47690
47869
|
|
|
47691
|
-
|
|
47870
|
+
error( 'ObjectLoader: Can\'t load ' + url );
|
|
47692
47871
|
return;
|
|
47693
47872
|
|
|
47694
47873
|
}
|
|
@@ -47898,7 +48077,7 @@ class ObjectLoader extends Loader {
|
|
|
47898
48077
|
|
|
47899
48078
|
} else {
|
|
47900
48079
|
|
|
47901
|
-
|
|
48080
|
+
warn( `ObjectLoader: Unsupported geometry type "${ data.type }"` );
|
|
47902
48081
|
|
|
47903
48082
|
}
|
|
47904
48083
|
|
|
@@ -48189,7 +48368,7 @@ class ObjectLoader extends Loader {
|
|
|
48189
48368
|
|
|
48190
48369
|
if ( typeof value === 'number' ) return value;
|
|
48191
48370
|
|
|
48192
|
-
|
|
48371
|
+
warn( 'ObjectLoader.parseTexture: Constant should be in numeric form.', value );
|
|
48193
48372
|
|
|
48194
48373
|
return type[ value ];
|
|
48195
48374
|
|
|
@@ -48205,13 +48384,13 @@ class ObjectLoader extends Loader {
|
|
|
48205
48384
|
|
|
48206
48385
|
if ( data.image === undefined ) {
|
|
48207
48386
|
|
|
48208
|
-
|
|
48387
|
+
warn( 'ObjectLoader: No "image" specified for', data.uuid );
|
|
48209
48388
|
|
|
48210
48389
|
}
|
|
48211
48390
|
|
|
48212
48391
|
if ( images[ data.image ] === undefined ) {
|
|
48213
48392
|
|
|
48214
|
-
|
|
48393
|
+
warn( 'ObjectLoader: Undefined image', data.image );
|
|
48215
48394
|
|
|
48216
48395
|
}
|
|
48217
48396
|
|
|
@@ -48299,7 +48478,7 @@ class ObjectLoader extends Loader {
|
|
|
48299
48478
|
|
|
48300
48479
|
if ( geometries[ name ] === undefined ) {
|
|
48301
48480
|
|
|
48302
|
-
|
|
48481
|
+
warn( 'ObjectLoader: Undefined geometry', name );
|
|
48303
48482
|
|
|
48304
48483
|
}
|
|
48305
48484
|
|
|
@@ -48321,7 +48500,7 @@ class ObjectLoader extends Loader {
|
|
|
48321
48500
|
|
|
48322
48501
|
if ( materials[ uuid ] === undefined ) {
|
|
48323
48502
|
|
|
48324
|
-
|
|
48503
|
+
warn( 'ObjectLoader: Undefined material', uuid );
|
|
48325
48504
|
|
|
48326
48505
|
}
|
|
48327
48506
|
|
|
@@ -48335,7 +48514,7 @@ class ObjectLoader extends Loader {
|
|
|
48335
48514
|
|
|
48336
48515
|
if ( materials[ name ] === undefined ) {
|
|
48337
48516
|
|
|
48338
|
-
|
|
48517
|
+
warn( 'ObjectLoader: Undefined material', name );
|
|
48339
48518
|
|
|
48340
48519
|
}
|
|
48341
48520
|
|
|
@@ -48347,7 +48526,7 @@ class ObjectLoader extends Loader {
|
|
|
48347
48526
|
|
|
48348
48527
|
if ( textures[ uuid ] === undefined ) {
|
|
48349
48528
|
|
|
48350
|
-
|
|
48529
|
+
warn( 'ObjectLoader: Undefined texture', uuid );
|
|
48351
48530
|
|
|
48352
48531
|
}
|
|
48353
48532
|
|
|
@@ -48748,7 +48927,7 @@ class ObjectLoader extends Loader {
|
|
|
48748
48927
|
|
|
48749
48928
|
if ( skeleton === undefined ) {
|
|
48750
48929
|
|
|
48751
|
-
|
|
48930
|
+
warn( 'ObjectLoader: No skeleton found with UUID:', child.skeleton );
|
|
48752
48931
|
|
|
48753
48932
|
} else {
|
|
48754
48933
|
|
|
@@ -48819,7 +48998,7 @@ const TEXTURE_FILTER = {
|
|
|
48819
48998
|
const _errorMap = new WeakMap();
|
|
48820
48999
|
|
|
48821
49000
|
/**
|
|
48822
|
-
* A loader for loading images as an [ImageBitmap]
|
|
49001
|
+
* A loader for loading images as an [ImageBitmap](https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmap).
|
|
48823
49002
|
* An `ImageBitmap` provides an asynchronous and resource efficient pathway to prepare
|
|
48824
49003
|
* textures for rendering.
|
|
48825
49004
|
*
|
|
@@ -48863,13 +49042,13 @@ class ImageBitmapLoader extends Loader {
|
|
|
48863
49042
|
|
|
48864
49043
|
if ( typeof createImageBitmap === 'undefined' ) {
|
|
48865
49044
|
|
|
48866
|
-
|
|
49045
|
+
warn( 'ImageBitmapLoader: createImageBitmap() not supported.' );
|
|
48867
49046
|
|
|
48868
49047
|
}
|
|
48869
49048
|
|
|
48870
49049
|
if ( typeof fetch === 'undefined' ) {
|
|
48871
49050
|
|
|
48872
|
-
|
|
49051
|
+
warn( 'ImageBitmapLoader: fetch() not supported.' );
|
|
48873
49052
|
|
|
48874
49053
|
}
|
|
48875
49054
|
|
|
@@ -48893,7 +49072,7 @@ class ImageBitmapLoader extends Loader {
|
|
|
48893
49072
|
|
|
48894
49073
|
/**
|
|
48895
49074
|
* Sets the given loader options. The structure of the object must match the `options` parameter of
|
|
48896
|
-
* [createImageBitmap]
|
|
49075
|
+
* [createImageBitmap](https://developer.mozilla.org/en-US/docs/Web/API/Window/createImageBitmap).
|
|
48897
49076
|
*
|
|
48898
49077
|
* @param {Object} options - The loader options to set.
|
|
48899
49078
|
* @return {ImageBitmapLoader} A reference to this image bitmap loader.
|
|
@@ -49149,7 +49328,7 @@ class AudioLoader extends Loader {
|
|
|
49149
49328
|
|
|
49150
49329
|
} else {
|
|
49151
49330
|
|
|
49152
|
-
|
|
49331
|
+
error( e );
|
|
49153
49332
|
|
|
49154
49333
|
}
|
|
49155
49334
|
|
|
@@ -49168,8 +49347,8 @@ const _projectionMatrix = /*@__PURE__*/ new Matrix4();
|
|
|
49168
49347
|
/**
|
|
49169
49348
|
* A special type of camera that uses two perspective cameras with
|
|
49170
49349
|
* stereoscopic projection. Can be used for rendering stereo effects
|
|
49171
|
-
* like [3D Anaglyph]
|
|
49172
|
-
* [Parallax Barrier]
|
|
49350
|
+
* like [3D Anaglyph](https://en.wikipedia.org/wiki/Anaglyph_3D) or
|
|
49351
|
+
* [Parallax Barrier](https://en.wikipedia.org/wiki/parallax_barrier).
|
|
49173
49352
|
*/
|
|
49174
49353
|
class StereoCamera {
|
|
49175
49354
|
|
|
@@ -49692,7 +49871,7 @@ class AudioListener extends Object3D {
|
|
|
49692
49871
|
/**
|
|
49693
49872
|
* Represents a non-positional ( global ) audio object.
|
|
49694
49873
|
*
|
|
49695
|
-
* This and related audio modules make use of the [Web Audio API]
|
|
49874
|
+
* This and related audio modules make use of the [Web Audio API](https://www.w3.org/TR/webaudio-1.1/).
|
|
49696
49875
|
*
|
|
49697
49876
|
* ```js
|
|
49698
49877
|
* // create an AudioListener and add it to the camera
|
|
@@ -50003,14 +50182,14 @@ class Audio extends Object3D {
|
|
|
50003
50182
|
|
|
50004
50183
|
if ( this.isPlaying === true ) {
|
|
50005
50184
|
|
|
50006
|
-
|
|
50185
|
+
warn( 'Audio: Audio is already playing.' );
|
|
50007
50186
|
return;
|
|
50008
50187
|
|
|
50009
50188
|
}
|
|
50010
50189
|
|
|
50011
50190
|
if ( this.hasPlaybackControl === false ) {
|
|
50012
50191
|
|
|
50013
|
-
|
|
50192
|
+
warn( 'Audio: this Audio has no playback control.' );
|
|
50014
50193
|
return;
|
|
50015
50194
|
|
|
50016
50195
|
}
|
|
@@ -50047,7 +50226,7 @@ class Audio extends Object3D {
|
|
|
50047
50226
|
|
|
50048
50227
|
if ( this.hasPlaybackControl === false ) {
|
|
50049
50228
|
|
|
50050
|
-
|
|
50229
|
+
warn( 'Audio: this Audio has no playback control.' );
|
|
50051
50230
|
return;
|
|
50052
50231
|
|
|
50053
50232
|
}
|
|
@@ -50089,7 +50268,7 @@ class Audio extends Object3D {
|
|
|
50089
50268
|
|
|
50090
50269
|
if ( this.hasPlaybackControl === false ) {
|
|
50091
50270
|
|
|
50092
|
-
|
|
50271
|
+
warn( 'Audio: this Audio has no playback control.' );
|
|
50093
50272
|
return;
|
|
50094
50273
|
|
|
50095
50274
|
}
|
|
@@ -50282,7 +50461,7 @@ class Audio extends Object3D {
|
|
|
50282
50461
|
|
|
50283
50462
|
if ( this.hasPlaybackControl === false ) {
|
|
50284
50463
|
|
|
50285
|
-
|
|
50464
|
+
warn( 'Audio: this Audio has no playback control.' );
|
|
50286
50465
|
return;
|
|
50287
50466
|
|
|
50288
50467
|
}
|
|
@@ -50331,7 +50510,7 @@ class Audio extends Object3D {
|
|
|
50331
50510
|
|
|
50332
50511
|
if ( this.hasPlaybackControl === false ) {
|
|
50333
50512
|
|
|
50334
|
-
|
|
50513
|
+
warn( 'Audio: this Audio has no playback control.' );
|
|
50335
50514
|
return false;
|
|
50336
50515
|
|
|
50337
50516
|
}
|
|
@@ -50352,7 +50531,7 @@ class Audio extends Object3D {
|
|
|
50352
50531
|
|
|
50353
50532
|
if ( this.hasPlaybackControl === false ) {
|
|
50354
50533
|
|
|
50355
|
-
|
|
50534
|
+
warn( 'Audio: this Audio has no playback control.' );
|
|
50356
50535
|
return;
|
|
50357
50536
|
|
|
50358
50537
|
}
|
|
@@ -50430,7 +50609,7 @@ class Audio extends Object3D {
|
|
|
50430
50609
|
|
|
50431
50610
|
if ( source.sourceType !== 'buffer' ) {
|
|
50432
50611
|
|
|
50433
|
-
|
|
50612
|
+
warn( 'Audio: Audio source type cannot be copied.' );
|
|
50434
50613
|
|
|
50435
50614
|
return this;
|
|
50436
50615
|
|
|
@@ -50615,7 +50794,7 @@ class PositionalAudio extends Audio {
|
|
|
50615
50794
|
* Defines which algorithm to use to reduce the volume of the audio source
|
|
50616
50795
|
* as it moves away from the listener.
|
|
50617
50796
|
*
|
|
50618
|
-
* Read [the spec]
|
|
50797
|
+
* Read [the spec](https://www.w3.org/TR/webaudio-1.1/#enumdef-distancemodeltype)
|
|
50619
50798
|
* for more details.
|
|
50620
50799
|
*
|
|
50621
50800
|
* @param {('linear'|'inverse'|'exponential')} value - The distance model to set.
|
|
@@ -51697,7 +51876,7 @@ class PropertyBinding {
|
|
|
51697
51876
|
// ensure there is a value node
|
|
51698
51877
|
if ( ! targetObject ) {
|
|
51699
51878
|
|
|
51700
|
-
|
|
51879
|
+
warn( 'PropertyBinding: No target node found for track: ' + this.path + '.' );
|
|
51701
51880
|
return;
|
|
51702
51881
|
|
|
51703
51882
|
}
|
|
@@ -51713,14 +51892,14 @@ class PropertyBinding {
|
|
|
51713
51892
|
|
|
51714
51893
|
if ( ! targetObject.material ) {
|
|
51715
51894
|
|
|
51716
|
-
|
|
51895
|
+
error( 'PropertyBinding: Can not bind to material as node does not have a material.', this );
|
|
51717
51896
|
return;
|
|
51718
51897
|
|
|
51719
51898
|
}
|
|
51720
51899
|
|
|
51721
51900
|
if ( ! targetObject.material.materials ) {
|
|
51722
51901
|
|
|
51723
|
-
|
|
51902
|
+
error( 'PropertyBinding: Can not bind to material.materials as node.material does not have a materials array.', this );
|
|
51724
51903
|
return;
|
|
51725
51904
|
|
|
51726
51905
|
}
|
|
@@ -51733,7 +51912,7 @@ class PropertyBinding {
|
|
|
51733
51912
|
|
|
51734
51913
|
if ( ! targetObject.skeleton ) {
|
|
51735
51914
|
|
|
51736
|
-
|
|
51915
|
+
error( 'PropertyBinding: Can not bind to bones as node does not have a skeleton.', this );
|
|
51737
51916
|
return;
|
|
51738
51917
|
|
|
51739
51918
|
}
|
|
@@ -51768,14 +51947,14 @@ class PropertyBinding {
|
|
|
51768
51947
|
|
|
51769
51948
|
if ( ! targetObject.material ) {
|
|
51770
51949
|
|
|
51771
|
-
|
|
51950
|
+
error( 'PropertyBinding: Can not bind to material as node does not have a material.', this );
|
|
51772
51951
|
return;
|
|
51773
51952
|
|
|
51774
51953
|
}
|
|
51775
51954
|
|
|
51776
51955
|
if ( ! targetObject.material.map ) {
|
|
51777
51956
|
|
|
51778
|
-
|
|
51957
|
+
error( 'PropertyBinding: Can not bind to material.map as node.material does not have a map.', this );
|
|
51779
51958
|
return;
|
|
51780
51959
|
|
|
51781
51960
|
}
|
|
@@ -51787,7 +51966,7 @@ class PropertyBinding {
|
|
|
51787
51966
|
|
|
51788
51967
|
if ( targetObject[ objectName ] === undefined ) {
|
|
51789
51968
|
|
|
51790
|
-
|
|
51969
|
+
error( 'PropertyBinding: Can not bind to objectName of node undefined.', this );
|
|
51791
51970
|
return;
|
|
51792
51971
|
|
|
51793
51972
|
}
|
|
@@ -51801,7 +51980,7 @@ class PropertyBinding {
|
|
|
51801
51980
|
|
|
51802
51981
|
if ( targetObject[ objectIndex ] === undefined ) {
|
|
51803
51982
|
|
|
51804
|
-
|
|
51983
|
+
error( 'PropertyBinding: Trying to bind to objectIndex of objectName, but is undefined.', this, targetObject );
|
|
51805
51984
|
return;
|
|
51806
51985
|
|
|
51807
51986
|
}
|
|
@@ -51819,7 +51998,7 @@ class PropertyBinding {
|
|
|
51819
51998
|
|
|
51820
51999
|
const nodeName = parsedPath.nodeName;
|
|
51821
52000
|
|
|
51822
|
-
|
|
52001
|
+
error( 'PropertyBinding: Trying to update property for track: ' + nodeName +
|
|
51823
52002
|
'.' + propertyName + ' but it wasn\'t found.', targetObject );
|
|
51824
52003
|
return;
|
|
51825
52004
|
|
|
@@ -51854,14 +52033,14 @@ class PropertyBinding {
|
|
|
51854
52033
|
// support resolving morphTarget names into indices.
|
|
51855
52034
|
if ( ! targetObject.geometry ) {
|
|
51856
52035
|
|
|
51857
|
-
|
|
52036
|
+
error( 'PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.', this );
|
|
51858
52037
|
return;
|
|
51859
52038
|
|
|
51860
52039
|
}
|
|
51861
52040
|
|
|
51862
52041
|
if ( ! targetObject.geometry.morphAttributes ) {
|
|
51863
52042
|
|
|
51864
|
-
|
|
52043
|
+
error( 'PropertyBinding: Can not bind to morphTargetInfluences because node does not have a geometry.morphAttributes.', this );
|
|
51865
52044
|
return;
|
|
51866
52045
|
|
|
51867
52046
|
}
|
|
@@ -52153,7 +52332,7 @@ class AnimationObjectGroup {
|
|
|
52153
52332
|
|
|
52154
52333
|
} else if ( objects[ index ] !== knownObject ) {
|
|
52155
52334
|
|
|
52156
|
-
|
|
52335
|
+
error( 'AnimationObjectGroup: Different objects with the same UUID ' +
|
|
52157
52336
|
'detected. Clean the caches or recreate your infrastructure when reloading scenes.' );
|
|
52158
52337
|
|
|
52159
52338
|
} // else the object is already where we want it to be
|
|
@@ -53948,7 +54127,7 @@ class AnimationMixer extends EventDispatcher {
|
|
|
53948
54127
|
/**
|
|
53949
54128
|
* Deactivates all previously scheduled actions on this mixer.
|
|
53950
54129
|
*
|
|
53951
|
-
* @return {AnimationMixer} A reference to
|
|
54130
|
+
* @return {AnimationMixer} A reference to this animation mixer.
|
|
53952
54131
|
*/
|
|
53953
54132
|
stopAllAction() {
|
|
53954
54133
|
|
|
@@ -53972,7 +54151,7 @@ class AnimationMixer extends EventDispatcher {
|
|
|
53972
54151
|
* time from {@link Clock} or {@link Timer}.
|
|
53973
54152
|
*
|
|
53974
54153
|
* @param {number} deltaTime - The delta time in seconds.
|
|
53975
|
-
* @return {AnimationMixer} A reference to
|
|
54154
|
+
* @return {AnimationMixer} A reference to this animation mixer.
|
|
53976
54155
|
*/
|
|
53977
54156
|
update( deltaTime ) {
|
|
53978
54157
|
|
|
@@ -54018,7 +54197,7 @@ class AnimationMixer extends EventDispatcher {
|
|
|
54018
54197
|
* input parameter will be scaled by {@link AnimationMixer#timeScale}
|
|
54019
54198
|
*
|
|
54020
54199
|
* @param {number} time - The time to set in seconds.
|
|
54021
|
-
* @return {AnimationMixer} A reference to
|
|
54200
|
+
* @return {AnimationMixer} A reference to this animation mixer.
|
|
54022
54201
|
*/
|
|
54023
54202
|
setTime( time ) {
|
|
54024
54203
|
|
|
@@ -54793,7 +54972,7 @@ class Raycaster {
|
|
|
54793
54972
|
|
|
54794
54973
|
} else {
|
|
54795
54974
|
|
|
54796
|
-
|
|
54975
|
+
error( 'Raycaster: Unsupported camera type: ' + camera.type );
|
|
54797
54976
|
|
|
54798
54977
|
}
|
|
54799
54978
|
|
|
@@ -55105,7 +55284,7 @@ function handleVisibilityChange() {
|
|
|
55105
55284
|
|
|
55106
55285
|
/**
|
|
55107
55286
|
* This class can be used to represent points in 3D space as
|
|
55108
|
-
* [Spherical coordinates]
|
|
55287
|
+
* [Spherical coordinates](https://en.wikipedia.org/wiki/Spherical_coordinate_system).
|
|
55109
55288
|
*/
|
|
55110
55289
|
class Spherical {
|
|
55111
55290
|
|
|
@@ -55249,7 +55428,7 @@ class Spherical {
|
|
|
55249
55428
|
|
|
55250
55429
|
/**
|
|
55251
55430
|
* This class can be used to represent points in 3D space as
|
|
55252
|
-
* [Cylindrical coordinates]
|
|
55431
|
+
* [Cylindrical coordinates](https://en.wikipedia.org/wiki/Cylindrical_coordinate_system).
|
|
55253
55432
|
*/
|
|
55254
55433
|
class Cylindrical {
|
|
55255
55434
|
|
|
@@ -55372,7 +55551,7 @@ class Cylindrical {
|
|
|
55372
55551
|
* A Note on Row-Major and Column-Major Ordering:
|
|
55373
55552
|
*
|
|
55374
55553
|
* The constructor and {@link Matrix2#set} method take arguments in
|
|
55375
|
-
* [row-major]
|
|
55554
|
+
* [row-major](https://en.wikipedia.org/wiki/Row-_and_column-major_order#Column-major_order)
|
|
55376
55555
|
* order, while internally they are stored in the {@link Matrix2#elements} array in column-major order.
|
|
55377
55556
|
* This means that calling:
|
|
55378
55557
|
* ```js
|
|
@@ -57108,7 +57287,7 @@ const _camera = /*@__PURE__*/ new Camera();
|
|
|
57108
57287
|
* This helps with visualizing what a camera contains in its frustum. It
|
|
57109
57288
|
* visualizes the frustum of a camera using a line segments.
|
|
57110
57289
|
*
|
|
57111
|
-
* Based on frustum visualization in [lightgl.js shadowmap example]
|
|
57290
|
+
* Based on frustum visualization in [lightgl.js shadowmap example](https://github.com/evanw/lightgl.js/blob/master/tests/shadowmap.html).
|
|
57112
57291
|
*
|
|
57113
57292
|
* `CameraHelper` must be a child of the scene.
|
|
57114
57293
|
*
|
|
@@ -58220,7 +58399,7 @@ class ShapePath {
|
|
|
58220
58399
|
let holesFirst = ! isClockWise( subPaths[ 0 ].getPoints() );
|
|
58221
58400
|
holesFirst = isCCW ? ! holesFirst : holesFirst;
|
|
58222
58401
|
|
|
58223
|
-
//
|
|
58402
|
+
// log("Holes first", holesFirst);
|
|
58224
58403
|
|
|
58225
58404
|
const betterShapeHoles = [];
|
|
58226
58405
|
const newShapes = [];
|
|
@@ -58248,13 +58427,13 @@ class ShapePath {
|
|
|
58248
58427
|
if ( holesFirst ) mainIdx ++;
|
|
58249
58428
|
newShapeHoles[ mainIdx ] = [];
|
|
58250
58429
|
|
|
58251
|
-
//
|
|
58430
|
+
//log('cw', i);
|
|
58252
58431
|
|
|
58253
58432
|
} else {
|
|
58254
58433
|
|
|
58255
58434
|
newShapeHoles[ mainIdx ].push( { h: tmpPath, p: tmpPoints[ 0 ] } );
|
|
58256
58435
|
|
|
58257
|
-
//
|
|
58436
|
+
//log('ccw', i);
|
|
58258
58437
|
|
|
58259
58438
|
}
|
|
58260
58439
|
|
|
@@ -58339,7 +58518,7 @@ class ShapePath {
|
|
|
58339
58518
|
|
|
58340
58519
|
}
|
|
58341
58520
|
|
|
58342
|
-
//
|
|
58521
|
+
//log("shape", shapes);
|
|
58343
58522
|
|
|
58344
58523
|
return shapes;
|
|
58345
58524
|
|
|
@@ -58359,7 +58538,7 @@ class Controls extends EventDispatcher {
|
|
|
58359
58538
|
* Constructs a new controls instance.
|
|
58360
58539
|
*
|
|
58361
58540
|
* @param {Object3D} object - The object that is managed by the controls.
|
|
58362
|
-
* @param {?
|
|
58541
|
+
* @param {?HTMLElement} domElement - The HTML element used for event listeners.
|
|
58363
58542
|
*/
|
|
58364
58543
|
constructor( object, domElement = null ) {
|
|
58365
58544
|
|
|
@@ -58375,7 +58554,7 @@ class Controls extends EventDispatcher {
|
|
|
58375
58554
|
/**
|
|
58376
58555
|
* The HTML element used for event listeners.
|
|
58377
58556
|
*
|
|
58378
|
-
* @type {?
|
|
58557
|
+
* @type {?HTMLElement}
|
|
58379
58558
|
* @default null
|
|
58380
58559
|
*/
|
|
58381
58560
|
this.domElement = domElement;
|
|
@@ -58425,13 +58604,13 @@ class Controls extends EventDispatcher {
|
|
|
58425
58604
|
* Connects the controls to the DOM. This method has so called "side effects" since
|
|
58426
58605
|
* it adds the module's event listeners to the DOM.
|
|
58427
58606
|
*
|
|
58428
|
-
* @param {
|
|
58607
|
+
* @param {HTMLElement} element - The DOM element to connect to.
|
|
58429
58608
|
*/
|
|
58430
58609
|
connect( element ) {
|
|
58431
58610
|
|
|
58432
58611
|
if ( element === undefined ) {
|
|
58433
58612
|
|
|
58434
|
-
|
|
58613
|
+
warn( 'Controls: connect() now requires an element.' ); // @deprecated, the warning can be removed with r185
|
|
58435
58614
|
return;
|
|
58436
58615
|
|
|
58437
58616
|
}
|
|
@@ -58765,7 +58944,7 @@ if ( typeof window !== 'undefined' ) {
|
|
|
58765
58944
|
|
|
58766
58945
|
if ( window.__THREE__ ) {
|
|
58767
58946
|
|
|
58768
|
-
|
|
58947
|
+
warn( 'WARNING: Multiple instances of Three.js being imported.' );
|
|
58769
58948
|
|
|
58770
58949
|
} else {
|
|
58771
58950
|
|
|
@@ -58775,4 +58954,4 @@ if ( typeof window !== 'undefined' ) {
|
|
|
58775
58954
|
|
|
58776
58955
|
}
|
|
58777
58956
|
|
|
58778
|
-
export { ACESFilmicToneMapping, AddEquation, AddOperation, AdditiveAnimationBlendMode, AdditiveBlending, AgXToneMapping, AlphaFormat, AlwaysCompare, AlwaysDepth, AlwaysStencilFunc, AmbientLight, AnimationAction, AnimationClip, AnimationLoader, AnimationMixer, AnimationObjectGroup, AnimationUtils, ArcCurve, ArrayCamera, ArrowHelper, AttachedBindMode, Audio, AudioAnalyser, AudioContext, AudioListener, AudioLoader, AxesHelper, BackSide, BasicDepthPacking, BasicShadowMap, BatchedMesh, Bone, BooleanKeyframeTrack, Box2, Box3, Box3Helper, BoxGeometry, BoxHelper, BufferAttribute, BufferGeometry, BufferGeometryLoader, ByteType, Cache, Camera, CameraHelper, CanvasTexture, CapsuleGeometry, CatmullRomCurve3, CineonToneMapping, CircleGeometry, ClampToEdgeWrapping, Clock, Color, ColorKeyframeTrack, ColorManagement, CompressedArrayTexture, CompressedCubeTexture, CompressedTexture, CompressedTextureLoader, ConeGeometry, ConstantAlphaFactor, ConstantColorFactor, Controls, CubeCamera, CubeReflectionMapping, CubeRefractionMapping, CubeTexture, CubeTextureLoader, CubeUVReflectionMapping, CubicBezierCurve, CubicBezierCurve3, CubicInterpolant, CullFaceBack, CullFaceFront, CullFaceFrontBack, CullFaceNone, Curve, CurvePath, CustomBlending, CustomToneMapping, CylinderGeometry, Cylindrical, CylindricalMapping, Data3DTexture, DataArrayTexture, DataTexture, DataTextureLoader, DataUtils, DecrementStencilOp, DecrementWrapStencilOp, DefaultLoadingManager, DepthFormat, DepthStencilFormat, DepthTexture, DetachedBindMode, DirectionalLight, DirectionalLightHelper, DiscreteInterpolant, DodecahedronGeometry, DoubleSide, DstAlphaFactor, DstColorFactor, DynamicCopyUsage, DynamicDrawUsage, DynamicReadUsage, EdgesGeometry, EllipseCurve, EqualCompare, EqualDepth, EqualStencilFunc, EquirectangularReflectionMapping, EquirectangularRefractionMapping, Euler, EventDispatcher, ExternalTexture, ExtrudeGeometry, FileLoader, Float16BufferAttribute, Float32BufferAttribute, FloatType, Fog, FogExp2, FramebufferTexture, FrontSide, Frustum, FrustumArray, GLBufferAttribute, GLSL1, GLSL3, GreaterCompare, GreaterDepth, GreaterEqualCompare, GreaterEqualDepth, GreaterEqualStencilFunc, GreaterStencilFunc, GridHelper, Group, HalfFloatType, HemisphereLight, HemisphereLightHelper, IcosahedronGeometry, ImageBitmapLoader, ImageLoader, ImageUtils, IncrementStencilOp, IncrementWrapStencilOp, InstancedBufferAttribute, InstancedBufferGeometry, InstancedInterleavedBuffer, InstancedMesh, Int16BufferAttribute, Int32BufferAttribute, Int8BufferAttribute, IntType, InterleavedBuffer, InterleavedBufferAttribute, Interpolant, InterpolateDiscrete, InterpolateLinear, InterpolateSmooth, InterpolationSamplingMode, InterpolationSamplingType, InvertStencilOp, KeepStencilOp, KeyframeTrack, LOD, LatheGeometry, Layers, LessCompare, LessDepth, LessEqualCompare, LessEqualDepth, LessEqualStencilFunc, LessStencilFunc, Light, LightProbe, Line, Line3, LineBasicMaterial, LineCurve, LineCurve3, LineDashedMaterial, LineLoop, LineSegments, LinearFilter, LinearInterpolant, LinearMipMapLinearFilter, LinearMipMapNearestFilter, LinearMipmapLinearFilter, LinearMipmapNearestFilter, LinearSRGBColorSpace, LinearToneMapping, LinearTransfer, Loader, LoaderUtils, LoadingManager, LoopOnce, LoopPingPong, LoopRepeat, MOUSE, Material, MaterialLoader, MathUtils, Matrix2, Matrix3, Matrix4, MaxEquation, Mesh, MeshBasicMaterial, MeshDepthMaterial, MeshDistanceMaterial, MeshLambertMaterial, MeshMatcapMaterial, MeshNormalMaterial, MeshPhongMaterial, MeshPhysicalMaterial, MeshStandardMaterial, MeshToonMaterial, MinEquation, MirroredRepeatWrapping, MixOperation, MultiplyBlending, MultiplyOperation, NearestFilter, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NearestMipmapLinearFilter, NearestMipmapNearestFilter, NeutralToneMapping, NeverCompare, NeverDepth, NeverStencilFunc, NoBlending, NoColorSpace, NoToneMapping, NormalAnimationBlendMode, NormalBlending, NotEqualCompare, NotEqualDepth, NotEqualStencilFunc, NumberKeyframeTrack, Object3D, ObjectLoader, ObjectSpaceNormalMap, OctahedronGeometry, OneFactor, OneMinusConstantAlphaFactor, OneMinusConstantColorFactor, OneMinusDstAlphaFactor, OneMinusDstColorFactor, OneMinusSrcAlphaFactor, OneMinusSrcColorFactor, OrthographicCamera, PCFShadowMap, PCFSoftShadowMap, Path, PerspectiveCamera, Plane, PlaneGeometry, PlaneHelper, PointLight, PointLightHelper, Points, PointsMaterial, PolarGridHelper, PolyhedronGeometry, PositionalAudio, PropertyBinding, PropertyMixer, QuadraticBezierCurve, QuadraticBezierCurve3, Quaternion, QuaternionKeyframeTrack, QuaternionLinearInterpolant, RAD2DEG, RED_GREEN_RGTC2_Format, RED_RGTC1_Format, REVISION, RGBADepthPacking, RGBAFormat, RGBAIntegerFormat, RGBA_ASTC_10x10_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_BPTC_Format, RGBA_ETC2_EAC_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGBDepthPacking, RGBFormat, RGBIntegerFormat, RGB_BPTC_SIGNED_Format, RGB_BPTC_UNSIGNED_Format, RGB_ETC1_Format, RGB_ETC2_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGB_S3TC_DXT1_Format, RGDepthPacking, RGFormat, RGIntegerFormat, RawShaderMaterial, Ray, Raycaster, RectAreaLight, RedFormat, RedIntegerFormat, ReinhardToneMapping, RenderTarget, RenderTarget3D, RepeatWrapping, ReplaceStencilOp, ReverseSubtractEquation, RingGeometry, SIGNED_RED_GREEN_RGTC2_Format, SIGNED_RED_RGTC1_Format, SRGBColorSpace, SRGBTransfer, Scene, ShaderMaterial, ShadowMaterial, Shape, ShapeGeometry, ShapePath, ShapeUtils, ShortType, Skeleton, SkeletonHelper, SkinnedMesh, Source, Sphere, SphereGeometry, Spherical, SphericalHarmonics3, SplineCurve, SpotLight, SpotLightHelper, Sprite, SpriteMaterial, SrcAlphaFactor, SrcAlphaSaturateFactor, SrcColorFactor, StaticCopyUsage, StaticDrawUsage, StaticReadUsage, StereoCamera, StreamCopyUsage, StreamDrawUsage, StreamReadUsage, StringKeyframeTrack, SubtractEquation, SubtractiveBlending, TOUCH, TangentSpaceNormalMap, TetrahedronGeometry, Texture, TextureLoader, TextureUtils, Timer, TimestampQuery, TorusGeometry, TorusKnotGeometry, TriPlanarMapping, Triangle, TriangleFanDrawMode, TriangleStripDrawMode, TrianglesDrawMode, TubeGeometry, UVMapping, Uint16BufferAttribute, Uint32BufferAttribute, Uint8BufferAttribute, Uint8ClampedBufferAttribute, Uniform, UniformsGroup, UniformsUtils, UnsignedByteType, UnsignedInt101111Type, UnsignedInt248Type, UnsignedInt5999Type, UnsignedIntType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedShortType, VSMShadowMap, Vector2, Vector3, Vector4, VectorKeyframeTrack, VideoFrameTexture, VideoTexture, WebGL3DRenderTarget, WebGLArrayRenderTarget, WebGLCoordinateSystem, WebGLCubeRenderTarget, WebGLRenderTarget, WebGPUCoordinateSystem, WebXRController, WireframeGeometry, WrapAroundEnding, ZeroCurvatureEnding, ZeroFactor, ZeroSlopeEnding, ZeroStencilOp, arrayNeedsUint32, cloneUniforms, createCanvasElement, createElementNS, getByteLength, getUnlitUniformColorSpace, mergeUniforms, probeAsync, warnOnce };
|
|
58957
|
+
export { ACESFilmicToneMapping, AddEquation, AddOperation, AdditiveAnimationBlendMode, AdditiveBlending, AgXToneMapping, AlphaFormat, AlwaysCompare, AlwaysDepth, AlwaysStencilFunc, AmbientLight, AnimationAction, AnimationClip, AnimationLoader, AnimationMixer, AnimationObjectGroup, AnimationUtils, ArcCurve, ArrayCamera, ArrowHelper, AttachedBindMode, Audio, AudioAnalyser, AudioContext, AudioListener, AudioLoader, AxesHelper, BackSide, BasicDepthPacking, BasicShadowMap, BatchedMesh, Bone, BooleanKeyframeTrack, Box2, Box3, Box3Helper, BoxGeometry, BoxHelper, BufferAttribute, BufferGeometry, BufferGeometryLoader, ByteType, Cache, Camera, CameraHelper, CanvasTexture, CapsuleGeometry, CatmullRomCurve3, CineonToneMapping, CircleGeometry, ClampToEdgeWrapping, Clock, Color, ColorKeyframeTrack, ColorManagement, CompressedArrayTexture, CompressedCubeTexture, CompressedTexture, CompressedTextureLoader, ConeGeometry, ConstantAlphaFactor, ConstantColorFactor, Controls, CubeCamera, CubeReflectionMapping, CubeRefractionMapping, CubeTexture, CubeTextureLoader, CubeUVReflectionMapping, CubicBezierCurve, CubicBezierCurve3, CubicInterpolant, CullFaceBack, CullFaceFront, CullFaceFrontBack, CullFaceNone, Curve, CurvePath, CustomBlending, CustomToneMapping, CylinderGeometry, Cylindrical, CylindricalMapping, Data3DTexture, DataArrayTexture, DataTexture, DataTextureLoader, DataUtils, DecrementStencilOp, DecrementWrapStencilOp, DefaultLoadingManager, DepthFormat, DepthStencilFormat, DepthTexture, DetachedBindMode, DirectionalLight, DirectionalLightHelper, DiscreteInterpolant, DodecahedronGeometry, DoubleSide, DstAlphaFactor, DstColorFactor, DynamicCopyUsage, DynamicDrawUsage, DynamicReadUsage, EdgesGeometry, EllipseCurve, EqualCompare, EqualDepth, EqualStencilFunc, EquirectangularReflectionMapping, EquirectangularRefractionMapping, Euler, EventDispatcher, ExternalTexture, ExtrudeGeometry, FileLoader, Float16BufferAttribute, Float32BufferAttribute, FloatType, Fog, FogExp2, FramebufferTexture, FrontSide, Frustum, FrustumArray, GLBufferAttribute, GLSL1, GLSL3, GreaterCompare, GreaterDepth, GreaterEqualCompare, GreaterEqualDepth, GreaterEqualStencilFunc, GreaterStencilFunc, GridHelper, Group, HalfFloatType, HemisphereLight, HemisphereLightHelper, IcosahedronGeometry, ImageBitmapLoader, ImageLoader, ImageUtils, IncrementStencilOp, IncrementWrapStencilOp, InstancedBufferAttribute, InstancedBufferGeometry, InstancedInterleavedBuffer, InstancedMesh, Int16BufferAttribute, Int32BufferAttribute, Int8BufferAttribute, IntType, InterleavedBuffer, InterleavedBufferAttribute, Interpolant, InterpolateDiscrete, InterpolateLinear, InterpolateSmooth, InterpolationSamplingMode, InterpolationSamplingType, InvertStencilOp, KeepStencilOp, KeyframeTrack, LOD, LatheGeometry, Layers, LessCompare, LessDepth, LessEqualCompare, LessEqualDepth, LessEqualStencilFunc, LessStencilFunc, Light, LightProbe, Line, Line3, LineBasicMaterial, LineCurve, LineCurve3, LineDashedMaterial, LineLoop, LineSegments, LinearFilter, LinearInterpolant, LinearMipMapLinearFilter, LinearMipMapNearestFilter, LinearMipmapLinearFilter, LinearMipmapNearestFilter, LinearSRGBColorSpace, LinearToneMapping, LinearTransfer, Loader, LoaderUtils, LoadingManager, LoopOnce, LoopPingPong, LoopRepeat, MOUSE, Material, MaterialLoader, MathUtils, Matrix2, Matrix3, Matrix4, MaxEquation, Mesh, MeshBasicMaterial, MeshDepthMaterial, MeshDistanceMaterial, MeshLambertMaterial, MeshMatcapMaterial, MeshNormalMaterial, MeshPhongMaterial, MeshPhysicalMaterial, MeshStandardMaterial, MeshToonMaterial, MinEquation, MirroredRepeatWrapping, MixOperation, MultiplyBlending, MultiplyOperation, NearestFilter, NearestMipMapLinearFilter, NearestMipMapNearestFilter, NearestMipmapLinearFilter, NearestMipmapNearestFilter, NeutralToneMapping, NeverCompare, NeverDepth, NeverStencilFunc, NoBlending, NoColorSpace, NoToneMapping, NormalAnimationBlendMode, NormalBlending, NotEqualCompare, NotEqualDepth, NotEqualStencilFunc, NumberKeyframeTrack, Object3D, ObjectLoader, ObjectSpaceNormalMap, OctahedronGeometry, OneFactor, OneMinusConstantAlphaFactor, OneMinusConstantColorFactor, OneMinusDstAlphaFactor, OneMinusDstColorFactor, OneMinusSrcAlphaFactor, OneMinusSrcColorFactor, OrthographicCamera, PCFShadowMap, PCFSoftShadowMap, Path, PerspectiveCamera, Plane, PlaneGeometry, PlaneHelper, PointLight, PointLightHelper, Points, PointsMaterial, PolarGridHelper, PolyhedronGeometry, PositionalAudio, PropertyBinding, PropertyMixer, QuadraticBezierCurve, QuadraticBezierCurve3, Quaternion, QuaternionKeyframeTrack, QuaternionLinearInterpolant, RAD2DEG, RED_GREEN_RGTC2_Format, RED_RGTC1_Format, REVISION, RGBADepthPacking, RGBAFormat, RGBAIntegerFormat, RGBA_ASTC_10x10_Format, RGBA_ASTC_10x5_Format, RGBA_ASTC_10x6_Format, RGBA_ASTC_10x8_Format, RGBA_ASTC_12x10_Format, RGBA_ASTC_12x12_Format, RGBA_ASTC_4x4_Format, RGBA_ASTC_5x4_Format, RGBA_ASTC_5x5_Format, RGBA_ASTC_6x5_Format, RGBA_ASTC_6x6_Format, RGBA_ASTC_8x5_Format, RGBA_ASTC_8x6_Format, RGBA_ASTC_8x8_Format, RGBA_BPTC_Format, RGBA_ETC2_EAC_Format, RGBA_PVRTC_2BPPV1_Format, RGBA_PVRTC_4BPPV1_Format, RGBA_S3TC_DXT1_Format, RGBA_S3TC_DXT3_Format, RGBA_S3TC_DXT5_Format, RGBDepthPacking, RGBFormat, RGBIntegerFormat, RGB_BPTC_SIGNED_Format, RGB_BPTC_UNSIGNED_Format, RGB_ETC1_Format, RGB_ETC2_Format, RGB_PVRTC_2BPPV1_Format, RGB_PVRTC_4BPPV1_Format, RGB_S3TC_DXT1_Format, RGDepthPacking, RGFormat, RGIntegerFormat, RawShaderMaterial, Ray, Raycaster, RectAreaLight, RedFormat, RedIntegerFormat, ReinhardToneMapping, RenderTarget, RenderTarget3D, RepeatWrapping, ReplaceStencilOp, ReverseSubtractEquation, RingGeometry, SIGNED_RED_GREEN_RGTC2_Format, SIGNED_RED_RGTC1_Format, SRGBColorSpace, SRGBTransfer, Scene, ShaderMaterial, ShadowMaterial, Shape, ShapeGeometry, ShapePath, ShapeUtils, ShortType, Skeleton, SkeletonHelper, SkinnedMesh, Source, Sphere, SphereGeometry, Spherical, SphericalHarmonics3, SplineCurve, SpotLight, SpotLightHelper, Sprite, SpriteMaterial, SrcAlphaFactor, SrcAlphaSaturateFactor, SrcColorFactor, StaticCopyUsage, StaticDrawUsage, StaticReadUsage, StereoCamera, StreamCopyUsage, StreamDrawUsage, StreamReadUsage, StringKeyframeTrack, SubtractEquation, SubtractiveBlending, TOUCH, TangentSpaceNormalMap, TetrahedronGeometry, Texture, TextureLoader, TextureUtils, Timer, TimestampQuery, TorusGeometry, TorusKnotGeometry, TriPlanarMapping, Triangle, TriangleFanDrawMode, TriangleStripDrawMode, TrianglesDrawMode, TubeGeometry, UVMapping, Uint16BufferAttribute, Uint32BufferAttribute, Uint8BufferAttribute, Uint8ClampedBufferAttribute, Uniform, UniformsGroup, UniformsUtils, UnsignedByteType, UnsignedInt101111Type, UnsignedInt248Type, UnsignedInt5999Type, UnsignedIntType, UnsignedShort4444Type, UnsignedShort5551Type, UnsignedShortType, VSMShadowMap, Vector2, Vector3, Vector4, VectorKeyframeTrack, VideoFrameTexture, VideoTexture, WebGL3DRenderTarget, WebGLArrayRenderTarget, WebGLCoordinateSystem, WebGLCubeRenderTarget, WebGLRenderTarget, WebGPUCoordinateSystem, WebXRController, WireframeGeometry, WrapAroundEnding, ZeroCurvatureEnding, ZeroFactor, ZeroSlopeEnding, ZeroStencilOp, arrayNeedsUint32, cloneUniforms, createCanvasElement, createElementNS, error, getByteLength, getConsoleFunction, getUnlitUniformColorSpace, log, mergeUniforms, probeAsync, setConsoleFunction, warn, warnOnce };
|