three-stdlib 2.35.6 → 2.35.8
Sign up to get free protection for your applications and to get access to all the features.
- package/_polyfill/constants.d.cts +1 -0
- package/_polyfill/uv1.d.cts +5 -0
- package/animation/AnimationClipCreator.d.cts +12 -0
- package/animation/AnimationClipCreator.d.ts +1 -1
- package/animation/CCDIKSolver.d.cts +30 -0
- package/animation/CCDIKSolver.d.ts +1 -1
- package/animation/MMDAnimationHelper.d.cts +93 -0
- package/animation/MMDAnimationHelper.d.ts +3 -3
- package/animation/MMDPhysics.d.cts +119 -0
- package/animation/MMDPhysics.d.ts +1 -1
- package/cameras/CinematicCamera.d.cts +34 -0
- package/cameras/CinematicCamera.d.ts +2 -2
- package/controls/ArcballControls.d.cts +376 -0
- package/controls/ArcballControls.d.ts +4 -4
- package/controls/DeviceOrientationControls.d.cts +29 -0
- package/controls/DeviceOrientationControls.d.ts +4 -4
- package/controls/DragControls.d.cts +67 -0
- package/controls/DragControls.d.ts +3 -3
- package/controls/EventDispatcher.d.cts +41 -0
- package/controls/FirstPersonControls.d.cts +49 -0
- package/controls/FirstPersonControls.d.ts +2 -2
- package/controls/FlyControls.d.cts +39 -0
- package/controls/FlyControls.d.ts +3 -3
- package/controls/OrbitControls.d.cts +74 -0
- package/controls/OrbitControls.d.ts +4 -4
- package/controls/PointerLockControls.d.cts +39 -0
- package/controls/PointerLockControls.d.ts +3 -3
- package/controls/StandardControlsEventMap.d.cts +14 -0
- package/controls/TrackballControls.d.cts +97 -0
- package/controls/TrackballControls.d.ts +4 -4
- package/controls/TransformControls.d.cts +151 -0
- package/controls/TransformControls.d.ts +2 -2
- package/controls/experimental/CameraControls.d.cts +213 -0
- package/controls/experimental/CameraControls.d.ts +3 -3
- package/csm/CSM.d.cts +61 -0
- package/csm/CSM.d.ts +2 -2
- package/csm/CSMFrustum.d.cts +19 -0
- package/csm/CSMFrustum.d.ts +1 -1
- package/csm/CSMHelper.d.cts +26 -0
- package/csm/CSMHelper.d.ts +2 -2
- package/csm/CSMShader.d.cts +4 -0
- package/curves/CurveExtras.d.cts +68 -0
- package/curves/CurveExtras.d.ts +1 -1
- package/curves/NURBSCurve.d.cts +11 -0
- package/curves/NURBSCurve.d.ts +1 -1
- package/curves/NURBSSurface.d.cts +13 -0
- package/curves/NURBSSurface.d.ts +1 -1
- package/curves/NURBSUtils.d.cts +20 -0
- package/curves/NURBSUtils.d.ts +1 -1
- package/deprecated/Geometry.d.cts +341 -0
- package/deprecated/Geometry.d.ts +1 -1
- package/effects/AnaglyphEffect.d.cts +11 -0
- package/effects/AnaglyphEffect.d.ts +1 -1
- package/effects/AsciiEffect.d.cts +18 -0
- package/effects/AsciiEffect.d.ts +1 -1
- package/effects/OutlineEffect.d.cts +28 -0
- package/effects/OutlineEffect.d.ts +1 -1
- package/effects/ParallaxBarrierEffect.d.cts +8 -0
- package/effects/ParallaxBarrierEffect.d.ts +1 -1
- package/effects/PeppersGhostEffect.d.cts +10 -0
- package/effects/PeppersGhostEffect.d.ts +1 -1
- package/effects/StereoEffect.d.cts +9 -0
- package/effects/StereoEffect.d.ts +1 -1
- package/environments/RoomEnvironment.d.cts +6 -0
- package/environments/RoomEnvironment.d.ts +2 -2
- package/exporters/ColladaExporter.d.cts +50 -0
- package/exporters/ColladaExporter.d.ts +2 -2
- package/exporters/DRACOExporter.d.cts +36 -0
- package/exporters/DRACOExporter.d.ts +2 -2
- package/exporters/GLTFExporter.d.cts +114 -0
- package/exporters/GLTFExporter.d.ts +1 -1
- package/exporters/MMDExporter.d.cts +12 -0
- package/exporters/MMDExporter.d.ts +2 -2
- package/exporters/OBJExporter.d.cts +18 -0
- package/exporters/OBJExporter.d.ts +2 -2
- package/exporters/PLYExporter.d.cts +23 -0
- package/exporters/PLYExporter.d.ts +2 -2
- package/exporters/STLExporter.d.cts +28 -0
- package/exporters/STLExporter.d.ts +1 -1
- package/exporters/USDZExporter.d.cts +27 -0
- package/exporters/USDZExporter.d.ts +2 -2
- package/geometries/BoxLineGeometry.d.cts +12 -0
- package/geometries/BoxLineGeometry.d.ts +1 -1
- package/geometries/ConvexGeometry.d.cts +5 -0
- package/geometries/ConvexGeometry.d.ts +1 -1
- package/geometries/DecalGeometry.d.cts +10 -0
- package/geometries/DecalGeometry.d.ts +1 -1
- package/geometries/LightningStrike.d.cts +108 -0
- package/geometries/LightningStrike.d.ts +1 -1
- package/geometries/ParametricGeometries.d.cts +26 -0
- package/geometries/ParametricGeometries.d.ts +2 -2
- package/geometries/ParametricGeometry.d.cts +18 -0
- package/geometries/ParametricGeometry.d.ts +2 -2
- package/geometries/RoundedBoxGeometry.d.cts +5 -0
- package/geometries/RoundedBoxGeometry.d.ts +1 -1
- package/geometries/TeapotGeometry.d.cts +13 -0
- package/geometries/TeapotGeometry.d.ts +1 -1
- package/geometries/TextGeometry.d.cts +18 -0
- package/geometries/TextGeometry.d.ts +3 -3
- package/helpers/LightProbeHelper.d.cts +10 -0
- package/helpers/LightProbeHelper.d.ts +1 -1
- package/helpers/PositionalAudioHelper.d.cts +13 -0
- package/helpers/PositionalAudioHelper.d.ts +1 -1
- package/helpers/RaycasterHelper.d.cts +33 -0
- package/helpers/RaycasterHelper.d.ts +2 -2
- package/helpers/RectAreaLightHelper.d.cts +11 -0
- package/helpers/RectAreaLightHelper.d.ts +1 -1
- package/helpers/VertexNormalsHelper.d.cts +13 -0
- package/helpers/VertexNormalsHelper.d.ts +1 -1
- package/helpers/VertexTangentsHelper.d.cts +13 -0
- package/helpers/VertexTangentsHelper.d.ts +1 -1
- package/index.d.cts +262 -0
- package/index.d.ts +262 -262
- package/interactive/HTMLMesh.d.cts +6 -0
- package/interactive/HTMLMesh.d.ts +1 -1
- package/interactive/InteractiveGroup.d.cts +5 -0
- package/interactive/InteractiveGroup.d.ts +1 -1
- package/interactive/SelectionBox.d.cts +15 -0
- package/interactive/SelectionBox.d.ts +1 -1
- package/interactive/SelectionHelper.d.cts +17 -0
- package/interactive/SelectionHelper.d.ts +2 -2
- package/libs/MeshoptDecoder.d.cts +12 -0
- package/libs/MeshoptDecoder.d.ts +1 -1
- package/libs/MotionControllers.d.cts +176 -0
- package/libs/MotionControllers.d.ts +1 -1
- package/libs/zstddec.d.cts +8 -0
- package/lights/LightProbeGenerator.d.cts +6 -0
- package/lights/LightProbeGenerator.d.ts +1 -1
- package/lights/RectAreaLightUniformsLib.d.cts +3 -0
- package/lines/Line2.d.cts +11 -0
- package/lines/Line2.d.ts +3 -3
- package/lines/LineGeometry.d.cts +10 -0
- package/lines/LineGeometry.d.ts +2 -2
- package/lines/LineMaterial.d.cts +31 -0
- package/lines/LineMaterial.d.ts +1 -1
- package/lines/LineSegments2.d.cts +14 -0
- package/lines/LineSegments2.d.ts +3 -3
- package/lines/LineSegmentsGeometry.d.cts +16 -0
- package/lines/LineSegmentsGeometry.d.ts +1 -1
- package/lines/Wireframe.d.cts +11 -0
- package/lines/Wireframe.d.ts +3 -3
- package/lines/WireframeGeometry2.d.cts +8 -0
- package/lines/WireframeGeometry2.d.ts +2 -2
- package/loaders/3DMLoader.d.cts +17 -0
- package/loaders/3DMLoader.d.ts +1 -1
- package/loaders/3MFLoader.d.cts +16 -0
- package/loaders/3MFLoader.d.ts +1 -1
- package/loaders/AMFLoader.d.cts +14 -0
- package/loaders/AMFLoader.d.ts +1 -1
- package/loaders/AssimpLoader.d.cts +19 -0
- package/loaders/AssimpLoader.d.ts +1 -1
- package/loaders/BVHLoader.d.cts +21 -0
- package/loaders/BVHLoader.d.ts +1 -1
- package/loaders/BasisTextureLoader.d.cts +32 -0
- package/loaders/BasisTextureLoader.d.ts +1 -1
- package/loaders/ColladaLoader.d.cts +20 -0
- package/loaders/ColladaLoader.d.ts +1 -1
- package/loaders/DDSLoader.d.cts +16 -0
- package/loaders/DDSLoader.d.ts +1 -1
- package/loaders/DRACOLoader.d.cts +18 -0
- package/loaders/DRACOLoader.d.ts +1 -1
- package/loaders/EXRLoader.d.cts +18 -0
- package/loaders/EXRLoader.d.ts +1 -1
- package/loaders/FBXLoader.d.cts +14 -0
- package/loaders/FBXLoader.d.ts +1 -1
- package/loaders/FontLoader.d.cts +37 -0
- package/loaders/FontLoader.d.ts +1 -1
- package/loaders/GCodeLoader.d.cts +15 -0
- package/loaders/GCodeLoader.d.ts +1 -1
- package/loaders/GLTFLoader.d.cts +155 -0
- package/loaders/GLTFLoader.d.ts +3 -3
- package/loaders/HDRCubeTextureLoader.d.cts +18 -0
- package/loaders/HDRCubeTextureLoader.d.ts +2 -2
- package/loaders/KMZLoader.d.cts +16 -0
- package/loaders/KMZLoader.d.ts +2 -2
- package/loaders/KTX2Loader.d.cts +10 -0
- package/loaders/KTX2Loader.d.ts +1 -1
- package/loaders/KTXLoader.d.cts +16 -0
- package/loaders/KTXLoader.d.ts +1 -1
- package/loaders/LDrawLoader.d.cts +26 -0
- package/loaders/LDrawLoader.d.ts +1 -1
- package/loaders/LUT3dlLoader.d.cts +20 -0
- package/loaders/LUT3dlLoader.d.ts +1 -1
- package/loaders/LUTCubeLoader.d.cts +23 -0
- package/loaders/LUTCubeLoader.d.ts +1 -1
- package/loaders/LWOLoader.d.cts +26 -0
- package/loaders/LWOLoader.d.ts +1 -1
- package/loaders/LottieLoader.d.cts +15 -0
- package/loaders/LottieLoader.d.ts +1 -1
- package/loaders/MD2Loader.d.cts +14 -0
- package/loaders/MD2Loader.d.ts +1 -1
- package/loaders/MDDLoader.d.cts +19 -0
- package/loaders/MDDLoader.d.ts +1 -1
- package/loaders/MMDLoader.d.cts +63 -0
- package/loaders/MMDLoader.d.ts +1 -1
- package/loaders/MTLLoader.d.cts +100 -0
- package/loaders/MTLLoader.d.ts +1 -1
- package/loaders/NRRDLoader.d.cts +22 -0
- package/loaders/NRRDLoader.d.ts +2 -2
- package/loaders/OBJLoader.d.cts +17 -0
- package/loaders/OBJLoader.d.ts +2 -2
- package/loaders/PCDLoader.d.cts +15 -0
- package/loaders/PCDLoader.d.ts +1 -1
- package/loaders/PDBLoader.d.cts +22 -0
- package/loaders/PDBLoader.d.ts +1 -1
- package/loaders/PLYLoader.d.cts +16 -0
- package/loaders/PLYLoader.d.ts +1 -1
- package/loaders/PRWMLoader.d.cts +16 -0
- package/loaders/PRWMLoader.d.ts +1 -1
- package/loaders/PVRLoader.d.cts +16 -0
- package/loaders/PVRLoader.d.ts +1 -1
- package/loaders/RGBELoader.d.cts +20 -0
- package/loaders/RGBELoader.d.ts +1 -1
- package/loaders/RGBMLoader.d.cts +32 -0
- package/loaders/RGBMLoader.d.ts +1 -1
- package/loaders/STLLoader.d.cts +14 -0
- package/loaders/STLLoader.d.ts +1 -1
- package/loaders/SVGLoader.d.cts +63 -0
- package/loaders/SVGLoader.d.ts +1 -1
- package/loaders/TDSLoader.d.cts +42 -0
- package/loaders/TDSLoader.d.ts +1 -1
- package/loaders/TGALoader.d.cts +14 -0
- package/loaders/TGALoader.d.ts +1 -1
- package/loaders/TTFLoader.d.cts +15 -0
- package/loaders/TTFLoader.d.ts +1 -1
- package/loaders/TiltLoader.d.cts +14 -0
- package/loaders/TiltLoader.d.ts +1 -1
- package/loaders/VOXLoader.d.cts +29 -0
- package/loaders/VOXLoader.d.ts +1 -1
- package/loaders/VRMLLoader.d.cts +14 -0
- package/loaders/VRMLLoader.d.ts +1 -1
- package/loaders/VRMLoader.d.cts +19 -0
- package/loaders/VRMLoader.d.ts +3 -3
- package/loaders/VTKLoader.d.cts +14 -0
- package/loaders/VTKLoader.d.ts +1 -1
- package/loaders/XLoader.d.cts +19 -0
- package/loaders/XLoader.d.ts +1 -1
- package/loaders/XYZLoader.d.cts +14 -0
- package/loaders/XYZLoader.d.ts +1 -1
- package/math/Capsule.d.cts +27 -0
- package/math/Capsule.d.ts +1 -1
- package/math/ColorConverter.d.cts +21 -0
- package/math/ColorConverter.d.ts +1 -1
- package/math/ConvexHull.d.cts +89 -0
- package/math/ConvexHull.d.ts +1 -1
- package/math/ImprovedNoise.d.cts +4 -0
- package/math/Lut.d.cts +27 -0
- package/math/Lut.d.ts +1 -1
- package/math/MeshSurfaceSampler.d.cts +18 -0
- package/math/MeshSurfaceSampler.d.ts +1 -1
- package/math/OBB.d.cts +24 -0
- package/math/OBB.d.ts +1 -1
- package/math/Octree.d.cts +24 -0
- package/math/Octree.d.ts +2 -2
- package/math/SimplexNoise.d.cts +21 -0
- package/misc/ConvexObjectBreaker.d.cts +25 -0
- package/misc/ConvexObjectBreaker.d.ts +1 -1
- package/misc/GPUComputationRenderer.d.cts +53 -0
- package/misc/GPUComputationRenderer.d.ts +1 -1
- package/misc/Gyroscope.d.cts +5 -0
- package/misc/Gyroscope.d.ts +1 -1
- package/misc/MD2Character.d.cts +33 -0
- package/misc/MD2Character.d.ts +1 -1
- package/misc/MD2CharacterComplex.d.cts +47 -0
- package/misc/MD2CharacterComplex.d.ts +1 -1
- package/misc/MorphAnimMesh.d.cts +13 -0
- package/misc/MorphAnimMesh.d.ts +1 -1
- package/misc/MorphBlendMesh.d.cts +21 -0
- package/misc/MorphBlendMesh.d.ts +1 -1
- package/misc/ProgressiveLightmap.d.cts +60 -0
- package/misc/ProgressiveLightmap.d.ts +1 -1
- package/misc/RollerCoaster.d.cts +21 -0
- package/misc/RollerCoaster.d.ts +1 -1
- package/misc/Timer.d.cts +27 -0
- package/misc/Timer.d.ts +1 -1
- package/misc/TubePainter.d.cts +10 -0
- package/misc/TubePainter.d.ts +1 -1
- package/misc/Volume.d.cts +37 -0
- package/misc/Volume.d.ts +2 -2
- package/misc/VolumeSlice.d.cts +28 -0
- package/misc/VolumeSlice.d.ts +2 -2
- package/misc/WebGL.d.cts +5 -0
- package/modifiers/CurveModifier.d.cts +91 -0
- package/modifiers/CurveModifier.d.ts +1 -1
- package/modifiers/EdgeSplitModifier.d.cts +19 -0
- package/modifiers/EdgeSplitModifier.d.ts +2 -2
- package/modifiers/SimplifyModifier.d.cts +19 -0
- package/modifiers/SimplifyModifier.d.ts +2 -2
- package/modifiers/TessellateModifier.d.cts +11 -0
- package/modifiers/TessellateModifier.d.ts +2 -2
- package/objects/BatchedMesh.d.cts +48 -0
- package/objects/BatchedMesh.d.ts +2 -2
- package/objects/GroundProjectedEnv.d.cts +12 -0
- package/objects/GroundProjectedEnv.d.ts +1 -1
- package/objects/Lensflare.cjs +10 -8
- package/objects/Lensflare.cjs.map +1 -1
- package/objects/Lensflare.d.cts +17 -0
- package/objects/Lensflare.d.ts +1 -1
- package/objects/Lensflare.js +11 -9
- package/objects/Lensflare.js.map +1 -1
- package/objects/LightningStorm.d.cts +32 -0
- package/objects/LightningStorm.d.ts +2 -2
- package/objects/MarchingCubes.d.cts +76 -0
- package/objects/MarchingCubes.d.ts +1 -1
- package/objects/Reflector.d.cts +23 -0
- package/objects/Reflector.d.ts +2 -2
- package/objects/ReflectorForSSRPass.d.cts +48 -0
- package/objects/ReflectorForSSRPass.d.ts +1 -1
- package/objects/ReflectorRTT.d.cts +6 -0
- package/objects/ReflectorRTT.d.ts +3 -3
- package/objects/Refractor.d.cts +23 -0
- package/objects/Refractor.d.ts +2 -2
- package/objects/ShadowMesh.d.cts +10 -0
- package/objects/ShadowMesh.d.ts +1 -1
- package/objects/Sky.d.cts +18 -0
- package/objects/Sky.d.ts +2 -2
- package/objects/Water.d.cts +22 -0
- package/objects/Water.d.ts +1 -1
- package/objects/Water2.d.cts +23 -0
- package/objects/Water2.d.ts +2 -2
- package/package.json +11 -5
- package/physics/AmmoPhysics.d.cts +7 -0
- package/physics/AmmoPhysics.d.ts +1 -1
- package/postprocessing/AdaptiveToneMappingPass.d.cts +29 -0
- package/postprocessing/AdaptiveToneMappingPass.d.ts +2 -2
- package/postprocessing/AfterimagePass.d.cts +15 -0
- package/postprocessing/AfterimagePass.d.ts +3 -3
- package/postprocessing/BloomPass.d.cts +29 -0
- package/postprocessing/BloomPass.d.ts +4 -4
- package/postprocessing/BokehPass.d.cts +26 -0
- package/postprocessing/BokehPass.d.ts +3 -3
- package/postprocessing/ClearPass.d.cts +10 -0
- package/postprocessing/ClearPass.d.ts +3 -3
- package/postprocessing/CubeTexturePass.d.cts +14 -0
- package/postprocessing/CubeTexturePass.d.ts +2 -2
- package/postprocessing/DotScreenPass.d.cts +11 -0
- package/postprocessing/DotScreenPass.d.ts +4 -4
- package/postprocessing/EffectComposer.d.cts +28 -0
- package/postprocessing/EffectComposer.d.ts +3 -3
- package/postprocessing/FilmPass.d.cts +11 -0
- package/postprocessing/FilmPass.d.ts +4 -4
- package/postprocessing/GlitchPass.d.cts +16 -0
- package/postprocessing/GlitchPass.d.ts +4 -4
- package/postprocessing/HalftonePass.d.cts +26 -0
- package/postprocessing/HalftonePass.d.ts +3 -3
- package/postprocessing/LUTPass.d.cts +13 -0
- package/postprocessing/LUTPass.d.ts +2 -2
- package/postprocessing/MaskPass.d.cts +14 -0
- package/postprocessing/MaskPass.d.ts +3 -3
- package/postprocessing/OutlinePass.d.cts +53 -0
- package/postprocessing/OutlinePass.d.ts +3 -3
- package/postprocessing/Pass.d.cts +21 -0
- package/postprocessing/Pass.d.ts +2 -2
- package/postprocessing/RenderPass.d.cts +14 -0
- package/postprocessing/RenderPass.d.ts +3 -3
- package/postprocessing/RenderPixelatedPass.d.cts +34 -0
- package/postprocessing/RenderPixelatedPass.d.ts +2 -2
- package/postprocessing/SAOPass.d.cts +78 -0
- package/postprocessing/SAOPass.d.ts +2 -2
- package/postprocessing/SMAAPass.d.cts +21 -0
- package/postprocessing/SMAAPass.d.ts +2 -2
- package/postprocessing/SSAARenderPass.d.cts +17 -0
- package/postprocessing/SSAARenderPass.d.ts +2 -2
- package/postprocessing/SSAOPass.d.cts +70 -0
- package/postprocessing/SSAOPass.d.ts +2 -2
- package/postprocessing/SSRPass.d.cts +123 -0
- package/postprocessing/SSRPass.d.ts +3 -3
- package/postprocessing/SavePass.d.cts +12 -0
- package/postprocessing/SavePass.d.ts +2 -2
- package/postprocessing/ShaderPass.d.cts +13 -0
- package/postprocessing/ShaderPass.d.ts +4 -4
- package/postprocessing/TAARenderPass.d.cts +8 -0
- package/postprocessing/TAARenderPass.d.ts +2 -2
- package/postprocessing/TexturePass.d.cts +12 -0
- package/postprocessing/TexturePass.d.ts +2 -2
- package/postprocessing/UnrealBloomPass.d.cts +31 -0
- package/postprocessing/UnrealBloomPass.d.ts +2 -2
- package/postprocessing/WaterPass.d.cts +35 -0
- package/postprocessing/WaterPass.d.ts +3 -3
- package/renderers/CSS2DRenderer.d.cts +23 -0
- package/renderers/CSS2DRenderer.d.ts +1 -1
- package/renderers/CSS3DRenderer.d.cts +26 -0
- package/renderers/CSS3DRenderer.d.ts +1 -1
- package/renderers/Projector.d.cts +60 -0
- package/renderers/Projector.d.ts +1 -1
- package/renderers/SVGRenderer.d.cts +25 -0
- package/renderers/SVGRenderer.d.ts +1 -1
- package/shaders/ACESFilmicToneMappingShader.d.cts +16 -0
- package/shaders/ACESFilmicToneMappingShader.d.ts +1 -1
- package/shaders/AfterimageShader.d.cts +15 -0
- package/shaders/AfterimageShader.d.ts +1 -1
- package/shaders/BasicShader.d.cts +8 -0
- package/shaders/BasicShader.d.ts +1 -1
- package/shaders/BleachBypassShader.d.cts +14 -0
- package/shaders/BleachBypassShader.d.ts +1 -1
- package/shaders/BlendShader.d.cts +21 -0
- package/shaders/BokehShader.d.cts +24 -0
- package/shaders/BokehShader.d.ts +1 -1
- package/shaders/BokehShader2.d.cts +50 -0
- package/shaders/BokehShader2.d.ts +1 -1
- package/shaders/BrightnessContrastShader.d.cts +21 -0
- package/shaders/ColorCorrectionShader.d.cts +22 -0
- package/shaders/ColorCorrectionShader.d.ts +1 -1
- package/shaders/ColorifyShader.d.cts +16 -0
- package/shaders/ColorifyShader.d.ts +1 -1
- package/shaders/ConvolutionShader.d.cts +21 -0
- package/shaders/ConvolutionShader.d.ts +2 -2
- package/shaders/CopyShader.d.cts +12 -0
- package/shaders/CopyShader.d.ts +1 -1
- package/shaders/DOFMipMapShader.d.cts +23 -0
- package/shaders/DepthLimitedBlurShader.d.cts +28 -0
- package/shaders/DepthLimitedBlurShader.d.ts +2 -2
- package/shaders/DigitalGlitch.d.cts +39 -0
- package/shaders/DotScreenShader.d.cts +27 -0
- package/shaders/DotScreenShader.d.ts +1 -1
- package/shaders/FXAAShader.d.cts +19 -0
- package/shaders/FXAAShader.d.ts +1 -1
- package/shaders/FilmShader.d.cts +43 -0
- package/shaders/FocusShader.d.cts +26 -0
- package/shaders/FreiChenShader.d.cts +19 -0
- package/shaders/FreiChenShader.d.ts +1 -1
- package/shaders/FresnelShader.d.cts +24 -0
- package/shaders/GammaCorrectionShader.d.cts +12 -0
- package/shaders/GammaCorrectionShader.d.ts +1 -1
- package/shaders/GodRaysShader.d.cts +97 -0
- package/shaders/GodRaysShader.d.ts +1 -1
- package/shaders/HalftoneShader.d.cts +51 -0
- package/shaders/HorizontalBlurShader.d.cts +18 -0
- package/shaders/HorizontalBlurShader.d.ts +1 -1
- package/shaders/HorizontalTiltShiftShader.d.cts +23 -0
- package/shaders/HueSaturationShader.d.cts +21 -0
- package/shaders/KaleidoShader.d.cts +24 -0
- package/shaders/LuminosityHighPassShader.d.cts +27 -0
- package/shaders/LuminosityHighPassShader.d.ts +1 -1
- package/shaders/LuminosityShader.d.cts +13 -0
- package/shaders/MirrorShader.d.cts +18 -0
- package/shaders/NormalMapShader.d.cts +23 -0
- package/shaders/NormalMapShader.d.ts +1 -1
- package/shaders/ParallaxShader.d.cts +28 -0
- package/shaders/PixelShader.d.cts +18 -0
- package/shaders/RGBShiftShader.d.cts +24 -0
- package/shaders/SAOShader.d.cts +25 -0
- package/shaders/SAOShader.d.ts +2 -2
- package/shaders/SMAAShader.d.cts +60 -0
- package/shaders/SMAAShader.d.ts +1 -1
- package/shaders/SSAOShader.d.cts +86 -0
- package/shaders/SSAOShader.d.ts +1 -1
- package/shaders/SSRShader.d.cts +94 -0
- package/shaders/SSRShader.d.ts +1 -1
- package/shaders/SepiaShader.d.cts +17 -0
- package/shaders/SobelOperatorShader.d.cts +19 -0
- package/shaders/SobelOperatorShader.d.ts +1 -1
- package/shaders/SubsurfaceScatteringShader.d.cts +5 -0
- package/shaders/TechnicolorShader.d.cts +15 -0
- package/shaders/ToneMapShader.d.cts +27 -0
- package/shaders/ToonShader.d.cts +108 -0
- package/shaders/ToonShader.d.ts +1 -1
- package/shaders/TriangleBlurShader.d.cts +22 -0
- package/shaders/TriangleBlurShader.d.ts +1 -1
- package/shaders/UnpackDepthRGBAShader.d.cts +16 -0
- package/shaders/VerticalBlurShader.d.cts +18 -0
- package/shaders/VerticalBlurShader.d.ts +1 -1
- package/shaders/VerticalTiltShiftShader.d.cts +23 -0
- package/shaders/VignetteShader.d.cts +20 -0
- package/shaders/VolumeShader.d.cts +30 -0
- package/shaders/VolumeShader.d.ts +1 -1
- package/shaders/WaterRefractionShader.d.cts +21 -0
- package/shaders/types.d.cts +13 -0
- package/textures/FlakesTexture.d.cts +4 -0
- package/textures/FlakesTexture.d.ts +1 -1
- package/types/helpers.d.cts +1 -0
- package/types/shared.d.cts +9 -0
- package/types/utils.d.cts +3 -0
- package/utils/BufferGeometryUtils.d.cts +63 -0
- package/utils/BufferGeometryUtils.d.ts +1 -1
- package/utils/GeometryCompressionUtils.d.cts +7 -0
- package/utils/GeometryCompressionUtils.d.ts +1 -1
- package/utils/GeometryUtils.d.cts +6 -0
- package/utils/GeometryUtils.d.ts +1 -1
- package/utils/LDrawUtils.d.cts +5 -0
- package/utils/LDrawUtils.d.ts +1 -1
- package/utils/RoughnessMipmapper.d.cts +8 -0
- package/utils/RoughnessMipmapper.d.ts +1 -1
- package/utils/SceneUtils.d.cts +9 -0
- package/utils/SceneUtils.d.ts +2 -2
- package/utils/ShadowMapViewer.d.cts +24 -0
- package/utils/ShadowMapViewer.d.ts +1 -1
- package/utils/SkeletonUtils.d.cts +14 -0
- package/utils/SkeletonUtils.d.ts +1 -1
- package/utils/UVsDebug.d.cts +3 -0
- package/utils/UVsDebug.d.ts +1 -1
- package/webxr/ARButton.d.cts +6 -0
- package/webxr/ARButton.d.ts +2 -2
- package/webxr/OculusHandModel.d.cts +23 -0
- package/webxr/OculusHandModel.d.ts +3 -3
- package/webxr/OculusHandPointerModel.d.cts +65 -0
- package/webxr/OculusHandPointerModel.d.ts +1 -1
- package/webxr/Text2D.d.cts +3 -0
- package/webxr/Text2D.d.ts +1 -1
- package/webxr/VRButton.d.cts +11 -0
- package/webxr/VRButton.d.ts +2 -2
- package/webxr/XRControllerModelFactory.d.cts +23 -0
- package/webxr/XRControllerModelFactory.d.ts +4 -4
- package/webxr/XREstimatedLight.d.cts +33 -0
- package/webxr/XREstimatedLight.d.ts +1 -1
- package/webxr/XRHandMeshModel.d.cts +9 -0
- package/webxr/XRHandMeshModel.d.ts +2 -2
- package/webxr/XRHandModelFactory.d.cts +25 -0
- package/webxr/XRHandModelFactory.d.ts +3 -3
- package/webxr/XRHandPrimitiveModel.d.cts +24 -0
- package/webxr/XRHandPrimitiveModel.d.ts +2 -2
@@ -0,0 +1,60 @@
|
|
1
|
+
import type {
|
2
|
+
Camera,
|
3
|
+
Material,
|
4
|
+
Mesh,
|
5
|
+
MeshBasicMaterial,
|
6
|
+
MeshPhongMaterial,
|
7
|
+
Object3D,
|
8
|
+
PlaneGeometry,
|
9
|
+
Texture,
|
10
|
+
Vector3,
|
11
|
+
WebGLRenderer,
|
12
|
+
Scene,
|
13
|
+
WebGLRenderTarget,
|
14
|
+
} from 'three'
|
15
|
+
|
16
|
+
export interface UVBoxes {
|
17
|
+
w: number
|
18
|
+
h: number
|
19
|
+
index: number
|
20
|
+
}
|
21
|
+
|
22
|
+
export interface LightMapContainers {
|
23
|
+
basicMat: Material | Material[]
|
24
|
+
object: Object3D
|
25
|
+
}
|
26
|
+
|
27
|
+
export class ProgressiveLightMap {
|
28
|
+
renderer: WebGLRenderer
|
29
|
+
res: number
|
30
|
+
lightMapContainers: LightMapContainers[]
|
31
|
+
compiled: boolean
|
32
|
+
scene: Scene
|
33
|
+
tinyTarget: WebGLRenderTarget
|
34
|
+
buffer1Active: boolean
|
35
|
+
firstUpdate: boolean
|
36
|
+
warned: boolean
|
37
|
+
|
38
|
+
progressiveLightMap1: WebGLRenderTarget
|
39
|
+
progressiveLightMap2: WebGLRenderTarget
|
40
|
+
|
41
|
+
uvMat: MeshPhongMaterial
|
42
|
+
|
43
|
+
uv_boxes: UVBoxes[]
|
44
|
+
|
45
|
+
blurringPlane: Mesh<PlaneGeometry, MeshBasicMaterial>
|
46
|
+
|
47
|
+
labelMaterial: MeshBasicMaterial
|
48
|
+
labelPlane: PlaneGeometry
|
49
|
+
labelMesh: Mesh<PlaneGeometry, MeshBasicMaterial>
|
50
|
+
|
51
|
+
constructor(renderer: WebGLRenderer, res?: number)
|
52
|
+
|
53
|
+
addObjectsToLightMap(objects: Object3D[]): void
|
54
|
+
|
55
|
+
update(camera: Camera, blendWindow?: number, blurEdges?: boolean): void
|
56
|
+
|
57
|
+
showDebugLightmap(visible: boolean, position?: Vector3): void
|
58
|
+
|
59
|
+
private _initializeBlurPlane(res: number, lightMap?: Texture | null): void
|
60
|
+
}
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import type { BufferGeometry, Curve, Mesh, Vector3 } from 'three'
|
2
|
+
|
3
|
+
export class RollerCoasterGeometry extends BufferGeometry {
|
4
|
+
constructor(curve: Curve<Vector3>, divisions: number)
|
5
|
+
}
|
6
|
+
|
7
|
+
export class RollerCoasterLiftersGeometry extends BufferGeometry {
|
8
|
+
constructor(curve: Curve<Vector3>, divisions: number)
|
9
|
+
}
|
10
|
+
|
11
|
+
export class RollerCoasterShadowGeometry extends BufferGeometry {
|
12
|
+
constructor(curve: Curve<Vector3>, divisions: number)
|
13
|
+
}
|
14
|
+
|
15
|
+
export class SkyGeometry extends BufferGeometry {
|
16
|
+
constructor(curve: Curve<Vector3>, divisions: number)
|
17
|
+
}
|
18
|
+
|
19
|
+
export class TreesGeometry extends BufferGeometry {
|
20
|
+
constructor(landscape: Mesh)
|
21
|
+
}
|
package/misc/RollerCoaster.d.ts
CHANGED
package/misc/Timer.d.cts
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
declare class Timer {
|
2
|
+
private _previousTime;
|
3
|
+
private _currentTime;
|
4
|
+
private _delta;
|
5
|
+
private _elapsed;
|
6
|
+
private _timescale;
|
7
|
+
private _useFixedDelta;
|
8
|
+
private _fixedDelta;
|
9
|
+
private _usePageVisibilityAPI;
|
10
|
+
private _pageVisibilityHandler;
|
11
|
+
constructor();
|
12
|
+
connect(): this;
|
13
|
+
dispose(): this;
|
14
|
+
disableFixedDelta(): this;
|
15
|
+
enableFixedDelta(): this;
|
16
|
+
getDelta(): number;
|
17
|
+
getElapsedTime(): number;
|
18
|
+
getFixedDelta(): number;
|
19
|
+
getTimescale(): number;
|
20
|
+
reset(): this;
|
21
|
+
setFixedDelta(fixedDelta: number): this;
|
22
|
+
setTimescale(timescale: number): this;
|
23
|
+
update(): this;
|
24
|
+
get elapsedTime(): number;
|
25
|
+
private _now;
|
26
|
+
}
|
27
|
+
export { type Timer };
|
package/misc/Timer.d.ts
CHANGED
@@ -0,0 +1,10 @@
|
|
1
|
+
import type { Matrix4, Mesh, Vector3 } from 'three'
|
2
|
+
|
3
|
+
export class TubePainter {
|
4
|
+
constructor()
|
5
|
+
|
6
|
+
mesh: Mesh
|
7
|
+
|
8
|
+
stroke(position1: Vector3, position2: Vector3, matrix1: Matrix4, matrix2: Matrix4): void
|
9
|
+
updateGeometry(start: number, end: number): void
|
10
|
+
}
|
package/misc/TubePainter.d.ts
CHANGED
@@ -0,0 +1,37 @@
|
|
1
|
+
import type { Matrix3 } from 'three'
|
2
|
+
|
3
|
+
import type { VolumeSlice } from './VolumeSlice.d.cts'
|
4
|
+
|
5
|
+
export class Volume {
|
6
|
+
constructor(xLength?: number, yLength?: number, zLength?: number, type?: string, arrayBuffer?: ArrayLike<number>)
|
7
|
+
|
8
|
+
xLength: number
|
9
|
+
yLength: number
|
10
|
+
zLength: number
|
11
|
+
|
12
|
+
axisOrder: Array<'x' | 'y' | 'z'>
|
13
|
+
|
14
|
+
data: ArrayLike<number>
|
15
|
+
|
16
|
+
spacing: number[]
|
17
|
+
offset: number[]
|
18
|
+
|
19
|
+
matrix: Matrix3
|
20
|
+
|
21
|
+
lowerThreshold: number
|
22
|
+
upperThreshold: number
|
23
|
+
|
24
|
+
sliceList: VolumeSlice[]
|
25
|
+
|
26
|
+
getData(i: number, j: number, k: number): number
|
27
|
+
access(i: number, j: number, k: number): number
|
28
|
+
reverseAccess(index: number): number[]
|
29
|
+
|
30
|
+
map(functionToMap: () => void, context: this): this
|
31
|
+
|
32
|
+
extractPerpendicularPlane(axis: string, RASIndex: number): object
|
33
|
+
extractSlice(axis: string, index: number): VolumeSlice
|
34
|
+
|
35
|
+
repaintAllSlices(): this
|
36
|
+
computeMinMax(): number[]
|
37
|
+
}
|
package/misc/Volume.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { Matrix3 } from 'three'
|
1
|
+
import type { Matrix3 } from 'three'
|
2
2
|
|
3
|
-
import { VolumeSlice } from './VolumeSlice'
|
3
|
+
import type { VolumeSlice } from './VolumeSlice.d.ts'
|
4
4
|
|
5
5
|
export class Volume {
|
6
6
|
constructor(xLength?: number, yLength?: number, zLength?: number, type?: string, arrayBuffer?: ArrayLike<number>)
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import type { Matrix3, Mesh } from 'three'
|
2
|
+
|
3
|
+
import type { Volume } from './Volume.d.cts'
|
4
|
+
|
5
|
+
export class VolumeSlice {
|
6
|
+
constructor(volume: Volume, index?: number, axis?: string)
|
7
|
+
|
8
|
+
index: number
|
9
|
+
axis: string
|
10
|
+
|
11
|
+
canvas: HTMLCanvasElement
|
12
|
+
canvasBuffer: HTMLCanvasElement
|
13
|
+
|
14
|
+
ctx: CanvasRenderingContext2D
|
15
|
+
ctxBuffer: CanvasRenderingContext2D
|
16
|
+
|
17
|
+
mesh: Mesh
|
18
|
+
|
19
|
+
geometryNeedsUpdate: boolean
|
20
|
+
|
21
|
+
sliceAccess: number
|
22
|
+
jLength: number
|
23
|
+
iLength: number
|
24
|
+
matrix: Matrix3
|
25
|
+
|
26
|
+
repaint(): void
|
27
|
+
updateGeometry(): void
|
28
|
+
}
|
package/misc/VolumeSlice.d.ts
CHANGED
package/misc/WebGL.d.cts
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
export declare function isWebGLAvailable(): boolean;
|
2
|
+
export declare function isWebGL2Available(): boolean;
|
3
|
+
export declare function getWebGLErrorMessage(): HTMLDivElement;
|
4
|
+
export declare function getWebGL2ErrorMessage(): HTMLDivElement;
|
5
|
+
export declare function getErrorMessage(version: 1 | 2): HTMLDivElement;
|
@@ -0,0 +1,91 @@
|
|
1
|
+
import type { DataTexture, Mesh, InstancedMesh, Material, Curve, BufferGeometry } from 'three';
|
2
|
+
import type { IUniform } from 'three';
|
3
|
+
/**
|
4
|
+
* Make a new DataTexture to store the descriptions of the curves.
|
5
|
+
*
|
6
|
+
* @param { number } numberOfCurves the number of curves needed to be described by this texture.
|
7
|
+
*/
|
8
|
+
export declare const initSplineTexture: (numberOfCurves?: number) => DataTexture;
|
9
|
+
/**
|
10
|
+
* Write the curve description to the data texture
|
11
|
+
*
|
12
|
+
* @param { DataTexture } texture The DataTexture to write to
|
13
|
+
* @param { Curve } splineCurve The curve to describe
|
14
|
+
* @param { number } offset Which curve slot to write to
|
15
|
+
*/
|
16
|
+
export declare const updateSplineTexture: <TCurve extends Curve<any>>(texture: DataTexture, splineCurve: TCurve, offset?: number) => void;
|
17
|
+
export interface INumericUniform extends IUniform {
|
18
|
+
type: 'f' | 'i';
|
19
|
+
value: number;
|
20
|
+
}
|
21
|
+
export type CurveModifierUniforms = {
|
22
|
+
spineTexture: IUniform<DataTexture>;
|
23
|
+
pathOffset: INumericUniform;
|
24
|
+
pathSegment: INumericUniform;
|
25
|
+
spineOffset: INumericUniform;
|
26
|
+
spineLength: INumericUniform;
|
27
|
+
flow: INumericUniform;
|
28
|
+
};
|
29
|
+
/**
|
30
|
+
* Create a new set of uniforms for describing the curve modifier
|
31
|
+
*
|
32
|
+
* @param { DataTexture } Texture which holds the curve description
|
33
|
+
*/
|
34
|
+
export declare const getUniforms: (splineTexture: DataTexture) => CurveModifierUniforms;
|
35
|
+
export type ModifiedMaterial<TMaterial extends Material> = TMaterial & {
|
36
|
+
__ok: boolean;
|
37
|
+
};
|
38
|
+
export declare function modifyShader<TMaterial extends Material = Material>(material: ModifiedMaterial<TMaterial>, uniforms: CurveModifierUniforms, numberOfCurves?: number): void;
|
39
|
+
/**
|
40
|
+
* A helper class for making meshes bend aroudn curves
|
41
|
+
*/
|
42
|
+
export declare class Flow<TMesh extends Mesh = Mesh> {
|
43
|
+
curveArray: Curve<any>[];
|
44
|
+
curveLengthArray: number[];
|
45
|
+
object3D: TMesh;
|
46
|
+
splineTexure: DataTexture;
|
47
|
+
uniforms: CurveModifierUniforms;
|
48
|
+
/**
|
49
|
+
* @param {Mesh} mesh The mesh to clone and modify to bend around the curve
|
50
|
+
* @param {number} numberOfCurves The amount of space that should preallocated for additional curves
|
51
|
+
*/
|
52
|
+
constructor(mesh: TMesh, numberOfCurves?: number);
|
53
|
+
updateCurve<TCurve extends Curve<any>>(index: number, curve: TCurve): void;
|
54
|
+
moveAlongCurve(amount: number): void;
|
55
|
+
}
|
56
|
+
/**
|
57
|
+
* A helper class for creating instanced versions of flow, where the instances are placed on the curve.
|
58
|
+
*/
|
59
|
+
export declare class InstancedFlow<TGeometry extends BufferGeometry = BufferGeometry, TMaterial extends Material = Material> extends Flow<InstancedMesh<TGeometry, TMaterial>> {
|
60
|
+
offsets: number[];
|
61
|
+
whichCurve: number[];
|
62
|
+
/**
|
63
|
+
*
|
64
|
+
* @param {number} count The number of instanced elements
|
65
|
+
* @param {number} curveCount The number of curves to preallocate for
|
66
|
+
* @param {Geometry} geometry The geometry to use for the instanced mesh
|
67
|
+
* @param {Material} material The material to use for the instanced mesh
|
68
|
+
*/
|
69
|
+
constructor(count: number, curveCount: number, geometry: TGeometry, material: TMaterial);
|
70
|
+
/**
|
71
|
+
* The extra information about which curve and curve position is stored in the translation components of the matrix for the instanced objects
|
72
|
+
* This writes that information to the matrix and marks it as needing update.
|
73
|
+
*
|
74
|
+
* @param {number} index of the instanced element to update
|
75
|
+
*/
|
76
|
+
private writeChanges;
|
77
|
+
/**
|
78
|
+
* Move an individual element along the curve by a specific amount
|
79
|
+
*
|
80
|
+
* @param {number} index Which element to update
|
81
|
+
* @param {number} offset Move by how much
|
82
|
+
*/
|
83
|
+
moveIndividualAlongCurve(index: number, offset: number): void;
|
84
|
+
/**
|
85
|
+
* Select which curve to use for an element
|
86
|
+
*
|
87
|
+
* @param {number} index the index of the instanced element to update
|
88
|
+
* @param {number} curveNo the index of the curve it should use
|
89
|
+
*/
|
90
|
+
setCurve(index: number, curveNo: number): void;
|
91
|
+
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { DataTexture, Mesh, InstancedMesh, Material, Curve, BufferGeometry } from 'three';
|
1
|
+
import type { DataTexture, Mesh, InstancedMesh, Material, Curve, BufferGeometry } from 'three';
|
2
2
|
import type { IUniform } from 'three';
|
3
3
|
/**
|
4
4
|
* Make a new DataTexture to store the descriptions of the curves.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import type { BufferGeometry } from 'three';
|
2
|
+
declare class EdgeSplitModifier {
|
3
|
+
private A;
|
4
|
+
private B;
|
5
|
+
private C;
|
6
|
+
private positions;
|
7
|
+
private normals;
|
8
|
+
private indexes;
|
9
|
+
private pointToIndexMap;
|
10
|
+
private splitIndexes;
|
11
|
+
private oldNormals;
|
12
|
+
constructor();
|
13
|
+
private computeNormals;
|
14
|
+
private mapPositionsToIndexes;
|
15
|
+
private edgeSplitToGroups;
|
16
|
+
private edgeSplit;
|
17
|
+
modify: (geometry: BufferGeometry, cutOffAngle: number, tryKeepNormals?: boolean) => BufferGeometry;
|
18
|
+
}
|
19
|
+
export { type EdgeSplitModifier };
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { BufferGeometry } from 'three';
|
1
|
+
import type { BufferGeometry } from 'three';
|
2
2
|
declare class EdgeSplitModifier {
|
3
3
|
private A;
|
4
4
|
private B;
|
@@ -16,4 +16,4 @@ declare class EdgeSplitModifier {
|
|
16
16
|
private edgeSplit;
|
17
17
|
modify: (geometry: BufferGeometry, cutOffAngle: number, tryKeepNormals?: boolean) => BufferGeometry;
|
18
18
|
}
|
19
|
-
export { EdgeSplitModifier };
|
19
|
+
export { type EdgeSplitModifier };
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import type { BufferGeometry } from 'three';
|
2
|
+
/**
|
3
|
+
* Simplification Geometry Modifier
|
4
|
+
* - based on code and technique
|
5
|
+
* - by Stan Melax in 1998
|
6
|
+
* - Progressive Mesh type Polygon Reduction Algorithm
|
7
|
+
* - http://www.melax.com/polychop/
|
8
|
+
*/
|
9
|
+
declare class SimplifyModifier {
|
10
|
+
constructor();
|
11
|
+
private computeEdgeCollapseCost;
|
12
|
+
private removeVertex;
|
13
|
+
private computeEdgeCostAtVertex;
|
14
|
+
private removeFace;
|
15
|
+
private collapse;
|
16
|
+
private minimumCostEdge;
|
17
|
+
modify: (geometry: BufferGeometry, count: number) => BufferGeometry;
|
18
|
+
}
|
19
|
+
export { type SimplifyModifier };
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { BufferGeometry } from 'three';
|
1
|
+
import type { BufferGeometry } from 'three';
|
2
2
|
/**
|
3
3
|
* Simplification Geometry Modifier
|
4
4
|
* - based on code and technique
|
@@ -16,4 +16,4 @@ declare class SimplifyModifier {
|
|
16
16
|
private minimumCostEdge;
|
17
17
|
modify: (geometry: BufferGeometry, count: number) => BufferGeometry;
|
18
18
|
}
|
19
|
-
export { SimplifyModifier };
|
19
|
+
export { type SimplifyModifier };
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import type { BufferGeometry } from 'three';
|
2
|
+
/**
|
3
|
+
* Break faces with edges longer than maxEdgeLength
|
4
|
+
*/
|
5
|
+
declare class TessellateModifier {
|
6
|
+
maxEdgeLength: number;
|
7
|
+
maxIterations: number;
|
8
|
+
constructor(maxEdgeLength?: number, maxIterations?: number);
|
9
|
+
modify: (geometry: BufferGeometry) => BufferGeometry;
|
10
|
+
}
|
11
|
+
export { type TessellateModifier };
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { BufferGeometry } from 'three';
|
1
|
+
import type { BufferGeometry } from 'three';
|
2
2
|
/**
|
3
3
|
* Break faces with edges longer than maxEdgeLength
|
4
4
|
*/
|
@@ -8,4 +8,4 @@ declare class TessellateModifier {
|
|
8
8
|
constructor(maxEdgeLength?: number, maxIterations?: number);
|
9
9
|
modify: (geometry: BufferGeometry) => BufferGeometry;
|
10
10
|
}
|
11
|
-
export { TessellateModifier };
|
11
|
+
export { type TessellateModifier };
|
@@ -0,0 +1,48 @@
|
|
1
|
+
import type { Matrix4, Mesh, BufferGeometry, Material, DataTexture, IUniform } from 'three';
|
2
|
+
declare class BatchedMesh extends Mesh<BufferGeometry, Material> {
|
3
|
+
_vertexStarts: number[];
|
4
|
+
_vertexCounts: number[];
|
5
|
+
_indexStarts: number[];
|
6
|
+
_indexCounts: number[];
|
7
|
+
_reservedRanges: {
|
8
|
+
vertexStart: number;
|
9
|
+
vertexCount: number;
|
10
|
+
indexStart: number;
|
11
|
+
indexCount: number;
|
12
|
+
}[];
|
13
|
+
_visible: boolean[];
|
14
|
+
_active: boolean[];
|
15
|
+
_maxGeometryCount: number;
|
16
|
+
_maxVertexCount: number;
|
17
|
+
_maxIndexCount: number;
|
18
|
+
_geometryInitialized: boolean;
|
19
|
+
_geometryCount: number;
|
20
|
+
_matrices: Matrix4[];
|
21
|
+
_matricesTexture: DataTexture | null;
|
22
|
+
_customUniforms: Record<string, IUniform>;
|
23
|
+
constructor(maxGeometryCount: number, maxVertexCount: number, maxIndexCount?: number, material?: Material);
|
24
|
+
_initMatricesTexture(): void;
|
25
|
+
_initShader(): void;
|
26
|
+
_initializeGeometry(reference: BufferGeometry): void;
|
27
|
+
_validateGeometry(geometry: BufferGeometry): void;
|
28
|
+
getGeometryCount(): number;
|
29
|
+
getVertexCount(): number;
|
30
|
+
getIndexCount(): number;
|
31
|
+
addGeometry(geometry: BufferGeometry, vertexCount?: number, indexCount?: number): number;
|
32
|
+
/**
|
33
|
+
* @deprecated use `addGeometry` instead.
|
34
|
+
*/
|
35
|
+
applyGeometry(geometry: BufferGeometry): number;
|
36
|
+
setGeometryAt(id: number, geometry: BufferGeometry): number;
|
37
|
+
deleteGeometry(geometryId: number): this;
|
38
|
+
optimize(): never;
|
39
|
+
setMatrixAt(geometryId: number, matrix: Matrix4): this;
|
40
|
+
getMatrixAt(geometryId: number, matrix: Matrix4): Matrix4;
|
41
|
+
setVisibleAt(geometryId: number, value: boolean): this;
|
42
|
+
getVisibleAt(geometryId: number): boolean;
|
43
|
+
raycast(): void;
|
44
|
+
copy(): never;
|
45
|
+
toJSON(): never;
|
46
|
+
dispose(): this;
|
47
|
+
}
|
48
|
+
export { type BatchedMesh };
|
package/objects/BatchedMesh.d.ts
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Matrix4, Mesh, BufferGeometry, Material, DataTexture, IUniform } from 'three';
|
1
|
+
import type { Matrix4, Mesh, BufferGeometry, Material, DataTexture, IUniform } from 'three';
|
2
2
|
declare class BatchedMesh extends Mesh<BufferGeometry, Material> {
|
3
3
|
_vertexStarts: number[];
|
4
4
|
_vertexCounts: number[];
|
@@ -45,4 +45,4 @@ declare class BatchedMesh extends Mesh<BufferGeometry, Material> {
|
|
45
45
|
toJSON(): never;
|
46
46
|
dispose(): this;
|
47
47
|
}
|
48
|
-
export { BatchedMesh };
|
48
|
+
export { type BatchedMesh };
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import type { Mesh, ShaderMaterial, Texture, CubeTexture, BufferGeometry } from 'three';
|
2
|
+
export interface GroundProjectedEnvParameters {
|
3
|
+
height?: number;
|
4
|
+
radius?: number;
|
5
|
+
}
|
6
|
+
export declare class GroundProjectedEnv extends Mesh<BufferGeometry, ShaderMaterial> {
|
7
|
+
constructor(texture: CubeTexture | Texture, options?: GroundProjectedEnvParameters);
|
8
|
+
set radius(radius: number);
|
9
|
+
get radius(): number;
|
10
|
+
set height(height: number);
|
11
|
+
get height(): number;
|
12
|
+
}
|
package/objects/Lensflare.cjs
CHANGED
@@ -11,16 +11,18 @@ const Lensflare = /* @__PURE__ */ (() => {
|
|
11
11
|
this.renderOrder = Infinity;
|
12
12
|
const positionScreen = new THREE.Vector3();
|
13
13
|
const positionView = new THREE.Vector3();
|
14
|
-
const tempMap = new THREE.
|
15
|
-
tempMap.
|
14
|
+
const tempMap = new THREE.Texture({ width: 16, height: 16 });
|
15
|
+
tempMap.isFramebufferTexture = true;
|
16
16
|
tempMap.magFilter = THREE.NearestFilter;
|
17
|
-
tempMap.
|
18
|
-
tempMap.
|
19
|
-
|
20
|
-
occlusionMap
|
17
|
+
tempMap.minFilter = THREE.NearestFilter;
|
18
|
+
tempMap.generateMipmaps = false;
|
19
|
+
tempMap.needsUpdate = true;
|
20
|
+
const occlusionMap = new THREE.Texture({ width: 16, height: 16 });
|
21
|
+
occlusionMap.isFramebufferTexture = true;
|
21
22
|
occlusionMap.magFilter = THREE.NearestFilter;
|
22
|
-
occlusionMap.
|
23
|
-
occlusionMap.
|
23
|
+
occlusionMap.minFilter = THREE.NearestFilter;
|
24
|
+
occlusionMap.generateMipmaps = false;
|
25
|
+
occlusionMap.needsUpdate = true;
|
24
26
|
const geometry = Lensflare2.Geometry;
|
25
27
|
const material1a = new THREE.RawShaderMaterial({
|
26
28
|
uniforms: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Lensflare.cjs","sources":["../../src/objects/Lensflare.js"],"sourcesContent":["import {\n AdditiveBlending,\n Box2,\n BufferGeometry,\n ClampToEdgeWrapping,\n Color,\n DataTexture,\n InterleavedBuffer,\n InterleavedBufferAttribute,\n Mesh,\n MeshBasicMaterial,\n NearestFilter,\n RGBAFormat,\n RawShaderMaterial,\n Vector2,\n Vector3,\n Vector4,\n} from 'three'\n\nconst Lensflare = /* @__PURE__ */ (() => {\n class Lensflare extends Mesh {\n constructor() {\n super(Lensflare.Geometry, new MeshBasicMaterial({ opacity: 0, transparent: true }))\n\n this.isLensflare = true\n\n this.type = 'Lensflare'\n this.frustumCulled = false\n this.renderOrder = Infinity\n\n //\n\n const positionScreen = new Vector3()\n const positionView = new Vector3()\n\n // textures\n const tempMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat)\n tempMap.minFilter = NearestFilter\n tempMap.magFilter = NearestFilter\n tempMap.wrapS = ClampToEdgeWrapping\n tempMap.wrapT = ClampToEdgeWrapping\n\n const occlusionMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat)\n occlusionMap.minFilter = NearestFilter\n occlusionMap.magFilter = NearestFilter\n occlusionMap.wrapS = ClampToEdgeWrapping\n occlusionMap.wrapT = ClampToEdgeWrapping\n\n // material\n\n const geometry = Lensflare.Geometry\n\n const material1a = new RawShaderMaterial({\n uniforms: {\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );\n\n\t\t\t\t}`,\n depthTest: true,\n depthWrite: false,\n transparent: false,\n })\n\n const material1b = new RawShaderMaterial({\n uniforms: {\n map: { value: tempMap },\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\t\t\t\tattribute vec2 uv;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvUV = uv;\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform sampler2D map;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = texture2D( map, vUV );\n\n\t\t\t\t}`,\n depthTest: false,\n depthWrite: false,\n transparent: false,\n })\n\n // the following object is used for occlusionMap generation\n\n const mesh1 = new Mesh(geometry, material1a)\n\n //\n\n const elements = []\n\n const shader = LensflareElement.Shader\n\n const material2 = new RawShaderMaterial({\n uniforms: {\n map: { value: null },\n occlusionMap: { value: occlusionMap },\n color: { value: new Color(0xffffff) },\n scale: { value: new Vector2() },\n screenPosition: { value: new Vector3() },\n },\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n blending: AdditiveBlending,\n transparent: true,\n depthWrite: false,\n })\n\n const mesh2 = new Mesh(geometry, material2)\n\n this.addElement = function (element) {\n elements.push(element)\n }\n\n //\n\n const scale = new Vector2()\n const screenPositionPixels = new Vector2()\n const validArea = new Box2()\n const viewport = new Vector4()\n\n this.onBeforeRender = function (renderer, scene, camera) {\n renderer.getCurrentViewport(viewport)\n\n const invAspect = viewport.w / viewport.z\n const halfViewportWidth = viewport.z / 2.0\n const halfViewportHeight = viewport.w / 2.0\n\n let size = 16 / viewport.w\n scale.set(size * invAspect, size)\n\n validArea.min.set(viewport.x, viewport.y)\n validArea.max.set(viewport.x + (viewport.z - 16), viewport.y + (viewport.w - 16))\n\n // calculate position in screen space\n\n positionView.setFromMatrixPosition(this.matrixWorld)\n positionView.applyMatrix4(camera.matrixWorldInverse)\n\n if (positionView.z > 0) return // lensflare is behind the camera\n\n positionScreen.copy(positionView).applyMatrix4(camera.projectionMatrix)\n\n // horizontal and vertical coordinate of the lower left corner of the pixels to copy\n\n screenPositionPixels.x = viewport.x + positionScreen.x * halfViewportWidth + halfViewportWidth - 8\n screenPositionPixels.y = viewport.y + positionScreen.y * halfViewportHeight + halfViewportHeight - 8\n\n // screen cull\n\n if (validArea.containsPoint(screenPositionPixels)) {\n // save current RGB to temp texture\n\n renderer.copyFramebufferToTexture(screenPositionPixels, tempMap)\n\n // render pink quad\n\n let uniforms = material1a.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1a, mesh1, null)\n\n // copy result to occlusionMap\n\n renderer.copyFramebufferToTexture(screenPositionPixels, occlusionMap)\n\n // restore graphics\n\n uniforms = material1b.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1b, mesh1, null)\n\n // render elements\n\n const vecX = -positionScreen.x * 2\n const vecY = -positionScreen.y * 2\n\n for (let i = 0, l = elements.length; i < l; i++) {\n const element = elements[i]\n\n const uniforms = material2.uniforms\n\n uniforms['color'].value.copy(element.color)\n uniforms['map'].value = element.texture\n uniforms['screenPosition'].value.x = positionScreen.x + vecX * element.distance\n uniforms['screenPosition'].value.y = positionScreen.y + vecY * element.distance\n\n size = element.size / viewport.w\n const invAspect = viewport.w / viewport.z\n\n uniforms['scale'].value.set(size * invAspect, size)\n\n material2.uniformsNeedUpdate = true\n\n renderer.renderBufferDirect(camera, null, geometry, material2, mesh2, null)\n }\n }\n }\n\n this.dispose = function () {\n material1a.dispose()\n material1b.dispose()\n material2.dispose()\n\n tempMap.dispose()\n occlusionMap.dispose()\n\n for (let i = 0, l = elements.length; i < l; i++) {\n elements[i].texture.dispose()\n }\n }\n }\n }\n\n const _geometry = new BufferGeometry()\n const interleavedBuffer = new InterleavedBuffer(\n new Float32Array([-1, -1, 0, 0, 0, 1, -1, 0, 1, 0, 1, 1, 0, 1, 1, -1, 1, 0, 0, 1]),\n 5,\n )\n\n _geometry.setIndex([0, 1, 2, 0, 2, 3])\n _geometry.setAttribute('position', new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false))\n _geometry.setAttribute('uv', new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false))\n\n Lensflare.Geometry = _geometry\n\n return Lensflare\n})()\n\n//\n\nconst LensflareElement = /* @__PURE__ */ (() => {\n class LensflareElement {\n constructor(texture, size = 1, distance = 0, color = new Color(0xffffff)) {\n this.texture = texture\n this.size = size\n this.distance = distance\n this.color = color\n }\n }\n\n LensflareElement.Shader = {\n uniforms: {\n map: { value: null },\n occlusionMap: { value: null },\n color: { value: null },\n scale: { value: null },\n screenPosition: { value: null },\n },\n\n vertexShader: /* glsl */ `\n\n precision highp float;\n\n uniform vec3 screenPosition;\n uniform vec2 scale;\n\n uniform sampler2D occlusionMap;\n\n attribute vec3 position;\n attribute vec2 uv;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vUV = uv;\n\n vec2 pos = position.xy;\n\n vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\n\n vVisibility = visibility.r / 9.0;\n vVisibility *= 1.0 - visibility.g / 9.0;\n vVisibility *= visibility.b / 9.0;\n\n gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n\n precision highp float;\n\n uniform sampler2D map;\n uniform vec3 color;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vec4 texture = texture2D( map, vUV );\n texture.a *= vVisibility;\n gl_FragColor = texture;\n gl_FragColor.rgb *= color;\n\n }\n `,\n }\n\n return LensflareElement\n})()\n\nexport { Lensflare, LensflareElement }\n"],"names":["Lensflare","Mesh","MeshBasicMaterial","Vector3","DataTexture","RGBAFormat","NearestFilter","ClampToEdgeWrapping","RawShaderMaterial","Color","Vector2","AdditiveBlending","Box2","Vector4","uniforms","invAspect","BufferGeometry","InterleavedBuffer","InterleavedBufferAttribute","LensflareElement"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Lensflare.cjs","sources":["../../src/objects/Lensflare.js"],"sourcesContent":["import {\n AdditiveBlending,\n Box2,\n BufferGeometry,\n Color,\n Texture,\n NearestFilter,\n InterleavedBuffer,\n InterleavedBufferAttribute,\n Mesh,\n MeshBasicMaterial,\n RawShaderMaterial,\n Vector2,\n Vector3,\n Vector4,\n} from 'three'\n\nconst Lensflare = /* @__PURE__ */ (() => {\n class Lensflare extends Mesh {\n constructor() {\n super(Lensflare.Geometry, new MeshBasicMaterial({ opacity: 0, transparent: true }))\n\n this.isLensflare = true\n\n this.type = 'Lensflare'\n this.frustumCulled = false\n this.renderOrder = Infinity\n\n //\n\n const positionScreen = new Vector3()\n const positionView = new Vector3()\n\n // textures\n const tempMap = new Texture({ width: 16, height: 16 })\n tempMap.isFramebufferTexture = true\n tempMap.magFilter = NearestFilter\n tempMap.minFilter = NearestFilter\n tempMap.generateMipmaps = false\n tempMap.needsUpdate = true\n\n const occlusionMap = new Texture({ width: 16, height: 16 })\n occlusionMap.isFramebufferTexture = true\n occlusionMap.magFilter = NearestFilter\n occlusionMap.minFilter = NearestFilter\n occlusionMap.generateMipmaps = false\n occlusionMap.needsUpdate = true\n\n // material\n\n const geometry = Lensflare.Geometry\n\n const material1a = new RawShaderMaterial({\n uniforms: {\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );\n\n\t\t\t\t}`,\n depthTest: true,\n depthWrite: false,\n transparent: false,\n })\n\n const material1b = new RawShaderMaterial({\n uniforms: {\n map: { value: tempMap },\n scale: { value: null },\n screenPosition: { value: null },\n },\n vertexShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\t\t\t\tattribute vec2 uv;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvUV = uv;\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform sampler2D map;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = texture2D( map, vUV );\n\n\t\t\t\t}`,\n depthTest: false,\n depthWrite: false,\n transparent: false,\n })\n\n // the following object is used for occlusionMap generation\n\n const mesh1 = new Mesh(geometry, material1a)\n\n //\n\n const elements = []\n\n const shader = LensflareElement.Shader\n\n const material2 = new RawShaderMaterial({\n uniforms: {\n map: { value: null },\n occlusionMap: { value: occlusionMap },\n color: { value: new Color(0xffffff) },\n scale: { value: new Vector2() },\n screenPosition: { value: new Vector3() },\n },\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n blending: AdditiveBlending,\n transparent: true,\n depthWrite: false,\n })\n\n const mesh2 = new Mesh(geometry, material2)\n\n this.addElement = function (element) {\n elements.push(element)\n }\n\n //\n\n const scale = new Vector2()\n const screenPositionPixels = new Vector2()\n const validArea = new Box2()\n const viewport = new Vector4()\n\n this.onBeforeRender = function (renderer, scene, camera) {\n renderer.getCurrentViewport(viewport)\n\n const invAspect = viewport.w / viewport.z\n const halfViewportWidth = viewport.z / 2.0\n const halfViewportHeight = viewport.w / 2.0\n\n let size = 16 / viewport.w\n scale.set(size * invAspect, size)\n\n validArea.min.set(viewport.x, viewport.y)\n validArea.max.set(viewport.x + (viewport.z - 16), viewport.y + (viewport.w - 16))\n\n // calculate position in screen space\n\n positionView.setFromMatrixPosition(this.matrixWorld)\n positionView.applyMatrix4(camera.matrixWorldInverse)\n\n if (positionView.z > 0) return // lensflare is behind the camera\n\n positionScreen.copy(positionView).applyMatrix4(camera.projectionMatrix)\n\n // horizontal and vertical coordinate of the lower left corner of the pixels to copy\n\n screenPositionPixels.x = viewport.x + positionScreen.x * halfViewportWidth + halfViewportWidth - 8\n screenPositionPixels.y = viewport.y + positionScreen.y * halfViewportHeight + halfViewportHeight - 8\n\n // screen cull\n\n if (validArea.containsPoint(screenPositionPixels)) {\n // save current RGB to temp texture\n\n renderer.copyFramebufferToTexture(screenPositionPixels, tempMap)\n\n // render pink quad\n\n let uniforms = material1a.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1a, mesh1, null)\n\n // copy result to occlusionMap\n\n renderer.copyFramebufferToTexture(screenPositionPixels, occlusionMap)\n\n // restore graphics\n\n uniforms = material1b.uniforms\n uniforms['scale'].value = scale\n uniforms['screenPosition'].value = positionScreen\n\n renderer.renderBufferDirect(camera, null, geometry, material1b, mesh1, null)\n\n // render elements\n\n const vecX = -positionScreen.x * 2\n const vecY = -positionScreen.y * 2\n\n for (let i = 0, l = elements.length; i < l; i++) {\n const element = elements[i]\n\n const uniforms = material2.uniforms\n\n uniforms['color'].value.copy(element.color)\n uniforms['map'].value = element.texture\n uniforms['screenPosition'].value.x = positionScreen.x + vecX * element.distance\n uniforms['screenPosition'].value.y = positionScreen.y + vecY * element.distance\n\n size = element.size / viewport.w\n const invAspect = viewport.w / viewport.z\n\n uniforms['scale'].value.set(size * invAspect, size)\n\n material2.uniformsNeedUpdate = true\n\n renderer.renderBufferDirect(camera, null, geometry, material2, mesh2, null)\n }\n }\n }\n\n this.dispose = function () {\n material1a.dispose()\n material1b.dispose()\n material2.dispose()\n\n tempMap.dispose()\n occlusionMap.dispose()\n\n for (let i = 0, l = elements.length; i < l; i++) {\n elements[i].texture.dispose()\n }\n }\n }\n }\n\n const _geometry = new BufferGeometry()\n const interleavedBuffer = new InterleavedBuffer(\n new Float32Array([-1, -1, 0, 0, 0, 1, -1, 0, 1, 0, 1, 1, 0, 1, 1, -1, 1, 0, 0, 1]),\n 5,\n )\n\n _geometry.setIndex([0, 1, 2, 0, 2, 3])\n _geometry.setAttribute('position', new InterleavedBufferAttribute(interleavedBuffer, 3, 0, false))\n _geometry.setAttribute('uv', new InterleavedBufferAttribute(interleavedBuffer, 2, 3, false))\n\n Lensflare.Geometry = _geometry\n\n return Lensflare\n})()\n\n//\n\nconst LensflareElement = /* @__PURE__ */ (() => {\n class LensflareElement {\n constructor(texture, size = 1, distance = 0, color = new Color(0xffffff)) {\n this.texture = texture\n this.size = size\n this.distance = distance\n this.color = color\n }\n }\n\n LensflareElement.Shader = {\n uniforms: {\n map: { value: null },\n occlusionMap: { value: null },\n color: { value: null },\n scale: { value: null },\n screenPosition: { value: null },\n },\n\n vertexShader: /* glsl */ `\n\n precision highp float;\n\n uniform vec3 screenPosition;\n uniform vec2 scale;\n\n uniform sampler2D occlusionMap;\n\n attribute vec3 position;\n attribute vec2 uv;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vUV = uv;\n\n vec2 pos = position.xy;\n\n vec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\n visibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\n visibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\n\n vVisibility = visibility.r / 9.0;\n vVisibility *= 1.0 - visibility.g / 9.0;\n vVisibility *= visibility.b / 9.0;\n\n gl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n\n }\n `,\n\n fragmentShader: /* glsl */ `\n\n precision highp float;\n\n uniform sampler2D map;\n uniform vec3 color;\n\n varying vec2 vUV;\n varying float vVisibility;\n\n void main() {\n\n vec4 texture = texture2D( map, vUV );\n texture.a *= vVisibility;\n gl_FragColor = texture;\n gl_FragColor.rgb *= color;\n\n }\n `,\n }\n\n return LensflareElement\n})()\n\nexport { Lensflare, LensflareElement }\n"],"names":["Lensflare","Mesh","MeshBasicMaterial","Vector3","Texture","NearestFilter","RawShaderMaterial","Color","Vector2","AdditiveBlending","Box2","Vector4","uniforms","invAspect","BufferGeometry","InterleavedBuffer","InterleavedBufferAttribute","LensflareElement"],"mappings":"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"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import type { Mesh, Texture, Color } from 'three'
|
2
|
+
|
3
|
+
export class LensflareElement {
|
4
|
+
constructor(texture: Texture, size?: number, distance?: number, color?: Color)
|
5
|
+
texture: Texture
|
6
|
+
size: number
|
7
|
+
distance: number
|
8
|
+
color: Color
|
9
|
+
}
|
10
|
+
|
11
|
+
export class Lensflare extends Mesh {
|
12
|
+
constructor()
|
13
|
+
readonly isLensflare: true
|
14
|
+
|
15
|
+
addElement(element: LensflareElement): void
|
16
|
+
dispose(): void
|
17
|
+
}
|
package/objects/Lensflare.d.ts
CHANGED