three-stdlib 2.35.3 → 2.35.4
Sign up to get free protection for your applications and to get access to all the features.
- package/_polyfill/CapsuleGeometry.cjs +20 -17
- package/_polyfill/CapsuleGeometry.cjs.map +1 -1
- package/_polyfill/CapsuleGeometry.js +20 -17
- package/_polyfill/CapsuleGeometry.js.map +1 -1
- package/_polyfill/constants.cjs +1 -1
- package/_polyfill/constants.cjs.map +1 -1
- package/_polyfill/constants.js +1 -1
- package/_polyfill/constants.js.map +1 -1
- package/animation/AnimationClipCreator.cjs +13 -13
- package/animation/AnimationClipCreator.cjs.map +1 -1
- package/animation/AnimationClipCreator.js +13 -13
- package/animation/AnimationClipCreator.js.map +1 -1
- package/animation/CCDIKSolver.cjs +11 -11
- package/animation/CCDIKSolver.cjs.map +1 -1
- package/animation/CCDIKSolver.js +12 -12
- package/animation/CCDIKSolver.js.map +1 -1
- package/animation/MMDAnimationHelper.cjs +1 -1
- package/animation/MMDAnimationHelper.cjs.map +1 -1
- package/animation/MMDAnimationHelper.js +1 -1
- package/animation/MMDAnimationHelper.js.map +1 -1
- package/animation/MMDPhysics.cjs +4 -4
- package/animation/MMDPhysics.cjs.map +1 -1
- package/animation/MMDPhysics.js +4 -4
- package/animation/MMDPhysics.js.map +1 -1
- package/controls/ArcballControls.cjs +2 -2
- package/controls/ArcballControls.cjs.map +1 -1
- package/controls/ArcballControls.js +3 -3
- package/controls/ArcballControls.js.map +1 -1
- package/controls/FirstPersonControls.cjs +1 -1
- package/controls/FirstPersonControls.cjs.map +1 -1
- package/controls/FirstPersonControls.js +1 -1
- package/controls/FirstPersonControls.js.map +1 -1
- package/controls/OrbitControls.cjs +2 -2
- package/controls/OrbitControls.cjs.map +1 -1
- package/controls/OrbitControls.js +3 -3
- package/controls/OrbitControls.js.map +1 -1
- package/controls/PointerLockControls.cjs +2 -2
- package/controls/PointerLockControls.cjs.map +1 -1
- package/controls/PointerLockControls.js +3 -3
- package/controls/PointerLockControls.js.map +1 -1
- package/csm/CSM.cjs +4 -4
- package/csm/CSM.cjs.map +1 -1
- package/csm/CSM.js +5 -5
- package/csm/CSM.js.map +1 -1
- package/csm/CSMFrustum.cjs +1 -1
- package/csm/CSMFrustum.cjs.map +1 -1
- package/csm/CSMFrustum.js +2 -2
- package/csm/CSMFrustum.js.map +1 -1
- package/deprecated/Geometry.cjs +722 -715
- package/deprecated/Geometry.cjs.map +1 -1
- package/deprecated/Geometry.js +723 -716
- package/deprecated/Geometry.js.map +1 -1
- package/effects/AnaglyphEffect.cjs +2 -1
- package/effects/AnaglyphEffect.cjs.map +1 -1
- package/effects/AnaglyphEffect.js +3 -2
- package/effects/AnaglyphEffect.js.map +1 -1
- package/effects/OutlineEffect.cjs +2 -1
- package/effects/OutlineEffect.cjs.map +1 -1
- package/effects/OutlineEffect.js +3 -2
- package/effects/OutlineEffect.js.map +1 -1
- package/effects/ParallaxBarrierEffect.cjs +2 -1
- package/effects/ParallaxBarrierEffect.cjs.map +1 -1
- package/effects/ParallaxBarrierEffect.js +3 -2
- package/effects/ParallaxBarrierEffect.js.map +1 -1
- package/exporters/DRACOExporter.cjs +133 -122
- package/exporters/DRACOExporter.cjs.map +1 -1
- package/exporters/DRACOExporter.d.ts +23 -21
- package/exporters/DRACOExporter.js +133 -122
- package/exporters/DRACOExporter.js.map +1 -1
- package/exporters/GLTFExporter.cjs +170 -167
- package/exporters/GLTFExporter.cjs.map +1 -1
- package/exporters/GLTFExporter.js +170 -167
- package/exporters/GLTFExporter.js.map +1 -1
- package/geometries/LightningStrike.cjs +524 -515
- package/geometries/LightningStrike.cjs.map +1 -1
- package/geometries/LightningStrike.js +524 -515
- package/geometries/LightningStrike.js.map +1 -1
- package/geometries/RoundedBoxGeometry.cjs +1 -1
- package/geometries/RoundedBoxGeometry.cjs.map +1 -1
- package/geometries/RoundedBoxGeometry.js +2 -2
- package/geometries/RoundedBoxGeometry.js.map +1 -1
- package/helpers/RaycasterHelper.cjs +2 -2
- package/helpers/RaycasterHelper.cjs.map +1 -1
- package/helpers/RaycasterHelper.js +3 -3
- package/helpers/RaycasterHelper.js.map +1 -1
- package/helpers/VertexNormalsHelper.cjs +3 -3
- package/helpers/VertexNormalsHelper.cjs.map +1 -1
- package/helpers/VertexNormalsHelper.js +4 -4
- package/helpers/VertexNormalsHelper.js.map +1 -1
- package/helpers/VertexTangentsHelper.cjs +2 -2
- package/helpers/VertexTangentsHelper.cjs.map +1 -1
- package/helpers/VertexTangentsHelper.js +3 -3
- package/helpers/VertexTangentsHelper.js.map +1 -1
- package/interactive/InteractiveGroup.cjs +1 -1
- package/interactive/InteractiveGroup.cjs.map +1 -1
- package/interactive/InteractiveGroup.js +2 -2
- package/interactive/InteractiveGroup.js.map +1 -1
- package/interactive/SelectionBox.cjs +15 -15
- package/interactive/SelectionBox.cjs.map +1 -1
- package/interactive/SelectionBox.js +16 -16
- package/interactive/SelectionBox.js.map +1 -1
- package/libs/chevrotain.cjs +1 -1
- package/libs/chevrotain.cjs.map +1 -1
- package/libs/chevrotain.js +1 -1
- package/libs/chevrotain.js.map +1 -1
- package/libs/lottie.cjs +1 -1
- package/libs/lottie.cjs.map +1 -1
- package/libs/lottie.js +1 -1
- package/libs/lottie.js.map +1 -1
- package/libs/opentype.cjs +1 -1
- package/libs/opentype.cjs.map +1 -1
- package/libs/opentype.js +1 -1
- package/libs/opentype.js.map +1 -1
- package/lights/LightProbeGenerator.cjs +5 -5
- package/lights/LightProbeGenerator.cjs.map +1 -1
- package/lights/LightProbeGenerator.js +5 -5
- package/lights/LightProbeGenerator.js.map +1 -1
- package/lights/RectAreaLightUniformsLib.cjs +3 -3
- package/lights/RectAreaLightUniformsLib.cjs.map +1 -1
- package/lights/RectAreaLightUniformsLib.js +3 -3
- package/lights/RectAreaLightUniformsLib.js.map +1 -1
- package/lines/LineMaterial.cjs +2 -1
- package/lines/LineMaterial.cjs.map +1 -1
- package/lines/LineMaterial.js +3 -2
- package/lines/LineMaterial.js.map +1 -1
- package/lines/LineSegments2.cjs +13 -13
- package/lines/LineSegments2.cjs.map +1 -1
- package/lines/LineSegments2.js +14 -14
- package/lines/LineSegments2.js.map +1 -1
- package/lines/LineSegmentsGeometry.cjs +2 -2
- package/lines/LineSegmentsGeometry.cjs.map +1 -1
- package/lines/LineSegmentsGeometry.js +3 -3
- package/lines/LineSegmentsGeometry.js.map +1 -1
- package/lines/Wireframe.cjs +3 -3
- package/lines/Wireframe.cjs.map +1 -1
- package/lines/Wireframe.js +4 -4
- package/lines/Wireframe.js.map +1 -1
- package/loaders/BasisTextureLoader.cjs +441 -435
- package/loaders/BasisTextureLoader.cjs.map +1 -1
- package/loaders/BasisTextureLoader.js +441 -435
- package/loaders/BasisTextureLoader.js.map +1 -1
- package/loaders/EXRLoader.cjs +2 -1
- package/loaders/EXRLoader.cjs.map +1 -1
- package/loaders/EXRLoader.js +3 -2
- package/loaders/EXRLoader.js.map +1 -1
- package/loaders/FBXLoader.cjs +2 -2
- package/loaders/FBXLoader.cjs.map +1 -1
- package/loaders/FBXLoader.js +2 -2
- package/loaders/FBXLoader.js.map +1 -1
- package/loaders/FontLoader.cjs +2 -2
- package/loaders/FontLoader.cjs.map +1 -1
- package/loaders/FontLoader.d.ts +2 -2
- package/loaders/FontLoader.js +2 -2
- package/loaders/FontLoader.js.map +1 -1
- package/loaders/GLTFLoader.cjs +2 -2
- package/loaders/GLTFLoader.cjs.map +1 -1
- package/loaders/GLTFLoader.js +2 -2
- package/loaders/GLTFLoader.js.map +1 -1
- package/loaders/KTX2Loader.cjs +377 -374
- package/loaders/KTX2Loader.cjs.map +1 -1
- package/loaders/KTX2Loader.js +377 -374
- package/loaders/KTX2Loader.js.map +1 -1
- package/loaders/LDrawLoader.cjs +5 -4
- package/loaders/LDrawLoader.cjs.map +1 -1
- package/loaders/LDrawLoader.js +6 -5
- package/loaders/LDrawLoader.js.map +1 -1
- package/loaders/OBJLoader.cjs +5 -5
- package/loaders/OBJLoader.cjs.map +1 -1
- package/loaders/OBJLoader.js +6 -6
- package/loaders/OBJLoader.js.map +1 -1
- package/loaders/PRWMLoader.cjs +46 -43
- package/loaders/PRWMLoader.cjs.map +1 -1
- package/loaders/PRWMLoader.js +46 -43
- package/loaders/PRWMLoader.js.map +1 -1
- package/loaders/SVGLoader.cjs +1694 -1688
- package/loaders/SVGLoader.cjs.map +1 -1
- package/loaders/SVGLoader.js +1694 -1688
- package/loaders/SVGLoader.js.map +1 -1
- package/loaders/XLoader.cjs +1 -1
- package/loaders/XLoader.cjs.map +1 -1
- package/loaders/XLoader.js +1 -1
- package/loaders/XLoader.js.map +1 -1
- package/math/Capsule.cjs +3 -3
- package/math/Capsule.cjs.map +1 -1
- package/math/Capsule.js +3 -3
- package/math/Capsule.js.map +1 -1
- package/math/ColorConverter.cjs +9 -9
- package/math/ColorConverter.cjs.map +1 -1
- package/math/ColorConverter.js +9 -9
- package/math/ColorConverter.js.map +1 -1
- package/math/ConvexHull.cjs +53 -50
- package/math/ConvexHull.cjs.map +1 -1
- package/math/ConvexHull.js +53 -50
- package/math/ConvexHull.js.map +1 -1
- package/math/ImprovedNoise.cjs +1 -1
- package/math/ImprovedNoise.cjs.map +1 -1
- package/math/ImprovedNoise.js +1 -1
- package/math/ImprovedNoise.js.map +1 -1
- package/math/MeshSurfaceSampler.cjs +2 -2
- package/math/MeshSurfaceSampler.cjs.map +1 -1
- package/math/MeshSurfaceSampler.js +2 -2
- package/math/MeshSurfaceSampler.js.map +1 -1
- package/math/OBB.cjs +14 -14
- package/math/OBB.cjs.map +1 -1
- package/math/OBB.js +15 -15
- package/math/OBB.js.map +1 -1
- package/math/Octree.cjs +7 -7
- package/math/Octree.cjs.map +1 -1
- package/math/Octree.js +8 -8
- package/math/Octree.js.map +1 -1
- package/misc/ConvexObjectBreaker.cjs +271 -268
- package/misc/ConvexObjectBreaker.cjs.map +1 -1
- package/misc/ConvexObjectBreaker.js +272 -269
- package/misc/ConvexObjectBreaker.js.map +1 -1
- package/misc/Gyroscope.cjs +6 -6
- package/misc/Gyroscope.cjs.map +1 -1
- package/misc/Gyroscope.js +7 -7
- package/misc/Gyroscope.js.map +1 -1
- package/modifiers/CurveModifier.cjs +1 -1
- package/modifiers/CurveModifier.cjs.map +1 -1
- package/modifiers/CurveModifier.js +2 -2
- package/modifiers/CurveModifier.js.map +1 -1
- package/modifiers/SimplifyModifier.cjs +2 -2
- package/modifiers/SimplifyModifier.cjs.map +1 -1
- package/modifiers/SimplifyModifier.js +2 -2
- package/modifiers/SimplifyModifier.js.map +1 -1
- package/objects/BatchedMesh.cjs +2 -2
- package/objects/BatchedMesh.cjs.map +1 -1
- package/objects/BatchedMesh.js +3 -3
- package/objects/BatchedMesh.js.map +1 -1
- package/objects/GroundProjectedEnv.cjs +2 -1
- package/objects/GroundProjectedEnv.cjs.map +1 -1
- package/objects/GroundProjectedEnv.js +3 -2
- package/objects/GroundProjectedEnv.js.map +1 -1
- package/objects/Lensflare.cjs +209 -206
- package/objects/Lensflare.cjs.map +1 -1
- package/objects/Lensflare.js +209 -206
- package/objects/Lensflare.js.map +1 -1
- package/objects/Reflector.cjs +154 -146
- package/objects/Reflector.cjs.map +1 -1
- package/objects/Reflector.js +154 -146
- package/objects/Reflector.js.map +1 -1
- package/objects/ReflectorForSSRPass.cjs +183 -180
- package/objects/ReflectorForSSRPass.cjs.map +1 -1
- package/objects/ReflectorForSSRPass.js +183 -180
- package/objects/ReflectorForSSRPass.js.map +1 -1
- package/objects/Refractor.cjs +164 -161
- package/objects/Refractor.cjs.map +1 -1
- package/objects/Refractor.js +164 -161
- package/objects/Refractor.js.map +1 -1
- package/objects/ShadowMesh.cjs +1 -1
- package/objects/ShadowMesh.cjs.map +1 -1
- package/objects/ShadowMesh.js +2 -2
- package/objects/ShadowMesh.js.map +1 -1
- package/objects/Sky.cjs +35 -32
- package/objects/Sky.cjs.map +1 -1
- package/objects/Sky.d.ts +100 -6
- package/objects/Sky.js +35 -32
- package/objects/Sky.js.map +1 -1
- package/objects/Water.cjs +2 -1
- package/objects/Water.cjs.map +1 -1
- package/objects/Water.js +3 -2
- package/objects/Water.js.map +1 -1
- package/objects/Water2.cjs +143 -140
- package/objects/Water2.cjs.map +1 -1
- package/objects/Water2.js +143 -140
- package/objects/Water2.js.map +1 -1
- package/package.json +1 -1
- package/postprocessing/SAOPass.cjs +267 -264
- package/postprocessing/SAOPass.cjs.map +1 -1
- package/postprocessing/SAOPass.js +267 -264
- package/postprocessing/SAOPass.js.map +1 -1
- package/postprocessing/SSAOPass.cjs +253 -250
- package/postprocessing/SSAOPass.cjs.map +1 -1
- package/postprocessing/SSAOPass.js +253 -250
- package/postprocessing/SSAOPass.js.map +1 -1
- package/postprocessing/SSRPass.cjs +379 -376
- package/postprocessing/SSRPass.cjs.map +1 -1
- package/postprocessing/SSRPass.js +379 -376
- package/postprocessing/SSRPass.js.map +1 -1
- package/postprocessing/UnrealBloomPass.cjs +205 -202
- package/postprocessing/UnrealBloomPass.cjs.map +1 -1
- package/postprocessing/UnrealBloomPass.js +205 -202
- package/postprocessing/UnrealBloomPass.js.map +1 -1
- package/renderers/CSS2DRenderer.cjs +5 -5
- package/renderers/CSS2DRenderer.cjs.map +1 -1
- package/renderers/CSS2DRenderer.js +5 -5
- package/renderers/CSS2DRenderer.js.map +1 -1
- package/renderers/CSS3DRenderer.cjs +5 -5
- package/renderers/CSS3DRenderer.cjs.map +1 -1
- package/renderers/CSS3DRenderer.js +6 -6
- package/renderers/CSS3DRenderer.js.map +1 -1
- package/shaders/ACESFilmicToneMappingShader.cjs +71 -46
- package/shaders/ACESFilmicToneMappingShader.cjs.map +1 -1
- package/shaders/ACESFilmicToneMappingShader.js +71 -46
- package/shaders/ACESFilmicToneMappingShader.js.map +1 -1
- package/shaders/AfterimageShader.cjs +41 -22
- package/shaders/AfterimageShader.cjs.map +1 -1
- package/shaders/AfterimageShader.js +41 -22
- package/shaders/AfterimageShader.js.map +1 -1
- package/shaders/BasicShader.cjs +20 -6
- package/shaders/BasicShader.cjs.map +1 -1
- package/shaders/BasicShader.js +20 -6
- package/shaders/BasicShader.js.map +1 -1
- package/shaders/BleachBypassShader.cjs +46 -26
- package/shaders/BleachBypassShader.cjs.map +1 -1
- package/shaders/BleachBypassShader.js +46 -26
- package/shaders/BleachBypassShader.js.map +1 -1
- package/shaders/BlendShader.cjs +33 -19
- package/shaders/BlendShader.cjs.map +1 -1
- package/shaders/BlendShader.js +33 -19
- package/shaders/BlendShader.js.map +1 -1
- package/shaders/BokehShader.cjs +117 -90
- package/shaders/BokehShader.cjs.map +1 -1
- package/shaders/BokehShader.js +117 -90
- package/shaders/BokehShader.js.map +1 -1
- package/shaders/BokehShader2.cjs +333 -232
- package/shaders/BokehShader2.cjs.map +1 -1
- package/shaders/BokehShader2.js +333 -232
- package/shaders/BokehShader2.js.map +1 -1
- package/shaders/BrightnessContrastShader.cjs +38 -22
- package/shaders/BrightnessContrastShader.cjs.map +1 -1
- package/shaders/BrightnessContrastShader.js +38 -22
- package/shaders/BrightnessContrastShader.js.map +1 -1
- package/shaders/ColorCorrectionShader.cjs +35 -21
- package/shaders/ColorCorrectionShader.cjs.map +1 -1
- package/shaders/ColorCorrectionShader.js +35 -21
- package/shaders/ColorCorrectionShader.js.map +1 -1
- package/shaders/ColorifyShader.cjs +34 -19
- package/shaders/ColorifyShader.cjs.map +1 -1
- package/shaders/ColorifyShader.js +34 -19
- package/shaders/ColorifyShader.js.map +1 -1
- package/shaders/ConvolutionShader.cjs +43 -24
- package/shaders/ConvolutionShader.cjs.map +1 -1
- package/shaders/ConvolutionShader.js +43 -24
- package/shaders/ConvolutionShader.js.map +1 -1
- package/shaders/CopyShader.cjs +30 -16
- package/shaders/CopyShader.cjs.map +1 -1
- package/shaders/CopyShader.js +30 -16
- package/shaders/CopyShader.js.map +1 -1
- package/shaders/DOFMipMapShader.cjs +38 -21
- package/shaders/DOFMipMapShader.cjs.map +1 -1
- package/shaders/DOFMipMapShader.js +38 -21
- package/shaders/DOFMipMapShader.js.map +1 -1
- package/shaders/DepthLimitedBlurShader.cjs +98 -69
- package/shaders/DepthLimitedBlurShader.cjs.map +1 -1
- package/shaders/DepthLimitedBlurShader.js +98 -69
- package/shaders/DepthLimitedBlurShader.js.map +1 -1
- package/shaders/DigitalGlitch.cjs +70 -59
- package/shaders/DigitalGlitch.cjs.map +1 -1
- package/shaders/DigitalGlitch.js +70 -59
- package/shaders/DigitalGlitch.js.map +1 -1
- package/shaders/DotScreenShader.cjs +49 -28
- package/shaders/DotScreenShader.cjs.map +1 -1
- package/shaders/DotScreenShader.js +49 -28
- package/shaders/DotScreenShader.js.map +1 -1
- package/shaders/FXAAShader.cjs +1098 -1089
- package/shaders/FXAAShader.cjs.map +1 -1
- package/shaders/FXAAShader.js +1098 -1089
- package/shaders/FXAAShader.js.map +1 -1
- package/shaders/FilmShader.cjs +57 -29
- package/shaders/FilmShader.cjs.map +1 -1
- package/shaders/FilmShader.js +57 -29
- package/shaders/FilmShader.js.map +1 -1
- package/shaders/FocusShader.cjs +70 -43
- package/shaders/FocusShader.cjs.map +1 -1
- package/shaders/FocusShader.js +70 -43
- package/shaders/FocusShader.js.map +1 -1
- package/shaders/FreiChenShader.cjs +74 -53
- package/shaders/FreiChenShader.cjs.map +1 -1
- package/shaders/FreiChenShader.js +74 -53
- package/shaders/FreiChenShader.js.map +1 -1
- package/shaders/FresnelShader.cjs +55 -35
- package/shaders/FresnelShader.cjs.map +1 -1
- package/shaders/FresnelShader.js +55 -35
- package/shaders/FresnelShader.js.map +1 -1
- package/shaders/GammaCorrectionShader.cjs +33 -19
- package/shaders/GammaCorrectionShader.cjs.map +1 -1
- package/shaders/GammaCorrectionShader.js +33 -19
- package/shaders/GammaCorrectionShader.js.map +1 -1
- package/shaders/GodRaysShader.cjs +193 -116
- package/shaders/GodRaysShader.cjs.map +1 -1
- package/shaders/GodRaysShader.js +193 -116
- package/shaders/GodRaysShader.js.map +1 -1
- package/shaders/HalftoneShader.cjs +270 -192
- package/shaders/HalftoneShader.cjs.map +1 -1
- package/shaders/HalftoneShader.js +270 -192
- package/shaders/HalftoneShader.js.map +1 -1
- package/shaders/HorizontalTiltShiftShader.cjs +43 -27
- package/shaders/HorizontalTiltShiftShader.cjs.map +1 -1
- package/shaders/HorizontalTiltShiftShader.js +43 -27
- package/shaders/HorizontalTiltShiftShader.js.map +1 -1
- package/shaders/HueSaturationShader.cjs +47 -31
- package/shaders/HueSaturationShader.cjs.map +1 -1
- package/shaders/HueSaturationShader.js +47 -31
- package/shaders/HueSaturationShader.js.map +1 -1
- package/shaders/KaleidoShader.cjs +37 -24
- package/shaders/KaleidoShader.cjs.map +1 -1
- package/shaders/KaleidoShader.js +37 -24
- package/shaders/KaleidoShader.js.map +1 -1
- package/shaders/LuminosityHighPassShader.cjs +43 -24
- package/shaders/LuminosityHighPassShader.cjs.map +1 -1
- package/shaders/LuminosityHighPassShader.js +43 -24
- package/shaders/LuminosityHighPassShader.js.map +1 -1
- package/shaders/LuminosityShader.cjs +34 -17
- package/shaders/LuminosityShader.cjs.map +1 -1
- package/shaders/LuminosityShader.js +34 -17
- package/shaders/LuminosityShader.js.map +1 -1
- package/shaders/MirrorShader.cjs +39 -26
- package/shaders/MirrorShader.cjs.map +1 -1
- package/shaders/MirrorShader.js +39 -26
- package/shaders/MirrorShader.js.map +1 -1
- package/shaders/NormalMapShader.cjs +36 -21
- package/shaders/NormalMapShader.cjs.map +1 -1
- package/shaders/NormalMapShader.js +36 -21
- package/shaders/NormalMapShader.js.map +1 -1
- package/shaders/ParallaxShader.cjs +147 -97
- package/shaders/ParallaxShader.cjs.map +1 -1
- package/shaders/ParallaxShader.js +147 -97
- package/shaders/ParallaxShader.js.map +1 -1
- package/shaders/PixelShader.cjs +31 -18
- package/shaders/PixelShader.cjs.map +1 -1
- package/shaders/PixelShader.js +31 -18
- package/shaders/PixelShader.js.map +1 -1
- package/shaders/RGBShiftShader.cjs +33 -20
- package/shaders/RGBShiftShader.cjs.map +1 -1
- package/shaders/RGBShiftShader.js +33 -20
- package/shaders/RGBShiftShader.js.map +1 -1
- package/shaders/SAOShader.cjs +154 -117
- package/shaders/SAOShader.cjs.map +1 -1
- package/shaders/SAOShader.js +154 -117
- package/shaders/SAOShader.js.map +1 -1
- package/shaders/SMAAShader.cjs +358 -270
- package/shaders/SMAAShader.cjs.map +1 -1
- package/shaders/SMAAShader.js +358 -270
- package/shaders/SMAAShader.js.map +1 -1
- package/shaders/SSAOShader.cjs +236 -142
- package/shaders/SSAOShader.cjs.map +1 -1
- package/shaders/SSAOShader.js +236 -142
- package/shaders/SSAOShader.js.map +1 -1
- package/shaders/SSRShader.cjs +4 -4
- package/shaders/SSRShader.cjs.map +1 -1
- package/shaders/SSRShader.js +4 -4
- package/shaders/SSRShader.js.map +1 -1
- package/shaders/SepiaShader.cjs +36 -20
- package/shaders/SepiaShader.cjs.map +1 -1
- package/shaders/SepiaShader.js +36 -20
- package/shaders/SepiaShader.js.map +1 -1
- package/shaders/SobelOperatorShader.cjs +64 -37
- package/shaders/SobelOperatorShader.cjs.map +1 -1
- package/shaders/SobelOperatorShader.js +64 -37
- package/shaders/SobelOperatorShader.js.map +1 -1
- package/shaders/TechnicolorShader.cjs +29 -16
- package/shaders/TechnicolorShader.cjs.map +1 -1
- package/shaders/TechnicolorShader.js +29 -16
- package/shaders/TechnicolorShader.js.map +1 -1
- package/shaders/ToneMapShader.cjs +55 -35
- package/shaders/ToneMapShader.cjs.map +1 -1
- package/shaders/ToneMapShader.js +55 -35
- package/shaders/ToneMapShader.js.map +1 -1
- package/shaders/ToonShader.cjs +275 -165
- package/shaders/ToonShader.cjs.map +1 -1
- package/shaders/ToonShader.js +275 -165
- package/shaders/ToonShader.js.map +1 -1
- package/shaders/TriangleBlurShader.cjs +50 -27
- package/shaders/TriangleBlurShader.cjs.map +1 -1
- package/shaders/TriangleBlurShader.js +50 -27
- package/shaders/TriangleBlurShader.js.map +1 -1
- package/shaders/UnpackDepthRGBAShader.cjs +32 -17
- package/shaders/UnpackDepthRGBAShader.cjs.map +1 -1
- package/shaders/UnpackDepthRGBAShader.js +32 -17
- package/shaders/UnpackDepthRGBAShader.js.map +1 -1
- package/shaders/VerticalTiltShiftShader.cjs +43 -27
- package/shaders/VerticalTiltShiftShader.cjs.map +1 -1
- package/shaders/VerticalTiltShiftShader.js +43 -27
- package/shaders/VerticalTiltShiftShader.js.map +1 -1
- package/shaders/VignetteShader.cjs +43 -27
- package/shaders/VignetteShader.cjs.map +1 -1
- package/shaders/VignetteShader.js +43 -27
- package/shaders/VignetteShader.js.map +1 -1
- package/shaders/VolumeShader.cjs +264 -213
- package/shaders/VolumeShader.cjs.map +1 -1
- package/shaders/VolumeShader.js +264 -213
- package/shaders/VolumeShader.js.map +1 -1
- package/shaders/WaterRefractionShader.cjs +63 -35
- package/shaders/WaterRefractionShader.cjs.map +1 -1
- package/shaders/WaterRefractionShader.js +63 -35
- package/shaders/WaterRefractionShader.js.map +1 -1
- package/utils/GeometryCompressionUtils.cjs +2 -1
- package/utils/GeometryCompressionUtils.cjs.map +1 -1
- package/utils/GeometryCompressionUtils.js +3 -2
- package/utils/GeometryCompressionUtils.js.map +1 -1
- package/utils/RoughnessMipmapper.cjs +3 -3
- package/utils/RoughnessMipmapper.cjs.map +1 -1
- package/utils/RoughnessMipmapper.js +4 -4
- package/utils/RoughnessMipmapper.js.map +1 -1
- package/webxr/ARButton.cjs +109 -106
- package/webxr/ARButton.cjs.map +1 -1
- package/webxr/ARButton.d.ts +4 -3
- package/webxr/ARButton.js +109 -106
- package/webxr/ARButton.js.map +1 -1
- package/webxr/OculusHandPointerModel.cjs +2 -2
- package/webxr/OculusHandPointerModel.cjs.map +1 -1
- package/webxr/OculusHandPointerModel.js +2 -2
- package/webxr/OculusHandPointerModel.js.map +1 -1
- package/webxr/VRButton.cjs +98 -95
- package/webxr/VRButton.cjs.map +1 -1
- package/webxr/VRButton.d.ts +6 -5
- package/webxr/VRButton.js +98 -95
- package/webxr/VRButton.js.map +1 -1
- package/webxr/XRHandPrimitiveModel.cjs +2 -2
- package/webxr/XRHandPrimitiveModel.cjs.map +1 -1
- package/webxr/XRHandPrimitiveModel.js +3 -3
- package/webxr/XRHandPrimitiveModel.js.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SSAOPass.js","sources":["../../src/postprocessing/SSAOPass.js"],"sourcesContent":["import {\n AddEquation,\n Color,\n CustomBlending,\n DataTexture,\n DepthTexture,\n DstAlphaFactor,\n DstColorFactor,\n FloatType,\n MathUtils,\n MeshNormalMaterial,\n NearestFilter,\n NoBlending,\n RedFormat,\n LuminanceFormat,\n DepthStencilFormat,\n UnsignedInt248Type,\n RepeatWrapping,\n ShaderMaterial,\n UniformsUtils,\n Vector3,\n WebGLRenderTarget,\n ZeroFactor,\n} from 'three'\nimport { Pass, FullScreenQuad } from './Pass'\nimport { SimplexNoise } from '../math/SimplexNoise'\nimport { SSAOShader, SSAOBlurShader, SSAODepthShader } from '../shaders/SSAOShader'\n\nimport { CopyShader } from '../shaders/CopyShader'\n\nclass SSAOPass extends Pass {\n static OUTPUT = {\n Default: 0,\n SSAO: 1,\n Blur: 2,\n Beauty: 3,\n Depth: 4,\n Normal: 5,\n }\n\n constructor(scene, camera, width, height) {\n super()\n\n this.width = width !== undefined ? width : 512\n this.height = height !== undefined ? height : 512\n\n this.clear = true\n\n this.camera = camera\n this.scene = scene\n\n this.kernelRadius = 8\n this.kernelSize = 32\n this.kernel = []\n this.noiseTexture = null\n this.output = 0\n\n this.minDistance = 0.005\n this.maxDistance = 0.1\n\n this._visibilityCache = new Map()\n\n //\n\n this.generateSampleKernel()\n this.generateRandomKernelRotations()\n\n // beauty render target\n\n const depthTexture = new DepthTexture()\n depthTexture.format = DepthStencilFormat\n depthTexture.type = UnsignedInt248Type\n\n this.beautyRenderTarget = new WebGLRenderTarget(this.width, this.height)\n\n // normal render target with depth buffer\n\n this.normalRenderTarget = new WebGLRenderTarget(this.width, this.height, {\n minFilter: NearestFilter,\n magFilter: NearestFilter,\n depthTexture: depthTexture,\n })\n\n // ssao render target\n\n this.ssaoRenderTarget = new WebGLRenderTarget(this.width, this.height)\n\n this.blurRenderTarget = this.ssaoRenderTarget.clone()\n\n // ssao material\n\n if (SSAOShader === undefined) {\n console.error('THREE.SSAOPass: The pass relies on SSAOShader.')\n }\n\n this.ssaoMaterial = new ShaderMaterial({\n defines: Object.assign({}, SSAOShader.defines),\n uniforms: UniformsUtils.clone(SSAOShader.uniforms),\n vertexShader: SSAOShader.vertexShader,\n fragmentShader: SSAOShader.fragmentShader,\n blending: NoBlending,\n })\n\n this.ssaoMaterial.uniforms['tDiffuse'].value = this.beautyRenderTarget.texture\n this.ssaoMaterial.uniforms['tNormal'].value = this.normalRenderTarget.texture\n this.ssaoMaterial.uniforms['tDepth'].value = this.normalRenderTarget.depthTexture\n this.ssaoMaterial.uniforms['tNoise'].value = this.noiseTexture\n this.ssaoMaterial.uniforms['kernel'].value = this.kernel\n this.ssaoMaterial.uniforms['cameraNear'].value = this.camera.near\n this.ssaoMaterial.uniforms['cameraFar'].value = this.camera.far\n this.ssaoMaterial.uniforms['resolution'].value.set(this.width, this.height)\n this.ssaoMaterial.uniforms['cameraProjectionMatrix'].value.copy(this.camera.projectionMatrix)\n this.ssaoMaterial.uniforms['cameraInverseProjectionMatrix'].value.copy(this.camera.projectionMatrixInverse)\n\n // normal material\n\n this.normalMaterial = new MeshNormalMaterial()\n this.normalMaterial.blending = NoBlending\n\n // blur material\n\n this.blurMaterial = new ShaderMaterial({\n defines: Object.assign({}, SSAOBlurShader.defines),\n uniforms: UniformsUtils.clone(SSAOBlurShader.uniforms),\n vertexShader: SSAOBlurShader.vertexShader,\n fragmentShader: SSAOBlurShader.fragmentShader,\n })\n this.blurMaterial.uniforms['tDiffuse'].value = this.ssaoRenderTarget.texture\n this.blurMaterial.uniforms['resolution'].value.set(this.width, this.height)\n\n // material for rendering the depth\n\n this.depthRenderMaterial = new ShaderMaterial({\n defines: Object.assign({}, SSAODepthShader.defines),\n uniforms: UniformsUtils.clone(SSAODepthShader.uniforms),\n vertexShader: SSAODepthShader.vertexShader,\n fragmentShader: SSAODepthShader.fragmentShader,\n blending: NoBlending,\n })\n this.depthRenderMaterial.uniforms['tDepth'].value = this.normalRenderTarget.depthTexture\n this.depthRenderMaterial.uniforms['cameraNear'].value = this.camera.near\n this.depthRenderMaterial.uniforms['cameraFar'].value = this.camera.far\n\n // material for rendering the content of a render target\n\n this.copyMaterial = new ShaderMaterial({\n uniforms: UniformsUtils.clone(CopyShader.uniforms),\n vertexShader: CopyShader.vertexShader,\n fragmentShader: CopyShader.fragmentShader,\n transparent: true,\n depthTest: false,\n depthWrite: false,\n blendSrc: DstColorFactor,\n blendDst: ZeroFactor,\n blendEquation: AddEquation,\n blendSrcAlpha: DstAlphaFactor,\n blendDstAlpha: ZeroFactor,\n blendEquationAlpha: AddEquation,\n })\n\n this.fsQuad = new FullScreenQuad(null)\n\n this.originalClearColor = new Color()\n }\n\n dispose() {\n // dispose render targets\n\n this.beautyRenderTarget.dispose()\n this.normalRenderTarget.dispose()\n this.ssaoRenderTarget.dispose()\n this.blurRenderTarget.dispose()\n\n // dispose materials\n\n this.normalMaterial.dispose()\n this.blurMaterial.dispose()\n this.copyMaterial.dispose()\n this.depthRenderMaterial.dispose()\n\n // dipsose full screen quad\n\n this.fsQuad.dispose()\n }\n\n render(renderer, writeBuffer /*, readBuffer, deltaTime, maskActive */) {\n if (renderer.capabilities.isWebGL2 === false) this.noiseTexture.format = LuminanceFormat\n\n // render beauty\n\n renderer.setRenderTarget(this.beautyRenderTarget)\n renderer.clear()\n renderer.render(this.scene, this.camera)\n\n // render normals and depth (honor only meshes, points and lines do not contribute to SSAO)\n\n this.overrideVisibility()\n this.renderOverride(renderer, this.normalMaterial, this.normalRenderTarget, 0x7777ff, 1.0)\n this.restoreVisibility()\n\n // render SSAO\n\n this.ssaoMaterial.uniforms['kernelRadius'].value = this.kernelRadius\n this.ssaoMaterial.uniforms['minDistance'].value = this.minDistance\n this.ssaoMaterial.uniforms['maxDistance'].value = this.maxDistance\n this.renderPass(renderer, this.ssaoMaterial, this.ssaoRenderTarget)\n\n // render blur\n\n this.renderPass(renderer, this.blurMaterial, this.blurRenderTarget)\n\n // output result to screen\n\n switch (this.output) {\n case SSAOPass.OUTPUT.SSAO:\n this.copyMaterial.uniforms['tDiffuse'].value = this.ssaoRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Blur:\n this.copyMaterial.uniforms['tDiffuse'].value = this.blurRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Beauty:\n this.copyMaterial.uniforms['tDiffuse'].value = this.beautyRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Depth:\n this.renderPass(renderer, this.depthRenderMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Normal:\n this.copyMaterial.uniforms['tDiffuse'].value = this.normalRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Default:\n this.copyMaterial.uniforms['tDiffuse'].value = this.beautyRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n this.copyMaterial.uniforms['tDiffuse'].value = this.blurRenderTarget.texture\n this.copyMaterial.blending = CustomBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n default:\n console.warn('THREE.SSAOPass: Unknown output type.')\n }\n }\n\n renderPass(renderer, passMaterial, renderTarget, clearColor, clearAlpha) {\n // save original state\n renderer.getClearColor(this.originalClearColor)\n const originalClearAlpha = renderer.getClearAlpha()\n const originalAutoClear = renderer.autoClear\n\n renderer.setRenderTarget(renderTarget)\n\n // setup pass state\n renderer.autoClear = false\n if (clearColor !== undefined && clearColor !== null) {\n renderer.setClearColor(clearColor)\n renderer.setClearAlpha(clearAlpha || 0.0)\n renderer.clear()\n }\n\n this.fsQuad.material = passMaterial\n this.fsQuad.render(renderer)\n\n // restore original state\n renderer.autoClear = originalAutoClear\n renderer.setClearColor(this.originalClearColor)\n renderer.setClearAlpha(originalClearAlpha)\n }\n\n renderOverride(renderer, overrideMaterial, renderTarget, clearColor, clearAlpha) {\n renderer.getClearColor(this.originalClearColor)\n const originalClearAlpha = renderer.getClearAlpha()\n const originalAutoClear = renderer.autoClear\n\n renderer.setRenderTarget(renderTarget)\n renderer.autoClear = false\n\n clearColor = overrideMaterial.clearColor || clearColor\n clearAlpha = overrideMaterial.clearAlpha || clearAlpha\n\n if (clearColor !== undefined && clearColor !== null) {\n renderer.setClearColor(clearColor)\n renderer.setClearAlpha(clearAlpha || 0.0)\n renderer.clear()\n }\n\n this.scene.overrideMaterial = overrideMaterial\n renderer.render(this.scene, this.camera)\n this.scene.overrideMaterial = null\n\n // restore original state\n\n renderer.autoClear = originalAutoClear\n renderer.setClearColor(this.originalClearColor)\n renderer.setClearAlpha(originalClearAlpha)\n }\n\n setSize(width, height) {\n this.width = width\n this.height = height\n\n this.beautyRenderTarget.setSize(width, height)\n this.ssaoRenderTarget.setSize(width, height)\n this.normalRenderTarget.setSize(width, height)\n this.blurRenderTarget.setSize(width, height)\n\n this.ssaoMaterial.uniforms['resolution'].value.set(width, height)\n this.ssaoMaterial.uniforms['cameraProjectionMatrix'].value.copy(this.camera.projectionMatrix)\n this.ssaoMaterial.uniforms['cameraInverseProjectionMatrix'].value.copy(this.camera.projectionMatrixInverse)\n\n this.blurMaterial.uniforms['resolution'].value.set(width, height)\n }\n\n generateSampleKernel() {\n const kernelSize = this.kernelSize\n const kernel = this.kernel\n\n for (let i = 0; i < kernelSize; i++) {\n const sample = new Vector3()\n sample.x = Math.random() * 2 - 1\n sample.y = Math.random() * 2 - 1\n sample.z = Math.random()\n\n sample.normalize()\n\n let scale = i / kernelSize\n scale = MathUtils.lerp(0.1, 1, scale * scale)\n sample.multiplyScalar(scale)\n\n kernel.push(sample)\n }\n }\n\n generateRandomKernelRotations() {\n const width = 4,\n height = 4\n\n if (SimplexNoise === undefined) {\n console.error('THREE.SSAOPass: The pass relies on SimplexNoise.')\n }\n\n const simplex = new SimplexNoise()\n\n const size = width * height\n const data = new Float32Array(size)\n\n for (let i = 0; i < size; i++) {\n const x = Math.random() * 2 - 1\n const y = Math.random() * 2 - 1\n const z = 0\n\n data[i] = simplex.noise3d(x, y, z)\n }\n\n this.noiseTexture = new DataTexture(data, width, height, RedFormat, FloatType)\n this.noiseTexture.wrapS = RepeatWrapping\n this.noiseTexture.wrapT = RepeatWrapping\n this.noiseTexture.needsUpdate = true\n }\n\n overrideVisibility() {\n const scene = this.scene\n const cache = this._visibilityCache\n\n scene.traverse(function (object) {\n cache.set(object, object.visible)\n\n if (object.isPoints || object.isLine) object.visible = false\n })\n }\n\n restoreVisibility() {\n const scene = this.scene\n const cache = this._visibilityCache\n\n scene.traverse(function (object) {\n const visible = cache.get(object)\n object.visible = visible\n })\n\n cache.clear()\n }\n}\n\nexport { SSAOPass }\n"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"SSAOPass.js","sources":["../../src/postprocessing/SSAOPass.js"],"sourcesContent":["import {\n AddEquation,\n Color,\n CustomBlending,\n DataTexture,\n DepthTexture,\n DstAlphaFactor,\n DstColorFactor,\n FloatType,\n MathUtils,\n MeshNormalMaterial,\n NearestFilter,\n NoBlending,\n RedFormat,\n LuminanceFormat,\n DepthStencilFormat,\n UnsignedInt248Type,\n RepeatWrapping,\n ShaderMaterial,\n UniformsUtils,\n Vector3,\n WebGLRenderTarget,\n ZeroFactor,\n} from 'three'\nimport { Pass, FullScreenQuad } from './Pass'\nimport { SimplexNoise } from '../math/SimplexNoise'\nimport { SSAOShader, SSAOBlurShader, SSAODepthShader } from '../shaders/SSAOShader'\n\nimport { CopyShader } from '../shaders/CopyShader'\n\nconst SSAOPass = /* @__PURE__ */ (() => {\n class SSAOPass extends Pass {\n static OUTPUT = {\n Default: 0,\n SSAO: 1,\n Blur: 2,\n Beauty: 3,\n Depth: 4,\n Normal: 5,\n }\n\n constructor(scene, camera, width, height) {\n super()\n\n this.width = width !== undefined ? width : 512\n this.height = height !== undefined ? height : 512\n\n this.clear = true\n\n this.camera = camera\n this.scene = scene\n\n this.kernelRadius = 8\n this.kernelSize = 32\n this.kernel = []\n this.noiseTexture = null\n this.output = 0\n\n this.minDistance = 0.005\n this.maxDistance = 0.1\n\n this._visibilityCache = new Map()\n\n //\n\n this.generateSampleKernel()\n this.generateRandomKernelRotations()\n\n // beauty render target\n\n const depthTexture = new DepthTexture()\n depthTexture.format = DepthStencilFormat\n depthTexture.type = UnsignedInt248Type\n\n this.beautyRenderTarget = new WebGLRenderTarget(this.width, this.height)\n\n // normal render target with depth buffer\n\n this.normalRenderTarget = new WebGLRenderTarget(this.width, this.height, {\n minFilter: NearestFilter,\n magFilter: NearestFilter,\n depthTexture: depthTexture,\n })\n\n // ssao render target\n\n this.ssaoRenderTarget = new WebGLRenderTarget(this.width, this.height)\n\n this.blurRenderTarget = this.ssaoRenderTarget.clone()\n\n // ssao material\n\n if (SSAOShader === undefined) {\n console.error('THREE.SSAOPass: The pass relies on SSAOShader.')\n }\n\n this.ssaoMaterial = new ShaderMaterial({\n defines: Object.assign({}, SSAOShader.defines),\n uniforms: UniformsUtils.clone(SSAOShader.uniforms),\n vertexShader: SSAOShader.vertexShader,\n fragmentShader: SSAOShader.fragmentShader,\n blending: NoBlending,\n })\n\n this.ssaoMaterial.uniforms['tDiffuse'].value = this.beautyRenderTarget.texture\n this.ssaoMaterial.uniforms['tNormal'].value = this.normalRenderTarget.texture\n this.ssaoMaterial.uniforms['tDepth'].value = this.normalRenderTarget.depthTexture\n this.ssaoMaterial.uniforms['tNoise'].value = this.noiseTexture\n this.ssaoMaterial.uniforms['kernel'].value = this.kernel\n this.ssaoMaterial.uniforms['cameraNear'].value = this.camera.near\n this.ssaoMaterial.uniforms['cameraFar'].value = this.camera.far\n this.ssaoMaterial.uniforms['resolution'].value.set(this.width, this.height)\n this.ssaoMaterial.uniforms['cameraProjectionMatrix'].value.copy(this.camera.projectionMatrix)\n this.ssaoMaterial.uniforms['cameraInverseProjectionMatrix'].value.copy(this.camera.projectionMatrixInverse)\n\n // normal material\n\n this.normalMaterial = new MeshNormalMaterial()\n this.normalMaterial.blending = NoBlending\n\n // blur material\n\n this.blurMaterial = new ShaderMaterial({\n defines: Object.assign({}, SSAOBlurShader.defines),\n uniforms: UniformsUtils.clone(SSAOBlurShader.uniforms),\n vertexShader: SSAOBlurShader.vertexShader,\n fragmentShader: SSAOBlurShader.fragmentShader,\n })\n this.blurMaterial.uniforms['tDiffuse'].value = this.ssaoRenderTarget.texture\n this.blurMaterial.uniforms['resolution'].value.set(this.width, this.height)\n\n // material for rendering the depth\n\n this.depthRenderMaterial = new ShaderMaterial({\n defines: Object.assign({}, SSAODepthShader.defines),\n uniforms: UniformsUtils.clone(SSAODepthShader.uniforms),\n vertexShader: SSAODepthShader.vertexShader,\n fragmentShader: SSAODepthShader.fragmentShader,\n blending: NoBlending,\n })\n this.depthRenderMaterial.uniforms['tDepth'].value = this.normalRenderTarget.depthTexture\n this.depthRenderMaterial.uniforms['cameraNear'].value = this.camera.near\n this.depthRenderMaterial.uniforms['cameraFar'].value = this.camera.far\n\n // material for rendering the content of a render target\n\n this.copyMaterial = new ShaderMaterial({\n uniforms: UniformsUtils.clone(CopyShader.uniforms),\n vertexShader: CopyShader.vertexShader,\n fragmentShader: CopyShader.fragmentShader,\n transparent: true,\n depthTest: false,\n depthWrite: false,\n blendSrc: DstColorFactor,\n blendDst: ZeroFactor,\n blendEquation: AddEquation,\n blendSrcAlpha: DstAlphaFactor,\n blendDstAlpha: ZeroFactor,\n blendEquationAlpha: AddEquation,\n })\n\n this.fsQuad = new FullScreenQuad(null)\n\n this.originalClearColor = new Color()\n }\n\n dispose() {\n // dispose render targets\n\n this.beautyRenderTarget.dispose()\n this.normalRenderTarget.dispose()\n this.ssaoRenderTarget.dispose()\n this.blurRenderTarget.dispose()\n\n // dispose materials\n\n this.normalMaterial.dispose()\n this.blurMaterial.dispose()\n this.copyMaterial.dispose()\n this.depthRenderMaterial.dispose()\n\n // dipsose full screen quad\n\n this.fsQuad.dispose()\n }\n\n render(renderer, writeBuffer /*, readBuffer, deltaTime, maskActive */) {\n if (renderer.capabilities.isWebGL2 === false) this.noiseTexture.format = LuminanceFormat\n\n // render beauty\n\n renderer.setRenderTarget(this.beautyRenderTarget)\n renderer.clear()\n renderer.render(this.scene, this.camera)\n\n // render normals and depth (honor only meshes, points and lines do not contribute to SSAO)\n\n this.overrideVisibility()\n this.renderOverride(renderer, this.normalMaterial, this.normalRenderTarget, 0x7777ff, 1.0)\n this.restoreVisibility()\n\n // render SSAO\n\n this.ssaoMaterial.uniforms['kernelRadius'].value = this.kernelRadius\n this.ssaoMaterial.uniforms['minDistance'].value = this.minDistance\n this.ssaoMaterial.uniforms['maxDistance'].value = this.maxDistance\n this.renderPass(renderer, this.ssaoMaterial, this.ssaoRenderTarget)\n\n // render blur\n\n this.renderPass(renderer, this.blurMaterial, this.blurRenderTarget)\n\n // output result to screen\n\n switch (this.output) {\n case SSAOPass.OUTPUT.SSAO:\n this.copyMaterial.uniforms['tDiffuse'].value = this.ssaoRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Blur:\n this.copyMaterial.uniforms['tDiffuse'].value = this.blurRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Beauty:\n this.copyMaterial.uniforms['tDiffuse'].value = this.beautyRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Depth:\n this.renderPass(renderer, this.depthRenderMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Normal:\n this.copyMaterial.uniforms['tDiffuse'].value = this.normalRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n case SSAOPass.OUTPUT.Default:\n this.copyMaterial.uniforms['tDiffuse'].value = this.beautyRenderTarget.texture\n this.copyMaterial.blending = NoBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n this.copyMaterial.uniforms['tDiffuse'].value = this.blurRenderTarget.texture\n this.copyMaterial.blending = CustomBlending\n this.renderPass(renderer, this.copyMaterial, this.renderToScreen ? null : writeBuffer)\n\n break\n\n default:\n console.warn('THREE.SSAOPass: Unknown output type.')\n }\n }\n\n renderPass(renderer, passMaterial, renderTarget, clearColor, clearAlpha) {\n // save original state\n renderer.getClearColor(this.originalClearColor)\n const originalClearAlpha = renderer.getClearAlpha()\n const originalAutoClear = renderer.autoClear\n\n renderer.setRenderTarget(renderTarget)\n\n // setup pass state\n renderer.autoClear = false\n if (clearColor !== undefined && clearColor !== null) {\n renderer.setClearColor(clearColor)\n renderer.setClearAlpha(clearAlpha || 0.0)\n renderer.clear()\n }\n\n this.fsQuad.material = passMaterial\n this.fsQuad.render(renderer)\n\n // restore original state\n renderer.autoClear = originalAutoClear\n renderer.setClearColor(this.originalClearColor)\n renderer.setClearAlpha(originalClearAlpha)\n }\n\n renderOverride(renderer, overrideMaterial, renderTarget, clearColor, clearAlpha) {\n renderer.getClearColor(this.originalClearColor)\n const originalClearAlpha = renderer.getClearAlpha()\n const originalAutoClear = renderer.autoClear\n\n renderer.setRenderTarget(renderTarget)\n renderer.autoClear = false\n\n clearColor = overrideMaterial.clearColor || clearColor\n clearAlpha = overrideMaterial.clearAlpha || clearAlpha\n\n if (clearColor !== undefined && clearColor !== null) {\n renderer.setClearColor(clearColor)\n renderer.setClearAlpha(clearAlpha || 0.0)\n renderer.clear()\n }\n\n this.scene.overrideMaterial = overrideMaterial\n renderer.render(this.scene, this.camera)\n this.scene.overrideMaterial = null\n\n // restore original state\n\n renderer.autoClear = originalAutoClear\n renderer.setClearColor(this.originalClearColor)\n renderer.setClearAlpha(originalClearAlpha)\n }\n\n setSize(width, height) {\n this.width = width\n this.height = height\n\n this.beautyRenderTarget.setSize(width, height)\n this.ssaoRenderTarget.setSize(width, height)\n this.normalRenderTarget.setSize(width, height)\n this.blurRenderTarget.setSize(width, height)\n\n this.ssaoMaterial.uniforms['resolution'].value.set(width, height)\n this.ssaoMaterial.uniforms['cameraProjectionMatrix'].value.copy(this.camera.projectionMatrix)\n this.ssaoMaterial.uniforms['cameraInverseProjectionMatrix'].value.copy(this.camera.projectionMatrixInverse)\n\n this.blurMaterial.uniforms['resolution'].value.set(width, height)\n }\n\n generateSampleKernel() {\n const kernelSize = this.kernelSize\n const kernel = this.kernel\n\n for (let i = 0; i < kernelSize; i++) {\n const sample = new Vector3()\n sample.x = Math.random() * 2 - 1\n sample.y = Math.random() * 2 - 1\n sample.z = Math.random()\n\n sample.normalize()\n\n let scale = i / kernelSize\n scale = MathUtils.lerp(0.1, 1, scale * scale)\n sample.multiplyScalar(scale)\n\n kernel.push(sample)\n }\n }\n\n generateRandomKernelRotations() {\n const width = 4,\n height = 4\n\n if (SimplexNoise === undefined) {\n console.error('THREE.SSAOPass: The pass relies on SimplexNoise.')\n }\n\n const simplex = new SimplexNoise()\n\n const size = width * height\n const data = new Float32Array(size)\n\n for (let i = 0; i < size; i++) {\n const x = Math.random() * 2 - 1\n const y = Math.random() * 2 - 1\n const z = 0\n\n data[i] = simplex.noise3d(x, y, z)\n }\n\n this.noiseTexture = new DataTexture(data, width, height, RedFormat, FloatType)\n this.noiseTexture.wrapS = RepeatWrapping\n this.noiseTexture.wrapT = RepeatWrapping\n this.noiseTexture.needsUpdate = true\n }\n\n overrideVisibility() {\n const scene = this.scene\n const cache = this._visibilityCache\n\n scene.traverse(function (object) {\n cache.set(object, object.visible)\n\n if (object.isPoints || object.isLine) object.visible = false\n })\n }\n\n restoreVisibility() {\n const scene = this.scene\n const cache = this._visibilityCache\n\n scene.traverse(function (object) {\n const visible = cache.get(object)\n object.visible = visible\n })\n\n cache.clear()\n }\n }\n\n return SSAOPass\n})()\n\nexport { SSAOPass }\n"],"names":["SSAOPass"],"mappings":"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"}
|