super-three 0.177.0 → 0.181.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/three.cjs +1994 -749
- package/build/three.core.js +1358 -506
- package/build/three.core.min.js +1 -1
- package/build/three.module.js +631 -247
- package/build/three.module.min.js +1 -1
- package/build/three.tsl.js +113 -33
- package/build/three.tsl.min.js +1 -1
- package/build/three.webgpu.js +9571 -3424
- package/build/three.webgpu.min.js +1 -1
- package/build/three.webgpu.nodes.js +9397 -3426
- 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/Addons.js +2 -3
- package/examples/jsm/animation/CCDIKSolver.js +1 -1
- package/examples/jsm/capabilities/WebGL.js +0 -27
- package/examples/jsm/capabilities/WebGPU.js +1 -1
- package/examples/jsm/controls/ArcballControls.js +9 -9
- package/examples/jsm/controls/DragControls.js +7 -57
- package/examples/jsm/controls/FirstPersonControls.js +3 -3
- package/examples/jsm/controls/FlyControls.js +1 -1
- package/examples/jsm/controls/OrbitControls.js +2 -2
- package/examples/jsm/controls/PointerLockControls.js +2 -10
- package/examples/jsm/controls/TrackballControls.js +1 -1
- package/examples/jsm/controls/TransformControls.js +62 -15
- package/examples/jsm/csm/CSMShadowNode.js +4 -4
- package/examples/jsm/effects/AsciiEffect.js +8 -8
- package/examples/jsm/environments/RoomEnvironment.js +8 -3
- package/examples/jsm/exporters/DRACOExporter.js +2 -2
- package/examples/jsm/exporters/EXRExporter.js +1 -1
- package/examples/jsm/exporters/GLTFExporter.js +33 -25
- package/examples/jsm/exporters/KTX2Exporter.js +4 -2
- package/examples/jsm/exporters/PLYExporter.js +1 -1
- package/examples/jsm/exporters/USDZExporter.js +683 -299
- package/examples/jsm/geometries/DecalGeometry.js +2 -2
- package/examples/jsm/geometries/ParametricGeometry.js +1 -1
- package/examples/jsm/geometries/RoundedBoxGeometry.js +47 -8
- 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 +11 -13
- package/examples/jsm/interactive/InteractiveGroup.js +1 -1
- package/examples/jsm/interactive/SelectionBox.js +30 -0
- package/examples/jsm/libs/ktx-parse.module.js +1 -1
- package/examples/jsm/libs/meshopt_decoder.module.js +75 -58
- package/examples/jsm/lights/LightProbeGenerator.js +14 -3
- package/examples/jsm/lights/RectAreaLightTexturesLib.js +1 -1
- package/examples/jsm/lines/Line2.js +3 -3
- package/examples/jsm/lines/LineGeometry.js +1 -1
- package/examples/jsm/lines/LineSegments2.js +2 -2
- package/examples/jsm/lines/Wireframe.js +2 -2
- package/examples/jsm/lines/WireframeGeometry2.js +1 -1
- package/examples/jsm/lines/webgpu/LineSegments2.js +1 -1
- package/examples/jsm/lines/webgpu/Wireframe.js +1 -1
- package/examples/jsm/loaders/3MFLoader.js +1 -1
- package/examples/jsm/loaders/ColladaLoader.js +4 -4
- package/examples/jsm/loaders/DDSLoader.js +1 -1
- package/examples/jsm/loaders/DRACOLoader.js +73 -22
- package/examples/jsm/loaders/EXRLoader.js +210 -22
- package/examples/jsm/loaders/FBXLoader.js +4 -4
- package/examples/jsm/loaders/FontLoader.js +23 -5
- package/examples/jsm/loaders/GLTFLoader.js +14 -8
- package/examples/jsm/loaders/HDRCubeTextureLoader.js +5 -5
- package/examples/jsm/loaders/HDRLoader.js +486 -0
- package/examples/jsm/loaders/KTX2Loader.js +136 -49
- 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 +233 -34
- package/examples/jsm/loaders/OBJLoader.js +1 -1
- package/examples/jsm/loaders/PDBLoader.js +1 -1
- package/examples/jsm/loaders/RGBELoader.js +7 -473
- package/examples/jsm/loaders/SVGLoader.js +2 -2
- package/examples/jsm/loaders/TTFLoader.js +13 -1
- package/examples/jsm/loaders/USDLoader.js +219 -0
- package/examples/jsm/loaders/USDZLoader.js +4 -892
- package/examples/jsm/loaders/UltraHDRLoader.js +2 -2
- package/examples/jsm/loaders/lwo/IFFParser.js +1 -1
- package/examples/jsm/loaders/usd/USDAParser.js +741 -0
- package/examples/jsm/loaders/usd/USDCParser.js +17 -0
- package/examples/jsm/materials/WoodNodeMaterial.js +533 -0
- package/examples/jsm/math/ColorSpaces.js +19 -1
- package/examples/jsm/math/ConvexHull.js +3 -3
- package/examples/jsm/math/ImprovedNoise.js +1 -1
- package/examples/jsm/math/Lut.js +2 -2
- package/examples/jsm/math/SimplexNoise.js +1 -1
- package/examples/jsm/misc/MD2CharacterComplex.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/misc/Volume.js +1 -1
- package/examples/jsm/modifiers/SimplifyModifier.js +1 -1
- package/examples/jsm/objects/LensflareMesh.js +3 -3
- package/examples/jsm/objects/ReflectorForSSRPass.js +1 -0
- package/examples/jsm/objects/Sky.js +1 -1
- package/examples/jsm/objects/SkyMesh.js +3 -3
- package/examples/jsm/objects/Water.js +3 -3
- package/examples/jsm/objects/WaterMesh.js +6 -6
- package/examples/jsm/physics/RapierPhysics.js +95 -16
- package/examples/jsm/postprocessing/GTAOPass.js +10 -9
- package/examples/jsm/postprocessing/GlitchPass.js +2 -2
- package/examples/jsm/postprocessing/OutlinePass.js +17 -17
- package/examples/jsm/postprocessing/SSAOPass.js +10 -9
- package/examples/jsm/postprocessing/SSRPass.js +37 -8
- 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/UnpackDepthRGBAShader.js +11 -2
- package/examples/jsm/shaders/VignetteShader.js +1 -1
- package/examples/jsm/transpiler/AST.js +381 -30
- package/examples/jsm/transpiler/GLSLDecoder.js +247 -104
- package/examples/jsm/transpiler/Linker.js +327 -0
- package/examples/jsm/transpiler/TSLEncoder.js +196 -92
- package/examples/jsm/transpiler/Transpiler.js +17 -1
- package/examples/jsm/transpiler/TranspilerUtils.js +29 -0
- package/examples/jsm/transpiler/WGSLEncoder.js +812 -0
- package/examples/jsm/tsl/display/AfterImageNode.js +26 -24
- package/examples/jsm/tsl/display/AnamorphicNode.js +28 -4
- package/examples/jsm/tsl/display/BloomNode.js +11 -6
- package/examples/jsm/tsl/display/ChromaticAberrationNode.js +207 -0
- package/examples/jsm/tsl/display/DenoiseNode.js +2 -0
- package/examples/jsm/tsl/display/DepthOfFieldNode.js +446 -90
- package/examples/jsm/tsl/display/GTAONode.js +53 -5
- package/examples/jsm/tsl/display/GaussianBlurNode.js +55 -43
- package/examples/jsm/tsl/display/OutlineNode.js +13 -2
- package/examples/jsm/tsl/display/SSAAPassNode.js +2 -2
- package/examples/jsm/tsl/display/SSGINode.js +654 -0
- package/examples/jsm/tsl/display/SSRNode.js +182 -65
- package/examples/jsm/tsl/display/SSSNode.js +488 -0
- package/examples/jsm/tsl/display/TRAANode.js +578 -0
- package/examples/jsm/tsl/display/boxBlur.js +65 -0
- package/examples/jsm/tsl/display/hashBlur.js +18 -20
- package/examples/jsm/tsl/lighting/TiledLightsNode.js +22 -2
- package/examples/jsm/utils/BufferGeometryUtils.js +1 -1
- package/examples/jsm/utils/ShadowMapViewerGPU.js +12 -5
- package/examples/jsm/webxr/OculusHandModel.js +1 -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 +5 -2
- package/src/Three.TSL.js +112 -32
- package/src/Three.WebGPU.Nodes.js +2 -0
- package/src/Three.WebGPU.js +4 -0
- package/src/animation/AnimationClip.js +20 -4
- package/src/animation/AnimationMixer.js +3 -3
- package/src/animation/AnimationObjectGroup.js +2 -1
- package/src/animation/KeyframeTrack.js +8 -7
- package/src/animation/PropertyBinding.js +12 -11
- package/src/animation/tracks/BooleanKeyframeTrack.js +1 -1
- package/src/animation/tracks/StringKeyframeTrack.js +1 -1
- package/src/audio/Audio.js +10 -9
- package/src/audio/PositionalAudio.js +1 -1
- package/src/cameras/Camera.js +14 -0
- package/src/cameras/OrthographicCamera.js +2 -2
- package/src/cameras/PerspectiveCamera.js +2 -2
- package/src/cameras/StereoCamera.js +2 -2
- package/src/constants.js +13 -5
- package/src/core/BufferAttribute.js +3 -3
- package/src/core/BufferGeometry.js +10 -10
- package/src/core/Clock.js +2 -8
- package/src/core/EventDispatcher.js +1 -1
- package/src/core/GLBufferAttribute.js +13 -1
- package/src/core/InterleavedBuffer.js +1 -1
- package/src/core/InterleavedBufferAttribute.js +3 -2
- package/src/core/Object3D.js +4 -3
- package/src/core/Raycaster.js +2 -1
- package/src/core/RenderTarget.js +10 -1
- package/{examples/jsm/misc → src/core}/Timer.js +4 -42
- 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 +279 -55
- package/src/extras/TextureUtils.js +2 -1
- package/src/extras/core/Curve.js +2 -1
- package/src/extras/core/Interpolations.js +7 -1
- package/src/extras/core/Path.js +22 -22
- package/src/extras/core/ShapePath.js +4 -4
- package/src/extras/lib/earcut.js +8 -8
- 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 +42 -12
- package/src/helpers/SkeletonHelper.js +35 -6
- package/src/lights/LightShadow.js +21 -8
- package/src/lights/PointLightShadow.js +1 -1
- package/src/lights/webgpu/ProjectorLight.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 +29 -5
- package/src/loaders/ImageBitmapLoader.js +32 -8
- package/src/loaders/ImageLoader.js +56 -9
- package/src/loaders/Loader.js +17 -3
- package/src/loaders/LoadingManager.js +45 -0
- 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 +16 -3
- package/src/materials/MeshBasicMaterial.js +2 -1
- package/src/materials/MeshDepthMaterial.js +1 -0
- package/src/materials/MeshDistanceMaterial.js +1 -1
- 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 -10
- package/src/materials/nodes/MeshBasicNodeMaterial.js +4 -3
- package/src/materials/nodes/MeshMatcapNodeMaterial.js +1 -1
- package/src/materials/nodes/MeshNormalNodeMaterial.js +2 -2
- package/src/materials/nodes/MeshPhysicalNodeMaterial.js +2 -1
- package/src/materials/nodes/MeshSSSNodeMaterial.js +3 -3
- package/src/materials/nodes/NodeMaterial.js +90 -27
- package/src/materials/nodes/PointsNodeMaterial.js +86 -28
- package/src/materials/nodes/SpriteNodeMaterial.js +3 -15
- package/src/materials/nodes/manager/NodeMaterialObserver.js +89 -3
- package/src/math/Color.js +6 -5
- package/src/math/ColorManagement.js +9 -3
- package/src/math/Cylindrical.js +1 -1
- package/src/math/Euler.js +2 -1
- package/src/math/Frustum.js +25 -9
- package/src/math/FrustumArray.js +10 -5
- package/src/math/Line3.js +129 -2
- 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 +55 -34
- package/src/math/Plane.js +1 -1
- package/src/math/Quaternion.js +69 -67
- package/src/math/Spherical.js +3 -3
- package/src/nodes/Nodes.js +6 -4
- package/src/nodes/TSL.js +9 -4
- package/src/nodes/accessors/AccessorsUtils.js +7 -8
- package/src/nodes/accessors/Bitangent.js +31 -25
- package/src/nodes/accessors/BufferNode.js +1 -1
- package/src/nodes/accessors/Camera.js +142 -16
- package/src/nodes/accessors/ClippingNode.js +6 -5
- package/src/nodes/accessors/CubeTextureNode.js +5 -4
- package/src/nodes/accessors/InstanceNode.js +25 -5
- package/src/nodes/accessors/Lights.js +10 -0
- package/src/nodes/accessors/Normal.js +97 -30
- package/src/nodes/accessors/Object3DNode.js +2 -2
- package/src/nodes/accessors/Position.js +25 -9
- package/src/nodes/accessors/ReferenceBaseNode.js +1 -1
- package/src/nodes/accessors/ReferenceNode.js +20 -4
- package/src/nodes/accessors/ReflectVector.js +3 -3
- package/src/nodes/accessors/SceneNode.js +3 -2
- package/src/nodes/accessors/StorageBufferNode.js +2 -1
- package/src/nodes/accessors/StorageTextureNode.js +23 -1
- package/src/nodes/accessors/Tangent.js +25 -17
- package/src/nodes/accessors/TangentUtils.js +46 -0
- package/src/nodes/accessors/Texture3DNode.js +14 -1
- package/src/nodes/accessors/TextureBicubic.js +21 -3
- package/src/nodes/accessors/TextureNode.js +142 -44
- package/src/nodes/accessors/UniformArrayNode.js +0 -16
- package/src/nodes/code/FunctionCallNode.js +24 -4
- package/src/nodes/code/FunctionNode.js +23 -0
- package/src/nodes/core/ArrayNode.js +13 -0
- package/src/nodes/core/AssignNode.js +6 -2
- package/src/nodes/core/AttributeNode.js +2 -1
- package/src/nodes/core/ContextNode.js +48 -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} +36 -17
- package/src/nodes/core/Node.js +167 -34
- package/src/nodes/core/NodeBuilder.js +404 -120
- package/src/nodes/core/NodeFrame.js +21 -21
- package/src/nodes/core/NodeFunction.js +2 -1
- package/src/nodes/core/NodeParser.js +2 -1
- package/src/nodes/core/NodeUniform.js +1 -1
- package/src/nodes/core/NodeUtils.js +17 -88
- package/src/nodes/core/ParameterNode.js +31 -0
- package/src/nodes/core/PropertyNode.js +7 -0
- package/src/nodes/core/StackNode.js +77 -30
- package/src/nodes/core/StructNode.js +5 -5
- package/src/nodes/core/StructTypeNode.js +1 -0
- package/src/nodes/core/SubBuildNode.js +89 -0
- package/src/nodes/core/UniformNode.js +80 -14
- package/src/nodes/core/VarNode.js +142 -16
- package/src/nodes/core/VaryingNode.js +9 -6
- package/src/nodes/display/BlendModes.js +7 -6
- package/src/nodes/display/BumpMapNode.js +1 -1
- package/src/nodes/display/ColorAdjustment.js +1 -1
- package/src/nodes/display/FrontFacingNode.js +35 -7
- package/src/nodes/display/NormalMapNode.js +20 -50
- package/src/nodes/display/PassNode.js +206 -17
- package/src/nodes/display/RenderOutputNode.js +28 -2
- package/src/nodes/display/ScreenNode.js +44 -40
- package/src/nodes/display/ToneMappingNode.js +31 -4
- package/src/nodes/display/ToonOutlinePassNode.js +8 -0
- package/src/nodes/display/ViewportDepthTextureNode.js +16 -4
- package/src/nodes/display/ViewportSharedTextureNode.js +12 -0
- package/src/nodes/display/ViewportTextureNode.js +94 -4
- package/src/nodes/fog/Fog.js +3 -2
- package/src/nodes/functions/BSDF/BRDF_GGX.js +2 -6
- package/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +52 -0
- package/src/nodes/functions/BSDF/BRDF_Sheen.js +4 -4
- package/src/nodes/functions/BSDF/DFGApprox.js +60 -19
- package/src/nodes/functions/BasicLightingModel.js +2 -1
- package/src/nodes/functions/PhongLightingModel.js +3 -3
- package/src/nodes/functions/PhysicalLightingModel.js +19 -18
- package/src/nodes/functions/VolumetricLightingModel.js +5 -5
- package/src/nodes/functions/material/getGeometryRoughness.js +2 -2
- package/src/nodes/geometry/RangeNode.js +40 -4
- package/src/nodes/gpgpu/AtomicFunctionNode.js +1 -1
- package/src/nodes/gpgpu/ComputeBuiltinNode.js +2 -1
- package/src/nodes/gpgpu/ComputeNode.js +81 -25
- package/src/nodes/gpgpu/SubgroupFunctionNode.js +455 -0
- package/src/nodes/gpgpu/WorkgroupInfoNode.js +29 -3
- package/src/nodes/lighting/EnvironmentNode.js +11 -11
- package/src/nodes/lighting/LightsNode.js +7 -8
- package/src/nodes/lighting/PointShadowNode.js +6 -0
- package/src/nodes/lighting/ProjectorLightNode.js +19 -6
- package/src/nodes/lighting/ShadowFilterNode.js +3 -1
- package/src/nodes/lighting/ShadowNode.js +77 -10
- package/src/nodes/materialx/MaterialXNodes.js +131 -2
- package/src/nodes/materialx/lib/mx_noise.js +165 -1
- package/src/nodes/math/BitcastNode.js +156 -0
- package/src/nodes/math/ConditionalNode.js +25 -27
- package/src/nodes/math/MathNode.js +106 -65
- package/src/nodes/math/OperatorNode.js +28 -43
- package/src/nodes/pmrem/PMREMUtils.js +117 -2
- package/src/nodes/shapes/Shapes.js +1 -1
- package/src/nodes/tsl/TSLBase.js +6 -2
- package/src/nodes/tsl/TSLCore.js +546 -186
- package/src/nodes/utils/DebugNode.js +3 -2
- package/src/nodes/utils/EquirectUV.js +27 -0
- package/src/nodes/utils/EventNode.js +119 -0
- package/src/nodes/utils/FunctionOverloadingNode.js +37 -19
- package/src/nodes/utils/JoinNode.js +6 -3
- package/src/nodes/utils/LoopNode.js +20 -41
- package/src/nodes/utils/MatcapUV.js +22 -0
- package/src/nodes/utils/MemberNode.js +59 -7
- package/src/nodes/utils/PostProcessingUtils.js +28 -1
- package/src/nodes/utils/RTTNode.js +33 -6
- package/src/nodes/utils/ReflectorNode.js +68 -10
- package/src/nodes/utils/SampleNode.js +91 -0
- package/src/nodes/utils/SplitNode.js +11 -0
- package/src/nodes/utils/Timer.js +0 -47
- package/src/nodes/utils/TriplanarTextures.js +65 -0
- package/src/objects/BatchedMesh.js +6 -4
- package/src/objects/LOD.js +1 -1
- 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 +4 -3
- package/src/renderers/WebGLRenderer.js +77 -66
- package/src/renderers/common/Animation.js +13 -1
- package/src/renderers/common/Attributes.js +1 -1
- package/src/renderers/common/Backend.js +108 -27
- package/src/renderers/common/Background.js +4 -3
- package/src/renderers/common/Bindings.js +76 -19
- package/src/renderers/common/CanvasTarget.js +341 -0
- package/src/renderers/common/ChainMap.js +1 -1
- package/src/renderers/common/Color4.js +2 -2
- package/src/renderers/common/CubeRenderTarget.js +1 -1
- package/src/renderers/common/DataMap.js +1 -1
- 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/Pipelines.js +1 -1
- package/src/renderers/common/PostProcessing.js +61 -25
- package/src/renderers/common/QuadMesh.js +7 -1
- package/src/renderers/common/RenderContext.js +2 -2
- package/src/renderers/common/RenderList.js +7 -3
- package/src/renderers/common/RenderObject.js +84 -5
- package/src/renderers/common/RenderObjects.js +1 -1
- package/src/renderers/common/Renderer.js +486 -255
- package/src/renderers/common/RendererUtils.js +9 -0
- package/src/renderers/common/SampledTexture.js +8 -68
- package/src/renderers/common/Sampler.js +117 -0
- package/src/renderers/common/Storage3DTexture.js +100 -0
- package/src/renderers/common/StorageArrayTexture.js +84 -0
- package/src/renderers/common/StorageTexture.js +27 -0
- package/src/renderers/common/Textures.js +138 -46
- package/src/renderers/common/TimestampQueryPool.js +65 -3
- package/src/renderers/common/UniformsGroup.js +2 -1
- package/src/renderers/common/XRManager.js +63 -24
- package/src/renderers/common/XRRenderTarget.js +21 -4
- package/src/renderers/common/extras/PMREMGenerator.js +161 -66
- package/src/renderers/common/nodes/NodeBuilderState.js +1 -1
- package/src/renderers/common/nodes/NodeLibrary.js +9 -7
- package/src/renderers/common/nodes/NodeSampledTexture.js +0 -12
- 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/ShaderChunk/logdepthbuf_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +21 -11
- package/src/renderers/shaders/ShaderLib/depth.glsl.js +11 -2
- package/src/renderers/shaders/UniformsLib.js +1 -0
- package/src/renderers/shaders/UniformsUtils.js +25 -4
- package/src/renderers/webgl/WebGLAttributes.js +4 -0
- package/src/renderers/webgl/WebGLCapabilities.js +4 -3
- package/src/renderers/webgl/WebGLExtensions.js +2 -25
- package/src/renderers/webgl/WebGLInfo.js +3 -1
- package/src/renderers/webgl/WebGLProgram.js +25 -18
- package/src/renderers/webgl/WebGLPrograms.js +9 -6
- package/src/renderers/webgl/WebGLShadowMap.js +13 -2
- package/src/renderers/webgl/WebGLState.js +17 -16
- package/src/renderers/webgl/WebGLTextures.js +38 -21
- package/src/renderers/webgl/WebGLUniformsGroups.js +5 -3
- package/src/renderers/webgl/WebGLUtils.js +3 -2
- package/src/renderers/webgl-fallback/WebGLBackend.js +245 -182
- package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +184 -30
- package/src/renderers/webgl-fallback/utils/WebGLAttributeUtils.js +4 -0
- package/src/renderers/webgl-fallback/utils/WebGLConstants.js +2 -3
- package/src/renderers/webgl-fallback/utils/WebGLState.js +9 -8
- package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +171 -19
- package/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +51 -22
- package/src/renderers/webgl-fallback/utils/WebGLUtils.js +3 -2
- package/src/renderers/webgpu/WebGPUBackend.js +205 -128
- package/src/renderers/webgpu/WebGPURenderer.Nodes.js +2 -1
- package/src/renderers/webgpu/WebGPURenderer.js +3 -2
- package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +198 -121
- package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +8 -1
- package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +49 -33
- package/src/renderers/webgpu/utils/WebGPUConstants.js +14 -3
- package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +56 -37
- package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +6 -8
- package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +266 -158
- package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +32 -9
- package/src/renderers/webgpu/utils/WebGPUUtils.js +24 -19
- package/src/renderers/webxr/WebXRDepthSensing.js +6 -10
- package/src/renderers/webxr/WebXRManager.js +89 -13
- package/src/textures/ExternalTexture.js +56 -0
- package/src/textures/FramebufferTexture.js +2 -2
- package/src/textures/Source.js +14 -3
- package/src/textures/Texture.js +3 -2
- package/src/textures/VideoTexture.js +29 -2
- package/src/utils.js +67 -3
- package/examples/jsm/loaders/RGBMLoader.js +0 -1148
- package/examples/jsm/tsl/display/TRAAPassNode.js +0 -452
- package/src/nodes/utils/EquirectUVNode.js +0 -65
- package/src/nodes/utils/MatcapUVNode.js +0 -49
- package/src/nodes/utils/TriplanarTexturesNode.js +0 -148
|
@@ -1,56 +1,54 @@
|
|
|
1
|
-
import { float, Fn, vec2, uv, sin, rand, degrees, cos, Loop, vec4,
|
|
1
|
+
import { float, Fn, vec2, uv, sin, rand, degrees, cos, Loop, vec4, premultiplyAlpha, unpremultiplyAlpha, convertToTexture, nodeObject } from 'three/tsl';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* Applies a hash blur effect to the given texture node.
|
|
5
5
|
*
|
|
6
|
+
* The approach of this blur is different compared to Gaussian and box blur since
|
|
7
|
+
* it does not rely on a kernel to apply a convolution. Instead, it reads the base
|
|
8
|
+
* texture multiple times in a random pattern and then averages the samples. A
|
|
9
|
+
* typical artifact of this technique is a slightly noisy appearance of the blur which
|
|
10
|
+
* can be mitigated by increasing the number of iterations (see `repeats` parameter).
|
|
11
|
+
* Compared to Gaussian blur, hash blur requires just a single pass.
|
|
12
|
+
*
|
|
6
13
|
* Reference: {@link https://www.shadertoy.com/view/4lXXWn}.
|
|
7
14
|
*
|
|
15
|
+
* @tsl
|
|
8
16
|
* @function
|
|
9
17
|
* @param {Node<vec4>} textureNode - The texture node that should be blurred.
|
|
10
18
|
* @param {Node<float>} [bluramount=float(0.1)] - This node determines the amount of blur.
|
|
11
19
|
* @param {Object} [options={}] - Additional options for the hash blur effect.
|
|
12
20
|
* @param {Node<float>} [options.repeats=float(45)] - The number of iterations for the blur effect.
|
|
13
|
-
* @param {Node<vec4>} [options.mask=null] - A mask node to control the alpha blending of the blur.
|
|
14
21
|
* @param {boolean} [options.premultipliedAlpha=false] - Whether to use premultiplied alpha for the blur effect.
|
|
15
22
|
* @return {Node<vec4>} The blurred texture node.
|
|
16
23
|
*/
|
|
17
24
|
export const hashBlur = /*#__PURE__*/ Fn( ( [ textureNode, bluramount = float( 0.1 ), options = {} ] ) => {
|
|
18
25
|
|
|
19
|
-
|
|
20
|
-
repeats = float( 45 ),
|
|
21
|
-
mask = null,
|
|
22
|
-
premultipliedAlpha = false
|
|
23
|
-
} = options;
|
|
24
|
-
|
|
25
|
-
const draw = ( uv ) => {
|
|
26
|
-
|
|
27
|
-
let sample = textureNode.sample( uv );
|
|
28
|
-
|
|
29
|
-
if ( mask !== null ) {
|
|
26
|
+
textureNode = convertToTexture( textureNode );
|
|
30
27
|
|
|
31
|
-
|
|
28
|
+
const repeats = nodeObject( options.repeats ) || float( 45 );
|
|
29
|
+
const premultipliedAlpha = options.premultipliedAlpha || false;
|
|
32
30
|
|
|
33
|
-
|
|
31
|
+
const tap = ( uv ) => {
|
|
34
32
|
|
|
35
|
-
|
|
33
|
+
const sample = textureNode.sample( uv );
|
|
36
34
|
|
|
37
|
-
return premultipliedAlpha ?
|
|
35
|
+
return premultipliedAlpha ? premultiplyAlpha( sample ) : sample;
|
|
38
36
|
|
|
39
37
|
};
|
|
40
38
|
|
|
41
39
|
const targetUV = textureNode.uvNode || uv();
|
|
42
|
-
const blurred_image = vec4( 0. )
|
|
40
|
+
const blurred_image = vec4( 0. );
|
|
43
41
|
|
|
44
42
|
Loop( { start: 0., end: repeats, type: 'float' }, ( { i } ) => {
|
|
45
43
|
|
|
46
44
|
const q = vec2( vec2( cos( degrees( i.div( repeats ).mul( 360. ) ) ), sin( degrees( i.div( repeats ).mul( 360. ) ) ) ).mul( rand( vec2( i, targetUV.x.add( targetUV.y ) ) ).add( bluramount ) ) );
|
|
47
45
|
const uv2 = vec2( targetUV.add( q.mul( bluramount ) ) );
|
|
48
|
-
blurred_image.addAssign(
|
|
46
|
+
blurred_image.addAssign( tap( uv2 ) );
|
|
49
47
|
|
|
50
48
|
} );
|
|
51
49
|
|
|
52
50
|
blurred_image.divAssign( repeats );
|
|
53
51
|
|
|
54
|
-
return premultipliedAlpha ?
|
|
52
|
+
return premultipliedAlpha ? unpremultiplyAlpha( blurred_image ) : blurred_image;
|
|
55
53
|
|
|
56
54
|
} );
|
|
@@ -5,6 +5,17 @@ import {
|
|
|
5
5
|
Fn, If, Return, textureLoad, instanceIndex, screenCoordinate, directPointLight
|
|
6
6
|
} from 'three/tsl';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* TSL function that checks if a circle intersects with an axis-aligned bounding box (AABB).
|
|
10
|
+
*
|
|
11
|
+
* @tsl
|
|
12
|
+
* @function
|
|
13
|
+
* @param {Node<vec2>} circleCenter - The center of the circle.
|
|
14
|
+
* @param {Node<float>} radius - The radius of the circle.
|
|
15
|
+
* @param {Node<vec2>} minBounds - The minimum bounds of the AABB.
|
|
16
|
+
* @param {Node<vec2>} maxBounds - The maximum bounds of the AABB.
|
|
17
|
+
* @return {Node<bool>} True if the circle intersects the AABB.
|
|
18
|
+
*/
|
|
8
19
|
export const circleIntersectsAABB = /*@__PURE__*/ Fn( ( [ circleCenter, radius, minBounds, maxBounds ] ) => {
|
|
9
20
|
|
|
10
21
|
// Find the closest point on the AABB to the circle's center using method chaining
|
|
@@ -322,7 +333,7 @@ class TiledLightsNode extends LightsNode {
|
|
|
322
333
|
const lightsTexture = new DataTexture( lightsData, lightsData.length / 8, 2, RGBAFormat, FloatType );
|
|
323
334
|
|
|
324
335
|
const lightIndexesArray = new Int32Array( count * 4 * 2 );
|
|
325
|
-
const lightIndexes = attributeArray( lightIndexesArray, 'ivec4' ).
|
|
336
|
+
const lightIndexes = attributeArray( lightIndexesArray, 'ivec4' ).setName( 'lightIndexes' );
|
|
326
337
|
|
|
327
338
|
// compute
|
|
328
339
|
|
|
@@ -392,7 +403,7 @@ class TiledLightsNode extends LightsNode {
|
|
|
392
403
|
|
|
393
404
|
} );
|
|
394
405
|
|
|
395
|
-
} )().compute( count );
|
|
406
|
+
} )().compute( count ).setName( 'Update Tiled Lights' );
|
|
396
407
|
|
|
397
408
|
// screen coordinate lighting indexes
|
|
398
409
|
|
|
@@ -419,4 +430,13 @@ class TiledLightsNode extends LightsNode {
|
|
|
419
430
|
|
|
420
431
|
export default TiledLightsNode;
|
|
421
432
|
|
|
433
|
+
/**
|
|
434
|
+
* TSL function that creates a tiled lights node.
|
|
435
|
+
*
|
|
436
|
+
* @tsl
|
|
437
|
+
* @function
|
|
438
|
+
* @param {number} [maxLights=1024] - The maximum number of lights.
|
|
439
|
+
* @param {number} [tileSize=32] - The tile size.
|
|
440
|
+
* @return {TiledLightsNode} The tiled lights node.
|
|
441
|
+
*/
|
|
422
442
|
export const tiledLights = /*@__PURE__*/ nodeProxy( TiledLightsNode );
|
|
@@ -446,7 +446,7 @@ function deepCloneAttribute( attribute ) {
|
|
|
446
446
|
* single {@link InterleavedBuffer} instance. All attributes must have compatible types.
|
|
447
447
|
*
|
|
448
448
|
* @param {Array<BufferAttribute>} attributes - The attributes to interleave.
|
|
449
|
-
* @return {Array<InterleavedBufferAttribute>} An array of interleaved attributes. If interleave does not succeed, the method returns `null`.
|
|
449
|
+
* @return {?Array<InterleavedBufferAttribute>} An array of interleaved attributes. If interleave does not succeed, the method returns `null`.
|
|
450
450
|
*/
|
|
451
451
|
function interleaveAttributes( attributes ) {
|
|
452
452
|
|
|
@@ -7,9 +7,10 @@ import {
|
|
|
7
7
|
OrthographicCamera,
|
|
8
8
|
PlaneGeometry,
|
|
9
9
|
Scene,
|
|
10
|
-
|
|
10
|
+
DepthTexture,
|
|
11
|
+
Vector2
|
|
11
12
|
} from 'three';
|
|
12
|
-
import {
|
|
13
|
+
import { uv, uniform, textureLoad } from 'three/tsl';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* This is a helper for visualising a given light's shadow map.
|
|
@@ -60,8 +61,10 @@ class ShadowMapViewer {
|
|
|
60
61
|
|
|
61
62
|
const material = new NodeMaterial();
|
|
62
63
|
|
|
63
|
-
const
|
|
64
|
-
|
|
64
|
+
const textureDimension = uniform( new Vector2() );
|
|
65
|
+
|
|
66
|
+
const shadowMapUniform = textureLoad( new DepthTexture(), uv().flipY().mul( textureDimension ) );
|
|
67
|
+
material.fragmentNode = shadowMapUniform.x.oneMinus();
|
|
65
68
|
|
|
66
69
|
const plane = new PlaneGeometry( frame.width, frame.height );
|
|
67
70
|
const mesh = new Mesh( plane, material );
|
|
@@ -173,7 +176,11 @@ class ShadowMapViewer {
|
|
|
173
176
|
//always end up with the scene's first added shadow casting light's shadowMap
|
|
174
177
|
//in the shader
|
|
175
178
|
//See: https://github.com/mrdoob/three.js/issues/5932
|
|
176
|
-
|
|
179
|
+
|
|
180
|
+
const depthTexture = light.shadow.map.depthTexture;
|
|
181
|
+
|
|
182
|
+
shadowMapUniform.value = depthTexture;
|
|
183
|
+
textureDimension.value.set( depthTexture.width, depthTexture.height );
|
|
177
184
|
|
|
178
185
|
currentAutoClear = renderer.autoClear;
|
|
179
186
|
renderer.autoClear = false; // To allow render overlay
|
|
@@ -122,7 +122,7 @@ class OculusHandModel extends Object3D {
|
|
|
122
122
|
/**
|
|
123
123
|
* Returns the pointer position which is the position of the index finger tip.
|
|
124
124
|
*
|
|
125
|
-
* @return {Vector3
|
|
125
|
+
* @return {?Vector3} The pointer position. Returns `null` if not index finger tip joint was found.
|
|
126
126
|
*/
|
|
127
127
|
getPointerPosition() {
|
|
128
128
|
|
|
@@ -245,7 +245,7 @@ function addAssetSceneToControllerModel( controllerModel, scene ) {
|
|
|
245
245
|
* attached to the object returned from getControllerGrip in order to match the orientation of
|
|
246
246
|
* the held device.
|
|
247
247
|
*
|
|
248
|
-
* This module depends on the [motion-controllers]
|
|
248
|
+
* This module depends on the [motion-controllers](https://github.com/immersive-web/webxr-input-profiles/blob/main/packages/motion-controllers/README.md)
|
|
249
249
|
* third-part library.
|
|
250
250
|
*
|
|
251
251
|
* ```js
|
|
@@ -179,16 +179,12 @@ class XRHandModelFactory {
|
|
|
179
179
|
|
|
180
180
|
}
|
|
181
181
|
|
|
182
|
-
controller.visible = true;
|
|
183
|
-
|
|
184
182
|
} );
|
|
185
183
|
|
|
186
184
|
controller.addEventListener( 'disconnected', () => {
|
|
187
185
|
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
// handModel.remove( scene );
|
|
191
|
-
// scene = null;
|
|
186
|
+
handModel.clear();
|
|
187
|
+
handModel.motionController = null;
|
|
192
188
|
|
|
193
189
|
} );
|
|
194
190
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "super-three",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.181.0",
|
|
4
4
|
"description": "JavaScript 3D library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./build/three.cjs",
|
|
@@ -63,13 +63,12 @@
|
|
|
63
63
|
"lint-utils": "eslint utils --ignore-pattern prettify --ignore-pattern fuse",
|
|
64
64
|
"lint": "npm run lint-core",
|
|
65
65
|
"lint-fix": "npm run lint-core -- --fix && npm run lint-addons -- --fix && npm run lint-examples -- --fix && npm run lint-docs -- --fix && npm run lint-editor -- --fix && npm run lint-playground -- --fix && npm run lint-manual -- --fix && npm run lint-test -- --fix && npm run lint-utils -- --fix",
|
|
66
|
-
"test-unit": "qunit
|
|
67
|
-
"test-unit-addons": "qunit
|
|
66
|
+
"test-unit": "qunit test/unit/three.source.unit.js",
|
|
67
|
+
"test-unit-addons": "qunit test/unit/three.addons.unit.js",
|
|
68
68
|
"test-e2e": "node test/e2e/puppeteer.js",
|
|
69
69
|
"test-e2e-cov": "node test/e2e/check-coverage.js",
|
|
70
70
|
"test-e2e-webgpu": "node test/e2e/puppeteer.js --webgpu",
|
|
71
71
|
"test-treeshake": "rollup -c test/rollup.treeshake.config.js",
|
|
72
|
-
"test-circular-deps": "dpdm --no-warning --no-tree --exit-code circular:1 src/nodes/Nodes.js",
|
|
73
72
|
"make-screenshot": "node test/e2e/puppeteer.js --make"
|
|
74
73
|
},
|
|
75
74
|
"keywords": [
|
|
@@ -97,24 +96,20 @@
|
|
|
97
96
|
"devDependencies": {
|
|
98
97
|
"@rollup/plugin-node-resolve": "^16.0.0",
|
|
99
98
|
"@rollup/plugin-terser": "^0.4.0",
|
|
100
|
-
"chalk": "^5.2.0",
|
|
101
99
|
"concurrently": "^9.0.0",
|
|
102
|
-
"dpdm": "^3.14.0",
|
|
103
100
|
"eslint": "^8.37.0",
|
|
104
101
|
"eslint-config-mdcs": "^5.0.0",
|
|
105
102
|
"eslint-plugin-compat": "^6.0.0",
|
|
106
103
|
"eslint-plugin-html": "^8.0.0",
|
|
107
104
|
"eslint-plugin-import": "^2.27.5",
|
|
108
|
-
"failonlyreporter": "^1.0.0",
|
|
109
105
|
"jimp": "^1.6.0",
|
|
110
|
-
"jsdoc": "^4.0.
|
|
106
|
+
"jsdoc": "^4.0.5",
|
|
111
107
|
"magic-string": "^0.30.0",
|
|
112
108
|
"pixelmatch": "^7.0.0",
|
|
113
|
-
"puppeteer": "^
|
|
109
|
+
"puppeteer": "^24.25.0",
|
|
114
110
|
"qunit": "^2.19.4",
|
|
115
111
|
"rollup": "^4.6.0",
|
|
116
112
|
"rollup-plugin-filesize": "^10.0.0",
|
|
117
|
-
"rollup-plugin-visualizer": "^6.0.0",
|
|
118
113
|
"servez": "^2.2.4"
|
|
119
114
|
},
|
|
120
115
|
"overrides": {
|
package/src/Three.Core.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { REVISION } from './constants.js';
|
|
2
|
+
import { warn } from './utils.js';
|
|
2
3
|
|
|
3
4
|
export { WebGLArrayRenderTarget } from './renderers/WebGLArrayRenderTarget.js';
|
|
4
5
|
export { WebGL3DRenderTarget } from './renderers/WebGL3DRenderTarget.js';
|
|
@@ -34,6 +35,7 @@ export { CompressedCubeTexture } from './textures/CompressedCubeTexture.js';
|
|
|
34
35
|
export { CubeTexture } from './textures/CubeTexture.js';
|
|
35
36
|
export { CanvasTexture } from './textures/CanvasTexture.js';
|
|
36
37
|
export { DepthTexture } from './textures/DepthTexture.js';
|
|
38
|
+
export { ExternalTexture } from './textures/ExternalTexture.js';
|
|
37
39
|
export { Texture } from './textures/Texture.js';
|
|
38
40
|
export * from './geometries/Geometries.js';
|
|
39
41
|
export * from './materials/Materials.js';
|
|
@@ -103,6 +105,7 @@ export { Raycaster } from './core/Raycaster.js';
|
|
|
103
105
|
export { Layers } from './core/Layers.js';
|
|
104
106
|
export { EventDispatcher } from './core/EventDispatcher.js';
|
|
105
107
|
export { Clock } from './core/Clock.js';
|
|
108
|
+
export { Timer } from './core/Timer.js';
|
|
106
109
|
export { QuaternionLinearInterpolant } from './math/interpolants/QuaternionLinearInterpolant.js';
|
|
107
110
|
export { LinearInterpolant } from './math/interpolants/LinearInterpolant.js';
|
|
108
111
|
export { DiscreteInterpolant } from './math/interpolants/DiscreteInterpolant.js';
|
|
@@ -155,7 +158,7 @@ export { DataUtils } from './extras/DataUtils.js';
|
|
|
155
158
|
export { ImageUtils } from './extras/ImageUtils.js';
|
|
156
159
|
export { ShapeUtils } from './extras/ShapeUtils.js';
|
|
157
160
|
export { TextureUtils } from './extras/TextureUtils.js';
|
|
158
|
-
export { createCanvasElement } from './utils.js';
|
|
161
|
+
export { createCanvasElement, setConsoleFunction, getConsoleFunction, log, warn, error, warnOnce } from './utils.js';
|
|
159
162
|
export * from './constants.js';
|
|
160
163
|
export * from './Three.Legacy.js';
|
|
161
164
|
|
|
@@ -171,7 +174,7 @@ if ( typeof window !== 'undefined' ) {
|
|
|
171
174
|
|
|
172
175
|
if ( window.__THREE__ ) {
|
|
173
176
|
|
|
174
|
-
|
|
177
|
+
warn( 'WARNING: Multiple instances of Three.js being imported.' );
|
|
175
178
|
|
|
176
179
|
} else {
|
|
177
180
|
|