@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
|
@@ -38,6 +38,7 @@ import { SimplexNoise } from '../math/SimplexNoise.js';
|
|
|
38
38
|
* ```
|
|
39
39
|
*
|
|
40
40
|
* @augments Pass
|
|
41
|
+
* @three_import import { GTAOPass } from 'three/addons/postprocessing/GTAOPass.js';
|
|
41
42
|
*/
|
|
42
43
|
class GTAOPass extends Pass {
|
|
43
44
|
|
|
@@ -102,7 +103,7 @@ class GTAOPass extends Pass {
|
|
|
102
103
|
*/
|
|
103
104
|
this.output = 0;
|
|
104
105
|
this._renderGBuffer = true;
|
|
105
|
-
this._visibilityCache =
|
|
106
|
+
this._visibilityCache = [];
|
|
106
107
|
|
|
107
108
|
/**
|
|
108
109
|
* The AO blend intensity.
|
|
@@ -241,7 +242,7 @@ class GTAOPass extends Pass {
|
|
|
241
242
|
* Sets the size of the pass.
|
|
242
243
|
*
|
|
243
244
|
* @param {number} width - The width to set.
|
|
244
|
-
* @param {number} height - The
|
|
245
|
+
* @param {number} height - The height to set.
|
|
245
246
|
*/
|
|
246
247
|
setSize( width, height ) {
|
|
247
248
|
|
|
@@ -366,7 +367,7 @@ class GTAOPass extends Pass {
|
|
|
366
367
|
}
|
|
367
368
|
|
|
368
369
|
/**
|
|
369
|
-
* Updates the GTAO material from the given
|
|
370
|
+
* Updates the GTAO material from the given parameter object.
|
|
370
371
|
*
|
|
371
372
|
* @param {Object} parameters - The GTAO material parameters.
|
|
372
373
|
*/
|
|
@@ -420,7 +421,7 @@ class GTAOPass extends Pass {
|
|
|
420
421
|
}
|
|
421
422
|
|
|
422
423
|
/**
|
|
423
|
-
* Updates the Denoise material from the given
|
|
424
|
+
* Updates the Denoise material from the given parameter object.
|
|
424
425
|
*
|
|
425
426
|
* @param {Object} parameters - The denoise parameters.
|
|
426
427
|
*/
|
|
@@ -654,9 +655,12 @@ class GTAOPass extends Pass {
|
|
|
654
655
|
|
|
655
656
|
scene.traverse( function ( object ) {
|
|
656
657
|
|
|
657
|
-
|
|
658
|
+
if ( ( object.isPoints || object.isLine || object.isLine2 ) && object.visible ) {
|
|
658
659
|
|
|
659
|
-
|
|
660
|
+
object.visible = false;
|
|
661
|
+
cache.push( object );
|
|
662
|
+
|
|
663
|
+
}
|
|
660
664
|
|
|
661
665
|
} );
|
|
662
666
|
|
|
@@ -664,17 +668,15 @@ class GTAOPass extends Pass {
|
|
|
664
668
|
|
|
665
669
|
_restoreVisibility() {
|
|
666
670
|
|
|
667
|
-
const scene = this.scene;
|
|
668
671
|
const cache = this._visibilityCache;
|
|
669
672
|
|
|
670
|
-
|
|
673
|
+
for ( let i = 0; i < cache.length; i ++ ) {
|
|
671
674
|
|
|
672
|
-
|
|
673
|
-
object.visible = visible;
|
|
675
|
+
cache[ i ].visible = true;
|
|
674
676
|
|
|
675
|
-
}
|
|
677
|
+
}
|
|
676
678
|
|
|
677
|
-
cache.
|
|
679
|
+
cache.length = 0;
|
|
678
680
|
|
|
679
681
|
}
|
|
680
682
|
|
|
@@ -18,6 +18,7 @@ import { DigitalGlitch } from '../shaders/DigitalGlitch.js';
|
|
|
18
18
|
* ```
|
|
19
19
|
*
|
|
20
20
|
* @augments Pass
|
|
21
|
+
* @three_import import { GlitchPass } from 'three/addons/postprocessing/GlitchPass.js';
|
|
21
22
|
*/
|
|
22
23
|
class GlitchPass extends Pass {
|
|
23
24
|
|
|
@@ -50,7 +51,7 @@ class GlitchPass extends Pass {
|
|
|
50
51
|
} );
|
|
51
52
|
|
|
52
53
|
/**
|
|
53
|
-
* Whether to noticeably increase the effect
|
|
54
|
+
* Whether to noticeably increase the effect intensity or not.
|
|
54
55
|
*
|
|
55
56
|
* @type {boolean}
|
|
56
57
|
* @default false
|
|
@@ -26,6 +26,7 @@ import { HalftoneShader } from '../shaders/HalftoneShader.js';
|
|
|
26
26
|
* ```
|
|
27
27
|
*
|
|
28
28
|
* @augments Pass
|
|
29
|
+
* @three_import import { HalftonePass } from 'three/addons/postprocessing/HalftonePass.js';
|
|
29
30
|
*/
|
|
30
31
|
class HalftonePass extends Pass {
|
|
31
32
|
|
|
@@ -107,7 +108,7 @@ class HalftonePass extends Pass {
|
|
|
107
108
|
* Sets the size of the pass.
|
|
108
109
|
*
|
|
109
110
|
* @param {number} width - The width to set.
|
|
110
|
-
* @param {number} height - The
|
|
111
|
+
* @param {number} height - The height to set.
|
|
111
112
|
*/
|
|
112
113
|
setSize( width, height ) {
|
|
113
114
|
|
|
@@ -26,6 +26,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
|
|
|
26
26
|
* ```
|
|
27
27
|
*
|
|
28
28
|
* @augments Pass
|
|
29
|
+
* @three_import import { OutlinePass } from 'three/addons/postprocessing/OutlinePass.js';
|
|
29
30
|
*/
|
|
30
31
|
class OutlinePass extends Pass {
|
|
31
32
|
|
|
@@ -268,7 +269,7 @@ class OutlinePass extends Pass {
|
|
|
268
269
|
* Sets the size of the pass.
|
|
269
270
|
*
|
|
270
271
|
* @param {number} width - The width to set.
|
|
271
|
-
* @param {number} height - The
|
|
272
|
+
* @param {number} height - The height to set.
|
|
272
273
|
*/
|
|
273
274
|
setSize( width, height ) {
|
|
274
275
|
|
|
@@ -493,37 +494,37 @@ class OutlinePass extends Pass {
|
|
|
493
494
|
|
|
494
495
|
function VisibilityChangeCallBack( object ) {
|
|
495
496
|
|
|
496
|
-
if ( object.
|
|
497
|
+
if ( object.isPoints || object.isLine || object.isLine2 ) {
|
|
497
498
|
|
|
498
|
-
//
|
|
499
|
+
// the visibility of points and lines is always set to false in order to
|
|
500
|
+
// not affect the outline computation
|
|
499
501
|
|
|
500
|
-
if (
|
|
502
|
+
if ( bVisible === true ) {
|
|
501
503
|
|
|
502
|
-
|
|
504
|
+
object.visible = visibilityCache.get( object ); // restore
|
|
503
505
|
|
|
504
|
-
|
|
506
|
+
} else {
|
|
505
507
|
|
|
506
|
-
|
|
508
|
+
visibilityCache.set( object, object.visible );
|
|
509
|
+
object.visible = bVisible;
|
|
507
510
|
|
|
508
|
-
|
|
511
|
+
}
|
|
509
512
|
|
|
510
|
-
|
|
513
|
+
} else if ( object.isMesh || object.isSprite) {
|
|
511
514
|
|
|
512
|
-
|
|
515
|
+
// only meshes and sprites are supported by OutlinePass
|
|
513
516
|
|
|
514
|
-
|
|
517
|
+
if ( ! selectionCache.has( object ) ) {
|
|
515
518
|
|
|
516
|
-
|
|
517
|
-
// not affect the outline computation
|
|
519
|
+
const visibility = object.visible;
|
|
518
520
|
|
|
519
|
-
|
|
521
|
+
if ( bVisible === false || visibilityCache.get( object ) === true ) {
|
|
520
522
|
|
|
521
|
-
|
|
523
|
+
object.visible = bVisible;
|
|
522
524
|
|
|
523
|
-
|
|
525
|
+
}
|
|
524
526
|
|
|
525
|
-
visibilityCache.set( object,
|
|
526
|
-
object.visible = bVisible;
|
|
527
|
+
visibilityCache.set( object, visibility );
|
|
527
528
|
|
|
528
529
|
}
|
|
529
530
|
|
|
@@ -557,7 +558,8 @@ class OutlinePass extends Pass {
|
|
|
557
558
|
},
|
|
558
559
|
|
|
559
560
|
vertexShader:
|
|
560
|
-
`#include <
|
|
561
|
+
`#include <batching_pars_vertex>
|
|
562
|
+
#include <morphtarget_pars_vertex>
|
|
561
563
|
#include <skinning_pars_vertex>
|
|
562
564
|
|
|
563
565
|
varying vec4 projTexCoord;
|
|
@@ -566,6 +568,7 @@ class OutlinePass extends Pass {
|
|
|
566
568
|
|
|
567
569
|
void main() {
|
|
568
570
|
|
|
571
|
+
#include <batching_vertex>
|
|
569
572
|
#include <skinbase_vertex>
|
|
570
573
|
#include <begin_vertex>
|
|
571
574
|
#include <morphtarget_vertex>
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
* This module is only relevant for post processing with {@link WebGLRenderer}.
|
|
12
12
|
*
|
|
13
13
|
* @abstract
|
|
14
|
+
* @three_import import { Pass } from 'three/addons/postprocessing/Pass.js';
|
|
14
15
|
*/
|
|
15
16
|
class Pass {
|
|
16
17
|
|
|
@@ -68,7 +69,7 @@ class Pass {
|
|
|
68
69
|
*
|
|
69
70
|
* @abstract
|
|
70
71
|
* @param {number} width - The width to set.
|
|
71
|
-
* @param {number} height - The
|
|
72
|
+
* @param {number} height - The height to set.
|
|
72
73
|
*/
|
|
73
74
|
setSize( /* width, height */ ) {}
|
|
74
75
|
|
|
@@ -132,6 +133,7 @@ const _geometry = new FullscreenTriangleGeometry();
|
|
|
132
133
|
* This module can only be used with {@link WebGLRenderer}.
|
|
133
134
|
*
|
|
134
135
|
* @augments Mesh
|
|
136
|
+
* @three_import import { FullScreenQuad } from 'three/addons/postprocessing/Pass.js';
|
|
135
137
|
*/
|
|
136
138
|
class FullScreenQuad {
|
|
137
139
|
|
|
@@ -19,6 +19,7 @@ import { Pass, FullScreenQuad } from './Pass.js';
|
|
|
19
19
|
* ```
|
|
20
20
|
*
|
|
21
21
|
* @augments Pass
|
|
22
|
+
* @three_import import { RenderPixelatedPass } from 'three/addons/postprocessing/RenderPixelatedPass.js';
|
|
22
23
|
*/
|
|
23
24
|
class RenderPixelatedPass extends Pass {
|
|
24
25
|
|
|
@@ -120,7 +121,7 @@ class RenderPixelatedPass extends Pass {
|
|
|
120
121
|
* Sets the size of the pass.
|
|
121
122
|
*
|
|
122
123
|
* @param {number} width - The width to set.
|
|
123
|
-
* @param {number} height - The
|
|
124
|
+
* @param {number} height - The height to set.
|
|
124
125
|
*/
|
|
125
126
|
setSize( width, height ) {
|
|
126
127
|
|
|
@@ -16,6 +16,7 @@ import { FullScreenQuad, Pass } from './Pass.js';
|
|
|
16
16
|
* ```
|
|
17
17
|
*
|
|
18
18
|
* @augments Pass
|
|
19
|
+
* @three_import import { RenderTransitionPass } from 'three/addons/postprocessing/RenderTransitionPass.js';
|
|
19
20
|
*/
|
|
20
21
|
class RenderTransitionPass extends Pass {
|
|
21
22
|
|
|
@@ -82,7 +83,7 @@ class RenderTransitionPass extends Pass {
|
|
|
82
83
|
* Sets the transition factor. Must be in the range `[0,1]`.
|
|
83
84
|
* This value determines to what degree both scenes are mixed.
|
|
84
85
|
*
|
|
85
|
-
* @param {
|
|
86
|
+
* @param {boolean|number} value - The transition factor.
|
|
86
87
|
*/
|
|
87
88
|
setTransition( value ) {
|
|
88
89
|
|
|
@@ -116,7 +117,7 @@ class RenderTransitionPass extends Pass {
|
|
|
116
117
|
* Sets the texture threshold. This value defined how strong the texture effects
|
|
117
118
|
* the transition. Must be in the range `[0,1]` (0 means full effect, 1 means no effect).
|
|
118
119
|
*
|
|
119
|
-
* @param {
|
|
120
|
+
* @param {boolean|number} value - The threshold value.
|
|
120
121
|
*/
|
|
121
122
|
setTextureThreshold( value ) {
|
|
122
123
|
|
|
@@ -128,7 +129,7 @@ class RenderTransitionPass extends Pass {
|
|
|
128
129
|
* Sets the size of the pass.
|
|
129
130
|
*
|
|
130
131
|
* @param {number} width - The width to set.
|
|
131
|
-
* @param {number} height - The
|
|
132
|
+
* @param {number} height - The height to set.
|
|
132
133
|
*/
|
|
133
134
|
setSize( width, height ) {
|
|
134
135
|
|
|
@@ -33,6 +33,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
|
|
|
33
33
|
* ```
|
|
34
34
|
*
|
|
35
35
|
* @augments Pass
|
|
36
|
+
* @three_import import { SAOPass } from 'three/addons/postprocessing/SAOPass.js';
|
|
36
37
|
*/
|
|
37
38
|
class SAOPass extends Pass {
|
|
38
39
|
|
|
@@ -82,7 +83,7 @@ class SAOPass extends Pass {
|
|
|
82
83
|
this._oldClearAlpha = 1;
|
|
83
84
|
|
|
84
85
|
/**
|
|
85
|
-
* The SAO
|
|
86
|
+
* The SAO parameter.
|
|
86
87
|
*
|
|
87
88
|
* @type {Object}
|
|
88
89
|
*/
|
|
@@ -293,7 +294,7 @@ class SAOPass extends Pass {
|
|
|
293
294
|
* Sets the size of the pass.
|
|
294
295
|
*
|
|
295
296
|
* @param {number} width - The width to set.
|
|
296
|
-
* @param {number} height - The
|
|
297
|
+
* @param {number} height - The height to set.
|
|
297
298
|
*/
|
|
298
299
|
setSize( width, height ) {
|
|
299
300
|
|
|
@@ -12,7 +12,7 @@ import { SMAABlendShader, SMAAEdgesShader, SMAAWeightsShader } from '../shaders/
|
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* A pass for applying SMAA. Unlike {@link FXAAPass}, `SMAAPass` operates in
|
|
15
|
-
* `
|
|
15
|
+
* `linear-srgb` so this pass must be executed before {@link OutputPass}.
|
|
16
16
|
*
|
|
17
17
|
* ```js
|
|
18
18
|
* const smaaPass = new SMAAPass();
|
|
@@ -20,6 +20,7 @@ import { SMAABlendShader, SMAAEdgesShader, SMAAWeightsShader } from '../shaders/
|
|
|
20
20
|
* ```
|
|
21
21
|
*
|
|
22
22
|
* @augments Pass
|
|
23
|
+
* @three_import import { SMAAPass } from 'three/addons/postprocessing/SMAAPass.js';
|
|
23
24
|
*/
|
|
24
25
|
class SMAAPass extends Pass {
|
|
25
26
|
|
|
@@ -177,7 +178,7 @@ class SMAAPass extends Pass {
|
|
|
177
178
|
* Sets the size of the pass.
|
|
178
179
|
*
|
|
179
180
|
* @param {number} width - The width to set.
|
|
180
|
-
* @param {number} height - The
|
|
181
|
+
* @param {number} height - The height to set.
|
|
181
182
|
*/
|
|
182
183
|
setSize( width, height ) {
|
|
183
184
|
|
|
@@ -21,6 +21,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
|
|
|
21
21
|
* ```
|
|
22
22
|
*
|
|
23
23
|
* @augments Pass
|
|
24
|
+
* @three_import import { SSAARenderPass } from 'three/addons/postprocessing/SSAARenderPass.js';
|
|
24
25
|
*/
|
|
25
26
|
class SSAARenderPass extends Pass {
|
|
26
27
|
|
|
@@ -140,7 +141,7 @@ class SSAARenderPass extends Pass {
|
|
|
140
141
|
* Sets the size of the pass.
|
|
141
142
|
*
|
|
142
143
|
* @param {number} width - The width to set.
|
|
143
|
-
* @param {number} height - The
|
|
144
|
+
* @param {number} height - The height to set.
|
|
144
145
|
*/
|
|
145
146
|
setSize( width, height ) {
|
|
146
147
|
|
|
@@ -39,6 +39,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
|
|
|
39
39
|
* ```
|
|
40
40
|
*
|
|
41
41
|
* @augments Pass
|
|
42
|
+
* @three_import import { SSAOPass } from 'three/addons/postprocessing/SSAOPass.js';
|
|
42
43
|
*/
|
|
43
44
|
class SSAOPass extends Pass {
|
|
44
45
|
|
|
@@ -138,7 +139,7 @@ class SSAOPass extends Pass {
|
|
|
138
139
|
*/
|
|
139
140
|
this.maxDistance = 0.1;
|
|
140
141
|
|
|
141
|
-
this._visibilityCache =
|
|
142
|
+
this._visibilityCache = [];
|
|
142
143
|
|
|
143
144
|
//
|
|
144
145
|
|
|
@@ -350,7 +351,7 @@ class SSAOPass extends Pass {
|
|
|
350
351
|
* Sets the size of the pass.
|
|
351
352
|
*
|
|
352
353
|
* @param {number} width - The width to set.
|
|
353
|
-
* @param {number} height - The
|
|
354
|
+
* @param {number} height - The height to set.
|
|
354
355
|
*/
|
|
355
356
|
setSize( width, height ) {
|
|
356
357
|
|
|
@@ -488,9 +489,12 @@ class SSAOPass extends Pass {
|
|
|
488
489
|
|
|
489
490
|
scene.traverse( function ( object ) {
|
|
490
491
|
|
|
491
|
-
|
|
492
|
+
if ( ( object.isPoints || object.isLine || object.isLine2 ) && object.visible ) {
|
|
492
493
|
|
|
493
|
-
|
|
494
|
+
object.visible = false;
|
|
495
|
+
cache.push( object );
|
|
496
|
+
|
|
497
|
+
}
|
|
494
498
|
|
|
495
499
|
} );
|
|
496
500
|
|
|
@@ -498,17 +502,15 @@ class SSAOPass extends Pass {
|
|
|
498
502
|
|
|
499
503
|
_restoreVisibility() {
|
|
500
504
|
|
|
501
|
-
const scene = this.scene;
|
|
502
505
|
const cache = this._visibilityCache;
|
|
503
506
|
|
|
504
|
-
|
|
507
|
+
for ( let i = 0; i < cache.length; i ++ ) {
|
|
505
508
|
|
|
506
|
-
|
|
507
|
-
object.visible = visible;
|
|
509
|
+
cache[ i ].visible = true;
|
|
508
510
|
|
|
509
|
-
}
|
|
511
|
+
}
|
|
510
512
|
|
|
511
|
-
cache.
|
|
513
|
+
cache.length = 0;
|
|
512
514
|
|
|
513
515
|
}
|
|
514
516
|
|
|
@@ -34,6 +34,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
|
|
|
34
34
|
* ```
|
|
35
35
|
*
|
|
36
36
|
* @augments Pass
|
|
37
|
+
* @three_import import { SSRPass } from 'three/addons/postprocessing/SSRPass.js';
|
|
37
38
|
*/
|
|
38
39
|
class SSRPass extends Pass {
|
|
39
40
|
|
|
@@ -100,7 +101,7 @@ class SSRPass extends Pass {
|
|
|
100
101
|
this.groundReflector = groundReflector;
|
|
101
102
|
|
|
102
103
|
/**
|
|
103
|
-
* The
|
|
104
|
+
* The opacity.
|
|
104
105
|
*
|
|
105
106
|
* @type {number}
|
|
106
107
|
* @default 0.5
|
|
@@ -221,7 +222,7 @@ class SSRPass extends Pass {
|
|
|
221
222
|
this._distanceAttenuation = SSRShader.defines.DISTANCE_ATTENUATION;
|
|
222
223
|
|
|
223
224
|
/**
|
|
224
|
-
* Whether to use distance
|
|
225
|
+
* Whether to use distance attenuation or not.
|
|
225
226
|
*
|
|
226
227
|
* @name SSRPass#distanceAttenuation
|
|
227
228
|
* @type {boolean}
|
|
@@ -653,7 +654,7 @@ class SSRPass extends Pass {
|
|
|
653
654
|
* Sets the size of the pass.
|
|
654
655
|
*
|
|
655
656
|
* @param {number} width - The width to set.
|
|
656
|
-
* @param {number} height - The
|
|
657
|
+
* @param {number} height - The height to set.
|
|
657
658
|
*/
|
|
658
659
|
setSize( width, height ) {
|
|
659
660
|
|
|
@@ -17,6 +17,7 @@ import { CopyShader } from '../shaders/CopyShader.js';
|
|
|
17
17
|
* ```
|
|
18
18
|
*
|
|
19
19
|
* @augments Pass
|
|
20
|
+
* @three_import import { SavePass } from 'three/addons/postprocessing/SavePass.js';
|
|
20
21
|
*/
|
|
21
22
|
class SavePass extends Pass {
|
|
22
23
|
|
|
@@ -104,7 +105,7 @@ class SavePass extends Pass {
|
|
|
104
105
|
* Sets the size of the pass.
|
|
105
106
|
*
|
|
106
107
|
* @param {number} width - The width to set.
|
|
107
|
-
* @param {number} height - The
|
|
108
|
+
* @param {number} height - The height to set.
|
|
108
109
|
*/
|
|
109
110
|
setSize( width, height ) {
|
|
110
111
|
|
|
@@ -31,6 +31,7 @@ import { LuminosityHighPassShader } from '../shaders/LuminosityHighPassShader.js
|
|
|
31
31
|
* ```
|
|
32
32
|
*
|
|
33
33
|
* @augments Pass
|
|
34
|
+
* @three_import import { UnrealBloomPass } from 'three/addons/postprocessing/UnrealBloomPass.js';
|
|
34
35
|
*/
|
|
35
36
|
class UnrealBloomPass extends Pass {
|
|
36
37
|
|
|
@@ -241,7 +242,7 @@ class UnrealBloomPass extends Pass {
|
|
|
241
242
|
* Sets the size of the pass.
|
|
242
243
|
*
|
|
243
244
|
* @param {number} width - The width to set.
|
|
244
|
-
* @param {number} height - The
|
|
245
|
+
* @param {number} height - The height to set.
|
|
245
246
|
*/
|
|
246
247
|
setSize( width, height ) {
|
|
247
248
|
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
* The only type of 3D object that is supported by {@link CSS2DRenderer}.
|
|
10
10
|
*
|
|
11
11
|
* @augments Object3D
|
|
12
|
+
* @three_import import { CSS2DObject } from 'three/addons/renderers/CSS2DRenderer.js';
|
|
12
13
|
*/
|
|
13
14
|
class CSS2DObject extends Object3D {
|
|
14
15
|
|
|
@@ -103,6 +104,8 @@ const _b = new Vector3();
|
|
|
103
104
|
* scene graph. All other types of renderable 3D objects (like meshes or point clouds) are ignored.
|
|
104
105
|
*
|
|
105
106
|
* `CSS2DRenderer` only supports 100% browser and display zoom.
|
|
107
|
+
*
|
|
108
|
+
* @three_import import { CSS2DRenderer } from 'three/addons/renderers/CSS2DRenderer.js';
|
|
106
109
|
*/
|
|
107
110
|
class CSS2DRenderer {
|
|
108
111
|
|
|
@@ -15,6 +15,7 @@ const _scale = new Vector3();
|
|
|
15
15
|
* The base 3D object that is supported by {@link CSS3DRenderer}.
|
|
16
16
|
*
|
|
17
17
|
* @augments Object3D
|
|
18
|
+
* @three_import import { CSS3DObject } from 'three/addons/renderers/CSS3DRenderer.js';
|
|
18
19
|
*/
|
|
19
20
|
class CSS3DObject extends Object3D {
|
|
20
21
|
|
|
@@ -86,6 +87,7 @@ class CSS3DObject extends Object3D {
|
|
|
86
87
|
* DOM elements as sprites.
|
|
87
88
|
*
|
|
88
89
|
* @augments CSS3DObject
|
|
90
|
+
* @three_import import { CSS3DSprite } from 'three/addons/renderers/CSS3DRenderer.js';
|
|
89
91
|
*/
|
|
90
92
|
class CSS3DSprite extends CSS3DObject {
|
|
91
93
|
|
|
@@ -148,6 +150,8 @@ const _matrix2 = new Matrix4();
|
|
|
148
150
|
*
|
|
149
151
|
* So `CSS3DRenderer` is just focused on ordinary DOM elements. These elements are wrapped into special
|
|
150
152
|
* 3D objects ({@link CSS3DObject} or {@link CSS3DSprite}) and then added to the scene graph.
|
|
153
|
+
*
|
|
154
|
+
* @three_import import { CSS3DRenderer } from 'three/addons/renderers/CSS3DRenderer.js';
|
|
151
155
|
*/
|
|
152
156
|
class CSS3DRenderer {
|
|
153
157
|
|
|
@@ -124,6 +124,8 @@ class RenderableSprite {
|
|
|
124
124
|
* This class can project a given scene in 3D space into a 2D representation
|
|
125
125
|
* used for rendering with a 2D API. `Projector` is currently used by {@link SVGRenderer}
|
|
126
126
|
* and was previously used by the legacy `CanvasRenderer`.
|
|
127
|
+
*
|
|
128
|
+
* @three_import import { Projector } from 'three/addons/renderers/Projector.js';
|
|
127
129
|
*/
|
|
128
130
|
class Projector {
|
|
129
131
|
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
* Can be used to wrap SVG elements into a 3D object.
|
|
20
20
|
*
|
|
21
21
|
* @augments Object3D
|
|
22
|
+
* @three_import import { SVGObject } from 'three/addons/renderers/SVGRenderer.js';
|
|
22
23
|
*/
|
|
23
24
|
class SVGObject extends Object3D {
|
|
24
25
|
|
|
@@ -69,6 +70,8 @@ class SVGObject extends Object3D {
|
|
|
69
70
|
* - No advanced shading.
|
|
70
71
|
* - No texture support.
|
|
71
72
|
* - No shadow support.
|
|
73
|
+
*
|
|
74
|
+
* @three_import import { SVGRenderer } from 'three/addons/renderers/SVGRenderer.js';
|
|
72
75
|
*/
|
|
73
76
|
class SVGRenderer {
|
|
74
77
|
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* @module ACESFilmicToneMappingShader
|
|
3
|
+
* @three_import import { ACESFilmicToneMappingShader } from 'three/addons/shaders/ACESFilmicToneMappingShader.js';
|
|
4
|
+
*/
|
|
2
5
|
|
|
3
6
|
/**
|
|
4
7
|
* ACES Filmic Tone Mapping Shader by Stephen Hill.
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/**
|
|
2
|
+
* @module AfterimageShader
|
|
3
|
+
* @three_import import { AfterimageShader } from 'three/addons/shaders/AfterimageShader.js';
|
|
4
|
+
*/
|
|
2
5
|
|
|
3
6
|
/**
|
|
4
7
|
* Inspired by [Three.js FBO motion trails]{@link https://codepen.io/brunoimbrizi/pen/MoRJaN?page=1&}.
|