three-stdlib 2.35.6 → 2.35.8
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/_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