@plastic-software/three 0.175.14 → 0.179.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 +4 -4
- package/build/three.cjs +8402 -6787
- package/build/three.core.js +8007 -6688
- package/build/three.core.min.js +1 -1
- package/build/three.module.js +397 -102
- package/build/three.module.min.js +1 -1
- package/build/three.tsl.js +84 -27
- package/build/three.tsl.min.js +1 -1
- package/build/three.webgpu.js +6831 -2838
- package/build/three.webgpu.min.js +1 -1
- package/build/three.webgpu.nodes.js +6648 -2838
- package/build/three.webgpu.nodes.min.js +1 -1
- package/examples/jsm/Addons.js +1 -3
- package/examples/jsm/animation/AnimationClipCreator.js +1 -0
- package/examples/jsm/animation/CCDIKSolver.js +6 -3
- package/examples/jsm/capabilities/WebGL.js +1 -27
- package/examples/jsm/capabilities/WebGPU.js +2 -1
- package/examples/jsm/controls/ArcballControls.js +15 -4
- package/examples/jsm/controls/DragControls.js +1 -0
- package/examples/jsm/controls/FirstPersonControls.js +1 -0
- package/examples/jsm/controls/FlyControls.js +1 -0
- package/examples/jsm/controls/MapControls.js +1 -0
- package/examples/jsm/controls/OrbitControls.js +1 -0
- package/examples/jsm/controls/PointerLockControls.js +5 -3
- package/examples/jsm/controls/TrackballControls.js +1 -0
- package/examples/jsm/controls/TransformControls.js +62 -14
- package/examples/jsm/csm/CSM.js +2 -0
- package/examples/jsm/csm/CSMFrustum.js +2 -0
- package/examples/jsm/csm/CSMHelper.js +1 -0
- package/examples/jsm/csm/CSMShader.js +4 -1
- package/examples/jsm/csm/CSMShadowNode.js +22 -8
- package/examples/jsm/curves/CurveExtras.js +14 -0
- package/examples/jsm/curves/NURBSCurve.js +1 -0
- package/examples/jsm/curves/NURBSSurface.js +2 -0
- package/examples/jsm/curves/NURBSUtils.js +4 -1
- package/examples/jsm/curves/NURBSVolume.js +2 -0
- package/examples/jsm/effects/AnaglyphEffect.js +2 -0
- package/examples/jsm/effects/AsciiEffect.js +2 -0
- package/examples/jsm/effects/OutlineEffect.js +2 -0
- package/examples/jsm/effects/ParallaxBarrierEffect.js +2 -0
- package/examples/jsm/effects/StereoEffect.js +2 -0
- package/examples/jsm/environments/DebugEnvironment.js +1 -0
- package/examples/jsm/environments/RoomEnvironment.js +57 -38
- package/examples/jsm/exporters/DRACOExporter.js +4 -2
- package/examples/jsm/exporters/EXRExporter.js +2 -0
- package/examples/jsm/exporters/GLTFExporter.js +7 -4
- package/examples/jsm/exporters/KTX2Exporter.js +2 -0
- package/examples/jsm/exporters/OBJExporter.js +3 -1
- package/examples/jsm/exporters/PLYExporter.js +4 -2
- package/examples/jsm/exporters/STLExporter.js +2 -0
- package/examples/jsm/exporters/USDZExporter.js +679 -300
- package/examples/jsm/geometries/BoxLineGeometry.js +1 -0
- package/examples/jsm/geometries/ConvexGeometry.js +1 -0
- package/examples/jsm/geometries/DecalGeometry.js +1 -0
- package/examples/jsm/geometries/ParametricFunctions.js +4 -1
- package/examples/jsm/geometries/ParametricGeometry.js +1 -0
- package/examples/jsm/geometries/RoundedBoxGeometry.js +48 -8
- package/examples/jsm/geometries/TeapotGeometry.js +1 -0
- package/examples/jsm/geometries/TextGeometry.js +1 -0
- package/examples/jsm/helpers/LightProbeHelper.js +1 -0
- package/examples/jsm/helpers/LightProbeHelperGPU.js +1 -0
- package/examples/jsm/helpers/OctreeHelper.js +1 -0
- package/examples/jsm/helpers/PositionalAudioHelper.js +1 -0
- package/examples/jsm/helpers/RapierHelper.js +59 -0
- package/examples/jsm/helpers/RectAreaLightHelper.js +1 -0
- package/examples/jsm/helpers/TextureHelper.js +1 -0
- package/examples/jsm/helpers/TextureHelperGPU.js +5 -4
- package/examples/jsm/helpers/VertexNormalsHelper.js +1 -0
- package/examples/jsm/helpers/VertexTangentsHelper.js +1 -0
- package/examples/jsm/helpers/ViewHelper.js +1 -0
- package/examples/jsm/interactive/HTMLMesh.js +11 -2
- package/examples/jsm/interactive/InteractiveGroup.js +1 -0
- package/examples/jsm/interactive/SelectionBox.js +2 -0
- package/examples/jsm/interactive/SelectionHelper.js +2 -0
- package/examples/jsm/libs/meshopt_decoder.module.js +75 -58
- package/examples/jsm/lighting/TiledLighting.js +1 -0
- package/examples/jsm/lights/LightProbeGenerator.js +15 -3
- package/examples/jsm/lights/RectAreaLightTexturesLib.js +1 -0
- package/examples/jsm/lights/RectAreaLightUniformsLib.js +1 -0
- package/examples/jsm/lines/Line2.js +1 -0
- package/examples/jsm/lines/LineGeometry.js +1 -0
- package/examples/jsm/lines/LineMaterial.js +4 -4
- package/examples/jsm/lines/LineSegments2.js +1 -0
- package/examples/jsm/lines/LineSegmentsGeometry.js +1 -0
- package/examples/jsm/lines/Wireframe.js +1 -0
- package/examples/jsm/lines/WireframeGeometry2.js +1 -0
- package/examples/jsm/lines/webgpu/Line2.js +1 -0
- package/examples/jsm/lines/webgpu/LineSegments2.js +3 -1
- package/examples/jsm/lines/webgpu/Wireframe.js +1 -0
- package/examples/jsm/loaders/3DMLoader.js +1 -0
- package/examples/jsm/loaders/3MFLoader.js +1 -0
- package/examples/jsm/loaders/AMFLoader.js +1 -0
- package/examples/jsm/loaders/BVHLoader.js +1 -0
- package/examples/jsm/loaders/ColladaLoader.js +6 -5
- package/examples/jsm/loaders/DDSLoader.js +1 -0
- package/examples/jsm/loaders/DRACOLoader.js +2 -1
- package/examples/jsm/loaders/EXRLoader.js +211 -22
- package/examples/jsm/loaders/FBXLoader.js +25 -23
- package/examples/jsm/loaders/FontLoader.js +1 -0
- package/examples/jsm/loaders/GCodeLoader.js +1 -0
- package/examples/jsm/loaders/GLTFLoader.js +10 -82
- package/examples/jsm/loaders/HDRCubeTextureLoader.js +1 -0
- package/examples/jsm/loaders/IESLoader.js +1 -0
- package/examples/jsm/loaders/KMZLoader.js +1 -0
- package/examples/jsm/loaders/KTX2Loader.js +67 -26
- package/examples/jsm/loaders/KTXLoader.js +1 -0
- package/examples/jsm/loaders/LDrawLoader.js +55 -3
- package/examples/jsm/loaders/LUT3dlLoader.js +1 -0
- package/examples/jsm/loaders/LUTCubeLoader.js +1 -0
- package/examples/jsm/loaders/LUTImageLoader.js +1 -0
- package/examples/jsm/loaders/LWOLoader.js +1 -13
- package/examples/jsm/loaders/LottieLoader.js +15 -0
- package/examples/jsm/loaders/MD2Loader.js +1 -0
- package/examples/jsm/loaders/MDDLoader.js +1 -0
- package/examples/jsm/loaders/MTLLoader.js +4 -3
- package/examples/jsm/loaders/MaterialXLoader.js +213 -30
- package/examples/jsm/loaders/NRRDLoader.js +1 -0
- package/examples/jsm/loaders/OBJLoader.js +1 -0
- package/examples/jsm/loaders/PCDLoader.js +122 -19
- package/examples/jsm/loaders/PDBLoader.js +1 -0
- package/examples/jsm/loaders/PLYLoader.js +1 -0
- package/examples/jsm/loaders/PVRLoader.js +1 -0
- package/examples/jsm/loaders/RGBELoader.js +1 -0
- package/examples/jsm/loaders/RGBMLoader.js +1 -0
- package/examples/jsm/loaders/STLLoader.js +1 -0
- package/examples/jsm/loaders/SVGLoader.js +1 -0
- package/examples/jsm/loaders/TDSLoader.js +1 -0
- package/examples/jsm/loaders/TGALoader.js +1 -0
- package/examples/jsm/loaders/TIFFLoader.js +1 -0
- package/examples/jsm/loaders/TTFLoader.js +14 -1
- package/examples/jsm/loaders/USDLoader.js +219 -0
- package/examples/jsm/loaders/USDZLoader.js +4 -891
- package/examples/jsm/loaders/UltraHDRLoader.js +1 -0
- package/examples/jsm/loaders/VOXLoader.js +1 -0
- package/examples/jsm/loaders/VRMLLoader.js +3 -2
- package/examples/jsm/loaders/VTKLoader.js +1 -0
- package/examples/jsm/loaders/XYZLoader.js +1 -0
- package/examples/jsm/loaders/lwo/IFFParser.js +74 -74
- package/examples/jsm/loaders/usd/USDAParser.js +741 -0
- package/examples/jsm/loaders/usd/USDCParser.js +17 -0
- package/examples/jsm/materials/LDrawConditionalLineMaterial.js +1 -0
- package/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +1 -0
- package/examples/jsm/materials/MeshPostProcessingMaterial.js +1 -0
- package/examples/jsm/math/Capsule.js +2 -0
- package/examples/jsm/math/ColorConverter.js +1 -0
- package/examples/jsm/math/ConvexHull.js +2 -0
- package/examples/jsm/math/ImprovedNoise.js +19 -14
- package/examples/jsm/math/Lut.js +2 -0
- package/examples/jsm/math/MeshSurfaceSampler.js +2 -0
- package/examples/jsm/math/OBB.js +2 -0
- package/examples/jsm/math/Octree.js +20 -1
- package/examples/jsm/math/SimplexNoise.js +2 -0
- package/examples/jsm/misc/ConvexObjectBreaker.js +3 -1
- package/examples/jsm/misc/GPUComputationRenderer.js +2 -0
- package/examples/jsm/misc/Gyroscope.js +1 -0
- package/examples/jsm/misc/MD2Character.js +2 -0
- package/examples/jsm/misc/MD2CharacterComplex.js +5 -3
- package/examples/jsm/misc/MorphAnimMesh.js +1 -0
- package/examples/jsm/misc/MorphBlendMesh.js +1 -0
- package/examples/jsm/misc/ProgressiveLightMap.js +2 -0
- package/examples/jsm/misc/ProgressiveLightMapGPU.js +2 -0
- package/examples/jsm/misc/RollerCoaster.js +5 -0
- package/examples/jsm/misc/TubePainter.js +1 -0
- package/examples/jsm/misc/Volume.js +2 -0
- package/examples/jsm/misc/VolumeSlice.js +1 -0
- package/examples/jsm/modifiers/CurveModifier.js +3 -0
- package/examples/jsm/modifiers/CurveModifierGPU.js +2 -0
- package/examples/jsm/modifiers/EdgeSplitModifier.js +2 -0
- package/examples/jsm/modifiers/SimplifyModifier.js +2 -0
- package/examples/jsm/modifiers/TessellateModifier.js +2 -0
- package/examples/jsm/objects/GroundedSkybox.js +1 -0
- package/examples/jsm/objects/Lensflare.js +3 -0
- package/examples/jsm/objects/LensflareMesh.js +4 -3
- package/examples/jsm/objects/MarchingCubes.js +2 -0
- package/examples/jsm/objects/Reflector.js +1 -0
- package/examples/jsm/objects/ReflectorForSSRPass.js +1 -0
- package/examples/jsm/objects/Refractor.js +1 -0
- package/examples/jsm/objects/ShadowMesh.js +1 -0
- package/examples/jsm/objects/Sky.js +2 -1
- package/examples/jsm/objects/SkyMesh.js +22 -19
- package/examples/jsm/objects/Water.js +1 -0
- package/examples/jsm/objects/Water2.js +1 -0
- package/examples/jsm/objects/Water2Mesh.js +3 -1
- package/examples/jsm/objects/WaterMesh.js +2 -1
- package/examples/jsm/physics/AmmoPhysics.js +1 -0
- package/examples/jsm/physics/JoltPhysics.js +1 -0
- package/examples/jsm/physics/RapierPhysics.js +149 -13
- package/examples/jsm/postprocessing/AfterimagePass.js +20 -2
- package/examples/jsm/postprocessing/BloomPass.js +2 -1
- package/examples/jsm/postprocessing/BokehPass.js +2 -1
- package/examples/jsm/postprocessing/ClearPass.js +1 -0
- package/examples/jsm/postprocessing/CubeTexturePass.js +1 -0
- package/examples/jsm/postprocessing/DotScreenPass.js +1 -0
- package/examples/jsm/postprocessing/EffectComposer.js +4 -2
- package/examples/jsm/postprocessing/FXAAPass.js +40 -0
- package/examples/jsm/postprocessing/FilmPass.js +1 -0
- package/examples/jsm/postprocessing/GTAOPass.js +14 -12
- package/examples/jsm/postprocessing/GlitchPass.js +2 -1
- package/examples/jsm/postprocessing/HalftonePass.js +2 -1
- package/examples/jsm/postprocessing/LUTPass.js +1 -0
- package/examples/jsm/postprocessing/MaskPass.js +1 -0
- package/examples/jsm/postprocessing/OutlinePass.js +22 -19
- package/examples/jsm/postprocessing/OutputPass.js +1 -0
- package/examples/jsm/postprocessing/Pass.js +3 -1
- package/examples/jsm/postprocessing/RenderPass.js +1 -0
- package/examples/jsm/postprocessing/RenderPixelatedPass.js +2 -1
- package/examples/jsm/postprocessing/RenderTransitionPass.js +4 -3
- package/examples/jsm/postprocessing/SAOPass.js +3 -2
- package/examples/jsm/postprocessing/SMAAPass.js +3 -2
- package/examples/jsm/postprocessing/SSAARenderPass.js +2 -1
- package/examples/jsm/postprocessing/SSAOPass.js +12 -10
- package/examples/jsm/postprocessing/SSRPass.js +4 -3
- package/examples/jsm/postprocessing/SavePass.js +2 -1
- package/examples/jsm/postprocessing/ShaderPass.js +1 -0
- package/examples/jsm/postprocessing/TAARenderPass.js +1 -0
- package/examples/jsm/postprocessing/TexturePass.js +1 -0
- package/examples/jsm/postprocessing/UnrealBloomPass.js +2 -1
- package/examples/jsm/renderers/CSS2DRenderer.js +3 -0
- package/examples/jsm/renderers/CSS3DRenderer.js +4 -0
- package/examples/jsm/renderers/Projector.js +2 -0
- package/examples/jsm/renderers/SVGRenderer.js +3 -0
- package/examples/jsm/shaders/ACESFilmicToneMappingShader.js +4 -1
- package/examples/jsm/shaders/AfterimageShader.js +4 -1
- package/examples/jsm/shaders/BasicShader.js +4 -1
- package/examples/jsm/shaders/BleachBypassShader.js +4 -1
- package/examples/jsm/shaders/BlendShader.js +4 -1
- package/examples/jsm/shaders/BokehShader.js +4 -1
- package/examples/jsm/shaders/BokehShader2.js +4 -1
- package/examples/jsm/shaders/BrightnessContrastShader.js +4 -1
- package/examples/jsm/shaders/ColorCorrectionShader.js +4 -1
- package/examples/jsm/shaders/ColorifyShader.js +4 -1
- package/examples/jsm/shaders/ConvolutionShader.js +4 -1
- package/examples/jsm/shaders/CopyShader.js +4 -1
- package/examples/jsm/shaders/DOFMipMapShader.js +4 -1
- package/examples/jsm/shaders/DepthLimitedBlurShader.js +4 -1
- package/examples/jsm/shaders/DigitalGlitch.js +4 -1
- package/examples/jsm/shaders/DotScreenShader.js +4 -1
- package/examples/jsm/shaders/ExposureShader.js +4 -1
- package/examples/jsm/shaders/FXAAShader.js +4 -1
- package/examples/jsm/shaders/FilmShader.js +4 -1
- package/examples/jsm/shaders/FocusShader.js +4 -1
- package/examples/jsm/shaders/FreiChenShader.js +4 -1
- package/examples/jsm/shaders/GTAOShader.js +4 -1
- package/examples/jsm/shaders/GammaCorrectionShader.js +4 -1
- package/examples/jsm/shaders/GodRaysShader.js +4 -1
- package/examples/jsm/shaders/HalftoneShader.js +4 -1
- package/examples/jsm/shaders/HorizontalBlurShader.js +4 -1
- package/examples/jsm/shaders/HorizontalTiltShiftShader.js +4 -1
- package/examples/jsm/shaders/HueSaturationShader.js +4 -1
- package/examples/jsm/shaders/KaleidoShader.js +4 -1
- package/examples/jsm/shaders/LuminosityHighPassShader.js +4 -1
- package/examples/jsm/shaders/LuminosityShader.js +4 -1
- package/examples/jsm/shaders/MirrorShader.js +4 -1
- package/examples/jsm/shaders/NormalMapShader.js +4 -1
- package/examples/jsm/shaders/OutputShader.js +4 -1
- package/examples/jsm/shaders/PoissonDenoiseShader.js +4 -1
- package/examples/jsm/shaders/RGBShiftShader.js +4 -1
- package/examples/jsm/shaders/SAOShader.js +4 -1
- package/examples/jsm/shaders/SMAAShader.js +1 -0
- package/examples/jsm/shaders/SSAOShader.js +4 -1
- package/examples/jsm/shaders/SSRShader.js +1 -0
- package/examples/jsm/shaders/SepiaShader.js +4 -1
- package/examples/jsm/shaders/SobelOperatorShader.js +4 -1
- package/examples/jsm/shaders/SubsurfaceScatteringShader.js +4 -1
- package/examples/jsm/shaders/TechnicolorShader.js +4 -1
- package/examples/jsm/shaders/ToonShader.js +2 -1
- package/examples/jsm/shaders/TriangleBlurShader.js +4 -1
- package/examples/jsm/shaders/UnpackDepthRGBAShader.js +15 -3
- package/examples/jsm/shaders/VelocityShader.js +4 -1
- package/examples/jsm/shaders/VerticalBlurShader.js +4 -1
- package/examples/jsm/shaders/VerticalTiltShiftShader.js +4 -1
- package/examples/jsm/shaders/VignetteShader.js +4 -1
- package/examples/jsm/shaders/VolumeShader.js +5 -2
- package/examples/jsm/shaders/WaterRefractionShader.js +4 -1
- package/examples/jsm/textures/FlakesTexture.js +2 -0
- package/examples/jsm/transpiler/AST.js +381 -30
- package/examples/jsm/transpiler/GLSLDecoder.js +227 -88
- package/examples/jsm/transpiler/Linker.js +327 -0
- package/examples/jsm/transpiler/TSLEncoder.js +234 -85
- package/examples/jsm/transpiler/Transpiler.js +19 -1
- package/examples/jsm/transpiler/TranspilerUtils.js +29 -0
- package/examples/jsm/transpiler/WGSLEncoder.js +788 -0
- package/examples/jsm/tsl/display/AfterImageNode.js +2 -3
- package/examples/jsm/tsl/display/AnaglyphPassNode.js +1 -0
- package/examples/jsm/tsl/display/AnamorphicNode.js +5 -4
- package/examples/jsm/tsl/display/BloomNode.js +9 -7
- package/examples/jsm/tsl/display/ChromaticAberrationNode.js +206 -0
- package/examples/jsm/tsl/display/DenoiseNode.js +33 -33
- package/examples/jsm/tsl/display/DepthOfFieldNode.js +1 -0
- package/examples/jsm/tsl/display/DotScreenNode.js +1 -0
- package/examples/jsm/tsl/display/FXAANode.js +3 -2
- package/examples/jsm/tsl/display/FilmNode.js +1 -0
- package/examples/jsm/tsl/display/GTAONode.js +1 -0
- package/examples/jsm/tsl/display/GaussianBlurNode.js +9 -36
- package/examples/jsm/tsl/display/LensflareNode.js +1 -0
- package/examples/jsm/tsl/display/Lut3DNode.js +1 -0
- package/examples/jsm/tsl/display/OutlineNode.js +1 -0
- package/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +1 -0
- package/examples/jsm/tsl/display/PixelationPassNode.js +1 -0
- package/examples/jsm/tsl/display/RGBShiftNode.js +1 -0
- package/examples/jsm/tsl/display/SMAANode.js +9 -8
- package/examples/jsm/tsl/display/SSAAPassNode.js +5 -4
- package/examples/jsm/tsl/display/SSRNode.js +1 -0
- package/examples/jsm/tsl/display/SobelOperatorNode.js +1 -0
- package/examples/jsm/tsl/display/StereoCompositePassNode.js +1 -0
- package/examples/jsm/tsl/display/StereoPassNode.js +1 -0
- package/examples/jsm/tsl/display/{TRAAPassNode.js → TRAANode.js} +184 -174
- package/examples/jsm/tsl/display/TransitionNode.js +1 -0
- package/examples/jsm/tsl/display/hashBlur.js +28 -6
- package/examples/jsm/tsl/lighting/TiledLightsNode.js +5 -4
- package/examples/jsm/tsl/math/Bayer.js +4 -1
- package/examples/jsm/tsl/shadows/TileShadowNode.js +456 -0
- package/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +212 -0
- package/examples/jsm/tsl/utils/Raymarching.js +6 -3
- package/examples/jsm/utils/BufferGeometryUtils.js +4 -1
- package/examples/jsm/utils/CameraUtils.js +4 -1
- package/examples/jsm/utils/GeometryCompressionUtils.js +4 -1
- package/examples/jsm/utils/GeometryUtils.js +4 -1
- package/examples/jsm/utils/LDrawUtils.js +2 -0
- package/examples/jsm/utils/SceneOptimizer.js +2 -0
- package/examples/jsm/utils/SceneUtils.js +4 -1
- package/examples/jsm/utils/ShadowMapViewer.js +2 -0
- package/examples/jsm/utils/ShadowMapViewerGPU.js +2 -0
- package/examples/jsm/utils/SkeletonUtils.js +4 -1
- package/examples/jsm/utils/SortUtils.js +4 -1
- package/examples/jsm/utils/UVsDebug.js +4 -1
- package/examples/jsm/utils/WebGLTextureUtils.js +4 -1
- package/examples/jsm/utils/WebGPUTextureUtils.js +4 -1
- package/examples/jsm/utils/WorkerPool.js +2 -0
- package/examples/jsm/webxr/ARButton.js +1 -0
- package/examples/jsm/webxr/OculusHandModel.js +1 -0
- package/examples/jsm/webxr/OculusHandPointerModel.js +1 -0
- package/examples/jsm/webxr/Text2D.js +4 -1
- package/examples/jsm/webxr/VRButton.js +1 -0
- package/examples/jsm/webxr/XRButton.js +1 -0
- package/examples/jsm/webxr/XRControllerModelFactory.js +2 -0
- package/examples/jsm/webxr/XREstimatedLight.js +1 -0
- package/examples/jsm/webxr/XRHandMeshModel.js +2 -0
- package/examples/jsm/webxr/XRHandModelFactory.js +2 -0
- package/examples/jsm/webxr/XRHandPrimitiveModel.js +2 -0
- package/examples/jsm/webxr/XRPlanes.js +1 -0
- package/package.json +6 -4
- package/src/Three.Core.js +2 -1
- package/src/Three.TSL.js +83 -26
- package/src/Three.WebGPU.Nodes.js +1 -0
- package/src/Three.WebGPU.js +3 -0
- package/src/animation/KeyframeTrack.js +1 -1
- package/src/animation/tracks/BooleanKeyframeTrack.js +1 -1
- package/src/animation/tracks/StringKeyframeTrack.js +1 -1
- package/src/audio/AudioListener.js +13 -10
- package/src/cameras/ArrayCamera.js +9 -1
- package/src/cameras/Camera.js +14 -0
- package/src/cameras/OrthographicCamera.js +1 -1
- package/src/cameras/PerspectiveCamera.js +1 -1
- package/src/constants.js +47 -20
- package/src/core/BufferAttribute.js +3 -3
- package/src/core/BufferGeometry.js +2 -5
- package/src/core/Clock.js +2 -8
- package/src/core/GLBufferAttribute.js +13 -1
- package/src/core/Object3D.js +23 -22
- package/src/core/RenderTarget.js +65 -21
- package/src/core/RenderTarget3D.js +1 -0
- package/{examples/jsm/misc → src/core}/Timer.js +4 -40
- package/src/extras/PMREMGenerator.js +11 -0
- package/src/extras/TextureUtils.js +1 -5
- package/src/extras/core/Curve.js +1 -1
- package/src/extras/core/Path.js +22 -22
- package/src/geometries/CapsuleGeometry.js +167 -17
- package/src/geometries/ExtrudeGeometry.js +39 -29
- package/src/helpers/ArrowHelper.js +2 -2
- package/src/helpers/CameraHelper.js +41 -11
- package/src/helpers/SkeletonHelper.js +36 -7
- package/src/lights/LightShadow.js +34 -7
- package/src/lights/PointLightShadow.js +1 -1
- package/src/lights/SpotLightShadow.js +9 -1
- package/src/lights/webgpu/ProjectorLight.js +46 -0
- package/src/loaders/BufferGeometryLoader.js +1 -10
- package/src/loaders/FileLoader.js +27 -4
- package/src/loaders/ImageBitmapLoader.js +48 -9
- package/src/loaders/ImageLoader.js +55 -8
- package/src/loaders/Loader.js +14 -0
- package/src/loaders/LoadingManager.js +23 -0
- package/src/loaders/ObjectLoader.js +44 -16
- package/src/loaders/nodes/NodeObjectLoader.js +2 -2
- package/src/materials/Material.js +1 -7
- package/src/materials/MeshBasicMaterial.js +1 -1
- package/src/materials/nodes/Line2NodeMaterial.js +0 -8
- 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 +2 -2
- package/src/materials/nodes/NodeMaterial.js +106 -20
- package/src/materials/nodes/PointsNodeMaterial.js +5 -0
- package/src/materials/nodes/manager/NodeMaterialObserver.js +107 -4
- package/src/math/Box3.js +28 -0
- package/src/math/Color.js +7 -7
- package/src/math/ColorManagement.js +22 -3
- package/src/math/Frustum.js +25 -9
- package/src/math/FrustumArray.js +258 -0
- package/src/math/Line3.js +129 -2
- package/src/math/Matrix4.js +48 -27
- package/src/math/Quaternion.js +1 -1
- package/src/math/Ray.js +2 -0
- package/src/math/Sphere.js +28 -0
- package/src/math/Spherical.js +2 -2
- package/src/nodes/Nodes.js +3 -3
- package/src/nodes/TSL.js +6 -3
- package/src/nodes/accessors/AccessorsUtils.js +7 -8
- package/src/nodes/accessors/Bitangent.js +54 -26
- package/src/nodes/accessors/Camera.js +40 -13
- package/src/nodes/accessors/CubeTextureNode.js +50 -2
- package/src/nodes/accessors/InstanceNode.js +5 -4
- package/src/nodes/accessors/Lights.js +2 -2
- package/src/nodes/accessors/MaterialNode.js +4 -0
- package/src/nodes/accessors/ModelNode.js +1 -1
- package/src/nodes/accessors/Normal.js +110 -24
- package/src/nodes/accessors/Object3DNode.js +7 -8
- package/src/nodes/accessors/Position.js +14 -4
- package/src/nodes/accessors/ReferenceBaseNode.js +1 -1
- package/src/nodes/accessors/ReferenceNode.js +19 -4
- package/src/nodes/accessors/ReflectVector.js +3 -3
- package/src/nodes/accessors/SceneNode.js +1 -1
- package/src/nodes/accessors/SkinningNode.js +3 -2
- package/src/nodes/accessors/StorageBufferNode.js +25 -0
- package/src/nodes/accessors/StorageTextureNode.js +15 -4
- package/src/nodes/accessors/Tangent.js +25 -17
- package/src/nodes/accessors/TangentUtils.js +46 -0
- package/src/nodes/accessors/TextureBicubic.js +21 -3
- package/src/nodes/accessors/TextureNode.js +71 -8
- package/src/nodes/accessors/UniformArrayNode.js +0 -16
- package/src/nodes/accessors/VelocityNode.js +1 -0
- package/src/nodes/accessors/VertexColorNode.js +4 -4
- package/src/nodes/code/CodeNode.js +8 -11
- package/src/nodes/core/ArrayNode.js +12 -0
- package/src/nodes/core/AssignNode.js +30 -5
- package/src/nodes/core/AttributeNode.js +2 -2
- package/src/nodes/core/ContextNode.js +27 -4
- package/src/nodes/core/Node.js +83 -22
- package/src/nodes/core/NodeBuilder.js +273 -49
- package/src/nodes/core/NodeUtils.js +46 -1
- package/src/nodes/core/NodeVarying.js +19 -1
- package/src/nodes/core/PropertyNode.js +8 -12
- package/src/nodes/core/StackNode.js +171 -26
- package/src/nodes/core/StructTypeNode.js +26 -4
- package/src/nodes/core/SubBuildNode.js +89 -0
- package/src/nodes/core/UniformNode.js +63 -5
- package/src/nodes/core/VarNode.js +102 -4
- package/src/nodes/core/VaryingNode.js +45 -24
- package/src/nodes/display/BlendModes.js +42 -1
- package/src/nodes/display/ColorSpaceNode.js +4 -27
- package/src/nodes/display/FrontFacingNode.js +34 -2
- package/src/nodes/display/NormalMapNode.js +19 -50
- package/src/nodes/display/PassNode.js +165 -20
- package/src/nodes/display/ScreenNode.js +0 -26
- package/src/nodes/display/ViewportTextureNode.js +67 -7
- package/src/nodes/functions/BSDF/BRDF_GGX.js +2 -6
- package/src/nodes/functions/BSDF/BRDF_Sheen.js +4 -4
- package/src/nodes/functions/PhongLightingModel.js +3 -3
- package/src/nodes/functions/PhysicalLightingModel.js +16 -16
- package/src/nodes/functions/ShadowMaskModel.js +5 -1
- package/src/nodes/functions/material/getGeometryRoughness.js +2 -2
- package/src/nodes/functions/material/getParallaxCorrectNormal.js +1 -1
- package/src/nodes/gpgpu/AtomicFunctionNode.js +28 -10
- package/src/nodes/gpgpu/BarrierNode.js +3 -3
- package/src/nodes/gpgpu/ComputeNode.js +68 -24
- package/src/nodes/gpgpu/WorkgroupInfoNode.js +28 -3
- package/src/nodes/lighting/AnalyticLightNode.js +7 -13
- package/src/nodes/lighting/EnvironmentNode.js +5 -5
- package/src/nodes/lighting/HemisphereLightNode.js +2 -2
- package/src/nodes/lighting/IESSpotLightNode.js +2 -1
- package/src/nodes/lighting/LightsNode.js +29 -11
- package/src/nodes/lighting/ProjectorLightNode.js +91 -0
- package/src/nodes/lighting/ShadowBaseNode.js +1 -12
- package/src/nodes/lighting/ShadowFilterNode.js +274 -0
- package/src/nodes/lighting/ShadowNode.js +174 -242
- package/src/nodes/lighting/SpotLightNode.js +44 -7
- package/src/nodes/materialx/MaterialXNodes.js +131 -2
- package/src/nodes/materialx/lib/mx_noise.js +166 -2
- package/src/nodes/math/ConditionalNode.js +1 -20
- package/src/nodes/math/MathNode.js +146 -75
- package/src/nodes/math/OperatorNode.js +129 -119
- package/src/nodes/shapes/Shapes.js +5 -4
- package/src/nodes/tsl/TSLBase.js +1 -0
- package/src/nodes/tsl/TSLCore.js +222 -72
- package/src/nodes/utils/DebugNode.js +16 -4
- package/src/nodes/utils/Discard.js +2 -2
- package/src/nodes/utils/EquirectUV.js +27 -0
- package/src/nodes/utils/EventNode.js +83 -0
- package/src/nodes/utils/LoopNode.js +64 -34
- package/src/nodes/utils/MatcapUV.js +22 -0
- package/src/nodes/utils/RTTNode.js +22 -5
- package/src/nodes/utils/ReflectorNode.js +77 -7
- package/src/nodes/utils/SampleNode.js +81 -0
- package/src/nodes/utils/TriplanarTextures.js +65 -0
- package/src/objects/BatchedMesh.js +20 -6
- package/src/objects/Mesh.js +9 -0
- package/src/objects/Skeleton.js +1 -1
- package/src/objects/Sprite.js +9 -0
- package/src/renderers/WebGL3DRenderTarget.js +1 -0
- package/src/renderers/WebGLArrayRenderTarget.js +1 -0
- package/src/renderers/WebGLCubeRenderTarget.js +2 -4
- package/src/renderers/WebGLRenderer.js +45 -32
- package/src/renderers/common/Animation.js +2 -2
- package/src/renderers/common/Background.js +13 -2
- package/src/renderers/common/Bindings.js +19 -18
- package/src/renderers/common/Color4.js +2 -2
- package/src/renderers/common/CubeRenderTarget.js +1 -1
- package/src/renderers/common/PostProcessing.js +60 -5
- package/src/renderers/common/RenderList.js +0 -4
- package/src/renderers/common/RenderObject.js +80 -4
- package/src/renderers/common/Renderer.js +133 -22
- package/src/renderers/common/SampledTexture.js +3 -71
- package/src/renderers/common/Sampler.js +79 -0
- package/src/renderers/common/Storage3DTexture.js +100 -0
- package/src/renderers/common/StorageArrayTexture.js +84 -0
- package/src/renderers/common/StorageTexture.js +19 -0
- package/src/renderers/common/Textures.js +34 -24
- package/src/renderers/common/TimestampQueryPool.js +1 -0
- package/src/renderers/common/Uniform.js +1 -1
- package/src/renderers/common/UniformsGroup.js +14 -18
- package/src/renderers/common/XRManager.js +183 -35
- package/src/renderers/common/XRRenderTarget.js +21 -4
- package/src/renderers/common/extras/PMREMGenerator.js +30 -23
- package/src/renderers/common/nodes/NodeSampledTexture.js +0 -12
- package/src/renderers/common/nodes/Nodes.js +13 -3
- package/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +20 -2
- package/src/renderers/shaders/ShaderLib/background.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/depth.glsl.js +11 -2
- package/src/renderers/webgl/WebGLAttributes.js +4 -0
- package/src/renderers/webgl/WebGLCapabilities.js +2 -2
- package/src/renderers/webgl/WebGLMaterials.js +6 -6
- package/src/renderers/webgl/WebGLProgram.js +22 -16
- package/src/renderers/webgl/WebGLPrograms.js +8 -6
- package/src/renderers/webgl/WebGLShadowMap.js +14 -3
- package/src/renderers/webgl/WebGLState.js +4 -4
- package/src/renderers/webgl/WebGLTextures.js +163 -11
- package/src/renderers/webgl/WebGLUtils.js +1 -3
- package/src/renderers/webgl-fallback/WebGLBackend.js +261 -94
- package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +75 -9
- package/src/renderers/webgl-fallback/utils/WebGLAttributeUtils.js +4 -0
- package/src/renderers/webgl-fallback/utils/WebGLConstants.js +1 -0
- package/src/renderers/webgl-fallback/utils/WebGLState.js +4 -4
- package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +44 -29
- package/src/renderers/webgl-fallback/utils/WebGLUtils.js +22 -21
- package/src/renderers/webgpu/WebGPUBackend.js +505 -143
- package/src/renderers/webgpu/WebGPURenderer.js +7 -0
- package/src/renderers/webgpu/nodes/BasicNodeLibrary.js +4 -1
- package/src/renderers/webgpu/nodes/StandardNodeLibrary.js +4 -1
- package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +129 -96
- package/src/renderers/webgpu/nodes/WGSLNodeFunction.js +3 -0
- package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +9 -1
- package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +58 -31
- package/src/renderers/webgpu/utils/WebGPUConstants.js +8 -2
- package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +39 -9
- package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +50 -108
- package/src/renderers/webgpu/utils/WebGPUUtils.js +2 -17
- package/src/renderers/webxr/WebXRController.js +1 -1
- package/src/renderers/webxr/WebXRDepthSensing.js +6 -10
- package/src/renderers/webxr/WebXRManager.js +70 -9
- package/src/textures/DepthTexture.js +6 -10
- package/src/textures/ExternalTexture.js +45 -0
- package/src/textures/FramebufferTexture.js +2 -2
- package/src/textures/Source.js +32 -0
- package/src/textures/Texture.js +118 -1
- package/src/textures/VideoTexture.js +31 -3
- package/examples/jsm/effects/PeppersGhostEffect.js +0 -172
- package/src/core/RenderTargetArray.js +0 -40
- package/src/nodes/utils/EquirectUVNode.js +0 -65
- package/src/nodes/utils/MatcapUVNode.js +0 -49
- package/src/nodes/utils/TriplanarTexturesNode.js +0 -148
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
* import the class from `LDrawConditionalLineNodeMaterial.js`.
|
|
13
13
|
*
|
|
14
14
|
* @augments ShaderMaterial
|
|
15
|
+
* @three_import import { LDrawConditionalLineMaterial } from 'three/addons/materials/LDrawConditionalLineMaterial.js';
|
|
15
16
|
*/
|
|
16
17
|
class LDrawConditionalLineMaterial extends ShaderMaterial {
|
|
17
18
|
|
|
@@ -8,6 +8,7 @@ import { attribute, cameraProjectionMatrix, dot, float, Fn, modelViewMatrix, mod
|
|
|
8
8
|
* import the class from `LDrawConditionalLineMaterial.js`.
|
|
9
9
|
*
|
|
10
10
|
* @augments NodeMaterial
|
|
11
|
+
* @three_import import { LDrawConditionalLineMaterial } from 'three/addons/materials/LDrawConditionalLineMaterial.js';
|
|
11
12
|
*/
|
|
12
13
|
class LDrawConditionalLineMaterial extends NodeMaterial {
|
|
13
14
|
|
|
@@ -23,6 +23,7 @@ import { MeshPhysicalMaterial } from 'three';
|
|
|
23
23
|
* This would then create the possibility of SSR and IR depending on material properties such as `roughness`, `metalness` and `reflectivity`.
|
|
24
24
|
*
|
|
25
25
|
* @augments MeshPhysicalMaterial
|
|
26
|
+
* @three_import import { MeshPostProcessingMaterial } from 'three/addons/materials/MeshPostProcessingMaterial.js';
|
|
26
27
|
*/
|
|
27
28
|
class MeshPostProcessingMaterial extends MeshPhysicalMaterial {
|
|
28
29
|
|
|
@@ -7,6 +7,8 @@ import {
|
|
|
7
7
|
* It can be thought of as a swept sphere, where a sphere is moved along a line segment.
|
|
8
8
|
*
|
|
9
9
|
* Capsules are often used as bounding volumes (next to AABBs and bounding spheres).
|
|
10
|
+
*
|
|
11
|
+
* @three_import import { Capsule } from 'three/addons/math/Capsule.js';
|
|
10
12
|
*/
|
|
11
13
|
class Capsule {
|
|
12
14
|
|
|
@@ -20,6 +20,8 @@ const _triangle = new Triangle();
|
|
|
20
20
|
*
|
|
21
21
|
* This Quickhull 3D implementation is a port of [quickhull3d]{@link https://github.com/maurizzzio/quickhull3d/}
|
|
22
22
|
* by Mauricio Poppe.
|
|
23
|
+
*
|
|
24
|
+
* @three_import import { ConvexHull } from 'three/addons/math/ConvexHull.js';
|
|
23
25
|
*/
|
|
24
26
|
class ConvexHull {
|
|
25
27
|
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import { MathUtils } from 'three';
|
|
2
|
+
|
|
3
|
+
const { lerp } = MathUtils;
|
|
4
|
+
|
|
1
5
|
const _p = [ 151, 160, 137, 91, 90, 15, 131, 13, 201, 95, 96, 53, 194, 233, 7, 225, 140, 36, 103, 30, 69, 142, 8, 99, 37, 240, 21, 10,
|
|
2
6
|
23, 190, 6, 148, 247, 120, 234, 75, 0, 26, 197, 62, 94, 252, 219, 203, 117, 35, 11, 32, 57, 177, 33, 88, 237, 149, 56, 87,
|
|
3
7
|
174, 20, 125, 136, 171, 168, 68, 175, 74, 165, 71, 134, 139, 48, 27, 166, 77, 146, 158, 231, 83, 111, 229, 122, 60, 211,
|
|
@@ -21,12 +25,6 @@ function fade( t ) {
|
|
|
21
25
|
|
|
22
26
|
}
|
|
23
27
|
|
|
24
|
-
function lerp( t, a, b ) {
|
|
25
|
-
|
|
26
|
-
return a + t * ( b - a );
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
28
|
function grad( hash, x, y, z ) {
|
|
31
29
|
|
|
32
30
|
const h = hash & 15;
|
|
@@ -40,6 +38,8 @@ function grad( hash, x, y, z ) {
|
|
|
40
38
|
*
|
|
41
39
|
* The code is based on [IMPROVED NOISE]{@link https://cs.nyu.edu/~perlin/noise/}
|
|
42
40
|
* by Ken Perlin, 2002.
|
|
41
|
+
*
|
|
42
|
+
* @three_import import { ImprovedNoise } from 'three/addons/math/ImprovedNoise.js';
|
|
43
43
|
*/
|
|
44
44
|
class ImprovedNoise {
|
|
45
45
|
|
|
@@ -67,14 +67,19 @@ class ImprovedNoise {
|
|
|
67
67
|
|
|
68
68
|
const A = _p[ X ] + Y, AA = _p[ A ] + Z, AB = _p[ A + 1 ] + Z, B = _p[ X + 1 ] + Y, BA = _p[ B ] + Z, BB = _p[ B + 1 ] + Z;
|
|
69
69
|
|
|
70
|
-
return lerp(
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
70
|
+
return lerp(
|
|
71
|
+
lerp(
|
|
72
|
+
lerp( grad( _p[ AA ], x, y, z ), grad( _p[ BA ], xMinus1, y, z ), u ),
|
|
73
|
+
lerp( grad( _p[ AB ], x, yMinus1, z ), grad( _p[ BB ], xMinus1, yMinus1, z ), u ),
|
|
74
|
+
v
|
|
75
|
+
),
|
|
76
|
+
lerp(
|
|
77
|
+
lerp( grad( _p[ AA + 1 ], x, y, zMinus1 ), grad( _p[ BA + 1 ], xMinus1, y, zMinus1 ), u ),
|
|
78
|
+
lerp( grad( _p[ AB + 1 ], x, yMinus1, zMinus1 ), grad( _p[ BB + 1 ], xMinus1, yMinus1, zMinus1 ), u ),
|
|
79
|
+
v
|
|
80
|
+
),
|
|
81
|
+
w
|
|
82
|
+
);
|
|
78
83
|
|
|
79
84
|
}
|
|
80
85
|
|
package/examples/jsm/math/Lut.js
CHANGED
package/examples/jsm/math/OBB.js
CHANGED
|
@@ -96,6 +96,8 @@ function lineToLineClosestPoints( line1, line2, target1 = null, target2 = null )
|
|
|
96
96
|
* const octree = new Octree().fromGraphNode( scene );
|
|
97
97
|
* const result = octree.capsuleIntersect( playerCollider ); // collision detection
|
|
98
98
|
* ```
|
|
99
|
+
*
|
|
100
|
+
* @three_import import { Octree } from 'three/addons/math/Octree.js';
|
|
99
101
|
*/
|
|
100
102
|
class Octree {
|
|
101
103
|
|
|
@@ -128,6 +130,23 @@ class Octree {
|
|
|
128
130
|
*/
|
|
129
131
|
this.layers = new Layers();
|
|
130
132
|
|
|
133
|
+
/**
|
|
134
|
+
* The number of triangles a leaf can store before it is split.
|
|
135
|
+
*
|
|
136
|
+
* @type {number}
|
|
137
|
+
* @default 8
|
|
138
|
+
*/
|
|
139
|
+
this.trianglesPerLeaf = 8;
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* The maximum level of the Octree. It defines the maximum
|
|
143
|
+
* hierarchical depth of the data structure.
|
|
144
|
+
*
|
|
145
|
+
* @type {number}
|
|
146
|
+
* @default 16
|
|
147
|
+
*/
|
|
148
|
+
this.maxLevel = 16;
|
|
149
|
+
|
|
131
150
|
// private
|
|
132
151
|
|
|
133
152
|
this.subTrees = [];
|
|
@@ -229,7 +248,7 @@ class Octree {
|
|
|
229
248
|
|
|
230
249
|
const len = subTrees[ i ].triangles.length;
|
|
231
250
|
|
|
232
|
-
if ( len >
|
|
251
|
+
if ( len > this.trianglesPerLeaf && level < this.maxLevel ) {
|
|
233
252
|
|
|
234
253
|
subTrees[ i ].split( level + 1 );
|
|
235
254
|
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* The code is based on [Simplex noise demystified]{@link https://web.archive.org/web/20210210162332/http://staffwww.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf}
|
|
5
5
|
* by Stefan Gustavson, 2005.
|
|
6
|
+
*
|
|
7
|
+
* @three_import import { SimplexNoise } from 'three/addons/math/SimplexNoise.js';
|
|
6
8
|
*/
|
|
7
9
|
class SimplexNoise {
|
|
8
10
|
|
|
@@ -24,7 +24,9 @@ const _v1 = new Vector3();
|
|
|
24
24
|
*
|
|
25
25
|
* Note: This lib adds member variables to object's userData member (see prepareBreakableObject function)
|
|
26
26
|
* Use with caution and read the code when using with other libs.
|
|
27
|
-
|
|
27
|
+
*
|
|
28
|
+
* @three_import import { ConvexObjectBreaker } from 'three/addons/misc/ConvexObjectBreaker.js';
|
|
29
|
+
*/
|
|
28
30
|
class ConvexObjectBreaker {
|
|
29
31
|
|
|
30
32
|
/**
|
|
@@ -98,6 +98,8 @@ import { FullScreenQuad } from '../postprocessing/Pass.js';
|
|
|
98
98
|
* gpuCompute.doRenderTarget( myFilter1, myRenderTarget );
|
|
99
99
|
* gpuCompute.doRenderTarget( myFilter2, outputRenderTarget );
|
|
100
100
|
* ```
|
|
101
|
+
*
|
|
102
|
+
* @three_import import { GPUComputationRenderer } from 'three/addons/misc/GPUComputationRenderer.js';
|
|
101
103
|
*/
|
|
102
104
|
class GPUComputationRenderer {
|
|
103
105
|
|
|
@@ -13,6 +13,8 @@ import { MD2Loader } from '../loaders/MD2Loader.js';
|
|
|
13
13
|
/**
|
|
14
14
|
* This class represents a management component for animated MD2
|
|
15
15
|
* character assets.
|
|
16
|
+
*
|
|
17
|
+
* @three_import import { MD2Character } from 'three/addons/misc/MD2Character.js';
|
|
16
18
|
*/
|
|
17
19
|
class MD2Character {
|
|
18
20
|
|
|
@@ -13,6 +13,8 @@ import { MorphBlendMesh } from '../misc/MorphBlendMesh.js';
|
|
|
13
13
|
/**
|
|
14
14
|
* This class represents a management component for animated MD2
|
|
15
15
|
* character assets. It provides a larger API compared to {@link MD2Character}.
|
|
16
|
+
*
|
|
17
|
+
* @three_import import { MD2CharacterComplex } from 'three/addons/misc/MD2CharacterComplex.js';
|
|
16
18
|
*/
|
|
17
19
|
class MD2CharacterComplex {
|
|
18
20
|
|
|
@@ -78,12 +80,12 @@ class MD2CharacterComplex {
|
|
|
78
80
|
this.backAcceleration = 600;
|
|
79
81
|
|
|
80
82
|
/**
|
|
81
|
-
* The character's front
|
|
83
|
+
* The character's front deceleration.
|
|
82
84
|
*
|
|
83
85
|
* @type {number}
|
|
84
86
|
* @default 600
|
|
85
87
|
*/
|
|
86
|
-
this.
|
|
88
|
+
this.frontDeceleration = 600;
|
|
87
89
|
|
|
88
90
|
/**
|
|
89
91
|
* The character's angular speed.
|
|
@@ -684,7 +686,7 @@ class MD2CharacterComplex {
|
|
|
684
686
|
if ( this.speed > 0 ) {
|
|
685
687
|
|
|
686
688
|
const k = exponentialEaseOut( this.speed / this.maxSpeed );
|
|
687
|
-
this.speed = MathUtils.clamp( this.speed - k * delta * this.
|
|
689
|
+
this.speed = MathUtils.clamp( this.speed - k * delta * this.frontDeceleration, 0, this.maxSpeed );
|
|
688
690
|
|
|
689
691
|
} else {
|
|
690
692
|
|
|
@@ -16,6 +16,8 @@ import { potpack } from '../libs/potpack.module.js';
|
|
|
16
16
|
*
|
|
17
17
|
* This class can only be used with {@link WebGLRenderer}.
|
|
18
18
|
* When using {@link WebGPURenderer}, import from `ProgressiveLightMapGPU.js`.
|
|
19
|
+
*
|
|
20
|
+
* @three_import import { ProgressiveLightMap } from 'three/addons/misc/ProgressiveLightMap.js';
|
|
19
21
|
*/
|
|
20
22
|
class ProgressiveLightMap {
|
|
21
23
|
|
|
@@ -18,6 +18,8 @@ import { potpack } from '../libs/potpack.module.js';
|
|
|
18
18
|
*
|
|
19
19
|
* This class can only be used with {@link WebGPURenderer}.
|
|
20
20
|
* When using {@link WebGLRenderer}, import from `ProgressiveLightMap.js`.
|
|
21
|
+
*
|
|
22
|
+
* @three_import import { ProgressiveLightMap } from 'three/addons/misc/ProgressiveLightMapGPU.js';
|
|
21
23
|
*/
|
|
22
24
|
class ProgressiveLightMap {
|
|
23
25
|
|
|
@@ -12,6 +12,7 @@ import {
|
|
|
12
12
|
* A procedural roller coaster geometry.
|
|
13
13
|
*
|
|
14
14
|
* @augments BufferGeometry
|
|
15
|
+
* @three_import import { RollerCoasterGeometry } from 'three/addons/misc/RollerCoaster.js';
|
|
15
16
|
*/
|
|
16
17
|
class RollerCoasterGeometry extends BufferGeometry {
|
|
17
18
|
|
|
@@ -237,6 +238,7 @@ class RollerCoasterGeometry extends BufferGeometry {
|
|
|
237
238
|
* A procedural roller coaster lifters geometry.
|
|
238
239
|
*
|
|
239
240
|
* @augments BufferGeometry
|
|
241
|
+
* @three_import import { RollerCoasterLiftersGeometry } from 'three/addons/misc/RollerCoaster.js';
|
|
240
242
|
*/
|
|
241
243
|
class RollerCoasterLiftersGeometry extends BufferGeometry {
|
|
242
244
|
|
|
@@ -424,6 +426,7 @@ class RollerCoasterLiftersGeometry extends BufferGeometry {
|
|
|
424
426
|
* A procedural roller coaster shadow geometry.
|
|
425
427
|
*
|
|
426
428
|
* @augments BufferGeometry
|
|
429
|
+
* @three_import import { RollerCoasterShadowGeometry } from 'three/addons/misc/RollerCoaster.js';
|
|
427
430
|
*/
|
|
428
431
|
class RollerCoasterShadowGeometry extends BufferGeometry {
|
|
429
432
|
|
|
@@ -507,6 +510,7 @@ class RollerCoasterShadowGeometry extends BufferGeometry {
|
|
|
507
510
|
* A procedural sky geometry.
|
|
508
511
|
*
|
|
509
512
|
* @augments BufferGeometry
|
|
513
|
+
* @three_import import { SkyGeometry } from 'three/addons/misc/RollerCoaster.js';
|
|
510
514
|
*/
|
|
511
515
|
class SkyGeometry extends BufferGeometry {
|
|
512
516
|
|
|
@@ -548,6 +552,7 @@ class SkyGeometry extends BufferGeometry {
|
|
|
548
552
|
* A procedural trees geometry.
|
|
549
553
|
*
|
|
550
554
|
* @augments BufferGeometry
|
|
555
|
+
* @three_import import { TreesGeometry } from 'three/addons/misc/RollerCoaster.js';
|
|
551
556
|
*/
|
|
552
557
|
class TreesGeometry extends BufferGeometry {
|
|
553
558
|
|
|
@@ -8,6 +8,8 @@ import { VolumeSlice } from '../misc/VolumeSlice.js';
|
|
|
8
8
|
/**
|
|
9
9
|
* This class had been written to handle the output of the {@link NRRDLoader}.
|
|
10
10
|
* It contains a volume of data and information about it. For now it only handles 3 dimensional data.
|
|
11
|
+
*
|
|
12
|
+
* @three_import import { Volume } from 'three/addons/misc/Volume.js';
|
|
11
13
|
*/
|
|
12
14
|
class Volume {
|
|
13
15
|
|
|
@@ -203,6 +203,8 @@ vec3 transformedNormal = normalMatrix * (basis * objectNormal);
|
|
|
203
203
|
*
|
|
204
204
|
* This module can only be used with {@link WebGLRenderer}. When using {@link WebGPURenderer},
|
|
205
205
|
* import the class from `CurveModifierGPU.js`.
|
|
206
|
+
*
|
|
207
|
+
* @three_import import { Flow } from 'three/addons/modifiers/CurveModifier.js';
|
|
206
208
|
*/
|
|
207
209
|
export class Flow {
|
|
208
210
|
|
|
@@ -296,6 +298,7 @@ const _matrix = new Matrix4();
|
|
|
296
298
|
* This module can only be used with {@link WebGLRenderer}.
|
|
297
299
|
*
|
|
298
300
|
* @augments Flow
|
|
301
|
+
* @three_import import { InstancedFlow } from 'three/addons/modifiers/CurveModifier.js';
|
|
299
302
|
*/
|
|
300
303
|
export class InstancedFlow extends Flow {
|
|
301
304
|
|
|
@@ -164,6 +164,8 @@ function modifyShader( material, uniforms, numberOfCurves ) {
|
|
|
164
164
|
*
|
|
165
165
|
* This module can only be used with {@link WebGPURenderer}. When using {@link WebGLRenderer},
|
|
166
166
|
* import the class from `CurveModifier.js`.
|
|
167
|
+
*
|
|
168
|
+
* @three_import import { Flow } from 'three/addons/modifiers/CurveModifierGPU.js';
|
|
167
169
|
*/
|
|
168
170
|
export class Flow {
|
|
169
171
|
|
|
@@ -17,6 +17,8 @@ const _C = new Vector3();
|
|
|
17
17
|
* const modifier = new EdgeSplitModifier();
|
|
18
18
|
* geometry = modifier.modify( geometry, Math.PI * 0.4 );
|
|
19
19
|
* ```
|
|
20
|
+
*
|
|
21
|
+
* @three_import import { EdgeSplitModifier } from 'three/addons/modifiers/EdgeSplitModifier.js';
|
|
20
22
|
*/
|
|
21
23
|
class EdgeSplitModifier {
|
|
22
24
|
|
|
@@ -21,6 +21,8 @@ const _cb = new Vector3(), _ab = new Vector3();
|
|
|
21
21
|
* const modifier = new SimplifyModifier();
|
|
22
22
|
* geometry = modifier.modify( geometry );
|
|
23
23
|
* ```
|
|
24
|
+
*
|
|
25
|
+
* @three_import import { SimplifyModifier } from 'three/addons/modifiers/SimplifyModifier.js';
|
|
24
26
|
*/
|
|
25
27
|
class SimplifyModifier {
|
|
26
28
|
|
|
@@ -14,6 +14,8 @@ import {
|
|
|
14
14
|
* const modifier = new TessellateModifier( 8, 6 );
|
|
15
15
|
* geometry = modifier.modify( geometry );
|
|
16
16
|
* ```
|
|
17
|
+
*
|
|
18
|
+
* @three_import import { TessellateModifier } from 'three/addons/modifiers/TessellateModifier.js';
|
|
17
19
|
*/
|
|
18
20
|
class TessellateModifier {
|
|
19
21
|
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
* ```
|
|
34
34
|
*
|
|
35
35
|
* @augments Mesh
|
|
36
|
+
* @three_import import { Lensflare } from 'three/addons/objects/Lensflare.js';
|
|
36
37
|
*/
|
|
37
38
|
class Lensflare extends Mesh {
|
|
38
39
|
|
|
@@ -338,6 +339,8 @@ class Lensflare extends Mesh {
|
|
|
338
339
|
|
|
339
340
|
/**
|
|
340
341
|
* Represents a single flare that can be added to a {@link Lensflare} container.
|
|
342
|
+
*
|
|
343
|
+
* @three_import import { LensflareElement } from 'three/addons/objects/Lensflare.js';
|
|
341
344
|
*/
|
|
342
345
|
class LensflareElement {
|
|
343
346
|
|
|
@@ -36,6 +36,7 @@ import { texture, textureLoad, uv, ivec2, vec2, vec4, positionGeometry, referenc
|
|
|
36
36
|
* ```
|
|
37
37
|
*
|
|
38
38
|
* @augments Mesh
|
|
39
|
+
* @three_import import { LensflareMesh } from 'three/addons/objects/LensflareMesh.js';
|
|
39
40
|
*/
|
|
40
41
|
class LensflareMesh extends Mesh {
|
|
41
42
|
|
|
@@ -109,7 +110,7 @@ class LensflareMesh extends Mesh {
|
|
|
109
110
|
material1a.type = 'Lensflare-1a';
|
|
110
111
|
|
|
111
112
|
material1a.vertexNode = vertexNode;
|
|
112
|
-
material1a.
|
|
113
|
+
material1a.colorNode = vec4( 1.0, 0.0, 1.0, 1.0 );
|
|
113
114
|
|
|
114
115
|
const material1b = new NodeMaterial();
|
|
115
116
|
|
|
@@ -120,7 +121,7 @@ class LensflareMesh extends Mesh {
|
|
|
120
121
|
material1b.type = 'Lensflare-1b';
|
|
121
122
|
|
|
122
123
|
material1b.vertexNode = vertexNode;
|
|
123
|
-
material1b.
|
|
124
|
+
material1b.colorNode = texture( tempMap, vec2( uv().flipY() ) );
|
|
124
125
|
|
|
125
126
|
// the following object is used for occlusionMap generation
|
|
126
127
|
|
|
@@ -173,7 +174,7 @@ class LensflareMesh extends Mesh {
|
|
|
173
174
|
|
|
174
175
|
} )();
|
|
175
176
|
|
|
176
|
-
material2.
|
|
177
|
+
material2.colorNode = Fn( () => {
|
|
177
178
|
|
|
178
179
|
const color = reference( 'color', 'color' );
|
|
179
180
|
const map = reference( 'map', 'texture' );
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
* A special version of {@link Reflector} for usage with {@link SSRPass}.
|
|
20
20
|
*
|
|
21
21
|
* @augments Mesh
|
|
22
|
+
* @three_import import { ReflectorForSSRPass } from 'three/addons/objects/ReflectorForSSRPass.js';
|
|
22
23
|
*/
|
|
23
24
|
class ReflectorForSSRPass extends Mesh {
|
|
24
25
|
|