super-three 0.181.0 → 0.185.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +3 -4
- package/build/three.cjs +21332 -19201
- package/build/three.core.js +20908 -19853
- package/build/three.core.min.js +2 -2
- package/build/three.module.js +1947 -862
- package/build/three.module.min.js +2 -2
- package/build/three.tsl.js +37 -16
- package/build/three.tsl.min.js +2 -2
- package/build/three.webgpu.js +33628 -25197
- package/build/three.webgpu.min.js +2 -2
- package/build/three.webgpu.nodes.js +33394 -25000
- package/build/three.webgpu.nodes.min.js +2 -2
- package/examples/jsm/Addons.js +14 -3
- package/examples/jsm/animation/CCDIKSolver.js +7 -3
- package/examples/jsm/controls/ArcballControls.js +13 -6
- package/examples/jsm/controls/DragControls.js +2 -2
- package/examples/jsm/controls/FirstPersonControls.js +127 -86
- package/examples/jsm/controls/FlyControls.js +4 -0
- package/examples/jsm/controls/MapControls.js +55 -1
- package/examples/jsm/controls/OrbitControls.js +111 -8
- package/examples/jsm/controls/TrackballControls.js +8 -8
- package/examples/jsm/controls/TransformControls.js +102 -17
- package/examples/jsm/csm/CSM.js +2 -1
- package/examples/jsm/csm/CSMFrustum.js +31 -6
- package/examples/jsm/csm/CSMShadowNode.js +10 -3
- package/examples/jsm/effects/AnaglyphEffect.js +102 -7
- package/examples/jsm/effects/AsciiEffect.js +14 -1
- package/examples/jsm/environments/ColorEnvironment.js +59 -0
- package/examples/jsm/environments/RoomEnvironment.js +3 -0
- package/examples/jsm/exporters/DRACOExporter.js +27 -6
- package/examples/jsm/exporters/EXRExporter.js +1 -1
- package/examples/jsm/exporters/GLTFExporter.js +266 -21
- package/examples/jsm/exporters/PLYExporter.js +286 -73
- package/examples/jsm/exporters/USDZExporter.js +353 -99
- package/examples/jsm/generators/CityGenerator.js +346 -0
- package/examples/jsm/generators/ForestGenerator.js +347 -0
- package/examples/jsm/generators/TerrainGenerator.js +504 -0
- package/examples/jsm/generators/TreeGenerator.js +377 -0
- package/examples/jsm/generators/city/SidewalkGenerator.js +253 -0
- package/examples/jsm/generators/city/SkyscraperGenerator.js +1357 -0
- package/examples/jsm/geometries/DecalGeometry.js +1 -1
- package/examples/jsm/geometries/LoftGeometry.js +355 -0
- package/examples/jsm/geometries/TextGeometry.js +18 -0
- package/examples/jsm/helpers/AnimationPathHelper.js +302 -0
- package/examples/jsm/helpers/LightProbeGridHelper.js +221 -0
- package/examples/jsm/helpers/LightProbeHelper.js +5 -4
- package/examples/jsm/helpers/LightProbeHelperGPU.js +1 -1
- package/examples/jsm/helpers/TextureHelperGPU.js +1 -1
- package/examples/jsm/helpers/ViewHelper.js +83 -14
- package/examples/jsm/inspector/Extension.js +13 -0
- package/examples/jsm/inspector/Inspector.js +244 -91
- package/examples/jsm/inspector/RendererInspector.js +165 -39
- package/examples/jsm/inspector/extensions/tsl-graph/TSLGraphEditor.js +916 -0
- package/examples/jsm/inspector/extensions/tsl-graph/TSLGraphLoader.js +281 -0
- package/examples/jsm/inspector/tabs/Console.js +241 -25
- package/examples/jsm/inspector/tabs/Memory.js +136 -0
- package/examples/jsm/inspector/tabs/Parameters.js +115 -7
- package/examples/jsm/inspector/tabs/Performance.js +24 -9
- package/examples/jsm/inspector/tabs/Settings.js +306 -0
- package/examples/jsm/inspector/tabs/Timeline.js +1696 -0
- package/examples/jsm/inspector/tabs/Viewer.js +723 -9
- package/examples/jsm/inspector/ui/Graph.js +162 -25
- package/examples/jsm/inspector/ui/Item.js +92 -13
- package/examples/jsm/inspector/ui/List.js +2 -2
- package/examples/jsm/inspector/ui/Profiler.js +1991 -44
- package/examples/jsm/inspector/ui/Style.js +1943 -543
- package/examples/jsm/inspector/ui/Tab.js +226 -5
- package/examples/jsm/inspector/ui/Values.js +126 -8
- package/examples/jsm/inspector/ui/utils.js +143 -10
- package/examples/jsm/interaction/InteractionManager.js +226 -0
- package/examples/jsm/libs/basis/README.md +0 -1
- package/examples/jsm/libs/demuxer_mp4.js +3 -3
- package/examples/jsm/libs/draco/README.md +0 -1
- package/examples/jsm/libs/meshopt_clusterizer.module.js +421 -0
- package/examples/jsm/libs/meshopt_decoder.module.js +9 -8
- package/examples/jsm/libs/meshopt_simplifier.module.js +627 -0
- package/examples/jsm/libs/mikktspace.module.js +34 -9
- package/examples/jsm/lighting/ClusteredLighting.js +55 -0
- package/examples/jsm/lighting/DynamicLighting.js +82 -0
- package/examples/jsm/lighting/LightProbeGrid.js +681 -0
- package/examples/jsm/lines/LineMaterial.js +45 -16
- package/examples/jsm/lines/LineSegments2.js +8 -0
- package/examples/jsm/lines/webgpu/LineSegments2.js +8 -0
- package/examples/jsm/loaders/3DMLoader.js +6 -5
- package/examples/jsm/loaders/3MFLoader.js +2 -2
- package/examples/jsm/loaders/AMFLoader.js +2 -2
- package/examples/jsm/loaders/ColladaLoader.js +24 -4026
- package/examples/jsm/loaders/DRACOLoader.js +51 -18
- package/examples/jsm/loaders/EXRLoader.js +701 -90
- package/examples/jsm/loaders/FBXLoader.js +235 -37
- package/examples/jsm/loaders/GCodeLoader.js +34 -8
- package/examples/jsm/loaders/GLTFLoader.js +146 -178
- package/examples/jsm/loaders/HDRLoader.js +7 -30
- package/examples/jsm/loaders/KMZLoader.js +5 -5
- package/examples/jsm/loaders/KTX2Loader.js +58 -17
- package/examples/jsm/loaders/LDrawLoader.js +49 -58
- package/examples/jsm/loaders/LUT3dlLoader.js +2 -2
- package/examples/jsm/loaders/LUTCubeLoader.js +2 -2
- package/examples/jsm/loaders/LWOLoader.js +11 -39
- package/examples/jsm/loaders/LottieLoader.js +1 -1
- package/examples/jsm/loaders/MaterialXLoader.js +31 -9
- package/examples/jsm/loaders/NRRDLoader.js +5 -5
- package/examples/jsm/loaders/PCDLoader.js +11 -9
- package/examples/jsm/loaders/PLYLoader.js +218 -55
- package/examples/jsm/loaders/SVGLoader.js +549 -497
- package/examples/jsm/loaders/TDSLoader.js +0 -2
- package/examples/jsm/loaders/TGALoader.js +0 -2
- package/examples/jsm/loaders/TTFLoader.js +1 -1
- package/examples/jsm/loaders/USDLoader.js +127 -43
- package/examples/jsm/loaders/UltraHDRLoader.js +285 -160
- package/examples/jsm/loaders/VOXLoader.js +660 -117
- package/examples/jsm/loaders/VRMLLoader.js +80 -3
- package/examples/jsm/loaders/VTKLoader.js +42 -25
- package/examples/jsm/loaders/collada/ColladaComposer.js +3044 -0
- package/examples/jsm/loaders/collada/ColladaParser.js +1977 -0
- package/examples/jsm/loaders/usd/USDAParser.js +504 -344
- package/examples/jsm/loaders/usd/USDCParser.js +1867 -6
- package/examples/jsm/loaders/usd/USDComposer.js +4627 -0
- package/examples/jsm/materials/LDrawConditionalLineNodeMaterial.js +2 -2
- package/examples/jsm/materials/WoodNodeMaterial.js +11 -11
- package/examples/jsm/math/Octree.js +131 -1
- package/examples/jsm/misc/GPUComputationRenderer.js +2 -0
- package/examples/jsm/misc/RollerCoaster.js +42 -4
- package/examples/jsm/misc/TileCreasedNormalsPlugin.js +270 -0
- package/examples/jsm/misc/Volume.js +2 -3
- package/examples/jsm/misc/VolumeSlice.js +0 -1
- package/examples/jsm/modifiers/TessellateModifier.js +1 -1
- package/examples/jsm/objects/GroundedSkybox.js +1 -1
- package/examples/jsm/objects/LensflareMesh.js +1 -1
- package/examples/jsm/objects/Reflector.js +72 -25
- package/examples/jsm/objects/Sky.js +90 -6
- package/examples/jsm/objects/SkyMesh.js +150 -16
- package/examples/jsm/objects/Water.js +4 -3
- package/examples/jsm/objects/Water2.js +5 -3
- package/examples/jsm/objects/Water2Mesh.js +1 -1
- package/examples/jsm/objects/WaterMesh.js +5 -7
- package/examples/jsm/physics/AmmoPhysics.js +27 -15
- package/examples/jsm/physics/JoltPhysics.js +10 -6
- package/examples/jsm/physics/RapierPhysics.js +36 -7
- package/examples/jsm/postprocessing/EffectComposer.js +7 -5
- package/examples/jsm/postprocessing/OutputPass.js +9 -0
- package/examples/jsm/postprocessing/RenderPass.js +10 -0
- package/examples/jsm/postprocessing/RenderTransitionPass.js +1 -1
- package/examples/jsm/postprocessing/UnrealBloomPass.js +48 -18
- package/examples/jsm/renderers/CSS3DRenderer.js +1 -1
- package/examples/jsm/renderers/Projector.js +246 -28
- package/examples/jsm/renderers/SVGRenderer.js +174 -60
- package/examples/jsm/shaders/GTAOShader.js +19 -6
- package/examples/jsm/shaders/HalftoneShader.js +12 -1
- package/examples/jsm/shaders/PoissonDenoiseShader.js +6 -2
- package/examples/jsm/shaders/SAOShader.js +17 -4
- package/examples/jsm/shaders/SSAOShader.js +11 -1
- package/examples/jsm/shaders/SSRShader.js +6 -5
- package/examples/jsm/shaders/UnpackDepthRGBAShader.js +2 -4
- package/examples/jsm/shaders/VignetteShader.js +1 -1
- package/examples/jsm/shaders/VolumeShader.js +31 -44
- package/examples/jsm/transpiler/AST.js +44 -0
- package/examples/jsm/transpiler/GLSLDecoder.js +65 -8
- package/examples/jsm/transpiler/Linker.js +1 -1
- package/examples/jsm/transpiler/ShaderToyDecoder.js +2 -0
- package/examples/jsm/transpiler/TSLEncoder.js +46 -3
- package/examples/jsm/transpiler/TranspilerUtils.js +3 -3
- package/examples/jsm/transpiler/WGSLEncoder.js +27 -0
- package/examples/jsm/tsl/WebGLNodesHandler.js +605 -0
- package/examples/jsm/tsl/display/AfterImageNode.js +11 -1
- package/examples/jsm/tsl/display/AnaglyphPassNode.js +458 -16
- package/examples/jsm/tsl/display/BilateralBlurNode.js +374 -0
- package/examples/jsm/tsl/display/BloomNode.js +75 -25
- package/examples/jsm/tsl/display/CRT.js +150 -0
- package/examples/jsm/tsl/display/ChromaticAberrationNode.js +3 -36
- package/examples/jsm/tsl/display/DenoiseNode.js +1 -1
- package/examples/jsm/tsl/display/DepthOfFieldNode.js +3 -3
- package/examples/jsm/tsl/display/DotScreenNode.js +1 -1
- package/examples/jsm/tsl/display/FSR1Node.js +477 -0
- package/examples/jsm/tsl/display/FXAANode.js +13 -14
- package/examples/jsm/tsl/display/GTAONode.js +40 -17
- package/examples/jsm/tsl/display/GaussianBlurNode.js +21 -2
- package/examples/jsm/tsl/display/GodraysNode.js +615 -0
- package/examples/jsm/tsl/display/ImportanceSampledEnvironment.js +560 -0
- package/examples/jsm/tsl/display/LensflareNode.js +1 -1
- package/examples/jsm/tsl/display/Lut3DNode.js +1 -1
- package/examples/jsm/tsl/display/OutlineNode.js +69 -19
- package/examples/jsm/tsl/display/ParallaxBarrierPassNode.js +2 -2
- package/examples/jsm/tsl/display/PixelationPassNode.js +9 -8
- package/examples/jsm/tsl/display/RGBShiftNode.js +2 -2
- package/examples/jsm/tsl/display/RecurrentDenoiseNode.js +912 -0
- package/examples/jsm/tsl/display/RetroPassNode.js +263 -0
- package/examples/jsm/tsl/display/SMAANode.js +2 -2
- package/examples/jsm/tsl/display/SSAAPassNode.js +15 -27
- package/examples/jsm/tsl/display/SSGINode.js +96 -62
- package/examples/jsm/tsl/display/SSRNode.js +831 -134
- package/examples/jsm/tsl/display/SSSNode.js +8 -6
- package/examples/jsm/tsl/display/Shape.js +29 -0
- package/examples/jsm/tsl/display/SharpenNode.js +283 -0
- package/examples/jsm/tsl/display/SobelOperatorNode.js +2 -2
- package/examples/jsm/tsl/display/StereoCompositePassNode.js +8 -1
- package/examples/jsm/tsl/display/StereoPassNode.js +1 -2
- package/examples/jsm/tsl/display/TAAUNode.js +835 -0
- package/examples/jsm/tsl/display/TRAANode.js +315 -126
- package/examples/jsm/tsl/display/TemporalReprojectNode.js +1023 -0
- package/examples/jsm/tsl/display/TransitionNode.js +1 -1
- package/examples/jsm/tsl/display/depthAwareBlend.js +80 -0
- package/examples/jsm/tsl/display/radialBlur.js +68 -0
- package/examples/jsm/tsl/lighting/ClusteredLightsNode.js +622 -0
- package/examples/jsm/tsl/lighting/DynamicLightsNode.js +300 -0
- package/examples/jsm/tsl/lighting/data/AmbientLightDataNode.js +61 -0
- package/examples/jsm/tsl/lighting/data/DirectionalLightDataNode.js +111 -0
- package/examples/jsm/tsl/lighting/data/HemisphereLightDataNode.js +99 -0
- package/examples/jsm/tsl/lighting/data/PointLightDataNode.js +134 -0
- package/examples/jsm/tsl/lighting/data/SpotLightDataNode.js +161 -0
- package/examples/jsm/tsl/math/Bayer.js +53 -3
- package/examples/jsm/tsl/math/curlNoise.js +107 -0
- package/examples/jsm/tsl/shadows/TileShadowNode.js +1 -1
- package/examples/jsm/tsl/shadows/TileShadowNodeHelper.js +3 -3
- package/examples/jsm/tsl/utils/GroundedSkybox.js +62 -0
- package/examples/jsm/tsl/utils/RNoise.js +51 -0
- package/examples/jsm/tsl/utils/SpecularHelpers.js +325 -0
- package/examples/jsm/utils/BufferGeometryUtils.js +128 -62
- package/examples/jsm/utils/ColorUtils.js +76 -0
- package/examples/jsm/utils/GeometryCompressionUtils.js +1 -1
- package/examples/jsm/utils/LDrawUtils.js +1 -1
- package/examples/jsm/utils/SceneOptimizer.js +1 -1
- package/examples/jsm/utils/ShadowMapViewer.js +24 -10
- package/examples/jsm/utils/ShadowMapViewerGPU.js +1 -1
- package/examples/jsm/utils/SkeletonUtils.js +14 -8
- package/examples/jsm/utils/WebGPUTextureUtils.js +1 -1
- package/examples/jsm/webxr/ARButton.js +1 -1
- package/examples/jsm/webxr/WebGLXRFallback.js +89 -0
- package/examples/jsm/webxr/XRControllerModelFactory.js +2 -2
- package/examples/jsm/webxr/XRHandMeshModel.js +36 -10
- package/examples/jsm/webxr/XRHandModelFactory.js +2 -1
- package/package.json +28 -34
- package/src/Three.Core.js +3 -1
- package/src/Three.TSL.js +35 -14
- package/src/Three.WebGPU.Nodes.js +5 -0
- package/src/Three.WebGPU.js +13 -0
- package/src/Three.js +1 -0
- package/src/animation/AnimationAction.js +18 -4
- package/src/animation/AnimationClip.js +0 -139
- package/src/animation/AnimationMixer.js +6 -0
- package/src/animation/AnimationUtils.js +1 -12
- package/src/animation/KeyframeTrack.js +47 -8
- package/src/animation/PropertyBinding.js +2 -2
- package/src/animation/PropertyMixer.js +4 -4
- package/src/animation/tracks/BooleanKeyframeTrack.js +1 -1
- package/src/animation/tracks/ColorKeyframeTrack.js +1 -1
- package/src/animation/tracks/NumberKeyframeTrack.js +1 -1
- package/src/animation/tracks/QuaternionKeyframeTrack.js +1 -1
- package/src/animation/tracks/StringKeyframeTrack.js +1 -1
- package/src/animation/tracks/VectorKeyframeTrack.js +1 -1
- package/src/audio/Audio.js +1 -1
- package/src/audio/AudioContext.js +2 -2
- package/src/audio/AudioListener.js +5 -3
- package/src/cameras/Camera.js +34 -4
- package/src/cameras/CubeCamera.js +20 -0
- package/src/cameras/StereoCamera.js +5 -2
- package/src/constants.js +90 -5
- package/src/core/BufferAttribute.js +13 -1
- package/src/core/BufferGeometry.js +43 -9
- package/src/core/Clock.js +7 -0
- package/src/core/Object3D.js +69 -11
- package/src/core/Raycaster.js +3 -3
- package/src/core/RenderTarget.js +19 -6
- package/src/extras/PMREMGenerator.js +13 -22
- package/src/extras/TextureUtils.js +6 -2
- package/src/extras/core/ShapePath.js +149 -160
- package/src/extras/curves/CatmullRomCurve3.js +3 -2
- package/src/geometries/ExtrudeGeometry.js +2 -2
- package/src/geometries/PolyhedronGeometry.js +1 -1
- package/src/geometries/SphereGeometry.js +8 -3
- package/src/geometries/TorusGeometry.js +8 -3
- package/src/helpers/CameraHelper.js +3 -0
- package/src/helpers/DirectionalLightHelper.js +6 -1
- package/src/helpers/HemisphereLightHelper.js +5 -0
- package/src/helpers/PointLightHelper.js +3 -25
- package/src/helpers/SpotLightHelper.js +4 -1
- package/src/lights/DirectionalLight.js +13 -0
- package/src/lights/HemisphereLight.js +10 -0
- package/src/lights/Light.js +1 -11
- package/src/lights/LightProbe.js +0 -15
- package/src/lights/LightShadow.js +15 -6
- package/src/lights/PointLight.js +15 -0
- package/src/lights/PointLightShadow.js +0 -86
- package/src/lights/SpotLight.js +22 -1
- package/src/lights/webgpu/IESSpotLight.js +2 -1
- package/src/loaders/AudioLoader.js +11 -1
- package/src/loaders/Cache.js +28 -0
- package/src/loaders/DataTextureLoader.js +75 -42
- package/src/loaders/FileLoader.js +2 -3
- package/src/loaders/ImageBitmapLoader.js +12 -9
- package/src/loaders/Loader.js +6 -0
- package/src/loaders/LoadingManager.js +5 -0
- package/src/loaders/MaterialLoader.js +37 -266
- package/src/loaders/ObjectLoader.js +48 -6
- package/src/loaders/nodes/NodeLoader.js +2 -2
- package/src/loaders/nodes/NodeObjectLoader.js +18 -0
- package/src/materials/LineBasicMaterial.js +4 -0
- package/src/materials/Material.js +198 -1
- package/src/materials/MeshBasicMaterial.js +24 -0
- package/src/materials/MeshDepthMaterial.js +10 -0
- package/src/materials/MeshDistanceMaterial.js +10 -0
- package/src/materials/MeshLambertMaterial.js +49 -1
- package/src/materials/MeshMatcapMaterial.js +25 -1
- package/src/materials/MeshNormalMaterial.js +9 -1
- package/src/materials/MeshPhongMaterial.js +49 -1
- package/src/materials/MeshPhysicalMaterial.js +38 -0
- package/src/materials/MeshStandardMaterial.js +42 -1
- package/src/materials/MeshToonMaterial.js +35 -2
- package/src/materials/PointsMaterial.js +7 -0
- package/src/materials/ShaderMaterial.js +106 -1
- package/src/materials/SpriteMaterial.js +7 -0
- package/src/materials/nodes/Line2NodeMaterial.js +380 -297
- package/src/materials/nodes/MeshBasicNodeMaterial.js +2 -2
- package/src/materials/nodes/MeshNormalNodeMaterial.js +2 -2
- package/src/materials/nodes/MeshPhongNodeMaterial.js +0 -9
- package/src/materials/nodes/MeshPhysicalNodeMaterial.js +3 -30
- package/src/materials/nodes/MeshSSSNodeMaterial.js +0 -13
- package/src/materials/nodes/MeshStandardNodeMaterial.js +5 -15
- package/src/materials/nodes/NodeMaterial.js +153 -89
- package/src/materials/nodes/SpriteNodeMaterial.js +0 -10
- package/src/materials/nodes/manager/NodeMaterialObserver.js +234 -100
- package/src/math/Box3.js +5 -0
- package/src/math/FrustumArray.js +103 -133
- package/src/math/Interpolant.js +1 -1
- package/src/math/Line3.js +6 -5
- package/src/math/MathUtils.js +12 -12
- package/src/math/Matrix2.js +13 -9
- package/src/math/Matrix3.js +24 -9
- package/src/math/Matrix4.js +112 -74
- package/src/math/Plane.js +4 -3
- package/src/math/Quaternion.js +3 -29
- package/src/math/Sphere.js +1 -1
- package/src/math/Triangle.js +1 -1
- package/src/math/Vector2.js +13 -9
- package/src/math/Vector3.js +17 -15
- package/src/math/Vector4.js +15 -11
- package/src/math/interpolants/BezierInterpolant.js +106 -0
- package/src/nodes/Nodes.js +86 -71
- package/src/nodes/TSL.js +15 -13
- package/src/nodes/accessors/Arrays.js +5 -5
- package/src/nodes/accessors/Batch.js +108 -0
- package/src/nodes/accessors/Bitangent.js +7 -7
- package/src/nodes/accessors/BufferAttributeNode.js +120 -17
- package/src/nodes/accessors/BufferNode.js +29 -2
- package/src/nodes/accessors/Camera.js +149 -28
- package/src/nodes/accessors/ClippingNode.js +5 -5
- package/src/nodes/accessors/CubeTextureNode.js +27 -2
- package/src/nodes/accessors/Instance.js +264 -0
- package/src/nodes/accessors/MaterialNode.js +27 -3
- package/src/nodes/accessors/MaterialProperties.js +6 -8
- package/src/nodes/accessors/MaterialReferenceNode.js +1 -2
- package/src/nodes/accessors/ModelNode.js +1 -1
- package/src/nodes/accessors/{MorphNode.js → Morph.js} +99 -112
- package/src/nodes/accessors/Normal.js +24 -24
- package/src/nodes/accessors/Object3DNode.js +1 -1
- package/src/nodes/accessors/Position.js +39 -3
- package/src/nodes/accessors/ReferenceBaseNode.js +6 -6
- package/src/nodes/accessors/ReferenceNode.js +9 -8
- package/src/nodes/accessors/ReflectVector.js +3 -3
- package/src/nodes/accessors/RendererReferenceNode.js +1 -2
- package/src/nodes/accessors/SceneProperties.js +47 -0
- package/src/nodes/accessors/Skinning.js +263 -0
- package/src/nodes/accessors/StorageBufferNode.js +16 -27
- package/src/nodes/accessors/StorageTexture3DNode.js +100 -0
- package/src/nodes/accessors/StorageTextureNode.js +74 -11
- package/src/nodes/accessors/Tangent.js +8 -18
- package/src/nodes/accessors/Texture3DNode.js +32 -35
- package/src/nodes/accessors/TextureNode.js +124 -25
- package/src/nodes/accessors/UniformArrayNode.js +6 -4
- package/src/nodes/accessors/UserDataNode.js +1 -2
- package/src/nodes/accessors/VertexColorNode.js +1 -2
- package/src/nodes/code/FunctionCallNode.js +1 -1
- package/src/nodes/code/FunctionNode.js +4 -19
- package/src/nodes/core/ArrayNode.js +21 -2
- package/src/nodes/core/AssignNode.js +3 -3
- package/src/nodes/core/AttributeNode.js +3 -3
- package/src/nodes/core/BypassNode.js +1 -1
- package/src/nodes/core/ContextNode.js +104 -5
- package/src/nodes/core/IndexNode.js +2 -1
- package/src/nodes/core/InputNode.js +1 -1
- package/src/nodes/core/InspectorNode.js +1 -1
- package/src/nodes/core/IsolateNode.js +1 -1
- package/src/nodes/core/MRTNode.js +55 -4
- package/src/nodes/core/Node.js +151 -17
- package/src/nodes/core/NodeBuilder.js +479 -101
- package/src/nodes/core/NodeError.js +28 -0
- package/src/nodes/core/NodeFrame.js +12 -4
- package/src/nodes/core/NodeUtils.js +20 -18
- package/src/nodes/core/OutputStructNode.js +13 -11
- package/src/nodes/core/OverrideContextNode.js +153 -0
- package/src/nodes/core/ParameterNode.js +4 -4
- package/src/nodes/core/PropertyNode.js +66 -4
- package/src/nodes/core/StackNode.js +91 -20
- package/src/nodes/core/StackTrace.js +139 -0
- package/src/nodes/core/StructNode.js +20 -8
- package/src/nodes/core/StructTypeNode.js +17 -23
- package/src/nodes/core/SubBuildNode.js +2 -2
- package/src/nodes/core/UniformGroupNode.js +36 -6
- package/src/nodes/core/UniformNode.js +21 -5
- package/src/nodes/core/VarNode.js +56 -23
- package/src/nodes/core/VaryingNode.js +14 -21
- package/src/nodes/display/BlendModes.js +1 -105
- package/src/nodes/display/BumpMapNode.js +6 -1
- package/src/nodes/display/ColorAdjustment.js +27 -9
- package/src/nodes/display/ColorSpaceNode.js +3 -3
- package/src/nodes/display/FrontFacingNode.js +38 -9
- package/src/nodes/display/NormalMapNode.js +41 -6
- package/src/nodes/display/PassNode.js +157 -56
- package/src/nodes/display/PremultiplyAlphaFunctions.js +39 -0
- package/src/nodes/display/RenderOutputNode.js +19 -10
- package/src/nodes/display/ScreenNode.js +4 -2
- package/src/nodes/display/ToneMappingNode.js +1 -1
- package/src/nodes/display/ToonOutlinePassNode.js +2 -2
- package/src/nodes/display/ViewportDepthNode.js +52 -4
- package/src/nodes/display/ViewportDepthTextureNode.js +11 -15
- package/src/nodes/display/ViewportTextureNode.js +39 -11
- package/src/nodes/fog/Fog.js +18 -35
- package/src/nodes/functions/BSDF/BRDF_GGX_Multiscatter.js +3 -3
- package/src/nodes/functions/BSDF/DFGLUT.js +56 -0
- package/src/nodes/functions/BSDF/EnvironmentBRDF.js +2 -2
- package/src/nodes/functions/BSDF/V_GGX_SmithCorrelated_Anisotropic.js +2 -2
- package/src/nodes/functions/PhysicalLightingModel.js +126 -45
- package/src/nodes/functions/VolumetricLightingModel.js +40 -7
- package/src/nodes/geometry/RangeNode.js +5 -3
- package/src/nodes/gpgpu/AtomicFunctionNode.js +1 -1
- package/src/nodes/gpgpu/BarrierNode.js +9 -0
- package/src/nodes/gpgpu/ComputeBuiltinNode.js +2 -3
- package/src/nodes/gpgpu/ComputeNode.js +74 -48
- package/src/nodes/gpgpu/SubgroupFunctionNode.js +2 -2
- package/src/nodes/gpgpu/WorkgroupInfoNode.js +5 -5
- package/src/nodes/lighting/AnalyticLightNode.js +53 -0
- package/src/nodes/lighting/EnvironmentNode.js +30 -5
- package/src/nodes/lighting/IESSpotLightNode.js +40 -2
- package/src/nodes/lighting/LightingContextNode.js +10 -2
- package/src/nodes/lighting/LightsNode.js +97 -65
- package/src/nodes/lighting/PointShadowNode.js +166 -148
- package/src/nodes/lighting/ShadowFilterNode.js +74 -117
- package/src/nodes/lighting/ShadowNode.js +149 -51
- package/src/nodes/materialx/lib/mx_noise.js +2 -2
- package/src/nodes/math/BitcastNode.js +1 -1
- package/src/nodes/math/BitcountNode.js +433 -0
- package/src/nodes/math/ConditionalNode.js +6 -6
- package/src/nodes/math/MathNode.js +115 -52
- package/src/nodes/math/OperatorNode.js +24 -23
- package/src/nodes/math/PackFloatNode.js +98 -0
- package/src/nodes/math/UnpackFloatNode.js +96 -0
- package/src/nodes/parsers/GLSLNodeFunction.js +1 -1
- package/src/nodes/pmrem/PMREMNode.js +34 -3
- package/src/nodes/pmrem/PMREMUtils.js +9 -15
- package/src/nodes/tsl/TSLBase.js +1 -1
- package/src/nodes/tsl/TSLCore.js +99 -33
- package/src/nodes/utils/ArrayElementNode.js +14 -1
- package/src/nodes/utils/ConvertNode.js +1 -1
- package/src/nodes/utils/DebugNode.js +12 -12
- package/src/nodes/utils/EquirectUV.js +30 -5
- package/src/nodes/utils/EventNode.js +31 -2
- package/src/nodes/utils/FlipNode.js +1 -1
- package/src/nodes/utils/FunctionOverloadingNode.js +2 -2
- package/src/nodes/utils/JoinNode.js +3 -3
- package/src/nodes/utils/LoopNode.js +1 -1
- package/src/nodes/utils/MemberNode.js +2 -2
- package/src/nodes/utils/Packing.js +48 -5
- package/src/nodes/utils/PostProcessingUtils.js +33 -1
- package/src/nodes/utils/RTTNode.js +41 -25
- package/src/nodes/utils/ReflectorNode.js +4 -4
- package/src/nodes/utils/Remap.js +48 -0
- package/src/nodes/utils/RotateNode.js +1 -1
- package/src/nodes/utils/SampleNode.js +1 -1
- package/src/nodes/utils/SetNode.js +1 -1
- package/src/nodes/utils/SplitNode.js +1 -1
- package/src/nodes/utils/SpriteSheetUV.js +35 -0
- package/src/nodes/utils/StorageArrayElementNode.js +1 -1
- package/src/nodes/utils/UVUtils.js +28 -0
- package/src/objects/BatchedMesh.js +66 -30
- package/src/objects/InstancedMesh.js +19 -3
- package/src/objects/Line.js +1 -1
- package/src/objects/Mesh.js +1 -1
- package/src/objects/Points.js +1 -1
- package/src/objects/SkinnedMesh.js +26 -9
- package/src/renderers/WebGLRenderer.js +344 -156
- package/src/renderers/common/Animation.js +3 -3
- package/src/renderers/common/Attributes.js +15 -1
- package/src/renderers/common/Backend.js +78 -13
- package/src/renderers/common/Background.js +26 -13
- package/src/renderers/common/BindGroup.js +1 -16
- package/src/renderers/common/Binding.js +11 -0
- package/src/renderers/common/Bindings.js +141 -57
- package/src/renderers/common/BlendMode.js +143 -0
- package/src/renderers/common/Buffer.js +49 -0
- package/src/renderers/common/BundleGroup.js +1 -1
- package/src/renderers/common/ChainMap.js +30 -6
- package/src/renderers/common/ClippingContext.js +10 -2
- package/src/renderers/common/ComputePipeline.js +1 -1
- package/src/renderers/common/CubeRenderTarget.js +51 -7
- package/src/renderers/common/Geometries.js +29 -3
- package/src/renderers/common/Info.js +374 -4
- package/src/renderers/common/InspectorBase.js +6 -1
- package/src/renderers/common/Lighting.js +51 -19
- package/src/renderers/common/Pipelines.js +40 -7
- package/src/renderers/common/PostProcessing.js +8 -206
- package/src/renderers/common/ReadbackBuffer.js +78 -0
- package/src/renderers/common/RenderBundle.js +3 -1
- package/src/renderers/common/RenderBundles.js +7 -3
- package/src/renderers/common/RenderContext.js +16 -0
- package/src/renderers/common/RenderContexts.js +33 -49
- package/src/renderers/common/RenderList.js +41 -4
- package/src/renderers/common/RenderLists.js +2 -1
- package/src/renderers/common/RenderObject.js +88 -16
- package/src/renderers/common/RenderObjectPipeline.js +40 -0
- package/src/renderers/common/RenderObjects.js +21 -5
- package/src/renderers/common/RenderPipeline.js +232 -17
- package/src/renderers/common/Renderer.js +700 -163
- package/src/renderers/common/Sampler.js +16 -48
- package/src/renderers/common/StorageBuffer.js +13 -1
- package/src/renderers/common/Textures.js +121 -9
- package/src/renderers/common/TimestampQueryPool.js +6 -4
- package/src/renderers/common/Uniform.js +8 -0
- package/src/renderers/common/UniformsGroup.js +84 -1
- package/src/renderers/common/XRManager.js +377 -51
- package/src/renderers/common/extras/PMREMGenerator.js +40 -61
- package/src/renderers/common/nodes/NodeBuilderState.js +10 -2
- package/src/renderers/common/nodes/NodeLibrary.js +4 -4
- package/src/renderers/common/nodes/{Nodes.js → NodeManager.js} +298 -106
- package/src/renderers/common/nodes/NodeStorageBuffer.js +13 -2
- package/src/renderers/common/nodes/NodeUniformBuffer.js +65 -0
- package/src/renderers/shaders/DFGLUTData.js +19 -34
- package/src/renderers/shaders/ShaderChunk/batching_pars_vertex.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js +1 -5
- package/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js +1 -5
- package/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +1 -5
- package/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +8 -10
- package/src/renderers/shaders/ShaderChunk/common.glsl.js +13 -4
- package/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +0 -6
- package/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +0 -1
- package/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +9 -13
- package/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/lightprobes_pars_fragment.glsl.js +80 -0
- package/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +13 -2
- package/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +6 -0
- package/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +6 -2
- package/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +3 -1
- package/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +8 -4
- package/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +112 -53
- package/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +7 -0
- package/src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js +6 -0
- package/src/renderers/shaders/ShaderChunk/packing.glsl.js +20 -4
- package/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +0 -1
- package/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +225 -186
- package/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +12 -2
- package/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +1 -1
- package/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +2 -2
- package/src/renderers/shaders/ShaderChunk.js +5 -3
- package/src/renderers/shaders/ShaderLib/backgroundCube.glsl.js +1 -2
- package/src/renderers/shaders/ShaderLib/depth.glsl.js +3 -0
- package/src/renderers/shaders/ShaderLib/{distanceRGBA.glsl.js → distance.glsl.js} +2 -3
- package/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +2 -1
- package/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +1 -2
- package/src/renderers/shaders/ShaderLib/meshphong.glsl.js +2 -1
- package/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +4 -9
- package/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -1
- package/src/renderers/shaders/ShaderLib/shadow.glsl.js +1 -1
- package/src/renderers/shaders/ShaderLib/vsm.glsl.js +4 -6
- package/src/renderers/shaders/ShaderLib.js +7 -6
- package/src/renderers/shaders/UniformsLib.js +7 -5
- package/src/renderers/shaders/UniformsUtils.js +27 -5
- package/src/renderers/webgl/WebGLAnimation.js +2 -1
- package/src/renderers/webgl/WebGLBackground.js +15 -15
- package/src/renderers/webgl/WebGLBindingStates.js +99 -27
- package/src/renderers/webgl/WebGLBufferRenderer.js +0 -32
- package/src/renderers/webgl/WebGLCapabilities.js +9 -4
- package/src/renderers/webgl/WebGLEnvironments.js +228 -0
- package/src/renderers/webgl/WebGLGeometries.js +10 -7
- package/src/renderers/webgl/WebGLIndexedBufferRenderer.js +0 -32
- package/src/renderers/webgl/WebGLLights.js +18 -1
- package/src/renderers/webgl/WebGLMaterials.js +24 -13
- package/src/renderers/webgl/WebGLObjects.js +3 -1
- package/src/renderers/webgl/WebGLOutput.js +271 -0
- package/src/renderers/webgl/WebGLProgram.js +54 -113
- package/src/renderers/webgl/WebGLPrograms.js +74 -55
- package/src/renderers/webgl/WebGLRenderLists.js +24 -1
- package/src/renderers/webgl/WebGLRenderStates.js +13 -2
- package/src/renderers/webgl/WebGLShaderCache.js +5 -11
- package/src/renderers/webgl/WebGLShadowMap.js +188 -24
- package/src/renderers/webgl/WebGLState.js +75 -37
- package/src/renderers/webgl/WebGLTextures.js +230 -56
- package/src/renderers/webgl/WebGLUniforms.js +40 -3
- package/src/renderers/webgl/WebGLUniformsGroups.js +82 -35
- package/src/renderers/webgl/WebGLUtils.js +6 -2
- package/src/renderers/webgl-fallback/WebGLBackend.js +322 -92
- package/src/renderers/webgl-fallback/WebGLBufferRenderer.js +0 -41
- package/src/renderers/webgl-fallback/nodes/GLSLNodeBuilder.js +295 -66
- package/src/renderers/webgl-fallback/utils/WebGLAttributeUtils.js +53 -19
- package/src/renderers/webgl-fallback/utils/WebGLCapabilities.js +25 -0
- package/src/renderers/webgl-fallback/utils/WebGLState.js +223 -6
- package/src/renderers/webgl-fallback/utils/WebGLTextureUtils.js +118 -73
- package/src/renderers/webgl-fallback/utils/WebGLTimestampQueryPool.js +10 -10
- package/src/renderers/webgl-fallback/utils/WebGLUtils.js +9 -3
- package/src/renderers/webgpu/WebGPUBackend.js +733 -302
- package/src/renderers/webgpu/WebGPURenderer.js +2 -1
- package/src/renderers/webgpu/descriptors/GPUBindGroupDescriptor.js +48 -0
- package/src/renderers/webgpu/descriptors/GPUBufferDescriptor.js +57 -0
- package/src/renderers/webgpu/descriptors/GPUCommandEncoderDescriptor.js +30 -0
- package/src/renderers/webgpu/descriptors/GPUComputePassDescriptor.js +38 -0
- package/src/renderers/webgpu/descriptors/GPUComputePipelineDescriptor.js +48 -0
- package/src/renderers/webgpu/descriptors/GPUCopyExternalImageDestInfo.js +47 -0
- package/src/renderers/webgpu/descriptors/GPUCopyExternalImageSourceInfo.js +50 -0
- package/src/renderers/webgpu/descriptors/GPUExtent3D.js +51 -0
- package/src/renderers/webgpu/descriptors/GPUPipelineLayoutDescriptor.js +39 -0
- package/src/renderers/webgpu/descriptors/GPUQuerySetDescriptor.js +47 -0
- package/src/renderers/webgpu/descriptors/GPURenderBundleEncoderDescriptor.js +74 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassColorAttachment.js +72 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassDepthStencilAttachment.js +99 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassDescriptor.js +72 -0
- package/src/renderers/webgpu/descriptors/GPURenderPassTimestampWrites.js +49 -0
- package/src/renderers/webgpu/descriptors/GPURenderPipelineDescriptor.js +130 -0
- package/src/renderers/webgpu/descriptors/GPUSamplerDescriptor.js +119 -0
- package/src/renderers/webgpu/descriptors/GPUShaderModuleDescriptor.js +46 -0
- package/src/renderers/webgpu/descriptors/GPUTexelCopyBufferInfo.js +57 -0
- package/src/renderers/webgpu/descriptors/GPUTexelCopyBufferLayout.js +48 -0
- package/src/renderers/webgpu/descriptors/GPUTexelCopyTextureInfo.js +61 -0
- package/src/renderers/webgpu/descriptors/GPUTextureDescriptor.js +99 -0
- package/src/renderers/webgpu/descriptors/GPUTextureViewDescriptor.js +108 -0
- package/src/renderers/webgpu/nodes/StandardNodeLibrary.js +0 -1
- package/src/renderers/webgpu/nodes/WGSLNodeBuilder.js +526 -93
- package/src/renderers/webgpu/nodes/WGSLNodeFunction.js +1 -1
- package/src/renderers/webgpu/utils/WebGPUAttributeUtils.js +194 -61
- package/src/renderers/webgpu/utils/WebGPUBindingUtils.js +395 -234
- package/src/renderers/webgpu/utils/WebGPUCapabilities.js +48 -0
- package/src/renderers/webgpu/utils/WebGPUConstants.js +10 -0
- package/src/renderers/webgpu/utils/WebGPUPipelineUtils.js +224 -91
- package/src/renderers/webgpu/utils/WebGPUTexturePassUtils.js +228 -213
- package/src/renderers/webgpu/utils/WebGPUTextureUtils.js +428 -175
- package/src/renderers/webgpu/utils/WebGPUTimestampQueryPool.js +40 -25
- package/src/renderers/webgpu/utils/WebGPUUtils.js +70 -13
- package/src/renderers/webxr/WebXRController.js +12 -0
- package/src/renderers/webxr/WebXRManager.js +4 -2
- package/src/textures/CubeDepthTexture.js +76 -0
- package/src/textures/DepthTexture.js +1 -1
- package/src/textures/ExternalTexture.js +0 -3
- package/src/textures/HTMLTexture.js +74 -0
- package/src/textures/Source.js +2 -2
- package/src/textures/Texture.js +16 -5
- package/src/utils.js +280 -3
- package/examples/fonts/LICENSE +0 -13
- package/examples/fonts/MPLUSRounded1c/MPLUSRounded1c-Regular.typeface.json.zip +0 -0
- package/examples/fonts/MPLUSRounded1c/OFL.txt +0 -91
- package/examples/fonts/README.md +0 -11
- package/examples/fonts/droid/NOTICE +0 -190
- package/examples/fonts/droid/README.txt +0 -18
- package/examples/fonts/droid/droid_sans_bold.typeface.json +0 -1
- package/examples/fonts/droid/droid_sans_mono_regular.typeface.json +0 -1
- package/examples/fonts/droid/droid_sans_regular.typeface.json +0 -1
- package/examples/fonts/droid/droid_serif_bold.typeface.json +0 -1
- package/examples/fonts/droid/droid_serif_regular.typeface.json +0 -1
- package/examples/fonts/gentilis_bold.typeface.json +0 -1
- package/examples/fonts/gentilis_regular.typeface.json +0 -1
- package/examples/fonts/helvetiker_bold.typeface.json +0 -1
- package/examples/fonts/helvetiker_regular.typeface.json +0 -1
- package/examples/fonts/optimer_bold.typeface.json +0 -1
- package/examples/fonts/optimer_regular.typeface.json +0 -1
- package/examples/fonts/ttf/README.md +0 -9
- package/examples/fonts/ttf/kenpixel.ttf +0 -0
- package/examples/jsm/libs/ammo.wasm.js +0 -822
- package/examples/jsm/libs/ammo.wasm.wasm +0 -0
- package/examples/jsm/libs/draco/draco_encoder.js +0 -33
- package/examples/jsm/libs/draco/gltf/draco_encoder.js +0 -33
- package/examples/jsm/libs/lottie_canvas.module.js +0 -14849
- package/examples/jsm/libs/opentype.module.js +0 -14506
- package/examples/jsm/libs/rhino3dm/rhino3dm.js +0 -21
- package/examples/jsm/libs/rhino3dm/rhino3dm.module.js +0 -16
- package/examples/jsm/libs/rhino3dm/rhino3dm.wasm +0 -0
- package/examples/jsm/lighting/TiledLighting.js +0 -42
- package/examples/jsm/materials/MeshGouraudMaterial.js +0 -434
- package/examples/jsm/materials/MeshPostProcessingMaterial.js +0 -167
- package/examples/jsm/shaders/GodRaysShader.js +0 -333
- package/examples/jsm/tsl/display/AnamorphicNode.js +0 -282
- package/examples/jsm/tsl/lighting/TiledLightsNode.js +0 -442
- package/src/nodes/accessors/BatchNode.js +0 -163
- package/src/nodes/accessors/InstanceNode.js +0 -244
- package/src/nodes/accessors/InstancedMeshNode.js +0 -50
- package/src/nodes/accessors/SceneNode.js +0 -145
- package/src/nodes/accessors/SkinningNode.js +0 -327
- package/src/nodes/code/ScriptableNode.js +0 -726
- package/src/nodes/code/ScriptableValueNode.js +0 -253
- package/src/nodes/display/PosterizeNode.js +0 -65
- package/src/nodes/functions/BSDF/DFGApprox.js +0 -71
- package/src/nodes/utils/RemapNode.js +0 -125
- package/src/nodes/utils/SpriteSheetUVNode.js +0 -90
- package/src/renderers/webgl/WebGLCubeMaps.js +0 -99
- package/src/renderers/webgl/WebGLCubeUVMaps.js +0 -134
package/src/math/FrustumArray.js
CHANGED
|
@@ -3,7 +3,6 @@ import { Frustum } from './Frustum.js';
|
|
|
3
3
|
import { Matrix4 } from './Matrix4.js';
|
|
4
4
|
|
|
5
5
|
const _projScreenMatrix = /*@__PURE__*/ new Matrix4();
|
|
6
|
-
const _frustum = /*@__PURE__*/ new Frustum();
|
|
7
6
|
|
|
8
7
|
/**
|
|
9
8
|
* FrustumArray is used to determine if an object is visible in at least one camera
|
|
@@ -25,220 +24,191 @@ class FrustumArray {
|
|
|
25
24
|
*/
|
|
26
25
|
this.coordinateSystem = WebGLCoordinateSystem;
|
|
27
26
|
|
|
27
|
+
/**
|
|
28
|
+
* A pool of frustum instances. It may hold more entries than are
|
|
29
|
+
* currently in use; surplus instances are kept for reuse to avoid
|
|
30
|
+
* reallocating when array cameras of different lengths are rendered.
|
|
31
|
+
*
|
|
32
|
+
* @private
|
|
33
|
+
* @type {Array<Frustum>}
|
|
34
|
+
*/
|
|
35
|
+
this._frustums = [];
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The number of frustums in {@link FrustumArray#_frustums} that are currently
|
|
39
|
+
* in use.
|
|
40
|
+
*
|
|
41
|
+
* @private
|
|
42
|
+
* @type {number}
|
|
43
|
+
* @default 0
|
|
44
|
+
*/
|
|
45
|
+
this._count = 0;
|
|
46
|
+
|
|
28
47
|
}
|
|
29
48
|
|
|
30
49
|
/**
|
|
31
|
-
*
|
|
32
|
-
* from the camera array.
|
|
50
|
+
* Computes and caches a frustum for each camera of the given array camera.
|
|
33
51
|
*
|
|
34
|
-
* @param {
|
|
35
|
-
* @
|
|
36
|
-
* @return {boolean} Whether the 3D object is visible in any camera.
|
|
52
|
+
* @param {ArrayCamera} cameraArray - The array camera whose sub-cameras define the frustums.
|
|
53
|
+
* @return {FrustumArray} A reference to this frustum array.
|
|
37
54
|
*/
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
if ( ! cameraArray.isArrayCamera || cameraArray.cameras.length === 0 ) {
|
|
41
|
-
|
|
42
|
-
return false;
|
|
43
|
-
|
|
44
|
-
}
|
|
55
|
+
setFromArrayCamera( cameraArray ) {
|
|
45
56
|
|
|
46
|
-
|
|
57
|
+
const cameras = cameraArray.cameras;
|
|
58
|
+
const frustums = this._frustums;
|
|
47
59
|
|
|
48
|
-
|
|
60
|
+
for ( let i = 0; i < cameras.length; i ++ ) {
|
|
49
61
|
|
|
50
|
-
|
|
51
|
-
camera.projectionMatrix,
|
|
52
|
-
camera.matrixWorldInverse
|
|
53
|
-
);
|
|
62
|
+
const camera = cameras[ i ];
|
|
54
63
|
|
|
55
|
-
|
|
56
|
-
_projScreenMatrix,
|
|
57
|
-
camera.coordinateSystem,
|
|
58
|
-
camera.reversedDepth
|
|
59
|
-
);
|
|
64
|
+
_projScreenMatrix.multiplyMatrices( camera.projectionMatrix, camera.matrixWorldInverse );
|
|
60
65
|
|
|
61
|
-
if (
|
|
66
|
+
if ( frustums[ i ] === undefined ) frustums[ i ] = new Frustum();
|
|
62
67
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
68
|
+
frustums[ i ].setFromProjectionMatrix( _projScreenMatrix, camera.coordinateSystem, camera.reversedDepth );
|
|
66
69
|
|
|
67
70
|
}
|
|
68
71
|
|
|
69
|
-
|
|
72
|
+
this._count = cameras.length;
|
|
73
|
+
|
|
74
|
+
return this;
|
|
70
75
|
|
|
71
76
|
}
|
|
72
77
|
|
|
73
78
|
/**
|
|
74
|
-
* Returns `true` if the
|
|
75
|
-
* from the camera array.
|
|
79
|
+
* Returns `true` if the 3D object's bounding sphere is intersecting any cached frustum.
|
|
76
80
|
*
|
|
77
|
-
* @
|
|
78
|
-
*
|
|
79
|
-
* @
|
|
81
|
+
* {@link FrustumArray#setFromArrayCamera} must be called once per render before this method.
|
|
82
|
+
*
|
|
83
|
+
* @param {Object3D} object - The 3D object to test.
|
|
84
|
+
* @return {boolean} Whether the 3D object is visible in any camera.
|
|
80
85
|
*/
|
|
81
|
-
|
|
86
|
+
intersectsObject( object ) {
|
|
82
87
|
|
|
83
|
-
|
|
88
|
+
const frustums = this._frustums;
|
|
84
89
|
|
|
85
|
-
|
|
90
|
+
for ( let i = 0; i < this._count; i ++ ) {
|
|
86
91
|
|
|
87
|
-
|
|
92
|
+
if ( frustums[ i ].intersectsObject( object ) ) return true;
|
|
88
93
|
|
|
89
|
-
|
|
94
|
+
}
|
|
90
95
|
|
|
91
|
-
|
|
96
|
+
return false;
|
|
92
97
|
|
|
93
|
-
|
|
94
|
-
camera.projectionMatrix,
|
|
95
|
-
camera.matrixWorldInverse
|
|
96
|
-
);
|
|
98
|
+
}
|
|
97
99
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
/**
|
|
101
|
+
* Returns `true` if the given sprite is intersecting any cached frustum.
|
|
102
|
+
*
|
|
103
|
+
* {@link FrustumArray#setFromArrayCamera} must be called once per render before this method.
|
|
104
|
+
*
|
|
105
|
+
* @param {Sprite} sprite - The sprite to test.
|
|
106
|
+
* @return {boolean} Whether the sprite is visible in any camera.
|
|
107
|
+
*/
|
|
108
|
+
intersectsSprite( sprite ) {
|
|
103
109
|
|
|
104
|
-
|
|
110
|
+
const frustums = this._frustums;
|
|
105
111
|
|
|
106
|
-
|
|
112
|
+
for ( let i = 0; i < this._count; i ++ ) {
|
|
107
113
|
|
|
108
|
-
|
|
114
|
+
if ( frustums[ i ].intersectsSprite( sprite ) ) return true;
|
|
109
115
|
|
|
110
116
|
}
|
|
111
117
|
|
|
112
|
-
return false;
|
|
118
|
+
return false;
|
|
113
119
|
|
|
114
120
|
}
|
|
115
121
|
|
|
116
122
|
/**
|
|
117
|
-
* Returns `true` if the given bounding sphere is intersecting any frustum
|
|
118
|
-
*
|
|
123
|
+
* Returns `true` if the given bounding sphere is intersecting any cached frustum.
|
|
124
|
+
*
|
|
125
|
+
* {@link FrustumArray#setFromArrayCamera} must be called once per render before this method.
|
|
119
126
|
*
|
|
120
127
|
* @param {Sphere} sphere - The bounding sphere to test.
|
|
121
|
-
* @param {Object} cameraArray - An object with a cameras property containing an array of cameras.
|
|
122
128
|
* @return {boolean} Whether the sphere is visible in any camera.
|
|
123
129
|
*/
|
|
124
|
-
intersectsSphere( sphere
|
|
125
|
-
|
|
126
|
-
if ( ! cameraArray || ! cameraArray.cameras || cameraArray.cameras.length === 0 ) {
|
|
127
|
-
|
|
128
|
-
return false;
|
|
129
|
-
|
|
130
|
-
}
|
|
130
|
+
intersectsSphere( sphere ) {
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
const frustums = this._frustums;
|
|
133
133
|
|
|
134
|
-
|
|
134
|
+
for ( let i = 0; i < this._count; i ++ ) {
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
camera.projectionMatrix,
|
|
138
|
-
camera.matrixWorldInverse
|
|
139
|
-
);
|
|
140
|
-
|
|
141
|
-
_frustum.setFromProjectionMatrix(
|
|
142
|
-
_projScreenMatrix,
|
|
143
|
-
camera.coordinateSystem,
|
|
144
|
-
camera.reversedDepth
|
|
145
|
-
);
|
|
146
|
-
|
|
147
|
-
if ( _frustum.intersectsSphere( sphere ) ) {
|
|
148
|
-
|
|
149
|
-
return true; // Sphere is visible in at least one camera
|
|
150
|
-
|
|
151
|
-
}
|
|
136
|
+
if ( frustums[ i ].intersectsSphere( sphere ) ) return true;
|
|
152
137
|
|
|
153
138
|
}
|
|
154
139
|
|
|
155
|
-
return false;
|
|
140
|
+
return false;
|
|
156
141
|
|
|
157
142
|
}
|
|
158
143
|
|
|
159
144
|
/**
|
|
160
|
-
* Returns `true` if the given bounding box is intersecting any frustum
|
|
161
|
-
*
|
|
145
|
+
* Returns `true` if the given bounding box is intersecting any cached frustum.
|
|
146
|
+
*
|
|
147
|
+
* {@link FrustumArray#setFromArrayCamera} must be called once per render before this method.
|
|
162
148
|
*
|
|
163
149
|
* @param {Box3} box - The bounding box to test.
|
|
164
|
-
* @param {Object} cameraArray - An object with a cameras property containing an array of cameras.
|
|
165
150
|
* @return {boolean} Whether the box is visible in any camera.
|
|
166
151
|
*/
|
|
167
|
-
intersectsBox( box
|
|
168
|
-
|
|
169
|
-
if ( ! cameraArray || ! cameraArray.cameras || cameraArray.cameras.length === 0 ) {
|
|
170
|
-
|
|
171
|
-
return false;
|
|
152
|
+
intersectsBox( box ) {
|
|
172
153
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
for ( let i = 0; i < cameraArray.cameras.length; i ++ ) {
|
|
176
|
-
|
|
177
|
-
const camera = cameraArray.cameras[ i ];
|
|
178
|
-
|
|
179
|
-
_projScreenMatrix.multiplyMatrices(
|
|
180
|
-
camera.projectionMatrix,
|
|
181
|
-
camera.matrixWorldInverse
|
|
182
|
-
);
|
|
154
|
+
const frustums = this._frustums;
|
|
183
155
|
|
|
184
|
-
|
|
185
|
-
_projScreenMatrix,
|
|
186
|
-
camera.coordinateSystem,
|
|
187
|
-
camera.reversedDepth
|
|
188
|
-
);
|
|
156
|
+
for ( let i = 0; i < this._count; i ++ ) {
|
|
189
157
|
|
|
190
|
-
if (
|
|
191
|
-
|
|
192
|
-
return true; // Box is visible in at least one camera
|
|
193
|
-
|
|
194
|
-
}
|
|
158
|
+
if ( frustums[ i ].intersectsBox( box ) ) return true;
|
|
195
159
|
|
|
196
160
|
}
|
|
197
161
|
|
|
198
|
-
return false;
|
|
162
|
+
return false;
|
|
199
163
|
|
|
200
164
|
}
|
|
201
165
|
|
|
202
166
|
/**
|
|
203
|
-
* Returns `true` if the given point lies within any frustum
|
|
204
|
-
*
|
|
167
|
+
* Returns `true` if the given point lies within any cached frustum.
|
|
168
|
+
*
|
|
169
|
+
* {@link FrustumArray#setFromArrayCamera} must be called once per render before this method.
|
|
205
170
|
*
|
|
206
171
|
* @param {Vector3} point - The point to test.
|
|
207
|
-
* @param {Object} cameraArray - An object with a cameras property containing an array of cameras.
|
|
208
172
|
* @return {boolean} Whether the point is visible in any camera.
|
|
209
173
|
*/
|
|
210
|
-
containsPoint( point
|
|
174
|
+
containsPoint( point ) {
|
|
211
175
|
|
|
212
|
-
|
|
176
|
+
const frustums = this._frustums;
|
|
213
177
|
|
|
214
|
-
|
|
178
|
+
for ( let i = 0; i < this._count; i ++ ) {
|
|
179
|
+
|
|
180
|
+
if ( frustums[ i ].containsPoint( point ) ) return true;
|
|
215
181
|
|
|
216
182
|
}
|
|
217
183
|
|
|
218
|
-
|
|
184
|
+
return false;
|
|
219
185
|
|
|
220
|
-
|
|
186
|
+
}
|
|
221
187
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
188
|
+
/**
|
|
189
|
+
* Copies the values of the given frustum array to this instance.
|
|
190
|
+
*
|
|
191
|
+
* @param {FrustumArray} frustumArray - The frustum array to copy.
|
|
192
|
+
* @return {FrustumArray} A reference to this frustum array.
|
|
193
|
+
*/
|
|
194
|
+
copy( source ) {
|
|
195
|
+
|
|
196
|
+
this.coordinateSystem = source.coordinateSystem;
|
|
226
197
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
camera.coordinateSystem,
|
|
230
|
-
camera.reversedDepth
|
|
231
|
-
);
|
|
198
|
+
const frustums = this._frustums;
|
|
199
|
+
const sourceFrustums = source._frustums;
|
|
232
200
|
|
|
233
|
-
|
|
201
|
+
for ( let i = 0; i < source._count; i ++ ) {
|
|
234
202
|
|
|
235
|
-
|
|
203
|
+
if ( frustums[ i ] === undefined ) frustums[ i ] = new Frustum();
|
|
236
204
|
|
|
237
|
-
|
|
205
|
+
frustums[ i ].copy( sourceFrustums[ i ] );
|
|
238
206
|
|
|
239
207
|
}
|
|
240
208
|
|
|
241
|
-
|
|
209
|
+
this._count = source._count;
|
|
210
|
+
|
|
211
|
+
return this;
|
|
242
212
|
|
|
243
213
|
}
|
|
244
214
|
|
|
@@ -249,7 +219,7 @@ class FrustumArray {
|
|
|
249
219
|
*/
|
|
250
220
|
clone() {
|
|
251
221
|
|
|
252
|
-
return new FrustumArray();
|
|
222
|
+
return new FrustumArray().copy( this );
|
|
253
223
|
|
|
254
224
|
}
|
|
255
225
|
|
package/src/math/Interpolant.js
CHANGED
|
@@ -297,7 +297,7 @@ class Interpolant {
|
|
|
297
297
|
*/
|
|
298
298
|
interpolate_( /* i1, t0, t, t1 */ ) {
|
|
299
299
|
|
|
300
|
-
throw new Error( '
|
|
300
|
+
throw new Error( 'THREE.Interpolant: Call to abstract method.' );
|
|
301
301
|
// implementations shall return this.resultBuffer
|
|
302
302
|
|
|
303
303
|
}
|
package/src/math/Line3.js
CHANGED
|
@@ -142,6 +142,9 @@ class Line3 {
|
|
|
142
142
|
_startEnd.subVectors( this.end, this.start );
|
|
143
143
|
|
|
144
144
|
const startEnd2 = _startEnd.dot( _startEnd );
|
|
145
|
+
|
|
146
|
+
if ( startEnd2 === 0 ) return 0;
|
|
147
|
+
|
|
145
148
|
const startEnd_startP = _startEnd.dot( _startP );
|
|
146
149
|
|
|
147
150
|
let t = startEnd_startP / startEnd2;
|
|
@@ -284,12 +287,10 @@ class Line3 {
|
|
|
284
287
|
|
|
285
288
|
}
|
|
286
289
|
|
|
287
|
-
c1.copy( p1 ).
|
|
288
|
-
c2.copy( p2 ).
|
|
289
|
-
|
|
290
|
-
c1.sub( c2 );
|
|
290
|
+
c1.copy( p1 ).addScaledVector( _d1, s );
|
|
291
|
+
c2.copy( p2 ).addScaledVector( _d2, t );
|
|
291
292
|
|
|
292
|
-
return c1.
|
|
293
|
+
return c1.distanceToSquared( c2 );
|
|
293
294
|
|
|
294
295
|
}
|
|
295
296
|
|
package/src/math/MathUtils.js
CHANGED
|
@@ -64,7 +64,7 @@ function euclideanModulo( n, m ) {
|
|
|
64
64
|
|
|
65
65
|
/**
|
|
66
66
|
* Performs a linear mapping from range `<a1, a2>` to range `<b1, b2>`
|
|
67
|
-
* for the given value.
|
|
67
|
+
* for the given value. `a2` must be greater than `a1`.
|
|
68
68
|
*
|
|
69
69
|
* @param {number} x - The value to be mapped.
|
|
70
70
|
* @param {number} a1 - Minimum value for range A.
|
|
@@ -159,9 +159,9 @@ function pingpong( x, length = 1 ) {
|
|
|
159
159
|
*
|
|
160
160
|
* See [Smoothstep](http://en.wikipedia.org/wiki/Smoothstep) for more details.
|
|
161
161
|
*
|
|
162
|
-
* @param {number} x - The value to evaluate based on its position between min and max
|
|
163
|
-
* @param {number} min - The min value. Any x value below min will be `0`.
|
|
164
|
-
* @param {number} max - The max value. Any x value above max will be `1`.
|
|
162
|
+
* @param {number} x - The value to evaluate based on its position between `min` and `max`.
|
|
163
|
+
* @param {number} min - The min value. Any `x` value below `min` will be `0`. `min` must be lower than `max`.
|
|
164
|
+
* @param {number} max - The max value. Any `x` value above `max` will be `1`. `max` must be greater than `min`.
|
|
165
165
|
* @return {number} The alternated value.
|
|
166
166
|
*/
|
|
167
167
|
function smoothstep( x, min, max ) {
|
|
@@ -177,11 +177,11 @@ function smoothstep( x, min, max ) {
|
|
|
177
177
|
|
|
178
178
|
/**
|
|
179
179
|
* A [variation on smoothstep](https://en.wikipedia.org/wiki/Smoothstep#Variations)
|
|
180
|
-
* that has zero 1st and 2nd order derivatives at x=0 and x=1
|
|
180
|
+
* that has zero 1st and 2nd order derivatives at `x=0` and `x=1`.
|
|
181
181
|
*
|
|
182
|
-
* @param {number} x - The value to evaluate based on its position between min and max
|
|
183
|
-
* @param {number} min - The min value. Any x value below min will be `0`.
|
|
184
|
-
* @param {number} max - The max value. Any x value above max will be `1`.
|
|
182
|
+
* @param {number} x - The value to evaluate based on its position between `min` and `max`.
|
|
183
|
+
* @param {number} min - The min value. Any `x` value below `min` will be `0`. `min` must be lower than `max`.
|
|
184
|
+
* @param {number} max - The max value. Any `x` value above `max` will be `1`. `max` must be greater than `min`.
|
|
185
185
|
* @return {number} The alternated value.
|
|
186
186
|
*/
|
|
187
187
|
function smootherstep( x, min, max ) {
|
|
@@ -294,7 +294,7 @@ function isPowerOfTwo( value ) {
|
|
|
294
294
|
/**
|
|
295
295
|
* Returns the smallest power of two that is greater than or equal to the given number.
|
|
296
296
|
*
|
|
297
|
-
* @param {number} value - The value to find a POT for.
|
|
297
|
+
* @param {number} value - The value to find a POT for. Must be greater than `0`.
|
|
298
298
|
* @return {number} The smallest power of two that is greater than or equal to the given number.
|
|
299
299
|
*/
|
|
300
300
|
function ceilPowerOfTwo( value ) {
|
|
@@ -306,7 +306,7 @@ function ceilPowerOfTwo( value ) {
|
|
|
306
306
|
/**
|
|
307
307
|
* Returns the largest power of two that is less than or equal to the given number.
|
|
308
308
|
*
|
|
309
|
-
* @param {number} value - The value to find a POT for.
|
|
309
|
+
* @param {number} value - The value to find a POT for. Must be greater than `0`.
|
|
310
310
|
* @return {number} The largest power of two that is less than or equal to the given number.
|
|
311
311
|
*/
|
|
312
312
|
function floorPowerOfTwo( value ) {
|
|
@@ -419,7 +419,7 @@ function denormalize( value, array ) {
|
|
|
419
419
|
|
|
420
420
|
default:
|
|
421
421
|
|
|
422
|
-
throw new Error( 'Invalid component type.' );
|
|
422
|
+
throw new Error( 'THREE.MathUtils: Invalid component type.' );
|
|
423
423
|
|
|
424
424
|
}
|
|
425
425
|
|
|
@@ -466,7 +466,7 @@ function normalize( value, array ) {
|
|
|
466
466
|
|
|
467
467
|
default:
|
|
468
468
|
|
|
469
|
-
throw new Error( 'Invalid component type.' );
|
|
469
|
+
throw new Error( 'THREE.MathUtils: Invalid component type.' );
|
|
470
470
|
|
|
471
471
|
}
|
|
472
472
|
|
package/src/math/Matrix2.js
CHANGED
|
@@ -26,6 +26,19 @@
|
|
|
26
26
|
*/
|
|
27
27
|
export class Matrix2 {
|
|
28
28
|
|
|
29
|
+
static {
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* This flag can be used for type testing.
|
|
33
|
+
*
|
|
34
|
+
* @type {boolean}
|
|
35
|
+
* @readonly
|
|
36
|
+
* @default true
|
|
37
|
+
*/
|
|
38
|
+
Matrix2.prototype.isMatrix2 = true;
|
|
39
|
+
|
|
40
|
+
}
|
|
41
|
+
|
|
29
42
|
/**
|
|
30
43
|
* Constructs a new 2x2 matrix. The arguments are supposed to be
|
|
31
44
|
* in row-major order. If no arguments are provided, the constructor
|
|
@@ -38,15 +51,6 @@ export class Matrix2 {
|
|
|
38
51
|
*/
|
|
39
52
|
constructor( n11, n12, n21, n22 ) {
|
|
40
53
|
|
|
41
|
-
/**
|
|
42
|
-
* This flag can be used for type testing.
|
|
43
|
-
*
|
|
44
|
-
* @type {boolean}
|
|
45
|
-
* @readonly
|
|
46
|
-
* @default true
|
|
47
|
-
*/
|
|
48
|
-
Matrix2.prototype.isMatrix2 = true;
|
|
49
|
-
|
|
50
54
|
/**
|
|
51
55
|
* A column-major list of matrix values.
|
|
52
56
|
*
|
package/src/math/Matrix3.js
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { warnOnce } from '../utils.js';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Represents a 3x3 matrix.
|
|
3
5
|
*
|
|
@@ -28,6 +30,19 @@
|
|
|
28
30
|
*/
|
|
29
31
|
class Matrix3 {
|
|
30
32
|
|
|
33
|
+
static {
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* This flag can be used for type testing.
|
|
37
|
+
*
|
|
38
|
+
* @type {boolean}
|
|
39
|
+
* @readonly
|
|
40
|
+
* @default true
|
|
41
|
+
*/
|
|
42
|
+
Matrix3.prototype.isMatrix3 = true;
|
|
43
|
+
|
|
44
|
+
}
|
|
45
|
+
|
|
31
46
|
/**
|
|
32
47
|
* Constructs a new 3x3 matrix. The arguments are supposed to be
|
|
33
48
|
* in row-major order. If no arguments are provided, the constructor
|
|
@@ -45,15 +60,6 @@ class Matrix3 {
|
|
|
45
60
|
*/
|
|
46
61
|
constructor( n11, n12, n13, n21, n22, n23, n31, n32, n33 ) {
|
|
47
62
|
|
|
48
|
-
/**
|
|
49
|
-
* This flag can be used for type testing.
|
|
50
|
-
*
|
|
51
|
-
* @type {boolean}
|
|
52
|
-
* @readonly
|
|
53
|
-
* @default true
|
|
54
|
-
*/
|
|
55
|
-
Matrix3.prototype.isMatrix3 = true;
|
|
56
|
-
|
|
57
63
|
/**
|
|
58
64
|
* A column-major list of matrix values.
|
|
59
65
|
*
|
|
@@ -403,12 +409,15 @@ class Matrix3 {
|
|
|
403
409
|
/**
|
|
404
410
|
* Scales this matrix with the given scalar values.
|
|
405
411
|
*
|
|
412
|
+
* @deprecated
|
|
406
413
|
* @param {number} sx - The amount to scale in the X axis.
|
|
407
414
|
* @param {number} sy - The amount to scale in the Y axis.
|
|
408
415
|
* @return {Matrix3} A reference to this matrix.
|
|
409
416
|
*/
|
|
410
417
|
scale( sx, sy ) {
|
|
411
418
|
|
|
419
|
+
warnOnce( 'Matrix3: .scale() is deprecated. Use .makeScale() instead.' ); // @deprecated r185
|
|
420
|
+
|
|
412
421
|
this.premultiply( _m3.makeScale( sx, sy ) );
|
|
413
422
|
|
|
414
423
|
return this;
|
|
@@ -418,11 +427,14 @@ class Matrix3 {
|
|
|
418
427
|
/**
|
|
419
428
|
* Rotates this matrix by the given angle.
|
|
420
429
|
*
|
|
430
|
+
* @deprecated
|
|
421
431
|
* @param {number} theta - The rotation in radians.
|
|
422
432
|
* @return {Matrix3} A reference to this matrix.
|
|
423
433
|
*/
|
|
424
434
|
rotate( theta ) {
|
|
425
435
|
|
|
436
|
+
warnOnce( 'Matrix3: .rotate() is deprecated. Use .makeRotation() instead.' ); // @deprecated r185
|
|
437
|
+
|
|
426
438
|
this.premultiply( _m3.makeRotation( - theta ) );
|
|
427
439
|
|
|
428
440
|
return this;
|
|
@@ -432,12 +444,15 @@ class Matrix3 {
|
|
|
432
444
|
/**
|
|
433
445
|
* Translates this matrix by the given scalar values.
|
|
434
446
|
*
|
|
447
|
+
* @deprecated
|
|
435
448
|
* @param {number} tx - The amount to translate in the X axis.
|
|
436
449
|
* @param {number} ty - The amount to translate in the Y axis.
|
|
437
450
|
* @return {Matrix3} A reference to this matrix.
|
|
438
451
|
*/
|
|
439
452
|
translate( tx, ty ) {
|
|
440
453
|
|
|
454
|
+
warnOnce( 'Matrix3: .translate() is deprecated. Use .makeTranslation() instead.' ); // @deprecated r185
|
|
455
|
+
|
|
441
456
|
this.premultiply( _m3.makeTranslation( tx, ty ) );
|
|
442
457
|
|
|
443
458
|
return this;
|