three-stdlib 2.35.4 → 2.35.5
Sign up to get free protection for your applications and to get access to all the features.
- package/_polyfill/CapsuleGeometry.cjs +17 -20
- package/_polyfill/CapsuleGeometry.cjs.map +1 -1
- package/_polyfill/CapsuleGeometry.js +17 -20
- 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 +715 -722
- package/deprecated/Geometry.cjs.map +1 -1
- package/deprecated/Geometry.js +716 -723
- package/deprecated/Geometry.js.map +1 -1
- package/effects/AnaglyphEffect.cjs +1 -2
- package/effects/AnaglyphEffect.cjs.map +1 -1
- package/effects/AnaglyphEffect.js +2 -3
- package/effects/AnaglyphEffect.js.map +1 -1
- package/effects/OutlineEffect.cjs +1 -2
- package/effects/OutlineEffect.cjs.map +1 -1
- package/effects/OutlineEffect.js +2 -3
- package/effects/OutlineEffect.js.map +1 -1
- package/effects/ParallaxBarrierEffect.cjs +1 -2
- package/effects/ParallaxBarrierEffect.cjs.map +1 -1
- package/effects/ParallaxBarrierEffect.js +2 -3
- package/effects/ParallaxBarrierEffect.js.map +1 -1
- package/exporters/DRACOExporter.cjs +122 -133
- package/exporters/DRACOExporter.cjs.map +1 -1
- package/exporters/DRACOExporter.d.ts +21 -23
- package/exporters/DRACOExporter.js +122 -133
- package/exporters/DRACOExporter.js.map +1 -1
- package/exporters/GLTFExporter.cjs +167 -170
- package/exporters/GLTFExporter.cjs.map +1 -1
- package/exporters/GLTFExporter.js +167 -170
- package/exporters/GLTFExporter.js.map +1 -1
- package/geometries/LightningStrike.cjs +515 -524
- package/geometries/LightningStrike.cjs.map +1 -1
- package/geometries/LightningStrike.js +515 -524
- 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 +1 -2
- package/lines/LineMaterial.cjs.map +1 -1
- package/lines/LineMaterial.js +2 -3
- 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 +435 -441
- package/loaders/BasisTextureLoader.cjs.map +1 -1
- package/loaders/BasisTextureLoader.js +435 -441
- package/loaders/BasisTextureLoader.js.map +1 -1
- package/loaders/EXRLoader.cjs +1 -2
- package/loaders/EXRLoader.cjs.map +1 -1
- package/loaders/EXRLoader.js +2 -3
- 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 +374 -377
- package/loaders/KTX2Loader.cjs.map +1 -1
- package/loaders/KTX2Loader.js +374 -377
- package/loaders/KTX2Loader.js.map +1 -1
- package/loaders/LDrawLoader.cjs +4 -5
- package/loaders/LDrawLoader.cjs.map +1 -1
- package/loaders/LDrawLoader.js +5 -6
- 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 +43 -46
- package/loaders/PRWMLoader.cjs.map +1 -1
- package/loaders/PRWMLoader.js +43 -46
- package/loaders/PRWMLoader.js.map +1 -1
- package/loaders/SVGLoader.cjs +1688 -1694
- package/loaders/SVGLoader.cjs.map +1 -1
- package/loaders/SVGLoader.js +1688 -1694
- 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 +50 -53
- package/math/ConvexHull.cjs.map +1 -1
- package/math/ConvexHull.js +50 -53
- 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 +268 -271
- package/misc/ConvexObjectBreaker.cjs.map +1 -1
- package/misc/ConvexObjectBreaker.js +269 -272
- 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 +1 -2
- package/objects/GroundProjectedEnv.cjs.map +1 -1
- package/objects/GroundProjectedEnv.js +2 -3
- package/objects/GroundProjectedEnv.js.map +1 -1
- package/objects/Lensflare.cjs +206 -209
- package/objects/Lensflare.cjs.map +1 -1
- package/objects/Lensflare.js +206 -209
- package/objects/Lensflare.js.map +1 -1
- package/objects/Reflector.cjs +146 -154
- package/objects/Reflector.cjs.map +1 -1
- package/objects/Reflector.js +146 -154
- package/objects/Reflector.js.map +1 -1
- package/objects/ReflectorForSSRPass.cjs +180 -183
- package/objects/ReflectorForSSRPass.cjs.map +1 -1
- package/objects/ReflectorForSSRPass.js +180 -183
- package/objects/ReflectorForSSRPass.js.map +1 -1
- package/objects/Refractor.cjs +161 -164
- package/objects/Refractor.cjs.map +1 -1
- package/objects/Refractor.js +161 -164
- 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 +32 -35
- package/objects/Sky.cjs.map +1 -1
- package/objects/Sky.d.ts +6 -100
- package/objects/Sky.js +32 -35
- package/objects/Sky.js.map +1 -1
- package/objects/Water.cjs +1 -2
- package/objects/Water.cjs.map +1 -1
- package/objects/Water.js +2 -3
- package/objects/Water.js.map +1 -1
- package/objects/Water2.cjs +140 -143
- package/objects/Water2.cjs.map +1 -1
- package/objects/Water2.js +140 -143
- package/objects/Water2.js.map +1 -1
- package/package.json +1 -1
- package/postprocessing/SAOPass.cjs +264 -267
- package/postprocessing/SAOPass.cjs.map +1 -1
- package/postprocessing/SAOPass.js +264 -267
- package/postprocessing/SAOPass.js.map +1 -1
- package/postprocessing/SSAOPass.cjs +250 -253
- package/postprocessing/SSAOPass.cjs.map +1 -1
- package/postprocessing/SSAOPass.js +250 -253
- package/postprocessing/SSAOPass.js.map +1 -1
- package/postprocessing/SSRPass.cjs +376 -379
- package/postprocessing/SSRPass.cjs.map +1 -1
- package/postprocessing/SSRPass.js +376 -379
- package/postprocessing/SSRPass.js.map +1 -1
- package/postprocessing/UnrealBloomPass.cjs +202 -205
- package/postprocessing/UnrealBloomPass.cjs.map +1 -1
- package/postprocessing/UnrealBloomPass.js +202 -205
- 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 +46 -71
- package/shaders/ACESFilmicToneMappingShader.cjs.map +1 -1
- package/shaders/ACESFilmicToneMappingShader.js +46 -71
- package/shaders/ACESFilmicToneMappingShader.js.map +1 -1
- package/shaders/AfterimageShader.cjs +22 -41
- package/shaders/AfterimageShader.cjs.map +1 -1
- package/shaders/AfterimageShader.js +22 -41
- package/shaders/AfterimageShader.js.map +1 -1
- package/shaders/BasicShader.cjs +6 -20
- package/shaders/BasicShader.cjs.map +1 -1
- package/shaders/BasicShader.js +6 -20
- package/shaders/BasicShader.js.map +1 -1
- package/shaders/BleachBypassShader.cjs +26 -46
- package/shaders/BleachBypassShader.cjs.map +1 -1
- package/shaders/BleachBypassShader.js +26 -46
- package/shaders/BleachBypassShader.js.map +1 -1
- package/shaders/BlendShader.cjs +19 -33
- package/shaders/BlendShader.cjs.map +1 -1
- package/shaders/BlendShader.js +19 -33
- package/shaders/BlendShader.js.map +1 -1
- package/shaders/BokehShader.cjs +90 -117
- package/shaders/BokehShader.cjs.map +1 -1
- package/shaders/BokehShader.js +90 -117
- package/shaders/BokehShader.js.map +1 -1
- package/shaders/BokehShader2.cjs +232 -333
- package/shaders/BokehShader2.cjs.map +1 -1
- package/shaders/BokehShader2.js +232 -333
- package/shaders/BokehShader2.js.map +1 -1
- package/shaders/BrightnessContrastShader.cjs +22 -38
- package/shaders/BrightnessContrastShader.cjs.map +1 -1
- package/shaders/BrightnessContrastShader.js +22 -38
- package/shaders/BrightnessContrastShader.js.map +1 -1
- package/shaders/ColorCorrectionShader.cjs +21 -35
- package/shaders/ColorCorrectionShader.cjs.map +1 -1
- package/shaders/ColorCorrectionShader.js +21 -35
- package/shaders/ColorCorrectionShader.js.map +1 -1
- package/shaders/ColorifyShader.cjs +19 -34
- package/shaders/ColorifyShader.cjs.map +1 -1
- package/shaders/ColorifyShader.js +19 -34
- package/shaders/ColorifyShader.js.map +1 -1
- package/shaders/ConvolutionShader.cjs +24 -43
- package/shaders/ConvolutionShader.cjs.map +1 -1
- package/shaders/ConvolutionShader.js +24 -43
- package/shaders/ConvolutionShader.js.map +1 -1
- package/shaders/CopyShader.cjs +16 -30
- package/shaders/CopyShader.cjs.map +1 -1
- package/shaders/CopyShader.js +16 -30
- package/shaders/CopyShader.js.map +1 -1
- package/shaders/DOFMipMapShader.cjs +21 -38
- package/shaders/DOFMipMapShader.cjs.map +1 -1
- package/shaders/DOFMipMapShader.js +21 -38
- package/shaders/DOFMipMapShader.js.map +1 -1
- package/shaders/DepthLimitedBlurShader.cjs +69 -98
- package/shaders/DepthLimitedBlurShader.cjs.map +1 -1
- package/shaders/DepthLimitedBlurShader.js +69 -98
- package/shaders/DepthLimitedBlurShader.js.map +1 -1
- package/shaders/DigitalGlitch.cjs +59 -70
- package/shaders/DigitalGlitch.cjs.map +1 -1
- package/shaders/DigitalGlitch.js +59 -70
- package/shaders/DigitalGlitch.js.map +1 -1
- package/shaders/DotScreenShader.cjs +28 -49
- package/shaders/DotScreenShader.cjs.map +1 -1
- package/shaders/DotScreenShader.js +28 -49
- package/shaders/DotScreenShader.js.map +1 -1
- package/shaders/FXAAShader.cjs +1089 -1098
- package/shaders/FXAAShader.cjs.map +1 -1
- package/shaders/FXAAShader.js +1089 -1098
- package/shaders/FXAAShader.js.map +1 -1
- package/shaders/FilmShader.cjs +29 -57
- package/shaders/FilmShader.cjs.map +1 -1
- package/shaders/FilmShader.js +29 -57
- package/shaders/FilmShader.js.map +1 -1
- package/shaders/FocusShader.cjs +43 -70
- package/shaders/FocusShader.cjs.map +1 -1
- package/shaders/FocusShader.js +43 -70
- package/shaders/FocusShader.js.map +1 -1
- package/shaders/FreiChenShader.cjs +53 -74
- package/shaders/FreiChenShader.cjs.map +1 -1
- package/shaders/FreiChenShader.js +53 -74
- package/shaders/FreiChenShader.js.map +1 -1
- package/shaders/FresnelShader.cjs +35 -55
- package/shaders/FresnelShader.cjs.map +1 -1
- package/shaders/FresnelShader.js +35 -55
- package/shaders/FresnelShader.js.map +1 -1
- package/shaders/GammaCorrectionShader.cjs +19 -33
- package/shaders/GammaCorrectionShader.cjs.map +1 -1
- package/shaders/GammaCorrectionShader.js +19 -33
- package/shaders/GammaCorrectionShader.js.map +1 -1
- package/shaders/GodRaysShader.cjs +116 -193
- package/shaders/GodRaysShader.cjs.map +1 -1
- package/shaders/GodRaysShader.js +116 -193
- package/shaders/GodRaysShader.js.map +1 -1
- package/shaders/HalftoneShader.cjs +192 -270
- package/shaders/HalftoneShader.cjs.map +1 -1
- package/shaders/HalftoneShader.js +192 -270
- package/shaders/HalftoneShader.js.map +1 -1
- package/shaders/HorizontalTiltShiftShader.cjs +27 -43
- package/shaders/HorizontalTiltShiftShader.cjs.map +1 -1
- package/shaders/HorizontalTiltShiftShader.js +27 -43
- package/shaders/HorizontalTiltShiftShader.js.map +1 -1
- package/shaders/HueSaturationShader.cjs +31 -47
- package/shaders/HueSaturationShader.cjs.map +1 -1
- package/shaders/HueSaturationShader.js +31 -47
- package/shaders/HueSaturationShader.js.map +1 -1
- package/shaders/KaleidoShader.cjs +24 -37
- package/shaders/KaleidoShader.cjs.map +1 -1
- package/shaders/KaleidoShader.js +24 -37
- package/shaders/KaleidoShader.js.map +1 -1
- package/shaders/LuminosityHighPassShader.cjs +24 -43
- package/shaders/LuminosityHighPassShader.cjs.map +1 -1
- package/shaders/LuminosityHighPassShader.js +24 -43
- package/shaders/LuminosityHighPassShader.js.map +1 -1
- package/shaders/LuminosityShader.cjs +17 -34
- package/shaders/LuminosityShader.cjs.map +1 -1
- package/shaders/LuminosityShader.js +17 -34
- package/shaders/LuminosityShader.js.map +1 -1
- package/shaders/MirrorShader.cjs +26 -39
- package/shaders/MirrorShader.cjs.map +1 -1
- package/shaders/MirrorShader.js +26 -39
- package/shaders/MirrorShader.js.map +1 -1
- package/shaders/NormalMapShader.cjs +21 -36
- package/shaders/NormalMapShader.cjs.map +1 -1
- package/shaders/NormalMapShader.js +21 -36
- package/shaders/NormalMapShader.js.map +1 -1
- package/shaders/ParallaxShader.cjs +97 -147
- package/shaders/ParallaxShader.cjs.map +1 -1
- package/shaders/ParallaxShader.js +97 -147
- package/shaders/ParallaxShader.js.map +1 -1
- package/shaders/PixelShader.cjs +18 -31
- package/shaders/PixelShader.cjs.map +1 -1
- package/shaders/PixelShader.js +18 -31
- package/shaders/PixelShader.js.map +1 -1
- package/shaders/RGBShiftShader.cjs +20 -33
- package/shaders/RGBShiftShader.cjs.map +1 -1
- package/shaders/RGBShiftShader.js +20 -33
- package/shaders/RGBShiftShader.js.map +1 -1
- package/shaders/SAOShader.cjs +117 -154
- package/shaders/SAOShader.cjs.map +1 -1
- package/shaders/SAOShader.js +117 -154
- package/shaders/SAOShader.js.map +1 -1
- package/shaders/SMAAShader.cjs +270 -358
- package/shaders/SMAAShader.cjs.map +1 -1
- package/shaders/SMAAShader.js +270 -358
- package/shaders/SMAAShader.js.map +1 -1
- package/shaders/SSAOShader.cjs +142 -236
- package/shaders/SSAOShader.cjs.map +1 -1
- package/shaders/SSAOShader.js +142 -236
- 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 +20 -36
- package/shaders/SepiaShader.cjs.map +1 -1
- package/shaders/SepiaShader.js +20 -36
- package/shaders/SepiaShader.js.map +1 -1
- package/shaders/SobelOperatorShader.cjs +37 -64
- package/shaders/SobelOperatorShader.cjs.map +1 -1
- package/shaders/SobelOperatorShader.js +37 -64
- package/shaders/SobelOperatorShader.js.map +1 -1
- package/shaders/TechnicolorShader.cjs +16 -29
- package/shaders/TechnicolorShader.cjs.map +1 -1
- package/shaders/TechnicolorShader.js +16 -29
- package/shaders/TechnicolorShader.js.map +1 -1
- package/shaders/ToneMapShader.cjs +35 -55
- package/shaders/ToneMapShader.cjs.map +1 -1
- package/shaders/ToneMapShader.js +35 -55
- package/shaders/ToneMapShader.js.map +1 -1
- package/shaders/ToonShader.cjs +165 -275
- package/shaders/ToonShader.cjs.map +1 -1
- package/shaders/ToonShader.js +165 -275
- package/shaders/ToonShader.js.map +1 -1
- package/shaders/TriangleBlurShader.cjs +27 -50
- package/shaders/TriangleBlurShader.cjs.map +1 -1
- package/shaders/TriangleBlurShader.js +27 -50
- package/shaders/TriangleBlurShader.js.map +1 -1
- package/shaders/UnpackDepthRGBAShader.cjs +17 -32
- package/shaders/UnpackDepthRGBAShader.cjs.map +1 -1
- package/shaders/UnpackDepthRGBAShader.js +17 -32
- package/shaders/UnpackDepthRGBAShader.js.map +1 -1
- package/shaders/VerticalTiltShiftShader.cjs +27 -43
- package/shaders/VerticalTiltShiftShader.cjs.map +1 -1
- package/shaders/VerticalTiltShiftShader.js +27 -43
- package/shaders/VerticalTiltShiftShader.js.map +1 -1
- package/shaders/VignetteShader.cjs +27 -43
- package/shaders/VignetteShader.cjs.map +1 -1
- package/shaders/VignetteShader.js +27 -43
- package/shaders/VignetteShader.js.map +1 -1
- package/shaders/VolumeShader.cjs +213 -264
- package/shaders/VolumeShader.cjs.map +1 -1
- package/shaders/VolumeShader.js +213 -264
- package/shaders/VolumeShader.js.map +1 -1
- package/shaders/WaterRefractionShader.cjs +35 -63
- package/shaders/WaterRefractionShader.cjs.map +1 -1
- package/shaders/WaterRefractionShader.js +35 -63
- package/shaders/WaterRefractionShader.js.map +1 -1
- package/utils/GeometryCompressionUtils.cjs +1 -2
- package/utils/GeometryCompressionUtils.cjs.map +1 -1
- package/utils/GeometryCompressionUtils.js +2 -3
- 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 +106 -109
- package/webxr/ARButton.cjs.map +1 -1
- package/webxr/ARButton.d.ts +3 -4
- package/webxr/ARButton.js +106 -109
- 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 +95 -98
- package/webxr/VRButton.cjs.map +1 -1
- package/webxr/VRButton.d.ts +5 -6
- package/webxr/VRButton.js +95 -98
- 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
package/objects/Water2.js
CHANGED
@@ -8,145 +8,144 @@ import { Mesh, Vector4, Color, Vector2, Matrix4, Clock, ShaderMaterial, Uniforms
|
|
8
8
|
import { Reflector } from "./Reflector.js";
|
9
9
|
import { Refractor } from "./Refractor.js";
|
10
10
|
import { version } from "../_polyfill/constants.js";
|
11
|
-
const
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
value: flowMap
|
69
|
-
};
|
70
|
-
} else {
|
71
|
-
this.material.uniforms["flowDirection"] = {
|
72
|
-
type: "v2",
|
73
|
-
value: flowDirection
|
74
|
-
};
|
75
|
-
}
|
76
|
-
normalMap0.wrapS = normalMap0.wrapT = RepeatWrapping;
|
77
|
-
normalMap1.wrapS = normalMap1.wrapT = RepeatWrapping;
|
78
|
-
this.material.uniforms["tReflectionMap"].value = reflector.getRenderTarget().texture;
|
79
|
-
this.material.uniforms["tRefractionMap"].value = refractor.getRenderTarget().texture;
|
80
|
-
this.material.uniforms["tNormalMap0"].value = normalMap0;
|
81
|
-
this.material.uniforms["tNormalMap1"].value = normalMap1;
|
82
|
-
this.material.uniforms["color"].value = color;
|
83
|
-
this.material.uniforms["reflectivity"].value = reflectivity;
|
84
|
-
this.material.uniforms["textureMatrix"].value = textureMatrix;
|
85
|
-
this.material.uniforms["config"].value.x = 0;
|
86
|
-
this.material.uniforms["config"].value.y = halfCycle;
|
87
|
-
this.material.uniforms["config"].value.z = halfCycle;
|
88
|
-
this.material.uniforms["config"].value.w = scale;
|
89
|
-
function updateTextureMatrix(camera) {
|
90
|
-
textureMatrix.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1);
|
91
|
-
textureMatrix.multiply(camera.projectionMatrix);
|
92
|
-
textureMatrix.multiply(camera.matrixWorldInverse);
|
93
|
-
textureMatrix.multiply(scope.matrixWorld);
|
94
|
-
}
|
95
|
-
function updateFlow() {
|
96
|
-
const delta = clock.getDelta();
|
97
|
-
const config = scope.material.uniforms["config"];
|
98
|
-
config.value.x += flowSpeed * delta;
|
99
|
-
config.value.y = config.value.x + halfCycle;
|
100
|
-
if (config.value.x >= cycle) {
|
101
|
-
config.value.x = 0;
|
102
|
-
config.value.y = halfCycle;
|
103
|
-
} else if (config.value.y >= cycle) {
|
104
|
-
config.value.y = config.value.y - cycle;
|
105
|
-
}
|
106
|
-
}
|
107
|
-
this.onBeforeRender = function(renderer, scene, camera) {
|
108
|
-
updateTextureMatrix(camera);
|
109
|
-
updateFlow();
|
110
|
-
scope.visible = false;
|
111
|
-
reflector.matrixWorld.copy(scope.matrixWorld);
|
112
|
-
refractor.matrixWorld.copy(scope.matrixWorld);
|
113
|
-
reflector.onBeforeRender(renderer, scene, camera);
|
114
|
-
refractor.onBeforeRender(renderer, scene, camera);
|
115
|
-
scope.visible = true;
|
11
|
+
const _Water2 = class extends Mesh {
|
12
|
+
constructor(geometry, options = {}) {
|
13
|
+
super(geometry);
|
14
|
+
this.isWater = true;
|
15
|
+
this.type = "Water";
|
16
|
+
const scope = this;
|
17
|
+
const color = options.color !== void 0 ? new Color(options.color) : new Color(16777215);
|
18
|
+
const textureWidth = options.textureWidth || 512;
|
19
|
+
const textureHeight = options.textureHeight || 512;
|
20
|
+
const clipBias = options.clipBias || 0;
|
21
|
+
const flowDirection = options.flowDirection || new Vector2(1, 0);
|
22
|
+
const flowSpeed = options.flowSpeed || 0.03;
|
23
|
+
const reflectivity = options.reflectivity || 0.02;
|
24
|
+
const scale = options.scale || 1;
|
25
|
+
const shader = options.shader || _Water2.WaterShader;
|
26
|
+
const encoding = options.encoding !== void 0 ? options.encoding : 3e3;
|
27
|
+
const flowMap = options.flowMap || void 0;
|
28
|
+
const normalMap0 = options.normalMap0;
|
29
|
+
const normalMap1 = options.normalMap1;
|
30
|
+
const cycle = 0.15;
|
31
|
+
const halfCycle = cycle * 0.5;
|
32
|
+
const textureMatrix = new Matrix4();
|
33
|
+
const clock = new Clock();
|
34
|
+
if (Reflector === void 0) {
|
35
|
+
console.error("THREE.Water: Required component Reflector not found.");
|
36
|
+
return;
|
37
|
+
}
|
38
|
+
if (Refractor === void 0) {
|
39
|
+
console.error("THREE.Water: Required component Refractor not found.");
|
40
|
+
return;
|
41
|
+
}
|
42
|
+
const reflector = new Reflector(geometry, {
|
43
|
+
textureWidth,
|
44
|
+
textureHeight,
|
45
|
+
clipBias,
|
46
|
+
encoding
|
47
|
+
});
|
48
|
+
const refractor = new Refractor(geometry, {
|
49
|
+
textureWidth,
|
50
|
+
textureHeight,
|
51
|
+
clipBias,
|
52
|
+
encoding
|
53
|
+
});
|
54
|
+
reflector.matrixAutoUpdate = false;
|
55
|
+
refractor.matrixAutoUpdate = false;
|
56
|
+
this.material = new ShaderMaterial({
|
57
|
+
uniforms: UniformsUtils.merge([UniformsLib["fog"], shader.uniforms]),
|
58
|
+
vertexShader: shader.vertexShader,
|
59
|
+
fragmentShader: shader.fragmentShader,
|
60
|
+
transparent: true,
|
61
|
+
fog: true
|
62
|
+
});
|
63
|
+
if (flowMap !== void 0) {
|
64
|
+
this.material.defines.USE_FLOWMAP = "";
|
65
|
+
this.material.uniforms["tFlowMap"] = {
|
66
|
+
type: "t",
|
67
|
+
value: flowMap
|
116
68
|
};
|
69
|
+
} else {
|
70
|
+
this.material.uniforms["flowDirection"] = {
|
71
|
+
type: "v2",
|
72
|
+
value: flowDirection
|
73
|
+
};
|
74
|
+
}
|
75
|
+
normalMap0.wrapS = normalMap0.wrapT = RepeatWrapping;
|
76
|
+
normalMap1.wrapS = normalMap1.wrapT = RepeatWrapping;
|
77
|
+
this.material.uniforms["tReflectionMap"].value = reflector.getRenderTarget().texture;
|
78
|
+
this.material.uniforms["tRefractionMap"].value = refractor.getRenderTarget().texture;
|
79
|
+
this.material.uniforms["tNormalMap0"].value = normalMap0;
|
80
|
+
this.material.uniforms["tNormalMap1"].value = normalMap1;
|
81
|
+
this.material.uniforms["color"].value = color;
|
82
|
+
this.material.uniforms["reflectivity"].value = reflectivity;
|
83
|
+
this.material.uniforms["textureMatrix"].value = textureMatrix;
|
84
|
+
this.material.uniforms["config"].value.x = 0;
|
85
|
+
this.material.uniforms["config"].value.y = halfCycle;
|
86
|
+
this.material.uniforms["config"].value.z = halfCycle;
|
87
|
+
this.material.uniforms["config"].value.w = scale;
|
88
|
+
function updateTextureMatrix(camera) {
|
89
|
+
textureMatrix.set(0.5, 0, 0, 0.5, 0, 0.5, 0, 0.5, 0, 0, 0.5, 0.5, 0, 0, 0, 1);
|
90
|
+
textureMatrix.multiply(camera.projectionMatrix);
|
91
|
+
textureMatrix.multiply(camera.matrixWorldInverse);
|
92
|
+
textureMatrix.multiply(scope.matrixWorld);
|
117
93
|
}
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
tReflectionMap: {
|
129
|
-
value: null
|
130
|
-
},
|
131
|
-
tRefractionMap: {
|
132
|
-
value: null
|
133
|
-
},
|
134
|
-
tNormalMap0: {
|
135
|
-
value: null
|
136
|
-
},
|
137
|
-
tNormalMap1: {
|
138
|
-
value: null
|
139
|
-
},
|
140
|
-
textureMatrix: {
|
141
|
-
value: null
|
142
|
-
},
|
143
|
-
config: {
|
144
|
-
value: /* @__PURE__ */ new Vector4()
|
94
|
+
function updateFlow() {
|
95
|
+
const delta = clock.getDelta();
|
96
|
+
const config = scope.material.uniforms["config"];
|
97
|
+
config.value.x += flowSpeed * delta;
|
98
|
+
config.value.y = config.value.x + halfCycle;
|
99
|
+
if (config.value.x >= cycle) {
|
100
|
+
config.value.x = 0;
|
101
|
+
config.value.y = halfCycle;
|
102
|
+
} else if (config.value.y >= cycle) {
|
103
|
+
config.value.y = config.value.y - cycle;
|
145
104
|
}
|
105
|
+
}
|
106
|
+
this.onBeforeRender = function(renderer, scene, camera) {
|
107
|
+
updateTextureMatrix(camera);
|
108
|
+
updateFlow();
|
109
|
+
scope.visible = false;
|
110
|
+
reflector.matrixWorld.copy(scope.matrixWorld);
|
111
|
+
refractor.matrixWorld.copy(scope.matrixWorld);
|
112
|
+
reflector.onBeforeRender(renderer, scene, camera);
|
113
|
+
refractor.onBeforeRender(renderer, scene, camera);
|
114
|
+
scope.visible = true;
|
115
|
+
};
|
116
|
+
}
|
117
|
+
};
|
118
|
+
let Water2 = _Water2;
|
119
|
+
__publicField(Water2, "WaterShader", {
|
120
|
+
uniforms: {
|
121
|
+
color: {
|
122
|
+
value: null
|
123
|
+
},
|
124
|
+
reflectivity: {
|
125
|
+
value: 0
|
126
|
+
},
|
127
|
+
tReflectionMap: {
|
128
|
+
value: null
|
129
|
+
},
|
130
|
+
tRefractionMap: {
|
131
|
+
value: null
|
146
132
|
},
|
147
|
-
|
148
|
-
|
149
|
-
|
133
|
+
tNormalMap0: {
|
134
|
+
value: null
|
135
|
+
},
|
136
|
+
tNormalMap1: {
|
137
|
+
value: null
|
138
|
+
},
|
139
|
+
textureMatrix: {
|
140
|
+
value: null
|
141
|
+
},
|
142
|
+
config: {
|
143
|
+
value: new Vector4()
|
144
|
+
}
|
145
|
+
},
|
146
|
+
vertexShader: (
|
147
|
+
/* glsl */
|
148
|
+
`
|
150
149
|
|
151
150
|
#include <common>
|
152
151
|
#include <fog_pars_vertex>
|
@@ -173,10 +172,10 @@ const Water2 = /* @__PURE__ */ (() => {
|
|
173
172
|
#include <fog_vertex>
|
174
173
|
|
175
174
|
}`
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
175
|
+
),
|
176
|
+
fragmentShader: (
|
177
|
+
/* glsl */
|
178
|
+
`
|
180
179
|
|
181
180
|
#include <common>
|
182
181
|
#include <fog_pars_fragment>
|
@@ -251,10 +250,8 @@ const Water2 = /* @__PURE__ */ (() => {
|
|
251
250
|
#include <fog_fragment>
|
252
251
|
|
253
252
|
}`
|
254
|
-
|
255
|
-
|
256
|
-
return Water22;
|
257
|
-
})();
|
253
|
+
)
|
254
|
+
});
|
258
255
|
export {
|
259
256
|
Water2
|
260
257
|
};
|
package/objects/Water2.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Water2.js","sources":["../../src/objects/Water2.js"],"sourcesContent":["import {\n Clock,\n Color,\n Matrix4,\n Mesh,\n RepeatWrapping,\n ShaderMaterial,\n UniformsLib,\n UniformsUtils,\n Vector2,\n Vector4,\n} from 'three'\nimport { Reflector } from './Reflector'\nimport { Refractor } from './Refractor'\nimport { version } from '../_polyfill/constants'\n\n/**\n * References:\n *\thttp://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_waterflow.pdf\n * \thttp://graphicsrunner.blogspot.de/2010/08/water-using-flow-maps.html\n *\n */\n\nconst Water2 = /* @__PURE__ */ (() => {\n class Water2 extends Mesh {\n static WaterShader = {\n uniforms: {\n color: {\n value: null,\n },\n\n reflectivity: {\n value: 0,\n },\n\n tReflectionMap: {\n value: null,\n },\n\n tRefractionMap: {\n value: null,\n },\n\n tNormalMap0: {\n value: null,\n },\n\n tNormalMap1: {\n value: null,\n },\n\n textureMatrix: {\n value: null,\n },\n\n config: {\n value: /* @__PURE__ */ new Vector4(),\n },\n },\n\n vertexShader: /* glsl */ `\n\n\t\t#include <common>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\n\t\tuniform mat4 textureMatrix;\n\n\t\tvarying vec4 vCoord;\n\t\tvarying vec2 vUv;\n\t\tvarying vec3 vToEye;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tvCoord = textureMatrix * vec4( position, 1.0 );\n\n\t\t\tvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\n\t\t\tvToEye = cameraPosition - worldPosition.xyz;\n\n\t\t\tvec4 mvPosition = viewMatrix * worldPosition; // used in fog_vertex\n\t\t\tgl_Position = projectionMatrix * mvPosition;\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t#include <common>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\n\t\tuniform sampler2D tReflectionMap;\n\t\tuniform sampler2D tRefractionMap;\n\t\tuniform sampler2D tNormalMap0;\n\t\tuniform sampler2D tNormalMap1;\n\n\t\t#ifdef USE_FLOWMAP\n\t\t\tuniform sampler2D tFlowMap;\n\t\t#else\n\t\t\tuniform vec2 flowDirection;\n\t\t#endif\n\n\t\tuniform vec3 color;\n\t\tuniform float reflectivity;\n\t\tuniform vec4 config;\n\n\t\tvarying vec4 vCoord;\n\t\tvarying vec2 vUv;\n\t\tvarying vec3 vToEye;\n\n\t\tvoid main() {\n\n\t\t\t#include <logdepthbuf_fragment>\n\n\t\t\tfloat flowMapOffset0 = config.x;\n\t\t\tfloat flowMapOffset1 = config.y;\n\t\t\tfloat halfCycle = config.z;\n\t\t\tfloat scale = config.w;\n\n\t\t\tvec3 toEye = normalize( vToEye );\n\n\t\t\t// determine flow direction\n\t\t\tvec2 flow;\n\t\t\t#ifdef USE_FLOWMAP\n\t\t\t\tflow = texture2D( tFlowMap, vUv ).rg * 2.0 - 1.0;\n\t\t\t#else\n\t\t\t\tflow = flowDirection;\n\t\t\t#endif\n\t\t\tflow.x *= - 1.0;\n\n\t\t\t// sample normal maps (distort uvs with flowdata)\n\t\t\tvec4 normalColor0 = texture2D( tNormalMap0, ( vUv * scale ) + flow * flowMapOffset0 );\n\t\t\tvec4 normalColor1 = texture2D( tNormalMap1, ( vUv * scale ) + flow * flowMapOffset1 );\n\n\t\t\t// linear interpolate to get the final normal color\n\t\t\tfloat flowLerp = abs( halfCycle - flowMapOffset0 ) / halfCycle;\n\t\t\tvec4 normalColor = mix( normalColor0, normalColor1, flowLerp );\n\n\t\t\t// calculate normal vector\n\t\t\tvec3 normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );\n\n\t\t\t// calculate the fresnel term to blend reflection and refraction maps\n\t\t\tfloat theta = max( dot( toEye, normal ), 0.0 );\n\t\t\tfloat reflectance = reflectivity + ( 1.0 - reflectivity ) * pow( ( 1.0 - theta ), 5.0 );\n\n\t\t\t// calculate final uv coords\n\t\t\tvec3 coord = vCoord.xyz / vCoord.w;\n\t\t\tvec2 uv = coord.xy + coord.z * normal.xz * 0.05;\n\n\t\t\tvec4 reflectColor = texture2D( tReflectionMap, vec2( 1.0 - uv.x, uv.y ) );\n\t\t\tvec4 refractColor = texture2D( tRefractionMap, uv );\n\n\t\t\t// multiply water color with the mix of both textures\n\t\t\tgl_FragColor = vec4( color, 1.0 ) * mix( refractColor, reflectColor, reflectance );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>\n\t\t\t#include <fog_fragment>\n\n\t\t}`,\n }\n\n constructor(geometry, options = {}) {\n super(geometry)\n\n this.isWater = true\n\n this.type = 'Water'\n\n const scope = this\n\n const color = options.color !== undefined ? new Color(options.color) : new Color(0xffffff)\n const textureWidth = options.textureWidth || 512\n const textureHeight = options.textureHeight || 512\n const clipBias = options.clipBias || 0\n const flowDirection = options.flowDirection || new Vector2(1, 0)\n const flowSpeed = options.flowSpeed || 0.03\n const reflectivity = options.reflectivity || 0.02\n const scale = options.scale || 1\n const shader = options.shader || Water2.WaterShader\n const encoding = options.encoding !== undefined ? options.encoding : 3000\n\n const flowMap = options.flowMap || undefined\n const normalMap0 = options.normalMap0\n const normalMap1 = options.normalMap1\n\n const cycle = 0.15 // a cycle of a flow map phase\n const halfCycle = cycle * 0.5\n const textureMatrix = new Matrix4()\n const clock = new Clock()\n\n // internal components\n\n if (Reflector === undefined) {\n console.error('THREE.Water: Required component Reflector not found.')\n return\n }\n\n if (Refractor === undefined) {\n console.error('THREE.Water: Required component Refractor not found.')\n return\n }\n\n const reflector = new Reflector(geometry, {\n textureWidth: textureWidth,\n textureHeight: textureHeight,\n clipBias: clipBias,\n encoding: encoding,\n })\n\n const refractor = new Refractor(geometry, {\n textureWidth: textureWidth,\n textureHeight: textureHeight,\n clipBias: clipBias,\n encoding: encoding,\n })\n\n reflector.matrixAutoUpdate = false\n refractor.matrixAutoUpdate = false\n\n // material\n\n this.material = new ShaderMaterial({\n uniforms: UniformsUtils.merge([UniformsLib['fog'], shader.uniforms]),\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n transparent: true,\n fog: true,\n })\n\n if (flowMap !== undefined) {\n this.material.defines.USE_FLOWMAP = ''\n this.material.uniforms['tFlowMap'] = {\n type: 't',\n value: flowMap,\n }\n } else {\n this.material.uniforms['flowDirection'] = {\n type: 'v2',\n value: flowDirection,\n }\n }\n\n // maps\n\n normalMap0.wrapS = normalMap0.wrapT = RepeatWrapping\n normalMap1.wrapS = normalMap1.wrapT = RepeatWrapping\n\n this.material.uniforms['tReflectionMap'].value = reflector.getRenderTarget().texture\n this.material.uniforms['tRefractionMap'].value = refractor.getRenderTarget().texture\n this.material.uniforms['tNormalMap0'].value = normalMap0\n this.material.uniforms['tNormalMap1'].value = normalMap1\n\n // water\n\n this.material.uniforms['color'].value = color\n this.material.uniforms['reflectivity'].value = reflectivity\n this.material.uniforms['textureMatrix'].value = textureMatrix\n\n // inital values\n\n this.material.uniforms['config'].value.x = 0 // flowMapOffset0\n this.material.uniforms['config'].value.y = halfCycle // flowMapOffset1\n this.material.uniforms['config'].value.z = halfCycle // halfCycle\n this.material.uniforms['config'].value.w = scale // scale\n\n // functions\n\n function updateTextureMatrix(camera) {\n textureMatrix.set(0.5, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 1.0)\n\n textureMatrix.multiply(camera.projectionMatrix)\n textureMatrix.multiply(camera.matrixWorldInverse)\n textureMatrix.multiply(scope.matrixWorld)\n }\n\n function updateFlow() {\n const delta = clock.getDelta()\n const config = scope.material.uniforms['config']\n\n config.value.x += flowSpeed * delta // flowMapOffset0\n config.value.y = config.value.x + halfCycle // flowMapOffset1\n\n // Important: The distance between offsets should be always the value of \"halfCycle\".\n // Moreover, both offsets should be in the range of [ 0, cycle ].\n // This approach ensures a smooth water flow and avoids \"reset\" effects.\n\n if (config.value.x >= cycle) {\n config.value.x = 0\n config.value.y = halfCycle\n } else if (config.value.y >= cycle) {\n config.value.y = config.value.y - cycle\n }\n }\n\n //\n\n this.onBeforeRender = function (renderer, scene, camera) {\n updateTextureMatrix(camera)\n updateFlow()\n\n scope.visible = false\n\n reflector.matrixWorld.copy(scope.matrixWorld)\n refractor.matrixWorld.copy(scope.matrixWorld)\n\n reflector.onBeforeRender(renderer, scene, camera)\n refractor.onBeforeRender(renderer, scene, camera)\n\n scope.visible = true\n }\n }\n }\n\n return Water2\n})()\n\nexport { Water2 }\n"],"names":["Water2"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Water2.js","sources":["../../src/objects/Water2.js"],"sourcesContent":["import {\n Clock,\n Color,\n Matrix4,\n Mesh,\n RepeatWrapping,\n ShaderMaterial,\n UniformsLib,\n UniformsUtils,\n Vector2,\n Vector4,\n} from 'three'\nimport { Reflector } from './Reflector'\nimport { Refractor } from './Refractor'\nimport { version } from '../_polyfill/constants'\n\n/**\n * References:\n *\thttp://www.valvesoftware.com/publications/2010/siggraph2010_vlachos_waterflow.pdf\n * \thttp://graphicsrunner.blogspot.de/2010/08/water-using-flow-maps.html\n *\n */\n\nclass Water2 extends Mesh {\n static WaterShader = {\n uniforms: {\n color: {\n value: null,\n },\n\n reflectivity: {\n value: 0,\n },\n\n tReflectionMap: {\n value: null,\n },\n\n tRefractionMap: {\n value: null,\n },\n\n tNormalMap0: {\n value: null,\n },\n\n tNormalMap1: {\n value: null,\n },\n\n textureMatrix: {\n value: null,\n },\n\n config: {\n value: new Vector4(),\n },\n },\n\n vertexShader: /* glsl */ `\n\n\t\t#include <common>\n\t\t#include <fog_pars_vertex>\n\t\t#include <logdepthbuf_pars_vertex>\n\n\t\tuniform mat4 textureMatrix;\n\n\t\tvarying vec4 vCoord;\n\t\tvarying vec2 vUv;\n\t\tvarying vec3 vToEye;\n\n\t\tvoid main() {\n\n\t\t\tvUv = uv;\n\t\t\tvCoord = textureMatrix * vec4( position, 1.0 );\n\n\t\t\tvec4 worldPosition = modelMatrix * vec4( position, 1.0 );\n\t\t\tvToEye = cameraPosition - worldPosition.xyz;\n\n\t\t\tvec4 mvPosition = viewMatrix * worldPosition; // used in fog_vertex\n\t\t\tgl_Position = projectionMatrix * mvPosition;\n\n\t\t\t#include <logdepthbuf_vertex>\n\t\t\t#include <fog_vertex>\n\n\t\t}`,\n\n fragmentShader: /* glsl */ `\n\n\t\t#include <common>\n\t\t#include <fog_pars_fragment>\n\t\t#include <logdepthbuf_pars_fragment>\n\n\t\tuniform sampler2D tReflectionMap;\n\t\tuniform sampler2D tRefractionMap;\n\t\tuniform sampler2D tNormalMap0;\n\t\tuniform sampler2D tNormalMap1;\n\n\t\t#ifdef USE_FLOWMAP\n\t\t\tuniform sampler2D tFlowMap;\n\t\t#else\n\t\t\tuniform vec2 flowDirection;\n\t\t#endif\n\n\t\tuniform vec3 color;\n\t\tuniform float reflectivity;\n\t\tuniform vec4 config;\n\n\t\tvarying vec4 vCoord;\n\t\tvarying vec2 vUv;\n\t\tvarying vec3 vToEye;\n\n\t\tvoid main() {\n\n\t\t\t#include <logdepthbuf_fragment>\n\n\t\t\tfloat flowMapOffset0 = config.x;\n\t\t\tfloat flowMapOffset1 = config.y;\n\t\t\tfloat halfCycle = config.z;\n\t\t\tfloat scale = config.w;\n\n\t\t\tvec3 toEye = normalize( vToEye );\n\n\t\t\t// determine flow direction\n\t\t\tvec2 flow;\n\t\t\t#ifdef USE_FLOWMAP\n\t\t\t\tflow = texture2D( tFlowMap, vUv ).rg * 2.0 - 1.0;\n\t\t\t#else\n\t\t\t\tflow = flowDirection;\n\t\t\t#endif\n\t\t\tflow.x *= - 1.0;\n\n\t\t\t// sample normal maps (distort uvs with flowdata)\n\t\t\tvec4 normalColor0 = texture2D( tNormalMap0, ( vUv * scale ) + flow * flowMapOffset0 );\n\t\t\tvec4 normalColor1 = texture2D( tNormalMap1, ( vUv * scale ) + flow * flowMapOffset1 );\n\n\t\t\t// linear interpolate to get the final normal color\n\t\t\tfloat flowLerp = abs( halfCycle - flowMapOffset0 ) / halfCycle;\n\t\t\tvec4 normalColor = mix( normalColor0, normalColor1, flowLerp );\n\n\t\t\t// calculate normal vector\n\t\t\tvec3 normal = normalize( vec3( normalColor.r * 2.0 - 1.0, normalColor.b, normalColor.g * 2.0 - 1.0 ) );\n\n\t\t\t// calculate the fresnel term to blend reflection and refraction maps\n\t\t\tfloat theta = max( dot( toEye, normal ), 0.0 );\n\t\t\tfloat reflectance = reflectivity + ( 1.0 - reflectivity ) * pow( ( 1.0 - theta ), 5.0 );\n\n\t\t\t// calculate final uv coords\n\t\t\tvec3 coord = vCoord.xyz / vCoord.w;\n\t\t\tvec2 uv = coord.xy + coord.z * normal.xz * 0.05;\n\n\t\t\tvec4 reflectColor = texture2D( tReflectionMap, vec2( 1.0 - uv.x, uv.y ) );\n\t\t\tvec4 refractColor = texture2D( tRefractionMap, uv );\n\n\t\t\t// multiply water color with the mix of both textures\n\t\t\tgl_FragColor = vec4( color, 1.0 ) * mix( refractColor, reflectColor, reflectance );\n\n\t\t\t#include <tonemapping_fragment>\n\t\t\t#include <${version >= 154 ? 'colorspace_fragment' : 'encodings_fragment'}>\n\t\t\t#include <fog_fragment>\n\n\t\t}`,\n }\n\n constructor(geometry, options = {}) {\n super(geometry)\n\n this.isWater = true\n\n this.type = 'Water'\n\n const scope = this\n\n const color = options.color !== undefined ? new Color(options.color) : new Color(0xffffff)\n const textureWidth = options.textureWidth || 512\n const textureHeight = options.textureHeight || 512\n const clipBias = options.clipBias || 0\n const flowDirection = options.flowDirection || new Vector2(1, 0)\n const flowSpeed = options.flowSpeed || 0.03\n const reflectivity = options.reflectivity || 0.02\n const scale = options.scale || 1\n const shader = options.shader || Water2.WaterShader\n const encoding = options.encoding !== undefined ? options.encoding : 3000\n\n const flowMap = options.flowMap || undefined\n const normalMap0 = options.normalMap0\n const normalMap1 = options.normalMap1\n\n const cycle = 0.15 // a cycle of a flow map phase\n const halfCycle = cycle * 0.5\n const textureMatrix = new Matrix4()\n const clock = new Clock()\n\n // internal components\n\n if (Reflector === undefined) {\n console.error('THREE.Water: Required component Reflector not found.')\n return\n }\n\n if (Refractor === undefined) {\n console.error('THREE.Water: Required component Refractor not found.')\n return\n }\n\n const reflector = new Reflector(geometry, {\n textureWidth: textureWidth,\n textureHeight: textureHeight,\n clipBias: clipBias,\n encoding: encoding,\n })\n\n const refractor = new Refractor(geometry, {\n textureWidth: textureWidth,\n textureHeight: textureHeight,\n clipBias: clipBias,\n encoding: encoding,\n })\n\n reflector.matrixAutoUpdate = false\n refractor.matrixAutoUpdate = false\n\n // material\n\n this.material = new ShaderMaterial({\n uniforms: UniformsUtils.merge([UniformsLib['fog'], shader.uniforms]),\n vertexShader: shader.vertexShader,\n fragmentShader: shader.fragmentShader,\n transparent: true,\n fog: true,\n })\n\n if (flowMap !== undefined) {\n this.material.defines.USE_FLOWMAP = ''\n this.material.uniforms['tFlowMap'] = {\n type: 't',\n value: flowMap,\n }\n } else {\n this.material.uniforms['flowDirection'] = {\n type: 'v2',\n value: flowDirection,\n }\n }\n\n // maps\n\n normalMap0.wrapS = normalMap0.wrapT = RepeatWrapping\n normalMap1.wrapS = normalMap1.wrapT = RepeatWrapping\n\n this.material.uniforms['tReflectionMap'].value = reflector.getRenderTarget().texture\n this.material.uniforms['tRefractionMap'].value = refractor.getRenderTarget().texture\n this.material.uniforms['tNormalMap0'].value = normalMap0\n this.material.uniforms['tNormalMap1'].value = normalMap1\n\n // water\n\n this.material.uniforms['color'].value = color\n this.material.uniforms['reflectivity'].value = reflectivity\n this.material.uniforms['textureMatrix'].value = textureMatrix\n\n // inital values\n\n this.material.uniforms['config'].value.x = 0 // flowMapOffset0\n this.material.uniforms['config'].value.y = halfCycle // flowMapOffset1\n this.material.uniforms['config'].value.z = halfCycle // halfCycle\n this.material.uniforms['config'].value.w = scale // scale\n\n // functions\n\n function updateTextureMatrix(camera) {\n textureMatrix.set(0.5, 0.0, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 1.0)\n\n textureMatrix.multiply(camera.projectionMatrix)\n textureMatrix.multiply(camera.matrixWorldInverse)\n textureMatrix.multiply(scope.matrixWorld)\n }\n\n function updateFlow() {\n const delta = clock.getDelta()\n const config = scope.material.uniforms['config']\n\n config.value.x += flowSpeed * delta // flowMapOffset0\n config.value.y = config.value.x + halfCycle // flowMapOffset1\n\n // Important: The distance between offsets should be always the value of \"halfCycle\".\n // Moreover, both offsets should be in the range of [ 0, cycle ].\n // This approach ensures a smooth water flow and avoids \"reset\" effects.\n\n if (config.value.x >= cycle) {\n config.value.x = 0\n config.value.y = halfCycle\n } else if (config.value.y >= cycle) {\n config.value.y = config.value.y - cycle\n }\n }\n\n //\n\n this.onBeforeRender = function (renderer, scene, camera) {\n updateTextureMatrix(camera)\n updateFlow()\n\n scope.visible = false\n\n reflector.matrixWorld.copy(scope.matrixWorld)\n refractor.matrixWorld.copy(scope.matrixWorld)\n\n reflector.onBeforeRender(renderer, scene, camera)\n refractor.onBeforeRender(renderer, scene, camera)\n\n scope.visible = true\n }\n }\n}\n\nexport { Water2 }\n"],"names":[],"mappings":"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"}
|