super-three 0.181.0 → 0.185.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +3 -4
- package/build/three.cjs +21332 -19201
- package/build/three.core.js +20908 -19853
- package/build/three.core.min.js +2 -2
- package/build/three.module.js +1947 -862
- package/build/three.module.min.js +2 -2
- package/build/three.tsl.js +37 -16
- package/build/three.tsl.min.js +2 -2
- package/build/three.webgpu.js +33628 -25197
- package/build/three.webgpu.min.js +2 -2
- package/build/three.webgpu.nodes.js +33394 -25000
- package/build/three.webgpu.nodes.min.js +2 -2
- package/examples/jsm/Addons.js +14 -3
- package/examples/jsm/animation/CCDIKSolver.js +7 -3
- package/examples/jsm/controls/ArcballControls.js +13 -6
- package/examples/jsm/controls/DragControls.js +2 -2
- package/examples/jsm/controls/FirstPersonControls.js +127 -86
- package/examples/jsm/controls/FlyControls.js +4 -0
- package/examples/jsm/controls/MapControls.js +55 -1
- package/examples/jsm/controls/OrbitControls.js +111 -8
- package/examples/jsm/controls/TrackballControls.js +8 -8
- package/examples/jsm/controls/TransformControls.js +102 -17
- package/examples/jsm/csm/CSM.js +2 -1
- package/examples/jsm/csm/CSMFrustum.js +31 -6
- package/examples/jsm/csm/CSMShadowNode.js +10 -3
- package/examples/jsm/effects/AnaglyphEffect.js +102 -7
- package/examples/jsm/effects/AsciiEffect.js +14 -1
- package/examples/jsm/environments/ColorEnvironment.js +59 -0
- package/examples/jsm/environments/RoomEnvironment.js +3 -0
- package/examples/jsm/exporters/DRACOExporter.js +27 -6
- package/examples/jsm/exporters/EXRExporter.js +1 -1
- package/examples/jsm/exporters/GLTFExporter.js +266 -21
- package/examples/jsm/exporters/PLYExporter.js +286 -73
- package/examples/jsm/exporters/USDZExporter.js +353 -99
- package/examples/jsm/generators/CityGenerator.js +346 -0
- package/examples/jsm/generators/ForestGenerator.js +347 -0
- package/examples/jsm/generators/TerrainGenerator.js +504 -0
- package/examples/jsm/generators/TreeGenerator.js +377 -0
- package/examples/jsm/generators/city/SidewalkGenerator.js +253 -0
- package/examples/jsm/generators/city/SkyscraperGenerator.js +1357 -0
- package/examples/jsm/geometries/DecalGeometry.js +1 -1
- package/examples/jsm/geometries/LoftGeometry.js +355 -0
- package/examples/jsm/geometries/TextGeometry.js +18 -0
- package/examples/jsm/helpers/AnimationPathHelper.js +302 -0
- package/examples/jsm/helpers/LightProbeGridHelper.js +221 -0
- package/examples/jsm/helpers/LightProbeHelper.js +5 -4
- package/examples/jsm/helpers/LightProbeHelperGPU.js +1 -1
- package/examples/jsm/helpers/TextureHelperGPU.js +1 -1
- package/examples/jsm/helpers/ViewHelper.js +83 -14
- package/examples/jsm/inspector/Extension.js +13 -0
- package/examples/jsm/inspector/Inspector.js +244 -91
- package/examples/jsm/inspector/RendererInspector.js +165 -39
- package/examples/jsm/inspector/extensions/tsl-graph/TSLGraphEditor.js +916 -0
- package/examples/jsm/inspector/extensions/tsl-graph/TSLGraphLoader.js +281 -0
- package/examples/jsm/inspector/tabs/Console.js +241 -25
- package/examples/jsm/inspector/tabs/Memory.js +136 -0
- package/examples/jsm/inspector/tabs/Parameters.js +115 -7
- package/examples/jsm/inspector/tabs/Performance.js +24 -9
- package/examples/jsm/inspector/tabs/Settings.js +306 -0
- package/examples/jsm/inspector/tabs/Timeline.js +1696 -0
- package/examples/jsm/inspector/tabs/Viewer.js +723 -9
- package/examples/jsm/inspector/ui/Graph.js +162 -25
- package/examples/jsm/inspector/ui/Item.js +92 -13
- package/examples/jsm/inspector/ui/List.js +2 -2
- package/examples/jsm/inspector/ui/Profiler.js +1991 -44
- package/examples/jsm/inspector/ui/Style.js +1943 -543
- package/examples/jsm/inspector/ui/Tab.js +226 -5
- package/examples/jsm/inspector/ui/Values.js +126 -8
- package/examples/jsm/inspector/ui/utils.js +143 -10
- package/examples/jsm/interaction/InteractionManager.js +226 -0
- package/examples/jsm/libs/basis/README.md +0 -1
- package/examples/jsm/libs/demuxer_mp4.js +3 -3
- package/examples/jsm/libs/draco/README.md +0 -1
- package/examples/jsm/libs/meshopt_clusterizer.module.js +421 -0
- package/examples/jsm/libs/meshopt_decoder.module.js +9 -8
- package/examples/jsm/libs/meshopt_simplifier.module.js +627 -0
- package/examples/jsm/libs/mikktspace.module.js +34 -9
- package/examples/jsm/lighting/ClusteredLighting.js +55 -0
- package/examples/jsm/lighting/DynamicLighting.js +82 -0
- package/examples/jsm/lighting/LightProbeGrid.js +681 -0
- package/examples/jsm/lines/LineMaterial.js +45 -16
- package/examples/jsm/lines/LineSegments2.js +8 -0
- package/examples/jsm/lines/webgpu/LineSegments2.js +8 -0
- package/examples/jsm/loaders/3DMLoader.js +6 -5
- package/examples/jsm/loaders/3MFLoader.js +2 -2
- package/examples/jsm/loaders/AMFLoader.js +2 -2
- package/examples/jsm/loaders/ColladaLoader.js +24 -4026
- package/examples/jsm/loaders/DRACOLoader.js +51 -18
- package/examples/jsm/loaders/EXRLoader.js +701 -90
- package/examples/jsm/loaders/FBXLoader.js +235 -37
- package/examples/jsm/loaders/GCodeLoader.js +34 -8
- package/examples/jsm/loaders/GLTFLoader.js +146 -178
- package/examples/jsm/loaders/HDRLoader.js +7 -30
- package/examples/jsm/loaders/KMZLoader.js +5 -5
- package/examples/jsm/loaders/KTX2Loader.js +58 -17
- package/examples/jsm/loaders/LDrawLoader.js +49 -58
- package/examples/jsm/loaders/LUT3dlLoader.js +2 -2
- package/examples/jsm/loaders/LUTCubeLoader.js +2 -2
- package/examples/jsm/loaders/LWOLoader.js +11 -39
- package/examples/jsm/loaders/LottieLoader.js +1 -1
- package/examples/jsm/loaders/MaterialXLoader.js +31 -9
- package/examples/jsm/loaders/NRRDLoader.js +5 -5
- package/examples/jsm/loaders/PCDLoader.js +11 -9
- package/examples/jsm/loaders/PLYLoader.js +218 -55
- package/examples/jsm/loaders/SVGLoader.js +549 -497
- package/examples/jsm/loaders/TDSLoader.js +0 -2
- package/examples/jsm/loaders/TGALoader.js +0 -2
- package/examples/jsm/loaders/TTFLoader.js +1 -1
- package/examples/jsm/loaders/USDLoader.js +127 -43
- package/examples/jsm/loaders/UltraHDRLoader.js +285 -160
- package/examples/jsm/loaders/VOXLoader.js +660 -117
- package/examples/jsm/loaders/VRMLLoader.js +80 -3
- package/examples/jsm/loaders/VTKLoader.js +42 -25
- package/examples/jsm/loaders/collada/ColladaComposer.js +3044 -0
- package/examples/jsm/loaders/collada/ColladaParser.js +1977 -0
- package/examples/jsm/loaders/usd/USDAParser.js +504 -344
- package/examples/jsm/loaders/usd/USDCParser.js +1867 -6
- package/examples/jsm/loaders/usd/USDComposer.js +4627 -0
- package/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +2 -2
- package/examples/jsm/materials/WoodNodeMaterial.js +11 -11
- package/examples/jsm/math/Octree.js +131 -1
- package/examples/jsm/misc/GPUComputationRenderer.js +2 -0
- package/examples/jsm/misc/RollerCoaster.js +42 -4
- package/examples/jsm/misc/TileCreasedNormalsPlugin.js +270 -0
- package/examples/jsm/misc/Volume.js +2 -3
- package/examples/jsm/misc/VolumeSlice.js +0 -1
- package/examples/jsm/modifiers/TessellateModifier.js +1 -1
- package/examples/jsm/objects/GroundedSkybox.js +1 -1
- package/examples/jsm/objects/LensflareMesh.js +1 -1
- package/examples/jsm/objects/Reflector.js +72 -25
- package/examples/jsm/objects/Sky.js +90 -6
- package/examples/jsm/objects/SkyMesh.js +150 -16
- package/examples/jsm/objects/Water.js +4 -3
- package/examples/jsm/objects/Water2.js +5 -3
- package/examples/jsm/objects/Water2Mesh.js +1 -1
- package/examples/jsm/objects/WaterMesh.js +5 -7
- package/examples/jsm/physics/AmmoPhysics.js +27 -15
- package/examples/jsm/physics/JoltPhysics.js +10 -6
- package/examples/jsm/physics/RapierPhysics.js +36 -7
- package/examples/jsm/postprocessing/EffectComposer.js +7 -5
- package/examples/jsm/postprocessing/OutputPass.js +9 -0
- package/examples/jsm/postprocessing/RenderPass.js +10 -0
- package/examples/jsm/postprocessing/RenderTransitionPass.js +1 -1
- package/examples/jsm/postprocessing/UnrealBloomPass.js +48 -18
- package/examples/jsm/renderers/CSS3DRenderer.js +1 -1
- package/examples/jsm/renderers/Projector.js +246 -28
- package/examples/jsm/renderers/SVGRenderer.js +174 -60
- package/examples/jsm/shaders/GTAOShader.js +19 -6
- package/examples/jsm/shaders/HalftoneShader.js +12 -1
- package/examples/jsm/shaders/PoissonDenoiseShader.js +6 -2
- package/examples/jsm/shaders/SAOShader.js +17 -4
- package/examples/jsm/shaders/SSAOShader.js +11 -1
- package/examples/jsm/shaders/SSRShader.js +6 -5
- package/examples/jsm/shaders/UnpackDepthRGBAShader.js +2 -4
- package/examples/jsm/shaders/VignetteShader.js +1 -1
- package/examples/jsm/shaders/VolumeShader.js +31 -44
- package/examples/jsm/transpiler/AST.js +44 -0
- package/examples/jsm/transpiler/GLSLDecoder.js +65 -8
- package/examples/jsm/transpiler/Linker.js +1 -1
- package/examples/jsm/transpiler/ShaderToyDecoder.js +2 -0
- package/examples/jsm/transpiler/TSLEncoder.js +46 -3
- package/examples/jsm/transpiler/TranspilerUtils.js +3 -3
- package/examples/jsm/transpiler/WGSLEncoder.js +27 -0
- package/examples/jsm/tsl/WebGLNodesHandler.js +605 -0
- package/examples/jsm/tsl/display/AfterImageNode.js +11 -1
- package/examples/jsm/tsl/display/AnaglyphPassNode.js +458 -16
- package/examples/jsm/tsl/display/BilateralBlurNode.js +374 -0
- package/examples/jsm/tsl/display/BloomNode.js +75 -25
- package/examples/jsm/tsl/display/CRT.js +150 -0
- package/examples/jsm/tsl/display/ChromaticAberrationNode.js +3 -36
- package/examples/jsm/tsl/display/DenoiseNode.js +1 -1
- package/examples/jsm/tsl/display/DepthOfFieldNode.js +3 -3
- package/examples/jsm/tsl/display/DotScreenNode.js +1 -1
- package/examples/jsm/tsl/display/FSR1Node.js +477 -0
- package/examples/jsm/tsl/display/FXAANode.js +13 -14
- package/examples/jsm/tsl/display/GTAONode.js +40 -17
- package/examples/jsm/tsl/display/GaussianBlurNode.js +21 -2
- package/examples/jsm/tsl/display/GodraysNode.js +615 -0
- package/examples/jsm/tsl/display/ImportanceSampledEnvironment.js +560 -0
- package/examples/jsm/tsl/display/LensflareNode.js +1 -1
- package/examples/jsm/tsl/display/Lut3DNode.js +1 -1
- package/examples/jsm/tsl/display/OutlineNode.js +69 -19
- package/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +2 -2
- package/examples/jsm/tsl/display/PixelationPassNode.js +9 -8
- package/examples/jsm/tsl/display/RGBShiftNode.js +2 -2
- package/examples/jsm/tsl/display/RecurrentDenoiseNode.js +912 -0
- package/examples/jsm/tsl/display/RetroPassNode.js +263 -0
- package/examples/jsm/tsl/display/SMAANode.js +2 -2
- package/examples/jsm/tsl/display/SSAAPassNode.js +15 -27
- package/examples/jsm/tsl/display/SSGINode.js +96 -62
- package/examples/jsm/tsl/display/SSRNode.js +831 -134
- package/examples/jsm/tsl/display/SSSNode.js +8 -6
- package/examples/jsm/tsl/display/Shape.js +29 -0
- package/examples/jsm/tsl/display/SharpenNode.js +283 -0
- package/examples/jsm/tsl/display/SobelOperatorNode.js +2 -2
- package/examples/jsm/tsl/display/StereoCompositePassNode.js +8 -1
- package/examples/jsm/tsl/display/StereoPassNode.js +1 -2
- package/examples/jsm/tsl/display/TAAUNode.js +835 -0
- package/examples/jsm/tsl/display/TRAANode.js +315 -126
- package/examples/jsm/tsl/display/TemporalReprojectNode.js +1023 -0
- package/examples/jsm/tsl/display/TransitionNode.js +1 -1
- package/examples/jsm/tsl/display/depthAwareBlend.js +80 -0
- package/examples/jsm/tsl/display/radialBlur.js +68 -0
- package/examples/jsm/tsl/lighting/ClusteredLightsNode.js +622 -0
- package/examples/jsm/tsl/lighting/DynamicLightsNode.js +300 -0
- package/examples/jsm/tsl/lighting/data/AmbientLightDataNode.js +61 -0
- package/examples/jsm/tsl/lighting/data/DirectionalLightDataNode.js +111 -0
- package/examples/jsm/tsl/lighting/data/HemisphereLightDataNode.js +99 -0
- package/examples/jsm/tsl/lighting/data/PointLightDataNode.js +134 -0
- package/examples/jsm/tsl/lighting/data/SpotLightDataNode.js +161 -0
- package/examples/jsm/tsl/math/Bayer.js +53 -3
- package/examples/jsm/tsl/math/curlNoise.js +107 -0
- package/examples/jsm/tsl/shadows/TileShadowNode.js +1 -1
- package/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +3 -3
- package/examples/jsm/tsl/utils/GroundedSkybox.js +62 -0
- package/examples/jsm/tsl/utils/RNoise.js +51 -0
- package/examples/jsm/tsl/utils/SpecularHelpers.js +325 -0
- package/examples/jsm/utils/BufferGeometryUtils.js +128 -62
- package/examples/jsm/utils/ColorUtils.js +76 -0
- package/examples/jsm/utils/GeometryCompressionUtils.js +1 -1
- package/examples/jsm/utils/LDrawUtils.js +1 -1
- package/examples/jsm/utils/SceneOptimizer.js +1 -1
- package/examples/jsm/utils/ShadowMapViewer.js +24 -10
- package/examples/jsm/utils/ShadowMapViewerGPU.js +1 -1
- package/examples/jsm/utils/SkeletonUtils.js +14 -8
- package/examples/jsm/utils/WebGPUTextureUtils.js +1 -1
- package/examples/jsm/webxr/ARButton.js +1 -1
- package/examples/jsm/webxr/WebGLXRFallback.js +89 -0
- package/examples/jsm/webxr/XRControllerModelFactory.js +2 -2
- package/examples/jsm/webxr/XRHandMeshModel.js +36 -10
- package/examples/jsm/webxr/XRHandModelFactory.js +2 -1
- package/package.json +28 -34
- package/src/Three.Core.js +3 -1
- package/src/Three.TSL.js +35 -14
- package/src/Three.WebGPU.Nodes.js +5 -0
- package/src/Three.WebGPU.js +13 -0
- package/src/Three.js +1 -0
- package/src/animation/AnimationAction.js +18 -4
- package/src/animation/AnimationClip.js +0 -139
- package/src/animation/AnimationMixer.js +6 -0
- package/src/animation/AnimationUtils.js +1 -12
- package/src/animation/KeyframeTrack.js +47 -8
- package/src/animation/PropertyBinding.js +2 -2
- package/src/animation/PropertyMixer.js +4 -4
- package/src/animation/tracks/BooleanKeyframeTrack.js +1 -1
- package/src/animation/tracks/ColorKeyframeTrack.js +1 -1
- package/src/animation/tracks/NumberKeyframeTrack.js +1 -1
- package/src/animation/tracks/QuaternionKeyframeTrack.js +1 -1
- package/src/animation/tracks/StringKeyframeTrack.js +1 -1
- package/src/animation/tracks/VectorKeyframeTrack.js +1 -1
- package/src/audio/Audio.js +1 -1
- package/src/audio/AudioContext.js +2 -2
- package/src/audio/AudioListener.js +5 -3
- package/src/cameras/Camera.js +34 -4
- package/src/cameras/CubeCamera.js +20 -0
- package/src/cameras/StereoCamera.js +5 -2
- package/src/constants.js +90 -5
- package/src/core/BufferAttribute.js +13 -1
- package/src/core/BufferGeometry.js +43 -9
- package/src/core/Clock.js +7 -0
- package/src/core/Object3D.js +69 -11
- package/src/core/Raycaster.js +3 -3
- package/src/core/RenderTarget.js +19 -6
- package/src/extras/PMREMGenerator.js +13 -22
- package/src/extras/TextureUtils.js +6 -2
- package/src/extras/core/ShapePath.js +149 -160
- package/src/extras/curves/CatmullRomCurve3.js +3 -2
- package/src/geometries/ExtrudeGeometry.js +2 -2
- package/src/geometries/PolyhedronGeometry.js +1 -1
- package/src/geometries/SphereGeometry.js +8 -3
- package/src/geometries/TorusGeometry.js +8 -3
- package/src/helpers/CameraHelper.js +3 -0
- package/src/helpers/DirectionalLightHelper.js +6 -1
- package/src/helpers/HemisphereLightHelper.js +5 -0
- package/src/helpers/PointLightHelper.js +3 -25
- package/src/helpers/SpotLightHelper.js +4 -1
- package/src/lights/DirectionalLight.js +13 -0
- package/src/lights/HemisphereLight.js +10 -0
- package/src/lights/Light.js +1 -11
- package/src/lights/LightProbe.js +0 -15
- package/src/lights/LightShadow.js +15 -6
- package/src/lights/PointLight.js +15 -0
- package/src/lights/PointLightShadow.js +0 -86
- package/src/lights/SpotLight.js +22 -1
- package/src/lights/webgpu/IESSpotLight.js +2 -1
- package/src/loaders/AudioLoader.js +11 -1
- package/src/loaders/Cache.js +28 -0
- package/src/loaders/DataTextureLoader.js +75 -42
- package/src/loaders/FileLoader.js +2 -3
- package/src/loaders/ImageBitmapLoader.js +12 -9
- package/src/loaders/Loader.js +6 -0
- package/src/loaders/LoadingManager.js +5 -0
- package/src/loaders/MaterialLoader.js +37 -266
- package/src/loaders/ObjectLoader.js +48 -6
- package/src/loaders/nodes/NodeLoader.js +2 -2
- package/src/loaders/nodes/NodeObjectLoader.js +18 -0
- package/src/materials/LineBasicMaterial.js +4 -0
- package/src/materials/Material.js +198 -1
- package/src/materials/MeshBasicMaterial.js +24 -0
- package/src/materials/MeshDepthMaterial.js +10 -0
- package/src/materials/MeshDistanceMaterial.js +10 -0
- package/src/materials/MeshLambertMaterial.js +49 -1
- package/src/materials/MeshMatcapMaterial.js +25 -1
- package/src/materials/MeshNormalMaterial.js +9 -1
- package/src/materials/MeshPhongMaterial.js +49 -1
- package/src/materials/MeshPhysicalMaterial.js +38 -0
- package/src/materials/MeshStandardMaterial.js +42 -1
- package/src/materials/MeshToonMaterial.js +35 -2
- package/src/materials/PointsMaterial.js +7 -0
- package/src/materials/ShaderMaterial.js +106 -1
- package/src/materials/SpriteMaterial.js +7 -0
- package/src/materials/nodes/Line2NodeMaterial.js +380 -297
- package/src/materials/nodes/MeshBasicNodeMaterial.js +2 -2
- package/src/materials/nodes/MeshNormalNodeMaterial.js +2 -2
- package/src/materials/nodes/MeshPhongNodeMaterial.js +0 -9
- package/src/materials/nodes/MeshPhysicalNodeMaterial.js +3 -30
- package/src/materials/nodes/MeshSSSNodeMaterial.js +0 -13
- package/src/materials/nodes/MeshStandardNodeMaterial.js +5 -15
- package/src/materials/nodes/NodeMaterial.js +153 -89
- package/src/materials/nodes/SpriteNodeMaterial.js +0 -10
- package/src/materials/nodes/manager/NodeMaterialObserver.js +234 -100
- package/src/math/Box3.js +5 -0
- package/src/math/FrustumArray.js +103 -133
- package/src/math/Interpolant.js +1 -1
- package/src/math/Line3.js +6 -5
- package/src/math/MathUtils.js +12 -12
- package/src/math/Matrix2.js +13 -9
- package/src/math/Matrix3.js +24 -9
- package/src/math/Matrix4.js +112 -74
- package/src/math/Plane.js +4 -3
- package/src/math/Quaternion.js +3 -29
- package/src/math/Sphere.js +1 -1
- package/src/math/Triangle.js +1 -1
- package/src/math/Vector2.js +13 -9
- package/src/math/Vector3.js +17 -15
- package/src/math/Vector4.js +15 -11
- package/src/math/interpolants/BezierInterpolant.js +106 -0
- package/src/nodes/Nodes.js +86 -71
- package/src/nodes/TSL.js +15 -13
- package/src/nodes/accessors/Arrays.js +5 -5
- package/src/nodes/accessors/Batch.js +108 -0
- package/src/nodes/accessors/Bitangent.js +7 -7
- package/src/nodes/accessors/BufferAttributeNode.js +120 -17
- package/src/nodes/accessors/BufferNode.js +29 -2
- package/src/nodes/accessors/Camera.js +149 -28
- package/src/nodes/accessors/ClippingNode.js +5 -5
- package/src/nodes/accessors/CubeTextureNode.js +27 -2
- package/src/nodes/accessors/Instance.js +264 -0
- package/src/nodes/accessors/MaterialNode.js +27 -3
- package/src/nodes/accessors/MaterialProperties.js +6 -8
- package/src/nodes/accessors/MaterialReferenceNode.js +1 -2
- package/src/nodes/accessors/ModelNode.js +1 -1
- package/src/nodes/accessors/{MorphNode.js → Morph.js} +99 -112
- package/src/nodes/accessors/Normal.js +24 -24
- package/src/nodes/accessors/Object3DNode.js +1 -1
- package/src/nodes/accessors/Position.js +39 -3
- package/src/nodes/accessors/ReferenceBaseNode.js +6 -6
- package/src/nodes/accessors/ReferenceNode.js +9 -8
- package/src/nodes/accessors/ReflectVector.js +3 -3
- package/src/nodes/accessors/RendererReferenceNode.js +1 -2
- package/src/nodes/accessors/SceneProperties.js +47 -0
- package/src/nodes/accessors/Skinning.js +263 -0
- package/src/nodes/accessors/StorageBufferNode.js +16 -27
- package/src/nodes/accessors/StorageTexture3DNode.js +100 -0
- package/src/nodes/accessors/StorageTextureNode.js +74 -11
- package/src/nodes/accessors/Tangent.js +8 -18
- package/src/nodes/accessors/Texture3DNode.js +32 -35
- package/src/nodes/accessors/TextureNode.js +124 -25
- package/src/nodes/accessors/UniformArrayNode.js +6 -4
- package/src/nodes/accessors/UserDataNode.js +1 -2
- package/src/nodes/accessors/VertexColorNode.js +1 -2
- package/src/nodes/code/FunctionCallNode.js +1 -1
- package/src/nodes/code/FunctionNode.js +4 -19
- package/src/nodes/core/ArrayNode.js +21 -2
- package/src/nodes/core/AssignNode.js +3 -3
- package/src/nodes/core/AttributeNode.js +3 -3
- package/src/nodes/core/BypassNode.js +1 -1
- package/src/nodes/core/ContextNode.js +104 -5
- package/src/nodes/core/IndexNode.js +2 -1
- package/src/nodes/core/InputNode.js +1 -1
- package/src/nodes/core/InspectorNode.js +1 -1
- package/src/nodes/core/IsolateNode.js +1 -1
- package/src/nodes/core/MRTNode.js +55 -4
- package/src/nodes/core/Node.js +151 -17
- package/src/nodes/core/NodeBuilder.js +479 -101
- package/src/nodes/core/NodeError.js +28 -0
- package/src/nodes/core/NodeFrame.js +12 -4
- package/src/nodes/core/NodeUtils.js +20 -18
- package/src/nodes/core/OutputStructNode.js +13 -11
- package/src/nodes/core/OverrideContextNode.js +153 -0
- package/src/nodes/core/ParameterNode.js +4 -4
- package/src/nodes/core/PropertyNode.js +66 -4
- package/src/nodes/core/StackNode.js +91 -20
- package/src/nodes/core/StackTrace.js +139 -0
- package/src/nodes/core/StructNode.js +20 -8
- package/src/nodes/core/StructTypeNode.js +17 -23
- package/src/nodes/core/SubBuildNode.js +2 -2
- package/src/nodes/core/UniformGroupNode.js +36 -6
- package/src/nodes/core/UniformNode.js +21 -5
- package/src/nodes/core/VarNode.js +56 -23
- package/src/nodes/core/VaryingNode.js +14 -21
- package/src/nodes/display/BlendModes.js +1 -105
- package/src/nodes/display/BumpMapNode.js +6 -1
- package/src/nodes/display/ColorAdjustment.js +27 -9
- package/src/nodes/display/ColorSpaceNode.js +3 -3
- package/src/nodes/display/FrontFacingNode.js +38 -9
- package/src/nodes/display/NormalMapNode.js +41 -6
- package/src/nodes/display/PassNode.js +157 -56
- package/src/nodes/display/PremultiplyAlphaFunctions.js +39 -0
- package/src/nodes/display/RenderOutputNode.js +19 -10
- package/src/nodes/display/ScreenNode.js +4 -2
- package/src/nodes/display/ToneMappingNode.js +1 -1
- package/src/nodes/display/ToonOutlinePassNode.js +2 -2
- package/src/nodes/display/ViewportDepthNode.js +52 -4
- package/src/nodes/display/ViewportDepthTextureNode.js +11 -15
- package/src/nodes/display/ViewportTextureNode.js +39 -11
- package/src/nodes/fog/Fog.js +18 -35
- package/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +3 -3
- package/src/nodes/functions/BSDF/DFGLUT.js +56 -0
- package/src/nodes/functions/BSDF/EnvironmentBRDF.js +2 -2
- package/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.js +2 -2
- package/src/nodes/functions/PhysicalLightingModel.js +126 -45
- package/src/nodes/functions/VolumetricLightingModel.js +40 -7
- package/src/nodes/geometry/RangeNode.js +5 -3
- package/src/nodes/gpgpu/AtomicFunctionNode.js +1 -1
- package/src/nodes/gpgpu/BarrierNode.js +9 -0
- package/src/nodes/gpgpu/ComputeBuiltinNode.js +2 -3
- package/src/nodes/gpgpu/ComputeNode.js +74 -48
- package/src/nodes/gpgpu/SubgroupFunctionNode.js +2 -2
- package/src/nodes/gpgpu/WorkgroupInfoNode.js +5 -5
- package/src/nodes/lighting/AnalyticLightNode.js +53 -0
- package/src/nodes/lighting/EnvironmentNode.js +30 -5
- package/src/nodes/lighting/IESSpotLightNode.js +40 -2
- package/src/nodes/lighting/LightingContextNode.js +10 -2
- package/src/nodes/lighting/LightsNode.js +97 -65
- package/src/nodes/lighting/PointShadowNode.js +166 -148
- package/src/nodes/lighting/ShadowFilterNode.js +74 -117
- package/src/nodes/lighting/ShadowNode.js +149 -51
- package/src/nodes/materialx/lib/mx_noise.js +2 -2
- package/src/nodes/math/BitcastNode.js +1 -1
- package/src/nodes/math/BitcountNode.js +433 -0
- package/src/nodes/math/ConditionalNode.js +6 -6
- package/src/nodes/math/MathNode.js +115 -52
- package/src/nodes/math/OperatorNode.js +24 -23
- package/src/nodes/math/PackFloatNode.js +98 -0
- package/src/nodes/math/UnpackFloatNode.js +96 -0
- package/src/nodes/parsers/GLSLNodeFunction.js +1 -1
- package/src/nodes/pmrem/PMREMNode.js +34 -3
- package/src/nodes/pmrem/PMREMUtils.js +9 -15
- package/src/nodes/tsl/TSLBase.js +1 -1
- package/src/nodes/tsl/TSLCore.js +99 -33
- package/src/nodes/utils/ArrayElementNode.js +14 -1
- package/src/nodes/utils/ConvertNode.js +1 -1
- package/src/nodes/utils/DebugNode.js +12 -12
- package/src/nodes/utils/EquirectUV.js +30 -5
- package/src/nodes/utils/EventNode.js +31 -2
- package/src/nodes/utils/FlipNode.js +1 -1
- package/src/nodes/utils/FunctionOverloadingNode.js +2 -2
- package/src/nodes/utils/JoinNode.js +3 -3
- package/src/nodes/utils/LoopNode.js +1 -1
- package/src/nodes/utils/MemberNode.js +2 -2
- package/src/nodes/utils/Packing.js +48 -5
- package/src/nodes/utils/PostProcessingUtils.js +33 -1
- package/src/nodes/utils/RTTNode.js +41 -25
- package/src/nodes/utils/ReflectorNode.js +4 -4
- package/src/nodes/utils/Remap.js +48 -0
- package/src/nodes/utils/RotateNode.js +1 -1
- package/src/nodes/utils/SampleNode.js +1 -1
- package/src/nodes/utils/SetNode.js +1 -1
- package/src/nodes/utils/SplitNode.js +1 -1
- package/src/nodes/utils/SpriteSheetUV.js +35 -0
- package/src/nodes/utils/StorageArrayElementNode.js +1 -1
- package/src/nodes/utils/UVUtils.js +28 -0
- package/src/objects/BatchedMesh.js +66 -30
- package/src/objects/InstancedMesh.js +19 -3
- package/src/objects/Line.js +1 -1
- package/src/objects/Mesh.js +1 -1
- package/src/objects/Points.js +1 -1
- package/src/objects/SkinnedMesh.js +26 -9
- package/src/renderers/WebGLRenderer.js +344 -156
- package/src/renderers/common/Animation.js +3 -3
- package/src/renderers/common/Attributes.js +15 -1
- package/src/renderers/common/Backend.js +78 -13
- package/src/renderers/common/Background.js +26 -13
- package/src/renderers/common/BindGroup.js +1 -16
- package/src/renderers/common/Binding.js +11 -0
- package/src/renderers/common/Bindings.js +141 -57
- package/src/renderers/common/BlendMode.js +143 -0
- package/src/renderers/common/Buffer.js +49 -0
- package/src/renderers/common/BundleGroup.js +1 -1
- package/src/renderers/common/ChainMap.js +30 -6
- package/src/renderers/common/ClippingContext.js +10 -2
- package/src/renderers/common/ComputePipeline.js +1 -1
- package/src/renderers/common/CubeRenderTarget.js +51 -7
- package/src/renderers/common/Geometries.js +29 -3
- package/src/renderers/common/Info.js +374 -4
- package/src/renderers/common/InspectorBase.js +6 -1
- package/src/renderers/common/Lighting.js +51 -19
- package/src/renderers/common/Pipelines.js +40 -7
- package/src/renderers/common/PostProcessing.js +8 -206
- package/src/renderers/common/ReadbackBuffer.js +78 -0
- package/src/renderers/common/RenderBundle.js +3 -1
- package/src/renderers/common/RenderBundles.js +7 -3
- package/src/renderers/common/RenderContext.js +16 -0
- package/src/renderers/common/RenderContexts.js +33 -49
- package/src/renderers/common/RenderList.js +41 -4
- package/src/renderers/common/RenderLists.js +2 -1
- package/src/renderers/common/RenderObject.js +88 -16
- package/src/renderers/common/RenderObjectPipeline.js +40 -0
- package/src/renderers/common/RenderObjects.js +21 -5
- package/src/renderers/common/RenderPipeline.js +232 -17
- package/src/renderers/common/Renderer.js +700 -163
- package/src/renderers/common/Sampler.js +16 -48
- package/src/renderers/common/StorageBuffer.js +13 -1
- package/src/renderers/common/Textures.js +121 -9
- package/src/renderers/common/TimestampQueryPool.js +6 -4
- package/src/renderers/common/Uniform.js +8 -0
- package/src/renderers/common/UniformsGroup.js +84 -1
- package/src/renderers/common/XRManager.js +377 -51
- package/src/renderers/common/extras/PMREMGenerator.js +40 -61
- package/src/renderers/common/nodes/NodeBuilderState.js +10 -2
- package/src/renderers/common/nodes/NodeLibrary.js +4 -4
- package/src/renderers/common/nodes/{Nodes.js → NodeManager.js} +298 -106
- package/src/renderers/common/nodes/NodeStorageBuffer.js +13 -2
- package/src/renderers/common/nodes/NodeUniformBuffer.js +65 -0
- package/src/renderers/shaders/DFGLUTData.js +19 -34
- package/src/renderers/shaders/ShaderChunk/batching_pars_vertex.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js +1 -5
- package/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js +1 -5
- package/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +1 -5
- package/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +8 -10
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +13 -4
- package/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +0 -6
- package/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +0 -1
- package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +9 -13
- package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/lightprobes_pars_fragment.glsl.js +80 -0
- package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +13 -2
- package/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +6 -0
- package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +6 -2
- package/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +3 -1
- package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +8 -4
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +112 -53
- package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +7 -0
- package/src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js +6 -0
- package/src/renderers/shaders/ShaderChunk/packing.glsl.js +20 -4
- package/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +0 -1
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +225 -186
- package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +12 -2
- package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk.js +5 -3
- package/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +1 -2
- package/src/renderers/shaders/ShaderLib/depth.glsl.js +3 -0
- package/src/renderers/shaders/ShaderLib/{distanceRGBA.glsl.js → distance.glsl.js} +2 -3
- package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +2 -1
- package/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +1 -2
- package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +2 -1
- package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +4 -9
- package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -1
- package/src/renderers/shaders/ShaderLib/shadow.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/vsm.glsl.js +4 -6
- package/src/renderers/shaders/ShaderLib.js +7 -6
- package/src/renderers/shaders/UniformsLib.js +7 -5
- package/src/renderers/shaders/UniformsUtils.js +27 -5
- package/src/renderers/webgl/WebGLAnimation.js +2 -1
- package/src/renderers/webgl/WebGLBackground.js +15 -15
- package/src/renderers/webgl/WebGLBindingStates.js +99 -27
- package/src/renderers/webgl/WebGLBufferRenderer.js +0 -32
- package/src/renderers/webgl/WebGLCapabilities.js +9 -4
- package/src/renderers/webgl/WebGLEnvironments.js +228 -0
- package/src/renderers/webgl/WebGLGeometries.js +10 -7
- package/src/renderers/webgl/WebGLIndexedBufferRenderer.js +0 -32
- package/src/renderers/webgl/WebGLLights.js +18 -1
- package/src/renderers/webgl/WebGLMaterials.js +24 -13
- package/src/renderers/webgl/WebGLObjects.js +3 -1
- package/src/renderers/webgl/WebGLOutput.js +271 -0
- package/src/renderers/webgl/WebGLProgram.js +54 -113
- package/src/renderers/webgl/WebGLPrograms.js +74 -55
- package/src/renderers/webgl/WebGLRenderLists.js +24 -1
- package/src/renderers/webgl/WebGLRenderStates.js +13 -2
- package/src/renderers/webgl/WebGLShaderCache.js +5 -11
- package/src/renderers/webgl/WebGLShadowMap.js +188 -24
- package/src/renderers/webgl/WebGLState.js +75 -37
- package/src/renderers/webgl/WebGLTextures.js +230 -56
- package/src/renderers/webgl/WebGLUniforms.js +40 -3
- package/src/renderers/webgl/WebGLUniformsGroups.js +82 -35
- package/src/renderers/webgl/WebGLUtils.js +6 -2
- package/src/renderers/webgl-fallback/WebGLBackend.js +322 -92
- package/src/renderers/webgl-fallback/WebGLBufferRenderer.js +0 -41
- package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +295 -66
- package/src/renderers/webgl-fallback/utils/WebGLAttributeUtils.js +53 -19
- package/src/renderers/webgl-fallback/utils/WebGLCapabilities.js +25 -0
- package/src/renderers/webgl-fallback/utils/WebGLState.js +223 -6
- package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +118 -73
- package/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +10 -10
- package/src/renderers/webgl-fallback/utils/WebGLUtils.js +9 -3
- package/src/renderers/webgpu/WebGPUBackend.js +733 -302
- package/src/renderers/webgpu/WebGPURenderer.js +2 -1
- package/src/renderers/webgpu/descriptors/GPUBindGroupDescriptor.js +48 -0
- package/src/renderers/webgpu/descriptors/GPUBufferDescriptor.js +57 -0
- package/src/renderers/webgpu/descriptors/GPUCommandEncoderDescriptor.js +30 -0
- package/src/renderers/webgpu/descriptors/GPUComputePassDescriptor.js +38 -0
- package/src/renderers/webgpu/descriptors/GPUComputePipelineDescriptor.js +48 -0
- package/src/renderers/webgpu/descriptors/GPUCopyExternalImageDestInfo.js +47 -0
- package/src/renderers/webgpu/descriptors/GPUCopyExternalImageSourceInfo.js +50 -0
- package/src/renderers/webgpu/descriptors/GPUExtent3D.js +51 -0
- package/src/renderers/webgpu/descriptors/GPUPipelineLayoutDescriptor.js +39 -0
- package/src/renderers/webgpu/descriptors/GPUQuerySetDescriptor.js +47 -0
- package/src/renderers/webgpu/descriptors/GPURenderBundleEncoderDescriptor.js +74 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassColorAttachment.js +72 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassDepthStencilAttachment.js +99 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassDescriptor.js +72 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassTimestampWrites.js +49 -0
- package/src/renderers/webgpu/descriptors/GPURenderPipelineDescriptor.js +130 -0
- package/src/renderers/webgpu/descriptors/GPUSamplerDescriptor.js +119 -0
- package/src/renderers/webgpu/descriptors/GPUShaderModuleDescriptor.js +46 -0
- package/src/renderers/webgpu/descriptors/GPUTexelCopyBufferInfo.js +57 -0
- package/src/renderers/webgpu/descriptors/GPUTexelCopyBufferLayout.js +48 -0
- package/src/renderers/webgpu/descriptors/GPUTexelCopyTextureInfo.js +61 -0
- package/src/renderers/webgpu/descriptors/GPUTextureDescriptor.js +99 -0
- package/src/renderers/webgpu/descriptors/GPUTextureViewDescriptor.js +108 -0
- package/src/renderers/webgpu/nodes/StandardNodeLibrary.js +0 -1
- package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +526 -93
- package/src/renderers/webgpu/nodes/WGSLNodeFunction.js +1 -1
- package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +194 -61
- package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +395 -234
- package/src/renderers/webgpu/utils/WebGPUCapabilities.js +48 -0
- package/src/renderers/webgpu/utils/WebGPUConstants.js +10 -0
- package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +224 -91
- package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +228 -213
- package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +428 -175
- package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +40 -25
- package/src/renderers/webgpu/utils/WebGPUUtils.js +70 -13
- package/src/renderers/webxr/WebXRController.js +12 -0
- package/src/renderers/webxr/WebXRManager.js +4 -2
- package/src/textures/CubeDepthTexture.js +76 -0
- package/src/textures/DepthTexture.js +1 -1
- package/src/textures/ExternalTexture.js +0 -3
- package/src/textures/HTMLTexture.js +74 -0
- package/src/textures/Source.js +2 -2
- package/src/textures/Texture.js +16 -5
- package/src/utils.js +280 -3
- package/examples/fonts/LICENSE +0 -13
- package/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
- package/examples/fonts/MPLUSRounded1c/OFL.txt +0 -91
- package/examples/fonts/README.md +0 -11
- package/examples/fonts/droid/NOTICE +0 -190
- package/examples/fonts/droid/README.txt +0 -18
- package/examples/fonts/droid/droid_sans_bold.typeface.json +0 -1
- package/examples/fonts/droid/droid_sans_mono_regular.typeface.json +0 -1
- package/examples/fonts/droid/droid_sans_regular.typeface.json +0 -1
- package/examples/fonts/droid/droid_serif_bold.typeface.json +0 -1
- package/examples/fonts/droid/droid_serif_regular.typeface.json +0 -1
- package/examples/fonts/gentilis_bold.typeface.json +0 -1
- package/examples/fonts/gentilis_regular.typeface.json +0 -1
- package/examples/fonts/helvetiker_bold.typeface.json +0 -1
- package/examples/fonts/helvetiker_regular.typeface.json +0 -1
- package/examples/fonts/optimer_bold.typeface.json +0 -1
- package/examples/fonts/optimer_regular.typeface.json +0 -1
- package/examples/fonts/ttf/README.md +0 -9
- package/examples/fonts/ttf/kenpixel.ttf +0 -0
- package/examples/jsm/libs/ammo.wasm.js +0 -822
- package/examples/jsm/libs/ammo.wasm.wasm +0 -0
- package/examples/jsm/libs/draco/draco_encoder.js +0 -33
- package/examples/jsm/libs/draco/gltf/draco_encoder.js +0 -33
- package/examples/jsm/libs/lottie_canvas.module.js +0 -14849
- package/examples/jsm/libs/opentype.module.js +0 -14506
- package/examples/jsm/libs/rhino3dm/rhino3dm.js +0 -21
- package/examples/jsm/libs/rhino3dm/rhino3dm.module.js +0 -16
- package/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
- package/examples/jsm/lighting/TiledLighting.js +0 -42
- package/examples/jsm/materials/MeshGouraudMaterial.js +0 -434
- package/examples/jsm/materials/MeshPostProcessingMaterial.js +0 -167
- package/examples/jsm/shaders/GodRaysShader.js +0 -333
- package/examples/jsm/tsl/display/AnamorphicNode.js +0 -282
- package/examples/jsm/tsl/lighting/TiledLightsNode.js +0 -442
- package/src/nodes/accessors/BatchNode.js +0 -163
- package/src/nodes/accessors/InstanceNode.js +0 -244
- package/src/nodes/accessors/InstancedMeshNode.js +0 -50
- package/src/nodes/accessors/SceneNode.js +0 -145
- package/src/nodes/accessors/SkinningNode.js +0 -327
- package/src/nodes/code/ScriptableNode.js +0 -726
- package/src/nodes/code/ScriptableValueNode.js +0 -253
- package/src/nodes/display/PosterizeNode.js +0 -65
- package/src/nodes/functions/BSDF/DFGApprox.js +0 -71
- package/src/nodes/utils/RemapNode.js +0 -125
- package/src/nodes/utils/SpriteSheetUVNode.js +0 -90
- package/src/renderers/webgl/WebGLCubeMaps.js +0 -99
- package/src/renderers/webgl/WebGLCubeUVMaps.js +0 -134
package/src/Three.TSL.js
CHANGED
|
@@ -7,7 +7,7 @@ export const BasicShadowFilter = TSL.BasicShadowFilter;
|
|
|
7
7
|
export const Break = TSL.Break;
|
|
8
8
|
export const Const = TSL.Const;
|
|
9
9
|
export const Continue = TSL.Continue;
|
|
10
|
-
export const
|
|
10
|
+
export const DFGLUT = TSL.DFGLUT;
|
|
11
11
|
export const D_GGX = TSL.D_GGX;
|
|
12
12
|
export const Discard = TSL.Discard;
|
|
13
13
|
export const EPSILON = TSL.EPSILON;
|
|
@@ -29,7 +29,6 @@ export const HALF_PI = TSL.HALF_PI;
|
|
|
29
29
|
export const PointShadowFilter = TSL.PointShadowFilter;
|
|
30
30
|
export const Return = TSL.Return;
|
|
31
31
|
export const Schlick_to_F0 = TSL.Schlick_to_F0;
|
|
32
|
-
export const ScriptableNodeResources = TSL.ScriptableNodeResources;
|
|
33
32
|
export const ShaderNode = TSL.ShaderNode;
|
|
34
33
|
export const Stack = TSL.Stack;
|
|
35
34
|
export const Switch = TSL.Switch;
|
|
@@ -41,12 +40,14 @@ export const VarIntent = TSL.VarIntent;
|
|
|
41
40
|
export const abs = TSL.abs;
|
|
42
41
|
export const acesFilmicToneMapping = TSL.acesFilmicToneMapping;
|
|
43
42
|
export const acos = TSL.acos;
|
|
43
|
+
export const acosh = TSL.acosh;
|
|
44
44
|
export const add = TSL.add;
|
|
45
45
|
export const addMethodChaining = TSL.addMethodChaining;
|
|
46
46
|
export const addNodeElement = TSL.addNodeElement;
|
|
47
47
|
export const agxToneMapping = TSL.agxToneMapping;
|
|
48
48
|
export const all = TSL.all;
|
|
49
49
|
export const alphaT = TSL.alphaT;
|
|
50
|
+
export const ambientOcclusion = TSL.ambientOcclusion;
|
|
50
51
|
export const and = TSL.and;
|
|
51
52
|
export const anisotropy = TSL.anisotropy;
|
|
52
53
|
export const anisotropyB = TSL.anisotropyB;
|
|
@@ -54,11 +55,11 @@ export const anisotropyT = TSL.anisotropyT;
|
|
|
54
55
|
export const any = TSL.any;
|
|
55
56
|
export const append = TSL.append;
|
|
56
57
|
export const array = TSL.array;
|
|
57
|
-
export const arrayBuffer = TSL.arrayBuffer;
|
|
58
58
|
export const asin = TSL.asin;
|
|
59
|
+
export const asinh = TSL.asinh;
|
|
59
60
|
export const assign = TSL.assign;
|
|
60
61
|
export const atan = TSL.atan;
|
|
61
|
-
export const
|
|
62
|
+
export const atanh = TSL.atanh;
|
|
62
63
|
export const atomicAdd = TSL.atomicAdd;
|
|
63
64
|
export const atomicAnd = TSL.atomicAnd;
|
|
64
65
|
export const atomicFunc = TSL.atomicFunc;
|
|
@@ -98,8 +99,9 @@ export const bool = TSL.bool;
|
|
|
98
99
|
export const buffer = TSL.buffer;
|
|
99
100
|
export const bufferAttribute = TSL.bufferAttribute;
|
|
100
101
|
export const bumpMap = TSL.bumpMap;
|
|
101
|
-
export const burn = TSL.burn;
|
|
102
102
|
export const builtin = TSL.builtin;
|
|
103
|
+
export const builtinAOContext = TSL.builtinAOContext;
|
|
104
|
+
export const builtinShadowContext = TSL.builtinShadowContext;
|
|
103
105
|
export const bvec2 = TSL.bvec2;
|
|
104
106
|
export const bvec3 = TSL.bvec3;
|
|
105
107
|
export const bvec4 = TSL.bvec4;
|
|
@@ -125,6 +127,7 @@ export const clamp = TSL.clamp;
|
|
|
125
127
|
export const clearcoat = TSL.clearcoat;
|
|
126
128
|
export const clearcoatNormalView = TSL.clearcoatNormalView;
|
|
127
129
|
export const clearcoatRoughness = TSL.clearcoatRoughness;
|
|
130
|
+
export const clipSpace = TSL.clipSpace;
|
|
128
131
|
export const code = TSL.code;
|
|
129
132
|
export const color = TSL.color;
|
|
130
133
|
export const colorSpaceToWorking = TSL.colorSpaceToWorking;
|
|
@@ -136,11 +139,14 @@ export const context = TSL.context;
|
|
|
136
139
|
export const convert = TSL.convert;
|
|
137
140
|
export const convertColorSpace = TSL.convertColorSpace;
|
|
138
141
|
export const convertToTexture = TSL.convertToTexture;
|
|
142
|
+
export const countLeadingZeros = TSL.countLeadingZeros;
|
|
143
|
+
export const countOneBits = TSL.countOneBits;
|
|
144
|
+
export const countTrailingZeros = TSL.countTrailingZeros;
|
|
139
145
|
export const cos = TSL.cos;
|
|
146
|
+
export const cosh = TSL.cosh;
|
|
140
147
|
export const cross = TSL.cross;
|
|
141
148
|
export const cubeTexture = TSL.cubeTexture;
|
|
142
149
|
export const cubeTextureBase = TSL.cubeTextureBase;
|
|
143
|
-
export const cubeToUV = TSL.cubeToUV;
|
|
144
150
|
export const dFdx = TSL.dFdx;
|
|
145
151
|
export const dFdy = TSL.dFdy;
|
|
146
152
|
export const dashSize = TSL.dashSize;
|
|
@@ -165,17 +171,17 @@ export const directionToFaceDirection = TSL.directionToFaceDirection;
|
|
|
165
171
|
export const dispersion = TSL.dispersion;
|
|
166
172
|
export const distance = TSL.distance;
|
|
167
173
|
export const div = TSL.div;
|
|
168
|
-
export const dodge = TSL.dodge;
|
|
169
174
|
export const dot = TSL.dot;
|
|
170
175
|
export const drawIndex = TSL.drawIndex;
|
|
171
176
|
export const dynamicBufferAttribute = TSL.dynamicBufferAttribute;
|
|
172
177
|
export const element = TSL.element;
|
|
173
178
|
export const emissive = TSL.emissive;
|
|
174
179
|
export const equal = TSL.equal;
|
|
175
|
-
export const
|
|
180
|
+
export const equirectDirection = TSL.equirectDirection;
|
|
176
181
|
export const equirectUV = TSL.equirectUV;
|
|
177
182
|
export const exp = TSL.exp;
|
|
178
183
|
export const exp2 = TSL.exp2;
|
|
184
|
+
export const exponentialHeightFogFactor = TSL.exponentialHeightFogFactor;
|
|
179
185
|
export const expression = TSL.expression;
|
|
180
186
|
export const faceDirection = TSL.faceDirection;
|
|
181
187
|
export const faceForward = TSL.faceForward;
|
|
@@ -199,6 +205,7 @@ export const getDistanceAttenuation = TSL.getDistanceAttenuation;
|
|
|
199
205
|
export const getGeometryRoughness = TSL.getGeometryRoughness;
|
|
200
206
|
export const getNormalFromDepth = TSL.getNormalFromDepth;
|
|
201
207
|
export const interleavedGradientNoise = TSL.interleavedGradientNoise;
|
|
208
|
+
export const vogelDiskSample = TSL.vogelDiskSample;
|
|
202
209
|
export const getParallaxCorrectNormal = TSL.getParallaxCorrectNormal;
|
|
203
210
|
export const getRoughness = TSL.getRoughness;
|
|
204
211
|
export const getScreenPosition = TSL.getScreenPosition;
|
|
@@ -314,7 +321,6 @@ export const min = TSL.min;
|
|
|
314
321
|
export const mix = TSL.mix;
|
|
315
322
|
export const mixElement = TSL.mixElement;
|
|
316
323
|
export const mod = TSL.mod;
|
|
317
|
-
export const modInt = TSL.modInt;
|
|
318
324
|
export const modelDirection = TSL.modelDirection;
|
|
319
325
|
export const modelNormalMatrix = TSL.modelNormalMatrix;
|
|
320
326
|
export const modelPosition = TSL.modelPosition;
|
|
@@ -372,6 +378,7 @@ export const mx_worley_noise_float = TSL.mx_worley_noise_float;
|
|
|
372
378
|
export const mx_worley_noise_vec2 = TSL.mx_worley_noise_vec2;
|
|
373
379
|
export const mx_worley_noise_vec3 = TSL.mx_worley_noise_vec3;
|
|
374
380
|
export const negate = TSL.negate;
|
|
381
|
+
export const negateOnBackSide = TSL.negateOnBackSide;
|
|
375
382
|
export const neutralToneMapping = TSL.neutralToneMapping;
|
|
376
383
|
export const nodeArray = TSL.nodeArray;
|
|
377
384
|
export const nodeImmutable = TSL.nodeImmutable;
|
|
@@ -412,8 +419,13 @@ export const oscSquare = TSL.oscSquare;
|
|
|
412
419
|
export const oscTriangle = TSL.oscTriangle;
|
|
413
420
|
export const output = TSL.output;
|
|
414
421
|
export const outputStruct = TSL.outputStruct;
|
|
415
|
-
export const overlay = TSL.overlay;
|
|
416
422
|
export const overloadingFn = TSL.overloadingFn;
|
|
423
|
+
export const overrideNode = TSL.overrideNode;
|
|
424
|
+
export const overrideNodes = TSL.overrideNodes;
|
|
425
|
+
export const packHalf2x16 = TSL.packHalf2x16;
|
|
426
|
+
export const packSnorm2x16 = TSL.packSnorm2x16;
|
|
427
|
+
export const packUnorm2x16 = TSL.packUnorm2x16;
|
|
428
|
+
export const packNormalToRGB = TSL.packNormalToRGB;
|
|
417
429
|
export const parabola = TSL.parabola;
|
|
418
430
|
export const parallaxDirection = TSL.parallaxDirection;
|
|
419
431
|
export const parallaxUV = TSL.parallaxUV;
|
|
@@ -461,6 +473,7 @@ export const remapClamp = TSL.remapClamp;
|
|
|
461
473
|
export const renderGroup = TSL.renderGroup;
|
|
462
474
|
export const renderOutput = TSL.renderOutput;
|
|
463
475
|
export const rendererReference = TSL.rendererReference;
|
|
476
|
+
export const replaceDefaultUV = TSL.replaceDefaultUV;
|
|
464
477
|
export const rotate = TSL.rotate;
|
|
465
478
|
export const rotateUV = TSL.rotateUV;
|
|
466
479
|
export const roughness = TSL.roughness;
|
|
@@ -478,8 +491,6 @@ export const screenCoordinate = TSL.screenCoordinate;
|
|
|
478
491
|
export const screenDPR = TSL.screenDPR;
|
|
479
492
|
export const screenSize = TSL.screenSize;
|
|
480
493
|
export const screenUV = TSL.screenUV;
|
|
481
|
-
export const scriptable = TSL.scriptable;
|
|
482
|
-
export const scriptableValue = TSL.scriptableValue;
|
|
483
494
|
export const select = TSL.select;
|
|
484
495
|
export const setCurrentStack = TSL.setCurrentStack;
|
|
485
496
|
export const setName = TSL.setName;
|
|
@@ -495,6 +506,7 @@ export const shiftRight = TSL.shiftRight;
|
|
|
495
506
|
export const shininess = TSL.shininess;
|
|
496
507
|
export const sign = TSL.sign;
|
|
497
508
|
export const sin = TSL.sin;
|
|
509
|
+
export const sinh = TSL.sinh;
|
|
498
510
|
export const sinc = TSL.sinc;
|
|
499
511
|
export const skinning = TSL.skinning;
|
|
500
512
|
export const smoothstep = TSL.smoothstep;
|
|
@@ -510,9 +522,8 @@ export const step = TSL.step;
|
|
|
510
522
|
export const stepElement = TSL.stepElement;
|
|
511
523
|
export const storage = TSL.storage;
|
|
512
524
|
export const storageBarrier = TSL.storageBarrier;
|
|
513
|
-
export const storageObject = TSL.storageObject;
|
|
514
525
|
export const storageTexture = TSL.storageTexture;
|
|
515
|
-
export const
|
|
526
|
+
export const storageTexture3D = TSL.storageTexture3D;
|
|
516
527
|
export const struct = TSL.struct;
|
|
517
528
|
export const sub = TSL.sub;
|
|
518
529
|
export const subgroupAdd = TSL.subgroupAdd;
|
|
@@ -540,6 +551,7 @@ export const subgroupShuffleXor = TSL.subgroupShuffleXor;
|
|
|
540
551
|
export const subgroupSize = TSL.subgroupSize;
|
|
541
552
|
export const subgroupXor = TSL.subgroupXor;
|
|
542
553
|
export const tan = TSL.tan;
|
|
554
|
+
export const tanh = TSL.tanh;
|
|
543
555
|
export const tangentGeometry = TSL.tangentGeometry;
|
|
544
556
|
export const tangentLocal = TSL.tangentLocal;
|
|
545
557
|
export const tangentView = TSL.tangentView;
|
|
@@ -561,6 +573,8 @@ export const toneMappingExposure = TSL.toneMappingExposure;
|
|
|
561
573
|
export const toonOutlinePass = TSL.toonOutlinePass;
|
|
562
574
|
export const transformDirection = TSL.transformDirection;
|
|
563
575
|
export const transformNormal = TSL.transformNormal;
|
|
576
|
+
export const transformNormalByInverseViewMatrix = TSL.transformNormalByInverseViewMatrix;
|
|
577
|
+
export const transformNormalByViewMatrix = TSL.transformNormalByViewMatrix;
|
|
564
578
|
export const transformNormalToView = TSL.transformNormalToView;
|
|
565
579
|
export const transformedClearcoatNormalView = TSL.transformedClearcoatNormalView;
|
|
566
580
|
export const transformedNormalView = TSL.transformedNormalView;
|
|
@@ -579,6 +593,10 @@ export const uniformCubeTexture = TSL.uniformCubeTexture;
|
|
|
579
593
|
export const uniformGroup = TSL.uniformGroup;
|
|
580
594
|
export const uniformFlow = TSL.uniformFlow;
|
|
581
595
|
export const uniformTexture = TSL.uniformTexture;
|
|
596
|
+
export const unpackHalf2x16 = TSL.unpackHalf2x16;
|
|
597
|
+
export const unpackSnorm2x16 = TSL.unpackSnorm2x16;
|
|
598
|
+
export const unpackUnorm2x16 = TSL.unpackUnorm2x16;
|
|
599
|
+
export const unpackRGBToNormal = TSL.unpackRGBToNormal;
|
|
582
600
|
export const unpremultiplyAlpha = TSL.unpremultiplyAlpha;
|
|
583
601
|
export const userData = TSL.userData;
|
|
584
602
|
export const uv = TSL.uv;
|
|
@@ -599,11 +617,14 @@ export const vibrance = TSL.vibrance;
|
|
|
599
617
|
export const viewZToLogarithmicDepth = TSL.viewZToLogarithmicDepth;
|
|
600
618
|
export const viewZToOrthographicDepth = TSL.viewZToOrthographicDepth;
|
|
601
619
|
export const viewZToPerspectiveDepth = TSL.viewZToPerspectiveDepth;
|
|
620
|
+
export const viewZToReversedOrthographicDepth = TSL.viewZToReversedOrthographicDepth;
|
|
621
|
+
export const viewZToReversedPerspectiveDepth = TSL.viewZToReversedPerspectiveDepth;
|
|
602
622
|
export const viewport = TSL.viewport;
|
|
603
623
|
export const viewportCoordinate = TSL.viewportCoordinate;
|
|
604
624
|
export const viewportDepthTexture = TSL.viewportDepthTexture;
|
|
605
625
|
export const viewportLinearDepth = TSL.viewportLinearDepth;
|
|
606
626
|
export const viewportMipTexture = TSL.viewportMipTexture;
|
|
627
|
+
export const viewportOpaqueMipTexture = TSL.viewportOpaqueMipTexture;
|
|
607
628
|
export const viewportResolution = TSL.viewportResolution;
|
|
608
629
|
export const viewportSafeUV = TSL.viewportSafeUV;
|
|
609
630
|
export const viewportSharedTexture = TSL.viewportSharedTexture;
|
|
@@ -2,11 +2,15 @@ export * from './Three.Core.js';
|
|
|
2
2
|
|
|
3
3
|
export * from './materials/nodes/NodeMaterials.js';
|
|
4
4
|
export { default as WebGPURenderer } from './renderers/webgpu/WebGPURenderer.Nodes.js';
|
|
5
|
+
export { default as WebGPUBackend } from './renderers/webgpu/WebGPUBackend.js';
|
|
6
|
+
export { default as WebGLBackend } from './renderers/webgl-fallback/WebGLBackend.js';
|
|
5
7
|
export { default as Lighting } from './renderers/common/Lighting.js';
|
|
6
8
|
export { default as BundleGroup } from './renderers/common/BundleGroup.js';
|
|
7
9
|
export { default as QuadMesh } from './renderers/common/QuadMesh.js';
|
|
8
10
|
export { default as PMREMGenerator } from './renderers/common/extras/PMREMGenerator.js';
|
|
11
|
+
export { default as RenderPipeline } from './renderers/common/RenderPipeline.js';
|
|
9
12
|
export { default as PostProcessing } from './renderers/common/PostProcessing.js';
|
|
13
|
+
export { default as ReadbackBuffer } from './renderers/common/ReadbackBuffer.js';
|
|
10
14
|
import * as RendererUtils from './renderers/common/RendererUtils.js';
|
|
11
15
|
export { RendererUtils };
|
|
12
16
|
export { default as StorageTexture } from './renderers/common/StorageTexture.js';
|
|
@@ -20,6 +24,7 @@ export { default as NodeObjectLoader } from './loaders/nodes/NodeObjectLoader.js
|
|
|
20
24
|
export { default as NodeMaterialLoader } from './loaders/nodes/NodeMaterialLoader.js';
|
|
21
25
|
export { default as InspectorBase } from './renderers/common/InspectorBase.js';
|
|
22
26
|
export { default as CanvasTarget } from './renderers/common/CanvasTarget.js';
|
|
27
|
+
export { default as BlendMode } from './renderers/common/BlendMode.js';
|
|
23
28
|
export { ClippingGroup } from './objects/ClippingGroup.js';
|
|
24
29
|
export * from './nodes/Nodes.js';
|
|
25
30
|
import * as TSL from './nodes/TSL.js';
|
package/src/Three.WebGPU.js
CHANGED
|
@@ -2,13 +2,21 @@ export * from './Three.Core.js';
|
|
|
2
2
|
|
|
3
3
|
export * from './materials/nodes/NodeMaterials.js';
|
|
4
4
|
export { default as WebGPURenderer } from './renderers/webgpu/WebGPURenderer.js';
|
|
5
|
+
export { default as WebGPUBackend } from './renderers/webgpu/WebGPUBackend.js';
|
|
6
|
+
export { default as WebGLBackend } from './renderers/webgl-fallback/WebGLBackend.js';
|
|
7
|
+
export { default as Renderer } from './renderers/common/Renderer.js';
|
|
8
|
+
export { default as Backend } from './renderers/common/Backend.js';
|
|
9
|
+
export { default as WebGLCapabilities } from './renderers/webgl-fallback/utils/WebGLCapabilities.js';
|
|
5
10
|
export { default as Lighting } from './renderers/common/Lighting.js';
|
|
6
11
|
export { default as BundleGroup } from './renderers/common/BundleGroup.js';
|
|
7
12
|
export { default as QuadMesh } from './renderers/common/QuadMesh.js';
|
|
8
13
|
export { default as PMREMGenerator } from './renderers/common/extras/PMREMGenerator.js';
|
|
14
|
+
export { default as RenderPipeline } from './renderers/common/RenderPipeline.js';
|
|
9
15
|
export { default as PostProcessing } from './renderers/common/PostProcessing.js';
|
|
16
|
+
export { default as ReadbackBuffer } from './renderers/common/ReadbackBuffer.js';
|
|
10
17
|
import * as RendererUtils from './renderers/common/RendererUtils.js';
|
|
11
18
|
export { RendererUtils };
|
|
19
|
+
export { default as CubeRenderTarget } from './renderers/common/CubeRenderTarget.js';
|
|
12
20
|
export { default as StorageTexture } from './renderers/common/StorageTexture.js';
|
|
13
21
|
export { default as Storage3DTexture } from './renderers/common/Storage3DTexture.js';
|
|
14
22
|
export { default as StorageArrayTexture } from './renderers/common/StorageArrayTexture.js';
|
|
@@ -22,6 +30,11 @@ export { default as NodeObjectLoader } from './loaders/nodes/NodeObjectLoader.js
|
|
|
22
30
|
export { default as NodeMaterialLoader } from './loaders/nodes/NodeMaterialLoader.js';
|
|
23
31
|
export { default as InspectorBase } from './renderers/common/InspectorBase.js';
|
|
24
32
|
export { default as CanvasTarget } from './renderers/common/CanvasTarget.js';
|
|
33
|
+
export { default as BlendMode } from './renderers/common/BlendMode.js';
|
|
34
|
+
export { default as GLSLNodeBuilder } from './renderers/webgl-fallback/nodes/GLSLNodeBuilder.js';
|
|
35
|
+
export { default as BasicNodeLibrary } from './renderers/webgpu/nodes/BasicNodeLibrary.js';
|
|
36
|
+
export { default as StandardNodeLibrary } from './renderers/webgpu/nodes/StandardNodeLibrary.js';
|
|
37
|
+
export { default as WGSLNodeBuilder } from './renderers/webgpu/nodes/WGSLNodeBuilder.js';
|
|
25
38
|
export { ClippingGroup } from './objects/ClippingGroup.js';
|
|
26
39
|
export * from './nodes/Nodes.js';
|
|
27
40
|
import * as TSL from './nodes/TSL.js';
|
package/src/Three.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export * from './Three.Core.js';
|
|
2
2
|
|
|
3
3
|
export { WebGLRenderer } from './renderers/WebGLRenderer.js';
|
|
4
|
+
export { WebGLCubeRenderTarget } from './renderers/WebGLCubeRenderTarget.js';
|
|
4
5
|
export { ShaderLib } from './renderers/shaders/ShaderLib.js';
|
|
5
6
|
export { UniformsLib } from './renderers/shaders/UniformsLib.js';
|
|
6
7
|
export { UniformsUtils } from './renderers/shaders/UniformsUtils.js';
|
|
@@ -56,6 +56,7 @@ class AnimationAction {
|
|
|
56
56
|
this._byClipCacheIndex = null; // for the memory manager
|
|
57
57
|
|
|
58
58
|
this._timeScaleInterpolant = null;
|
|
59
|
+
this._restoreTimeScale = null;
|
|
59
60
|
this._weightInterpolant = null;
|
|
60
61
|
|
|
61
62
|
/**
|
|
@@ -343,6 +344,10 @@ class AnimationAction {
|
|
|
343
344
|
startEndRatio = fadeOutDuration / fadeInDuration,
|
|
344
345
|
endStartRatio = fadeInDuration / fadeOutDuration;
|
|
345
346
|
|
|
347
|
+
|
|
348
|
+
fadeOutAction._restoreTimeScale = fadeOutAction.timeScale;
|
|
349
|
+
this._restoreTimeScale = this.timeScale;
|
|
350
|
+
|
|
346
351
|
fadeOutAction.warp( 1.0, startEndRatio, duration );
|
|
347
352
|
this.warp( endStartRatio, 1.0, duration );
|
|
348
353
|
|
|
@@ -511,6 +516,8 @@ class AnimationAction {
|
|
|
511
516
|
|
|
512
517
|
}
|
|
513
518
|
|
|
519
|
+
this._restoreTimeScale = null;
|
|
520
|
+
|
|
514
521
|
return this;
|
|
515
522
|
|
|
516
523
|
}
|
|
@@ -548,7 +555,7 @@ class AnimationAction {
|
|
|
548
555
|
|
|
549
556
|
}
|
|
550
557
|
|
|
551
|
-
//
|
|
558
|
+
// Internal
|
|
552
559
|
|
|
553
560
|
_update( time, deltaTime, timeDirection, accuIndex ) {
|
|
554
561
|
|
|
@@ -683,8 +690,6 @@ class AnimationAction {
|
|
|
683
690
|
|
|
684
691
|
if ( time > interpolant.parameterPositions[ 1 ] ) {
|
|
685
692
|
|
|
686
|
-
this.stopWarping();
|
|
687
|
-
|
|
688
693
|
if ( timeScale === 0 ) {
|
|
689
694
|
|
|
690
695
|
// motion has halted, pause
|
|
@@ -692,11 +697,19 @@ class AnimationAction {
|
|
|
692
697
|
|
|
693
698
|
} else {
|
|
694
699
|
|
|
700
|
+
if ( this._restoreTimeScale !== null ) {
|
|
701
|
+
|
|
702
|
+
timeScale = this._restoreTimeScale;
|
|
703
|
+
|
|
704
|
+
}
|
|
705
|
+
|
|
695
706
|
// warp done - apply final time scale
|
|
696
707
|
this.timeScale = timeScale;
|
|
697
708
|
|
|
698
709
|
}
|
|
699
710
|
|
|
711
|
+
this.stopWarping();
|
|
712
|
+
|
|
700
713
|
}
|
|
701
714
|
|
|
702
715
|
}
|
|
@@ -847,6 +860,7 @@ class AnimationAction {
|
|
|
847
860
|
|
|
848
861
|
} else {
|
|
849
862
|
|
|
863
|
+
this._loopCount = loopCount;
|
|
850
864
|
this.time = time;
|
|
851
865
|
|
|
852
866
|
}
|
|
@@ -894,7 +908,7 @@ class AnimationAction {
|
|
|
894
908
|
|
|
895
909
|
} else {
|
|
896
910
|
|
|
897
|
-
settings.endingEnd
|
|
911
|
+
settings.endingEnd = WrapAroundEnding;
|
|
898
912
|
|
|
899
913
|
}
|
|
900
914
|
|
|
@@ -8,7 +8,6 @@ import { StringKeyframeTrack } from './tracks/StringKeyframeTrack.js';
|
|
|
8
8
|
import { VectorKeyframeTrack } from './tracks/VectorKeyframeTrack.js';
|
|
9
9
|
import { generateUUID } from '../math/MathUtils.js';
|
|
10
10
|
import { NormalAnimationBlendMode } from '../constants.js';
|
|
11
|
-
import { warn, error } from '../utils.js';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
13
|
* A reusable set of keyframe tracks which represent an animation.
|
|
@@ -295,144 +294,6 @@ class AnimationClip {
|
|
|
295
294
|
|
|
296
295
|
}
|
|
297
296
|
|
|
298
|
-
/**
|
|
299
|
-
* Parses the `animation.hierarchy` format and returns a new animation clip.
|
|
300
|
-
*
|
|
301
|
-
* @static
|
|
302
|
-
* @deprecated since r175.
|
|
303
|
-
* @param {Object} animation - A serialized animation clip as JSON.
|
|
304
|
-
* @param {Array<Bones>} bones - An array of bones.
|
|
305
|
-
* @return {?AnimationClip} The new animation clip.
|
|
306
|
-
*/
|
|
307
|
-
static parseAnimation( animation, bones ) {
|
|
308
|
-
|
|
309
|
-
warn( 'AnimationClip: parseAnimation() is deprecated and will be removed with r185' );
|
|
310
|
-
|
|
311
|
-
if ( ! animation ) {
|
|
312
|
-
|
|
313
|
-
error( 'AnimationClip: No animation in JSONLoader data.' );
|
|
314
|
-
return null;
|
|
315
|
-
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
const addNonemptyTrack = function ( trackType, trackName, animationKeys, propertyName, destTracks ) {
|
|
319
|
-
|
|
320
|
-
// only return track if there are actually keys.
|
|
321
|
-
if ( animationKeys.length !== 0 ) {
|
|
322
|
-
|
|
323
|
-
const times = [];
|
|
324
|
-
const values = [];
|
|
325
|
-
|
|
326
|
-
AnimationUtils.flattenJSON( animationKeys, times, values, propertyName );
|
|
327
|
-
|
|
328
|
-
// empty keys are filtered out, so check again
|
|
329
|
-
if ( times.length !== 0 ) {
|
|
330
|
-
|
|
331
|
-
destTracks.push( new trackType( trackName, times, values ) );
|
|
332
|
-
|
|
333
|
-
}
|
|
334
|
-
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
};
|
|
338
|
-
|
|
339
|
-
const tracks = [];
|
|
340
|
-
|
|
341
|
-
const clipName = animation.name || 'default';
|
|
342
|
-
const fps = animation.fps || 30;
|
|
343
|
-
const blendMode = animation.blendMode;
|
|
344
|
-
|
|
345
|
-
// automatic length determination in AnimationClip.
|
|
346
|
-
let duration = animation.length || - 1;
|
|
347
|
-
|
|
348
|
-
const hierarchyTracks = animation.hierarchy || [];
|
|
349
|
-
|
|
350
|
-
for ( let h = 0; h < hierarchyTracks.length; h ++ ) {
|
|
351
|
-
|
|
352
|
-
const animationKeys = hierarchyTracks[ h ].keys;
|
|
353
|
-
|
|
354
|
-
// skip empty tracks
|
|
355
|
-
if ( ! animationKeys || animationKeys.length === 0 ) continue;
|
|
356
|
-
|
|
357
|
-
// process morph targets
|
|
358
|
-
if ( animationKeys[ 0 ].morphTargets ) {
|
|
359
|
-
|
|
360
|
-
// figure out all morph targets used in this track
|
|
361
|
-
const morphTargetNames = {};
|
|
362
|
-
|
|
363
|
-
let k;
|
|
364
|
-
|
|
365
|
-
for ( k = 0; k < animationKeys.length; k ++ ) {
|
|
366
|
-
|
|
367
|
-
if ( animationKeys[ k ].morphTargets ) {
|
|
368
|
-
|
|
369
|
-
for ( let m = 0; m < animationKeys[ k ].morphTargets.length; m ++ ) {
|
|
370
|
-
|
|
371
|
-
morphTargetNames[ animationKeys[ k ].morphTargets[ m ] ] = - 1;
|
|
372
|
-
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
// create a track for each morph target with all zero
|
|
380
|
-
// morphTargetInfluences except for the keys in which
|
|
381
|
-
// the morphTarget is named.
|
|
382
|
-
for ( const morphTargetName in morphTargetNames ) {
|
|
383
|
-
|
|
384
|
-
const times = [];
|
|
385
|
-
const values = [];
|
|
386
|
-
|
|
387
|
-
for ( let m = 0; m !== animationKeys[ k ].morphTargets.length; ++ m ) {
|
|
388
|
-
|
|
389
|
-
const animationKey = animationKeys[ k ];
|
|
390
|
-
|
|
391
|
-
times.push( animationKey.time );
|
|
392
|
-
values.push( ( animationKey.morphTarget === morphTargetName ) ? 1 : 0 );
|
|
393
|
-
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
tracks.push( new NumberKeyframeTrack( '.morphTargetInfluence[' + morphTargetName + ']', times, values ) );
|
|
397
|
-
|
|
398
|
-
}
|
|
399
|
-
|
|
400
|
-
duration = morphTargetNames.length * fps;
|
|
401
|
-
|
|
402
|
-
} else {
|
|
403
|
-
|
|
404
|
-
// ...assume skeletal animation
|
|
405
|
-
|
|
406
|
-
const boneName = '.bones[' + bones[ h ].name + ']';
|
|
407
|
-
|
|
408
|
-
addNonemptyTrack(
|
|
409
|
-
VectorKeyframeTrack, boneName + '.position',
|
|
410
|
-
animationKeys, 'pos', tracks );
|
|
411
|
-
|
|
412
|
-
addNonemptyTrack(
|
|
413
|
-
QuaternionKeyframeTrack, boneName + '.quaternion',
|
|
414
|
-
animationKeys, 'rot', tracks );
|
|
415
|
-
|
|
416
|
-
addNonemptyTrack(
|
|
417
|
-
VectorKeyframeTrack, boneName + '.scale',
|
|
418
|
-
animationKeys, 'scl', tracks );
|
|
419
|
-
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
if ( tracks.length === 0 ) {
|
|
425
|
-
|
|
426
|
-
return null;
|
|
427
|
-
|
|
428
|
-
}
|
|
429
|
-
|
|
430
|
-
const clip = new this( clipName, duration, tracks, blendMode );
|
|
431
|
-
|
|
432
|
-
return clip;
|
|
433
|
-
|
|
434
|
-
}
|
|
435
|
-
|
|
436
297
|
/**
|
|
437
298
|
* Sets the duration of this clip to the duration of its longest keyframe track.
|
|
438
299
|
*
|
|
@@ -48,6 +48,12 @@ class AnimationMixer extends EventDispatcher {
|
|
|
48
48
|
*/
|
|
49
49
|
this.timeScale = 1.0;
|
|
50
50
|
|
|
51
|
+
if ( typeof __THREE_DEVTOOLS__ !== 'undefined' ) {
|
|
52
|
+
|
|
53
|
+
__THREE_DEVTOOLS__.dispatchEvent( new CustomEvent( 'observe', { detail: this } ) );
|
|
54
|
+
|
|
55
|
+
}
|
|
56
|
+
|
|
51
57
|
}
|
|
52
58
|
|
|
53
59
|
_bindAction( action, prototypeAction ) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Quaternion } from '../math/Quaternion.js';
|
|
2
2
|
import { AdditiveAnimationBlendMode } from '../constants.js';
|
|
3
|
+
import { isTypedArray } from '../utils.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Converts an array to a specific type.
|
|
@@ -22,18 +23,6 @@ function convertArray( array, type ) {
|
|
|
22
23
|
|
|
23
24
|
}
|
|
24
25
|
|
|
25
|
-
/**
|
|
26
|
-
* Returns `true` if the given object is a typed array.
|
|
27
|
-
*
|
|
28
|
-
* @param {any} object - The object to check.
|
|
29
|
-
* @return {boolean} Whether the given object is a typed array.
|
|
30
|
-
*/
|
|
31
|
-
function isTypedArray( object ) {
|
|
32
|
-
|
|
33
|
-
return ArrayBuffer.isView( object ) && ! ( object instanceof DataView );
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
26
|
/**
|
|
38
27
|
* Returns an array by which times and values can be sorted.
|
|
39
28
|
*
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
InterpolateLinear,
|
|
3
3
|
InterpolateSmooth,
|
|
4
|
-
InterpolateDiscrete
|
|
4
|
+
InterpolateDiscrete,
|
|
5
|
+
InterpolateBezier
|
|
5
6
|
} from '../constants.js';
|
|
6
7
|
import { CubicInterpolant } from '../math/interpolants/CubicInterpolant.js';
|
|
7
8
|
import { LinearInterpolant } from '../math/interpolants/LinearInterpolant.js';
|
|
8
9
|
import { DiscreteInterpolant } from '../math/interpolants/DiscreteInterpolant.js';
|
|
10
|
+
import { BezierInterpolant } from '../math/interpolants/BezierInterpolant.js';
|
|
9
11
|
import * as AnimationUtils from './AnimationUtils.js';
|
|
10
12
|
import { warn, error } from '../utils.js';
|
|
11
13
|
|
|
12
14
|
/**
|
|
13
|
-
* Represents
|
|
15
|
+
* Represents a timed sequence of keyframes, which are composed of lists of
|
|
14
16
|
* times and related values, and which are used to animate a specific property
|
|
15
17
|
* of an object.
|
|
16
18
|
*/
|
|
@@ -22,7 +24,7 @@ class KeyframeTrack {
|
|
|
22
24
|
* @param {string} name - The keyframe track's name.
|
|
23
25
|
* @param {Array<number>} times - A list of keyframe times.
|
|
24
26
|
* @param {Array<number|string|boolean>} values - A list of keyframe values.
|
|
25
|
-
* @param {(InterpolateLinear|InterpolateDiscrete|InterpolateSmooth)} [interpolation] - The interpolation type.
|
|
27
|
+
* @param {(InterpolateLinear|InterpolateDiscrete|InterpolateSmooth|InterpolateBezier)} [interpolation] - The interpolation type.
|
|
26
28
|
*/
|
|
27
29
|
constructor( name, times, values, interpolation ) {
|
|
28
30
|
|
|
@@ -140,10 +142,37 @@ class KeyframeTrack {
|
|
|
140
142
|
|
|
141
143
|
}
|
|
142
144
|
|
|
145
|
+
/**
|
|
146
|
+
* Factory method for creating a new Bezier interpolant.
|
|
147
|
+
*
|
|
148
|
+
* The Bezier interpolant requires tangent data to be set via the `settings` property
|
|
149
|
+
* on the track before creating the interpolant. The settings should contain:
|
|
150
|
+
* - `inTangents`: Float32Array with [time, value] pairs per keyframe per component
|
|
151
|
+
* - `outTangents`: Float32Array with [time, value] pairs per keyframe per component
|
|
152
|
+
*
|
|
153
|
+
* @static
|
|
154
|
+
* @param {TypedArray} [result] - The result buffer.
|
|
155
|
+
* @return {BezierInterpolant} The new interpolant.
|
|
156
|
+
*/
|
|
157
|
+
InterpolantFactoryMethodBezier( result ) {
|
|
158
|
+
|
|
159
|
+
const interpolant = new BezierInterpolant( this.times, this.values, this.getValueSize(), result );
|
|
160
|
+
|
|
161
|
+
if ( this.settings ) {
|
|
162
|
+
|
|
163
|
+
interpolant.inTangents = this.settings.inTangents;
|
|
164
|
+
interpolant.outTangents = this.settings.outTangents;
|
|
165
|
+
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return interpolant;
|
|
169
|
+
|
|
170
|
+
}
|
|
171
|
+
|
|
143
172
|
/**
|
|
144
173
|
* Defines the interpolation factor method for this keyframe track.
|
|
145
174
|
*
|
|
146
|
-
* @param {(InterpolateLinear|InterpolateDiscrete|InterpolateSmooth)} interpolation - The interpolation type.
|
|
175
|
+
* @param {(InterpolateLinear|InterpolateDiscrete|InterpolateSmooth|InterpolateBezier)} interpolation - The interpolation type.
|
|
147
176
|
* @return {KeyframeTrack} A reference to this keyframe track.
|
|
148
177
|
*/
|
|
149
178
|
setInterpolation( interpolation ) {
|
|
@@ -170,6 +199,12 @@ class KeyframeTrack {
|
|
|
170
199
|
|
|
171
200
|
break;
|
|
172
201
|
|
|
202
|
+
case InterpolateBezier:
|
|
203
|
+
|
|
204
|
+
factoryMethod = this.InterpolantFactoryMethodBezier;
|
|
205
|
+
|
|
206
|
+
break;
|
|
207
|
+
|
|
173
208
|
}
|
|
174
209
|
|
|
175
210
|
if ( factoryMethod === undefined ) {
|
|
@@ -206,7 +241,7 @@ class KeyframeTrack {
|
|
|
206
241
|
/**
|
|
207
242
|
* Returns the current interpolation type.
|
|
208
243
|
*
|
|
209
|
-
* @return {(InterpolateLinear|InterpolateDiscrete|InterpolateSmooth)} The interpolation type.
|
|
244
|
+
* @return {(InterpolateLinear|InterpolateDiscrete|InterpolateSmooth|InterpolateBezier)} The interpolation type.
|
|
210
245
|
*/
|
|
211
246
|
getInterpolation() {
|
|
212
247
|
|
|
@@ -224,6 +259,10 @@ class KeyframeTrack {
|
|
|
224
259
|
|
|
225
260
|
return InterpolateSmooth;
|
|
226
261
|
|
|
262
|
+
case this.InterpolantFactoryMethodBezier:
|
|
263
|
+
|
|
264
|
+
return InterpolateBezier;
|
|
265
|
+
|
|
227
266
|
}
|
|
228
267
|
|
|
229
268
|
}
|
|
@@ -425,7 +464,7 @@ class KeyframeTrack {
|
|
|
425
464
|
* Optimizes this keyframe track by removing equivalent sequential keys (which are
|
|
426
465
|
* common in morph target sequences).
|
|
427
466
|
*
|
|
428
|
-
* @return {
|
|
467
|
+
* @return {KeyframeTrack} A reference to this keyframe track.
|
|
429
468
|
*/
|
|
430
469
|
optimize() {
|
|
431
470
|
|
|
@@ -565,7 +604,7 @@ class KeyframeTrack {
|
|
|
565
604
|
/**
|
|
566
605
|
* The value type name.
|
|
567
606
|
*
|
|
568
|
-
* @type {
|
|
607
|
+
* @type {string}
|
|
569
608
|
* @default ''
|
|
570
609
|
*/
|
|
571
610
|
KeyframeTrack.prototype.ValueTypeName = '';
|
|
@@ -589,7 +628,7 @@ KeyframeTrack.prototype.ValueBufferType = Float32Array;
|
|
|
589
628
|
/**
|
|
590
629
|
* The default interpolation type of this keyframe track.
|
|
591
630
|
*
|
|
592
|
-
* @type {(InterpolateLinear|InterpolateDiscrete|InterpolateSmooth)}
|
|
631
|
+
* @type {(InterpolateLinear|InterpolateDiscrete|InterpolateSmooth|InterpolateBezier)}
|
|
593
632
|
* @default InterpolateLinear
|
|
594
633
|
*/
|
|
595
634
|
KeyframeTrack.prototype.DefaultInterpolation = InterpolateLinear;
|