three-stdlib 2.24.2 → 2.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/controls/OrbitControls.d.ts +2 -0
- package/index.cjs +116401 -611
- package/index.js +116037 -263
- package/package.json +17 -4
- package/_polyfill/CapsuleGeometry.cjs +0 -22
- package/_polyfill/CapsuleGeometry.js +0 -22
- package/_polyfill/CompressedArrayTexture.cjs +0 -12
- package/_polyfill/CompressedArrayTexture.js +0 -12
- package/_polyfill/Data3DTexture.cjs +0 -17
- package/_polyfill/Data3DTexture.js +0 -17
- package/animation/AnimationClipCreator.cjs +0 -56
- package/animation/AnimationClipCreator.js +0 -56
- package/animation/CCDIKSolver.cjs +0 -269
- package/animation/CCDIKSolver.js +0 -269
- package/animation/MMDAnimationHelper.cjs +0 -688
- package/animation/MMDAnimationHelper.js +0 -688
- package/animation/MMDPhysics.cjs +0 -830
- package/animation/MMDPhysics.js +0 -830
- package/cameras/CinematicCamera.cjs +0 -131
- package/cameras/CinematicCamera.js +0 -131
- package/controls/ArcballControls.cjs +0 -2033
- package/controls/ArcballControls.js +0 -2033
- package/controls/DeviceOrientationControls.cjs +0 -85
- package/controls/DeviceOrientationControls.js +0 -85
- package/controls/DragControls.cjs +0 -182
- package/controls/DragControls.js +0 -182
- package/controls/FirstPersonControls.cjs +0 -229
- package/controls/FirstPersonControls.js +0 -229
- package/controls/FlyControls.cjs +0 -248
- package/controls/FlyControls.js +0 -248
- package/controls/OrbitControls.cjs +0 -787
- package/controls/OrbitControls.js +0 -787
- package/controls/PointerLockControls.cjs +0 -103
- package/controls/PointerLockControls.js +0 -103
- package/controls/TrackballControls.cjs +0 -502
- package/controls/TrackballControls.js +0 -502
- package/controls/TransformControls.cjs +0 -1089
- package/controls/TransformControls.js +0 -1089
- package/controls/experimental/CameraControls.cjs +0 -736
- package/controls/experimental/CameraControls.js +0 -736
- package/csm/CSM.cjs +0 -244
- package/csm/CSM.js +0 -244
- package/csm/CSMFrustum.cjs +0 -75
- package/csm/CSMFrustum.js +0 -75
- package/csm/CSMHelper.cjs +0 -114
- package/csm/CSMHelper.js +0 -114
- package/csm/CSMShader.cjs +0 -261
- package/csm/CSMShader.js +0 -261
- package/curves/CurveExtras.cjs +0 -214
- package/curves/CurveExtras.js +0 -214
- package/curves/NURBSCurve.cjs +0 -35
- package/curves/NURBSCurve.js +0 -35
- package/curves/NURBSSurface.cjs +0 -28
- package/curves/NURBSSurface.js +0 -28
- package/curves/NURBSUtils.cjs +0 -226
- package/curves/NURBSUtils.js +0 -226
- package/deprecated/Geometry.cjs +0 -971
- package/deprecated/Geometry.js +0 -971
- package/effects/AnaglyphEffect.cjs +0 -102
- package/effects/AnaglyphEffect.js +0 -102
- package/effects/AsciiEffect.cjs +0 -155
- package/effects/AsciiEffect.js +0 -155
- package/effects/OutlineEffect.cjs +0 -275
- package/effects/OutlineEffect.js +0 -275
- package/effects/ParallaxBarrierEffect.cjs +0 -65
- package/effects/ParallaxBarrierEffect.js +0 -65
- package/effects/PeppersGhostEffect.cjs +0 -88
- package/effects/PeppersGhostEffect.js +0 -88
- package/effects/StereoEffect.cjs +0 -35
- package/effects/StereoEffect.js +0 -35
- package/environments/RoomEnvironment.cjs +0 -95
- package/environments/RoomEnvironment.js +0 -78
- package/exporters/ColladaExporter.cjs +0 -331
- package/exporters/ColladaExporter.js +0 -331
- package/exporters/DRACOExporter.cjs +0 -141
- package/exporters/DRACOExporter.js +0 -141
- package/exporters/GLTFExporter.cjs +0 -1909
- package/exporters/GLTFExporter.js +0 -1909
- package/exporters/MMDExporter.cjs +0 -131
- package/exporters/MMDExporter.js +0 -131
- package/exporters/OBJExporter.cjs +0 -181
- package/exporters/OBJExporter.js +0 -181
- package/exporters/PLYExporter.cjs +0 -280
- package/exporters/PLYExporter.js +0 -280
- package/exporters/STLExporter.cjs +0 -146
- package/exporters/STLExporter.js +0 -146
- package/exporters/USDZExporter.cjs +0 -340
- package/exporters/USDZExporter.js +0 -340
- package/geometries/BoxLineGeometry.cjs +0 -45
- package/geometries/BoxLineGeometry.js +0 -45
- package/geometries/ConvexGeometry.cjs +0 -26
- package/geometries/ConvexGeometry.js +0 -26
- package/geometries/DecalGeometry.cjs +0 -184
- package/geometries/DecalGeometry.js +0 -184
- package/geometries/LightningStrike.cjs +0 -553
- package/geometries/LightningStrike.js +0 -553
- package/geometries/ParametricGeometries.cjs +0 -130
- package/geometries/ParametricGeometries.js +0 -130
- package/geometries/ParametricGeometry.cjs +0 -63
- package/geometries/ParametricGeometry.js +0 -63
- package/geometries/RoundedBoxGeometry.cjs +0 -91
- package/geometries/RoundedBoxGeometry.js +0 -91
- package/geometries/TeapotGeometry.cjs +0 -1563
- package/geometries/TeapotGeometry.js +0 -1563
- package/geometries/TextGeometry.cjs +0 -27
- package/geometries/TextGeometry.js +0 -27
- package/helpers/LightProbeHelper.cjs +0 -73
- package/helpers/LightProbeHelper.js +0 -73
- package/helpers/PositionalAudioHelper.cjs +0 -68
- package/helpers/PositionalAudioHelper.js +0 -68
- package/helpers/RectAreaLightHelper.cjs +0 -44
- package/helpers/RectAreaLightHelper.js +0 -44
- package/helpers/VertexNormalsHelper.cjs +0 -47
- package/helpers/VertexNormalsHelper.js +0 -47
- package/helpers/VertexTangentsHelper.cjs +0 -43
- package/helpers/VertexTangentsHelper.js +0 -43
- package/interactive/HTMLMesh.cjs +0 -325
- package/interactive/HTMLMesh.js +0 -325
- package/interactive/InteractiveGroup.cjs +0 -68
- package/interactive/InteractiveGroup.js +0 -68
- package/interactive/SelectionBox.cjs +0 -134
- package/interactive/SelectionBox.js +0 -134
- package/interactive/SelectionHelper.cjs +0 -51
- package/interactive/SelectionHelper.js +0 -51
- package/libs/MeshoptDecoder.cjs +0 -221
- package/libs/MeshoptDecoder.js +0 -221
- package/libs/MotionControllers.cjs +0 -325
- package/libs/MotionControllers.js +0 -325
- package/lights/LightProbeGenerator.cjs +0 -145
- package/lights/LightProbeGenerator.js +0 -145
- package/lights/RectAreaLightUniformsLib.cjs +0 -32846
- package/lights/RectAreaLightUniformsLib.js +0 -32846
- package/lines/Line2.cjs +0 -13
- package/lines/Line2.js +0 -13
- package/lines/LineGeometry.cjs +0 -44
- package/lines/LineGeometry.js +0 -44
- package/lines/LineMaterial.cjs +0 -547
- package/lines/LineMaterial.js +0 -547
- package/lines/LineSegments2.cjs +0 -203
- package/lines/LineSegments2.js +0 -203
- package/lines/LineSegmentsGeometry.cjs +0 -124
- package/lines/LineSegmentsGeometry.js +0 -124
- package/lines/Wireframe.cjs +0 -32
- package/lines/Wireframe.js +0 -32
- package/lines/WireframeGeometry2.cjs +0 -13
- package/lines/WireframeGeometry2.js +0 -13
- package/loaders/3DMLoader.cjs +0 -803
- package/loaders/3DMLoader.js +0 -803
- package/loaders/3MFLoader.cjs +0 -854
- package/loaders/3MFLoader.js +0 -854
- package/loaders/AMFLoader.cjs +0 -284
- package/loaders/AMFLoader.js +0 -284
- package/loaders/AssimpLoader.cjs +0 -1434
- package/loaders/AssimpLoader.js +0 -1434
- package/loaders/BVHLoader.cjs +0 -207
- package/loaders/BVHLoader.js +0 -207
- package/loaders/BasisTextureLoader.cjs +0 -489
- package/loaders/BasisTextureLoader.js +0 -489
- package/loaders/ColladaLoader.cjs +0 -2405
- package/loaders/ColladaLoader.js +0 -2405
- package/loaders/DDSLoader.cjs +0 -148
- package/loaders/DDSLoader.js +0 -148
- package/loaders/DRACOLoader.cjs +0 -341
- package/loaders/DRACOLoader.js +0 -341
- package/loaders/EXRLoader.cjs +0 -1356
- package/loaders/EXRLoader.js +0 -1356
- package/loaders/FBXLoader.cjs +0 -2457
- package/loaders/FBXLoader.js +0 -2457
- package/loaders/FontLoader.cjs +0 -123
- package/loaders/FontLoader.js +0 -123
- package/loaders/GCodeLoader.cjs +0 -141
- package/loaders/GCodeLoader.js +0 -141
- package/loaders/GLTFLoader.cjs +0 -2504
- package/loaders/GLTFLoader.js +0 -2504
- package/loaders/HDRCubeTextureLoader.cjs +0 -75
- package/loaders/HDRCubeTextureLoader.js +0 -75
- package/loaders/KMZLoader.cjs +0 -75
- package/loaders/KMZLoader.js +0 -75
- package/loaders/KTX2Loader.cjs +0 -480
- package/loaders/KTX2Loader.js +0 -480
- package/loaders/KTXLoader.cjs +0 -93
- package/loaders/KTXLoader.js +0 -93
- package/loaders/LDrawLoader.cjs +0 -1424
- package/loaders/LDrawLoader.js +0 -1424
- package/loaders/LUT3dlLoader.cjs +0 -103
- package/loaders/LUT3dlLoader.js +0 -103
- package/loaders/LUTCubeLoader.cjs +0 -107
- package/loaders/LUTCubeLoader.js +0 -107
- package/loaders/LWOLoader.cjs +0 -645
- package/loaders/LWOLoader.js +0 -645
- package/loaders/LottieLoader.cjs +0 -47
- package/loaders/LottieLoader.js +0 -47
- package/loaders/MD2Loader.cjs +0 -359
- package/loaders/MD2Loader.js +0 -359
- package/loaders/MDDLoader.cjs +0 -58
- package/loaders/MDDLoader.js +0 -58
- package/loaders/MMDLoader.cjs +0 -1121
- package/loaders/MMDLoader.js +0 -1121
- package/loaders/MTLLoader.cjs +0 -304
- package/loaders/MTLLoader.js +0 -304
- package/loaders/NRRDLoader.cjs +0 -401
- package/loaders/NRRDLoader.js +0 -401
- package/loaders/OBJLoader.cjs +0 -487
- package/loaders/OBJLoader.js +0 -487
- package/loaders/PCDLoader.cjs +0 -248
- package/loaders/PCDLoader.js +0 -248
- package/loaders/PDBLoader.cjs +0 -247
- package/loaders/PDBLoader.js +0 -247
- package/loaders/PLYLoader.cjs +0 -317
- package/loaders/PLYLoader.js +0 -317
- package/loaders/PRWMLoader.cjs +0 -160
- package/loaders/PRWMLoader.js +0 -160
- package/loaders/PVRLoader.cjs +0 -131
- package/loaders/PVRLoader.js +0 -131
- package/loaders/RGBELoader.cjs +0 -252
- package/loaders/RGBELoader.js +0 -252
- package/loaders/RGBMLoader.cjs +0 -1004
- package/loaders/RGBMLoader.js +0 -1004
- package/loaders/STLLoader.cjs +0 -190
- package/loaders/STLLoader.js +0 -190
- package/loaders/SVGLoader.cjs +0 -1712
- package/loaders/SVGLoader.js +0 -1712
- package/loaders/TDSLoader.cjs +0 -650
- package/loaders/TDSLoader.js +0 -650
- package/loaders/TGALoader.cjs +0 -285
- package/loaders/TGALoader.js +0 -285
- package/loaders/TTFLoader.cjs +0 -131
- package/loaders/TTFLoader.js +0 -131
- package/loaders/TiltLoader.cjs +0 -375
- package/loaders/TiltLoader.js +0 -375
- package/loaders/VOXLoader.cjs +0 -432
- package/loaders/VOXLoader.js +0 -432
- package/loaders/VRMLLoader.cjs +0 -2105
- package/loaders/VRMLLoader.js +0 -2105
- package/loaders/VRMLoader.cjs +0 -38
- package/loaders/VRMLoader.js +0 -38
- package/loaders/VTKLoader.cjs +0 -648
- package/loaders/VTKLoader.js +0 -648
- package/loaders/XLoader.cjs +0 -1258
- package/loaders/XLoader.js +0 -1258
- package/loaders/XYZLoader.cjs +0 -60
- package/loaders/XYZLoader.js +0 -60
- package/loaders/lwo/IFFParser.cjs +0 -743
- package/loaders/lwo/IFFParser.js +0 -743
- package/loaders/lwo/LWO2Parser.cjs +0 -312
- package/loaders/lwo/LWO2Parser.js +0 -312
- package/loaders/lwo/LWO3Parser.cjs +0 -282
- package/loaders/lwo/LWO3Parser.js +0 -282
- package/math/Capsule.cjs +0 -98
- package/math/Capsule.js +0 -98
- package/math/ColorConverter.cjs +0 -42
- package/math/ColorConverter.js +0 -42
- package/math/ConvexHull.cjs +0 -596
- package/math/ConvexHull.js +0 -596
- package/math/ImprovedNoise.cjs +0 -304
- package/math/ImprovedNoise.js +0 -304
- package/math/Lut.cjs +0 -137
- package/math/Lut.js +0 -137
- package/math/MeshSurfaceSampler.cjs +0 -103
- package/math/MeshSurfaceSampler.js +0 -103
- package/math/OBB.cjs +0 -242
- package/math/OBB.js +0 -242
- package/math/Octree.cjs +0 -273
- package/math/Octree.js +0 -273
- package/math/SimplexNoise.cjs +0 -440
- package/math/SimplexNoise.js +0 -440
- package/misc/ConvexObjectBreaker.cjs +0 -292
- package/misc/ConvexObjectBreaker.js +0 -292
- package/misc/GPUComputationRenderer.cjs +0 -205
- package/misc/GPUComputationRenderer.js +0 -205
- package/misc/Gyroscope.cjs +0 -33
- package/misc/Gyroscope.js +0 -33
- package/misc/MD2Character.cjs +0 -167
- package/misc/MD2Character.js +0 -167
- package/misc/MD2CharacterComplex.cjs +0 -332
- package/misc/MD2CharacterComplex.js +0 -332
- package/misc/MorphAnimMesh.cjs +0 -40
- package/misc/MorphAnimMesh.js +0 -40
- package/misc/MorphBlendMesh.cjs +0 -179
- package/misc/MorphBlendMesh.js +0 -179
- package/misc/ProgressiveLightmap.cjs +0 -186
- package/misc/ProgressiveLightmap.js +0 -186
- package/misc/RollerCoaster.cjs +0 -353
- package/misc/RollerCoaster.js +0 -353
- package/misc/Timer.cjs +0 -101
- package/misc/Timer.js +0 -101
- package/misc/TubePainter.cjs +0 -123
- package/misc/TubePainter.js +0 -123
- package/misc/Volume.cjs +0 -305
- package/misc/Volume.js +0 -305
- package/misc/VolumeSlice.cjs +0 -114
- package/misc/VolumeSlice.js +0 -114
- package/misc/WebGL.cjs +0 -74
- package/misc/WebGL.js +0 -74
- package/modifiers/CurveModifier.cjs +0 -232
- package/modifiers/CurveModifier.js +0 -232
- package/modifiers/EdgeSplitModifier.cjs +0 -167
- package/modifiers/EdgeSplitModifier.js +0 -168
- package/modifiers/SimplifyModifier.cjs +0 -301
- package/modifiers/SimplifyModifier.js +0 -301
- package/modifiers/TessellateModifier.cjs +0 -214
- package/modifiers/TessellateModifier.js +0 -214
- package/objects/GroundProjectedEnv.cjs +0 -134
- package/objects/GroundProjectedEnv.js +0 -134
- package/objects/Lensflare.cjs +0 -291
- package/objects/Lensflare.js +0 -291
- package/objects/LightningStorm.cjs +0 -110
- package/objects/LightningStorm.js +0 -110
- package/objects/MarchingCubes.cjs +0 -4809
- package/objects/MarchingCubes.js +0 -4809
- package/objects/Reflector.cjs +0 -202
- package/objects/Reflector.js +0 -202
- package/objects/ReflectorForSSRPass.cjs +0 -260
- package/objects/ReflectorForSSRPass.js +0 -260
- package/objects/ReflectorRTT.cjs +0 -10
- package/objects/ReflectorRTT.js +0 -10
- package/objects/Refractor.cjs +0 -215
- package/objects/Refractor.js +0 -215
- package/objects/ShadowMesh.cjs +0 -45
- package/objects/ShadowMesh.js +0 -45
- package/objects/Sky.cjs +0 -200
- package/objects/Sky.js +0 -200
- package/objects/Water.cjs +0 -242
- package/objects/Water.js +0 -242
- package/objects/Water2.cjs +0 -256
- package/objects/Water2.js +0 -256
- package/physics/AmmoPhysics.cjs +0 -166
- package/physics/AmmoPhysics.js +0 -166
- package/postprocessing/AdaptiveToneMappingPass.cjs +0 -218
- package/postprocessing/AdaptiveToneMappingPass.js +0 -218
- package/postprocessing/AfterimagePass.cjs +0 -68
- package/postprocessing/AfterimagePass.js +0 -68
- package/postprocessing/BloomPass.cjs +0 -109
- package/postprocessing/BloomPass.js +0 -109
- package/postprocessing/BokehPass.cjs +0 -90
- package/postprocessing/BokehPass.js +0 -90
- package/postprocessing/ClearPass.cjs +0 -36
- package/postprocessing/ClearPass.js +0 -36
- package/postprocessing/CubeTexturePass.cjs +0 -53
- package/postprocessing/CubeTexturePass.js +0 -53
- package/postprocessing/DotScreenPass.cjs +0 -49
- package/postprocessing/DotScreenPass.js +0 -49
- package/postprocessing/EffectComposer.cjs +0 -157
- package/postprocessing/EffectComposer.js +0 -157
- package/postprocessing/FilmPass.cjs +0 -51
- package/postprocessing/FilmPass.js +0 -51
- package/postprocessing/GlitchPass.cjs +0 -84
- package/postprocessing/GlitchPass.js +0 -84
- package/postprocessing/HalftonePass.cjs +0 -53
- package/postprocessing/HalftonePass.js +0 -53
- package/postprocessing/LUTPass.cjs +0 -142
- package/postprocessing/LUTPass.js +0 -142
- package/postprocessing/MaskPass.cjs +0 -69
- package/postprocessing/MaskPass.js +0 -69
- package/postprocessing/OutlinePass.cjs +0 -479
- package/postprocessing/OutlinePass.js +0 -479
- package/postprocessing/Pass.cjs +0 -48
- package/postprocessing/Pass.js +0 -48
- package/postprocessing/RenderPass.cjs +0 -59
- package/postprocessing/RenderPass.js +0 -59
- package/postprocessing/RenderPixelatedPass.cjs +0 -199
- package/postprocessing/RenderPixelatedPass.js +0 -199
- package/postprocessing/SAOPass.cjs +0 -288
- package/postprocessing/SAOPass.js +0 -288
- package/postprocessing/SMAAPass.cjs +0 -112
- package/postprocessing/SMAAPass.js +0 -112
- package/postprocessing/SSAARenderPass.cjs +0 -189
- package/postprocessing/SSAARenderPass.js +0 -189
- package/postprocessing/SSAOPass.cjs +0 -272
- package/postprocessing/SSAOPass.js +0 -272
- package/postprocessing/SSRPass.cjs +0 -411
- package/postprocessing/SSRPass.js +0 -411
- package/postprocessing/SavePass.cjs +0 -38
- package/postprocessing/SavePass.js +0 -38
- package/postprocessing/ShaderPass.cjs +0 -49
- package/postprocessing/ShaderPass.js +0 -49
- package/postprocessing/TAARenderPass.cjs +0 -174
- package/postprocessing/TAARenderPass.js +0 -174
- package/postprocessing/TexturePass.cjs +0 -42
- package/postprocessing/TexturePass.js +0 -42
- package/postprocessing/UnrealBloomPass.cjs +0 -277
- package/postprocessing/UnrealBloomPass.js +0 -277
- package/postprocessing/WaterPass.cjs +0 -72
- package/postprocessing/WaterPass.js +0 -72
- package/renderers/CSS2DRenderer.cjs +0 -122
- package/renderers/CSS2DRenderer.js +0 -122
- package/renderers/CSS3DRenderer.cjs +0 -167
- package/renderers/CSS3DRenderer.js +0 -167
- package/renderers/Projector.cjs +0 -499
- package/renderers/Projector.js +0 -499
- package/renderers/SVGRenderer.cjs +0 -311
- package/renderers/SVGRenderer.js +0 -311
- package/shaders/ACESFilmicToneMappingShader.cjs +0 -55
- package/shaders/ACESFilmicToneMappingShader.js +0 -55
- package/shaders/AfterimageShader.cjs +0 -32
- package/shaders/AfterimageShader.js +0 -32
- package/shaders/BasicShader.cjs +0 -12
- package/shaders/BasicShader.js +0 -12
- package/shaders/BleachBypassShader.cjs +0 -35
- package/shaders/BleachBypassShader.js +0 -35
- package/shaders/BlendShader.cjs +0 -30
- package/shaders/BlendShader.js +0 -30
- package/shaders/BokehShader.cjs +0 -109
- package/shaders/BokehShader.js +0 -109
- package/shaders/BokehShader2.cjs +0 -269
- package/shaders/BokehShader2.js +0 -269
- package/shaders/BrightnessContrastShader.cjs +0 -32
- package/shaders/BrightnessContrastShader.js +0 -32
- package/shaders/ColorCorrectionShader.cjs +0 -30
- package/shaders/ColorCorrectionShader.js +0 -30
- package/shaders/ColorifyShader.cjs +0 -28
- package/shaders/ColorifyShader.js +0 -28
- package/shaders/ConvolutionShader.cjs +0 -55
- package/shaders/ConvolutionShader.js +0 -55
- package/shaders/CopyShader.cjs +0 -25
- package/shaders/CopyShader.js +0 -25
- package/shaders/DOFMipMapShader.cjs +0 -32
- package/shaders/DOFMipMapShader.js +0 -32
- package/shaders/DepthLimitedBlurShader.cjs +0 -114
- package/shaders/DepthLimitedBlurShader.js +0 -114
- package/shaders/DigitalGlitch.cjs +0 -85
- package/shaders/DigitalGlitch.js +0 -85
- package/shaders/DotScreenShader.cjs +0 -39
- package/shaders/DotScreenShader.js +0 -39
- package/shaders/FXAAShader.cjs +0 -1098
- package/shaders/FXAAShader.js +0 -1098
- package/shaders/FilmShader.cjs +0 -53
- package/shaders/FilmShader.js +0 -53
- package/shaders/FocusShader.cjs +0 -55
- package/shaders/FocusShader.js +0 -55
- package/shaders/FreiChenShader.cjs +0 -64
- package/shaders/FreiChenShader.js +0 -64
- package/shaders/FresnelShader.cjs +0 -47
- package/shaders/FresnelShader.js +0 -47
- package/shaders/GammaCorrectionShader.cjs +0 -23
- package/shaders/GammaCorrectionShader.js +0 -23
- package/shaders/GodRaysShader.cjs +0 -183
- package/shaders/GodRaysShader.js +0 -183
- package/shaders/HalftoneShader.cjs +0 -228
- package/shaders/HalftoneShader.js +0 -228
- package/shaders/HorizontalBlurShader.cjs +0 -49
- package/shaders/HorizontalBlurShader.js +0 -49
- package/shaders/HorizontalTiltShiftShader.cjs +0 -37
- package/shaders/HorizontalTiltShiftShader.js +0 -37
- package/shaders/HueSaturationShader.cjs +0 -43
- package/shaders/HueSaturationShader.js +0 -43
- package/shaders/KaleidoShader.cjs +0 -34
- package/shaders/KaleidoShader.js +0 -34
- package/shaders/LuminosityHighPassShader.cjs +0 -37
- package/shaders/LuminosityHighPassShader.js +0 -37
- package/shaders/LuminosityShader.cjs +0 -25
- package/shaders/LuminosityShader.js +0 -25
- package/shaders/MirrorShader.cjs +0 -35
- package/shaders/MirrorShader.js +0 -35
- package/shaders/NormalMapShader.cjs +0 -31
- package/shaders/NormalMapShader.js +0 -31
- package/shaders/ParallaxShader.cjs +0 -133
- package/shaders/ParallaxShader.js +0 -133
- package/shaders/PixelShader.cjs +0 -28
- package/shaders/PixelShader.js +0 -28
- package/shaders/RGBShiftShader.cjs +0 -30
- package/shaders/RGBShiftShader.js +0 -30
- package/shaders/SAOShader.cjs +0 -144
- package/shaders/SAOShader.js +0 -144
- package/shaders/SMAAShader.cjs +0 -358
- package/shaders/SMAAShader.js +0 -358
- package/shaders/SSAOShader.cjs +0 -182
- package/shaders/SSAOShader.js +0 -182
- package/shaders/SSRShader.cjs +0 -342
- package/shaders/SSRShader.js +0 -342
- package/shaders/SepiaShader.cjs +0 -29
- package/shaders/SepiaShader.js +0 -29
- package/shaders/SobelOperatorShader.cjs +0 -54
- package/shaders/SobelOperatorShader.js +0 -54
- package/shaders/SubsurfaceScatteringShader.cjs +0 -98
- package/shaders/SubsurfaceScatteringShader.js +0 -98
- package/shaders/TechnicolorShader.cjs +0 -24
- package/shaders/TechnicolorShader.js +0 -24
- package/shaders/ToneMapShader.cjs +0 -51
- package/shaders/ToneMapShader.js +0 -51
- package/shaders/ToonShader.cjs +0 -188
- package/shaders/ToonShader.js +0 -188
- package/shaders/TriangleBlurShader.cjs +0 -37
- package/shaders/TriangleBlurShader.js +0 -37
- package/shaders/UnpackDepthRGBAShader.cjs +0 -26
- package/shaders/UnpackDepthRGBAShader.js +0 -26
- package/shaders/VerticalBlurShader.cjs +0 -50
- package/shaders/VerticalBlurShader.js +0 -50
- package/shaders/VerticalTiltShiftShader.cjs +0 -37
- package/shaders/VerticalTiltShiftShader.js +0 -37
- package/shaders/VignetteShader.cjs +0 -38
- package/shaders/VignetteShader.js +0 -38
- package/shaders/VolumeShader.cjs +0 -225
- package/shaders/VolumeShader.js +0 -225
- package/shaders/WaterRefractionShader.cjs +0 -59
- package/shaders/WaterRefractionShader.js +0 -59
- package/shaders/types.cjs +0 -1
- package/shaders/types.js +0 -1
- package/textures/FlakesTexture.cjs +0 -30
- package/textures/FlakesTexture.js +0 -30
- package/types/helpers.cjs +0 -4
- package/types/helpers.js +0 -4
- package/utils/BufferGeometryUtils.cjs +0 -636
- package/utils/BufferGeometryUtils.js +0 -636
- package/utils/GeometryCompressionUtils.cjs +0 -573
- package/utils/GeometryCompressionUtils.js +0 -573
- package/utils/GeometryUtils.cjs +0 -109
- package/utils/GeometryUtils.js +0 -109
- package/utils/RoughnessMipmapper.cjs +0 -223
- package/utils/RoughnessMipmapper.js +0 -223
- package/utils/SceneUtils.cjs +0 -36
- package/utils/SceneUtils.js +0 -36
- package/utils/ShadowMapViewer.cjs +0 -111
- package/utils/ShadowMapViewer.js +0 -111
- package/utils/SkeletonUtils.cjs +0 -211
- package/utils/SkeletonUtils.js +0 -211
- package/utils/UVsDebug.cjs +0 -80
- package/utils/UVsDebug.js +0 -80
- package/utils/WorkerPool.cjs +0 -62
- package/utils/WorkerPool.js +0 -62
- package/webxr/ARButton.cjs +0 -119
- package/webxr/ARButton.js +0 -119
- package/webxr/OculusHandModel.cjs +0 -82
- package/webxr/OculusHandModel.js +0 -82
- package/webxr/OculusHandPointerModel.cjs +0 -241
- package/webxr/OculusHandPointerModel.js +0 -224
- package/webxr/Text2D.cjs +0 -48
- package/webxr/Text2D.js +0 -31
- package/webxr/VRButton.cjs +0 -111
- package/webxr/VRButton.js +0 -111
- package/webxr/XRControllerModelFactory.cjs +0 -174
- package/webxr/XRControllerModelFactory.js +0 -174
- package/webxr/XREstimatedLight.cjs +0 -126
- package/webxr/XREstimatedLight.js +0 -126
- package/webxr/XRHandMeshModel.cjs +0 -82
- package/webxr/XRHandMeshModel.js +0 -82
- package/webxr/XRHandModelFactory.cjs +0 -61
- package/webxr/XRHandModelFactory.js +0 -61
- package/webxr/XRHandPrimitiveModel.cjs +0 -68
- package/webxr/XRHandPrimitiveModel.js +0 -68
package/shaders/SSAOShader.js
DELETED
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import { Vector2, Matrix4 } from "three";
|
|
2
|
-
const SSAOShader = {
|
|
3
|
-
defines: {
|
|
4
|
-
PERSPECTIVE_CAMERA: 1,
|
|
5
|
-
KERNEL_SIZE: 32
|
|
6
|
-
},
|
|
7
|
-
uniforms: {
|
|
8
|
-
tDiffuse: { value: null },
|
|
9
|
-
tNormal: { value: null },
|
|
10
|
-
tDepth: { value: null },
|
|
11
|
-
tNoise: { value: null },
|
|
12
|
-
kernel: { value: null },
|
|
13
|
-
cameraNear: { value: null },
|
|
14
|
-
cameraFar: { value: null },
|
|
15
|
-
resolution: { value: /* @__PURE__ */ new Vector2() },
|
|
16
|
-
cameraProjectionMatrix: { value: /* @__PURE__ */ new Matrix4() },
|
|
17
|
-
cameraInverseProjectionMatrix: { value: /* @__PURE__ */ new Matrix4() },
|
|
18
|
-
kernelRadius: { value: 8 },
|
|
19
|
-
minDistance: { value: 5e-3 },
|
|
20
|
-
maxDistance: { value: 0.05 }
|
|
21
|
-
},
|
|
22
|
-
vertexShader: [
|
|
23
|
-
"varying vec2 vUv;",
|
|
24
|
-
"void main() {",
|
|
25
|
-
" vUv = uv;",
|
|
26
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
27
|
-
"}"
|
|
28
|
-
].join("\n"),
|
|
29
|
-
fragmentShader: [
|
|
30
|
-
"uniform sampler2D tDiffuse;",
|
|
31
|
-
"uniform sampler2D tNormal;",
|
|
32
|
-
"uniform sampler2D tDepth;",
|
|
33
|
-
"uniform sampler2D tNoise;",
|
|
34
|
-
"uniform vec3 kernel[ KERNEL_SIZE ];",
|
|
35
|
-
"uniform vec2 resolution;",
|
|
36
|
-
"uniform float cameraNear;",
|
|
37
|
-
"uniform float cameraFar;",
|
|
38
|
-
"uniform mat4 cameraProjectionMatrix;",
|
|
39
|
-
"uniform mat4 cameraInverseProjectionMatrix;",
|
|
40
|
-
"uniform float kernelRadius;",
|
|
41
|
-
"uniform float minDistance;",
|
|
42
|
-
// avoid artifacts caused by neighbour fragments with minimal depth difference
|
|
43
|
-
"uniform float maxDistance;",
|
|
44
|
-
// avoid the influence of fragments which are too far away
|
|
45
|
-
"varying vec2 vUv;",
|
|
46
|
-
"#include <packing>",
|
|
47
|
-
"float getDepth( const in vec2 screenPosition ) {",
|
|
48
|
-
" return texture2D( tDepth, screenPosition ).x;",
|
|
49
|
-
"}",
|
|
50
|
-
"float getLinearDepth( const in vec2 screenPosition ) {",
|
|
51
|
-
" #if PERSPECTIVE_CAMERA == 1",
|
|
52
|
-
" float fragCoordZ = texture2D( tDepth, screenPosition ).x;",
|
|
53
|
-
" float viewZ = perspectiveDepthToViewZ( fragCoordZ, cameraNear, cameraFar );",
|
|
54
|
-
" return viewZToOrthographicDepth( viewZ, cameraNear, cameraFar );",
|
|
55
|
-
" #else",
|
|
56
|
-
" return texture2D( tDepth, screenPosition ).x;",
|
|
57
|
-
" #endif",
|
|
58
|
-
"}",
|
|
59
|
-
"float getViewZ( const in float depth ) {",
|
|
60
|
-
" #if PERSPECTIVE_CAMERA == 1",
|
|
61
|
-
" return perspectiveDepthToViewZ( depth, cameraNear, cameraFar );",
|
|
62
|
-
" #else",
|
|
63
|
-
" return orthographicDepthToViewZ( depth, cameraNear, cameraFar );",
|
|
64
|
-
" #endif",
|
|
65
|
-
"}",
|
|
66
|
-
"vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) {",
|
|
67
|
-
" float clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3];",
|
|
68
|
-
" vec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 );",
|
|
69
|
-
" clipPosition *= clipW; // unprojection.",
|
|
70
|
-
" return ( cameraInverseProjectionMatrix * clipPosition ).xyz;",
|
|
71
|
-
"}",
|
|
72
|
-
"vec3 getViewNormal( const in vec2 screenPosition ) {",
|
|
73
|
-
" return unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz );",
|
|
74
|
-
"}",
|
|
75
|
-
"void main() {",
|
|
76
|
-
" float depth = getDepth( vUv );",
|
|
77
|
-
" float viewZ = getViewZ( depth );",
|
|
78
|
-
" vec3 viewPosition = getViewPosition( vUv, depth, viewZ );",
|
|
79
|
-
" vec3 viewNormal = getViewNormal( vUv );",
|
|
80
|
-
" vec2 noiseScale = vec2( resolution.x / 4.0, resolution.y / 4.0 );",
|
|
81
|
-
" vec3 random = texture2D( tNoise, vUv * noiseScale ).xyz;",
|
|
82
|
-
// compute matrix used to reorient a kernel vector
|
|
83
|
-
" vec3 tangent = normalize( random - viewNormal * dot( random, viewNormal ) );",
|
|
84
|
-
" vec3 bitangent = cross( viewNormal, tangent );",
|
|
85
|
-
" mat3 kernelMatrix = mat3( tangent, bitangent, viewNormal );",
|
|
86
|
-
" float occlusion = 0.0;",
|
|
87
|
-
" for ( int i = 0; i < KERNEL_SIZE; i ++ ) {",
|
|
88
|
-
" vec3 sampleVector = kernelMatrix * kernel[ i ];",
|
|
89
|
-
// reorient sample vector in view space
|
|
90
|
-
" vec3 samplePoint = viewPosition + ( sampleVector * kernelRadius );",
|
|
91
|
-
// calculate sample point
|
|
92
|
-
" vec4 samplePointNDC = cameraProjectionMatrix * vec4( samplePoint, 1.0 );",
|
|
93
|
-
// project point and calculate NDC
|
|
94
|
-
" samplePointNDC /= samplePointNDC.w;",
|
|
95
|
-
" vec2 samplePointUv = samplePointNDC.xy * 0.5 + 0.5;",
|
|
96
|
-
// compute uv coordinates
|
|
97
|
-
" float realDepth = getLinearDepth( samplePointUv );",
|
|
98
|
-
// get linear depth from depth texture
|
|
99
|
-
" float sampleDepth = viewZToOrthographicDepth( samplePoint.z, cameraNear, cameraFar );",
|
|
100
|
-
// compute linear depth of the sample view Z value
|
|
101
|
-
" float delta = sampleDepth - realDepth;",
|
|
102
|
-
" if ( delta > minDistance && delta < maxDistance ) {",
|
|
103
|
-
// if fragment is before sample point, increase occlusion
|
|
104
|
-
" occlusion += 1.0;",
|
|
105
|
-
" }",
|
|
106
|
-
" }",
|
|
107
|
-
" occlusion = clamp( occlusion / float( KERNEL_SIZE ), 0.0, 1.0 );",
|
|
108
|
-
" gl_FragColor = vec4( vec3( 1.0 - occlusion ), 1.0 );",
|
|
109
|
-
"}"
|
|
110
|
-
].join("\n")
|
|
111
|
-
};
|
|
112
|
-
const SSAODepthShader = {
|
|
113
|
-
defines: {
|
|
114
|
-
PERSPECTIVE_CAMERA: 1
|
|
115
|
-
},
|
|
116
|
-
uniforms: {
|
|
117
|
-
tDepth: { value: null },
|
|
118
|
-
cameraNear: { value: null },
|
|
119
|
-
cameraFar: { value: null }
|
|
120
|
-
},
|
|
121
|
-
vertexShader: [
|
|
122
|
-
"varying vec2 vUv;",
|
|
123
|
-
"void main() {",
|
|
124
|
-
" vUv = uv;",
|
|
125
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
126
|
-
"}"
|
|
127
|
-
].join("\n"),
|
|
128
|
-
fragmentShader: [
|
|
129
|
-
"uniform sampler2D tDepth;",
|
|
130
|
-
"uniform float cameraNear;",
|
|
131
|
-
"uniform float cameraFar;",
|
|
132
|
-
"varying vec2 vUv;",
|
|
133
|
-
"#include <packing>",
|
|
134
|
-
"float getLinearDepth( const in vec2 screenPosition ) {",
|
|
135
|
-
" #if PERSPECTIVE_CAMERA == 1",
|
|
136
|
-
" float fragCoordZ = texture2D( tDepth, screenPosition ).x;",
|
|
137
|
-
" float viewZ = perspectiveDepthToViewZ( fragCoordZ, cameraNear, cameraFar );",
|
|
138
|
-
" return viewZToOrthographicDepth( viewZ, cameraNear, cameraFar );",
|
|
139
|
-
" #else",
|
|
140
|
-
" return texture2D( tDepth, screenPosition ).x;",
|
|
141
|
-
" #endif",
|
|
142
|
-
"}",
|
|
143
|
-
"void main() {",
|
|
144
|
-
" float depth = getLinearDepth( vUv );",
|
|
145
|
-
" gl_FragColor = vec4( vec3( 1.0 - depth ), 1.0 );",
|
|
146
|
-
"}"
|
|
147
|
-
].join("\n")
|
|
148
|
-
};
|
|
149
|
-
const SSAOBlurShader = {
|
|
150
|
-
uniforms: {
|
|
151
|
-
tDiffuse: { value: null },
|
|
152
|
-
resolution: { value: /* @__PURE__ */ new Vector2() }
|
|
153
|
-
},
|
|
154
|
-
vertexShader: [
|
|
155
|
-
"varying vec2 vUv;",
|
|
156
|
-
"void main() {",
|
|
157
|
-
" vUv = uv;",
|
|
158
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
159
|
-
"}"
|
|
160
|
-
].join("\n"),
|
|
161
|
-
fragmentShader: [
|
|
162
|
-
"uniform sampler2D tDiffuse;",
|
|
163
|
-
"uniform vec2 resolution;",
|
|
164
|
-
"varying vec2 vUv;",
|
|
165
|
-
"void main() {",
|
|
166
|
-
" vec2 texelSize = ( 1.0 / resolution );",
|
|
167
|
-
" float result = 0.0;",
|
|
168
|
-
" for ( int i = - 2; i <= 2; i ++ ) {",
|
|
169
|
-
" for ( int j = - 2; j <= 2; j ++ ) {",
|
|
170
|
-
" vec2 offset = ( vec2( float( i ), float( j ) ) ) * texelSize;",
|
|
171
|
-
" result += texture2D( tDiffuse, vUv + offset ).r;",
|
|
172
|
-
" }",
|
|
173
|
-
" }",
|
|
174
|
-
" gl_FragColor = vec4( vec3( result / ( 5.0 * 5.0 ) ), 1.0 );",
|
|
175
|
-
"}"
|
|
176
|
-
].join("\n")
|
|
177
|
-
};
|
|
178
|
-
export {
|
|
179
|
-
SSAOBlurShader,
|
|
180
|
-
SSAODepthShader,
|
|
181
|
-
SSAOShader
|
|
182
|
-
};
|
package/shaders/SSRShader.cjs
DELETED
|
@@ -1,342 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const THREE = require("three");
|
|
4
|
-
const SSRShader = {
|
|
5
|
-
defines: {
|
|
6
|
-
MAX_STEP: 0,
|
|
7
|
-
isPerspectiveCamera: true,
|
|
8
|
-
isDistanceAttenuation: true,
|
|
9
|
-
isFresnel: true,
|
|
10
|
-
isInfiniteThick: false,
|
|
11
|
-
isSelective: false
|
|
12
|
-
},
|
|
13
|
-
uniforms: {
|
|
14
|
-
tDiffuse: { value: null },
|
|
15
|
-
tNormal: { value: null },
|
|
16
|
-
tMetalness: { value: null },
|
|
17
|
-
tDepth: { value: null },
|
|
18
|
-
cameraNear: { value: null },
|
|
19
|
-
cameraFar: { value: null },
|
|
20
|
-
resolution: { value: /* @__PURE__ */ new THREE.Vector2() },
|
|
21
|
-
cameraProjectionMatrix: { value: /* @__PURE__ */ new THREE.Matrix4() },
|
|
22
|
-
cameraInverseProjectionMatrix: { value: /* @__PURE__ */ new THREE.Matrix4() },
|
|
23
|
-
opacity: { value: 0.5 },
|
|
24
|
-
maxDistance: { value: 180 },
|
|
25
|
-
cameraRange: { value: 0 },
|
|
26
|
-
surfDist: { value: 7e-3 },
|
|
27
|
-
thickTolerance: { value: 0.03 }
|
|
28
|
-
},
|
|
29
|
-
vertexShader: (
|
|
30
|
-
/* glsl */
|
|
31
|
-
`
|
|
32
|
-
|
|
33
|
-
varying vec2 vUv;
|
|
34
|
-
|
|
35
|
-
void main() {
|
|
36
|
-
|
|
37
|
-
vUv = uv;
|
|
38
|
-
|
|
39
|
-
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
`
|
|
44
|
-
),
|
|
45
|
-
fragmentShader: (
|
|
46
|
-
/* glsl */
|
|
47
|
-
`
|
|
48
|
-
// precision highp float;
|
|
49
|
-
precision highp sampler2D;
|
|
50
|
-
varying vec2 vUv;
|
|
51
|
-
uniform sampler2D tDepth;
|
|
52
|
-
uniform sampler2D tNormal;
|
|
53
|
-
uniform sampler2D tMetalness;
|
|
54
|
-
uniform sampler2D tDiffuse;
|
|
55
|
-
uniform float cameraRange;
|
|
56
|
-
uniform vec2 resolution;
|
|
57
|
-
uniform float opacity;
|
|
58
|
-
uniform float cameraNear;
|
|
59
|
-
uniform float cameraFar;
|
|
60
|
-
uniform float maxDistance;
|
|
61
|
-
uniform float surfDist;
|
|
62
|
-
uniform mat4 cameraProjectionMatrix;
|
|
63
|
-
uniform mat4 cameraInverseProjectionMatrix;
|
|
64
|
-
uniform float thickTolerance;
|
|
65
|
-
#include <packing>
|
|
66
|
-
float pointToLineDistance(vec3 x0, vec3 x1, vec3 x2) {
|
|
67
|
-
//x0: point, x1: linePointA, x2: linePointB
|
|
68
|
-
//https://mathworld.wolfram.com/Point-LineDistance3-Dimensional.html
|
|
69
|
-
return length(cross(x0-x1,x0-x2))/length(x2-x1);
|
|
70
|
-
}
|
|
71
|
-
float pointPlaneDistance(vec3 point,vec3 planePoint,vec3 planeNormal){
|
|
72
|
-
// https://mathworld.wolfram.com/Point-PlaneDistance.html
|
|
73
|
-
//// https://en.wikipedia.org/wiki/Plane_(geometry)
|
|
74
|
-
//// http://paulbourke.net/geometry/pointlineplane/
|
|
75
|
-
float a=planeNormal.x,b=planeNormal.y,c=planeNormal.z;
|
|
76
|
-
float x0=point.x,y0=point.y,z0=point.z;
|
|
77
|
-
float x=planePoint.x,y=planePoint.y,z=planePoint.z;
|
|
78
|
-
float d=-(a*x+b*y+c*z);
|
|
79
|
-
float distance=(a*x0+b*y0+c*z0+d)/sqrt(a*a+b*b+c*c);
|
|
80
|
-
return distance;
|
|
81
|
-
}
|
|
82
|
-
float getDepth( const in vec2 uv ) {
|
|
83
|
-
return texture2D( tDepth, uv ).x;
|
|
84
|
-
}
|
|
85
|
-
float getViewZ( const in float depth ) {
|
|
86
|
-
#ifdef isPerspectiveCamera
|
|
87
|
-
return perspectiveDepthToViewZ( depth, cameraNear, cameraFar );
|
|
88
|
-
#else
|
|
89
|
-
return orthographicDepthToViewZ( depth, cameraNear, cameraFar );
|
|
90
|
-
#endif
|
|
91
|
-
}
|
|
92
|
-
vec3 getViewPosition( const in vec2 uv, const in float depth/*clip space*/, const in float clipW ) {
|
|
93
|
-
vec4 clipPosition = vec4( ( vec3( uv, depth ) - 0.5 ) * 2.0, 1.0 );//ndc
|
|
94
|
-
clipPosition *= clipW; //clip
|
|
95
|
-
return ( cameraInverseProjectionMatrix * clipPosition ).xyz;//view
|
|
96
|
-
}
|
|
97
|
-
vec3 getViewNormal( const in vec2 uv ) {
|
|
98
|
-
return unpackRGBToNormal( texture2D( tNormal, uv ).xyz );
|
|
99
|
-
}
|
|
100
|
-
vec2 viewPositionToXY(vec3 viewPosition){
|
|
101
|
-
vec2 xy;
|
|
102
|
-
vec4 clip=cameraProjectionMatrix*vec4(viewPosition,1);
|
|
103
|
-
xy=clip.xy;//clip
|
|
104
|
-
float clipW=clip.w;
|
|
105
|
-
xy/=clipW;//NDC
|
|
106
|
-
xy=(xy+1.)/2.;//uv
|
|
107
|
-
xy*=resolution;//screen
|
|
108
|
-
return xy;
|
|
109
|
-
}
|
|
110
|
-
void main(){
|
|
111
|
-
#ifdef isSelective
|
|
112
|
-
float metalness=texture2D(tMetalness,vUv).r;
|
|
113
|
-
if(metalness==0.) return;
|
|
114
|
-
#endif
|
|
115
|
-
|
|
116
|
-
float depth = getDepth( vUv );
|
|
117
|
-
float viewZ = getViewZ( depth );
|
|
118
|
-
if(-viewZ>=cameraFar) return;
|
|
119
|
-
|
|
120
|
-
float clipW = cameraProjectionMatrix[2][3] * viewZ+cameraProjectionMatrix[3][3];
|
|
121
|
-
vec3 viewPosition=getViewPosition( vUv, depth, clipW );
|
|
122
|
-
|
|
123
|
-
vec2 d0=gl_FragCoord.xy;
|
|
124
|
-
vec2 d1;
|
|
125
|
-
|
|
126
|
-
vec3 viewNormal=getViewNormal( vUv );
|
|
127
|
-
|
|
128
|
-
#ifdef isPerspectiveCamera
|
|
129
|
-
vec3 viewIncidenceDir=normalize(viewPosition);
|
|
130
|
-
vec3 viewReflectDir=reflect(viewIncidenceDir,viewNormal);
|
|
131
|
-
#else
|
|
132
|
-
vec3 viewIncidenceDir=vec3(0,0,-1);
|
|
133
|
-
vec3 viewReflectDir=reflect(viewIncidenceDir,viewNormal);
|
|
134
|
-
#endif
|
|
135
|
-
|
|
136
|
-
float maxReflectRayLen=maxDistance/dot(-viewIncidenceDir,viewNormal);
|
|
137
|
-
// dot(a,b)==length(a)*length(b)*cos(theta) // https://www.mathsisfun.com/algebra/vectors-dot-product.html
|
|
138
|
-
// if(a.isNormalized&&b.isNormalized) dot(a,b)==cos(theta)
|
|
139
|
-
// maxDistance/maxReflectRayLen=cos(theta)
|
|
140
|
-
// maxDistance/maxReflectRayLen==dot(a,b)
|
|
141
|
-
// maxReflectRayLen==maxDistance/dot(a,b)
|
|
142
|
-
|
|
143
|
-
vec3 d1viewPosition=viewPosition+viewReflectDir*maxReflectRayLen;
|
|
144
|
-
#ifdef isPerspectiveCamera
|
|
145
|
-
if(d1viewPosition.z>-cameraNear){
|
|
146
|
-
//https://tutorial.math.lamar.edu/Classes/CalcIII/EqnsOfLines.aspx
|
|
147
|
-
float t=(-cameraNear-viewPosition.z)/viewReflectDir.z;
|
|
148
|
-
d1viewPosition=viewPosition+viewReflectDir*t;
|
|
149
|
-
}
|
|
150
|
-
#endif
|
|
151
|
-
d1=viewPositionToXY(d1viewPosition);
|
|
152
|
-
|
|
153
|
-
float totalLen=length(d1-d0);
|
|
154
|
-
float xLen=d1.x-d0.x;
|
|
155
|
-
float yLen=d1.y-d0.y;
|
|
156
|
-
float totalStep=max(abs(xLen),abs(yLen));
|
|
157
|
-
float xSpan=xLen/totalStep;
|
|
158
|
-
float ySpan=yLen/totalStep;
|
|
159
|
-
for(float i=0.;i<MAX_STEP;i++){
|
|
160
|
-
if(i>=totalStep) break;
|
|
161
|
-
vec2 xy=vec2(d0.x+i*xSpan,d0.y+i*ySpan);
|
|
162
|
-
if(xy.x<0.||xy.x>resolution.x||xy.y<0.||xy.y>resolution.y) break;
|
|
163
|
-
float s=length(xy-d0)/totalLen;
|
|
164
|
-
vec2 uv=xy/resolution;
|
|
165
|
-
|
|
166
|
-
float d = getDepth(uv);
|
|
167
|
-
float vZ = getViewZ( d );
|
|
168
|
-
if(-vZ>=cameraFar) continue;
|
|
169
|
-
float cW = cameraProjectionMatrix[2][3] * vZ+cameraProjectionMatrix[3][3];
|
|
170
|
-
vec3 vP=getViewPosition( uv, d, cW );
|
|
171
|
-
|
|
172
|
-
#ifdef isPerspectiveCamera
|
|
173
|
-
// https://www.comp.nus.edu.sg/~lowkl/publications/lowk_persp_interp_techrep.pdf
|
|
174
|
-
float recipVPZ=1./viewPosition.z;
|
|
175
|
-
float viewReflectRayZ=1./(recipVPZ+s*(1./d1viewPosition.z-recipVPZ));
|
|
176
|
-
float sD=surfDist*cW;
|
|
177
|
-
#else
|
|
178
|
-
float viewReflectRayZ=viewPosition.z+s*(d1viewPosition.z-viewPosition.z);
|
|
179
|
-
float sD=surfDist;
|
|
180
|
-
#endif
|
|
181
|
-
if(viewReflectRayZ-sD>vZ) continue;
|
|
182
|
-
|
|
183
|
-
#ifdef isInfiniteThick
|
|
184
|
-
if(viewReflectRayZ+thickTolerance*clipW<vP.z) break;
|
|
185
|
-
#endif
|
|
186
|
-
float away=pointToLineDistance(vP,viewPosition,d1viewPosition);
|
|
187
|
-
|
|
188
|
-
float op=opacity;
|
|
189
|
-
|
|
190
|
-
if(away<sD){
|
|
191
|
-
vec3 vN=getViewNormal( uv );
|
|
192
|
-
if(dot(viewReflectDir,vN)>=0.) continue;
|
|
193
|
-
float distance=pointPlaneDistance(vP,viewPosition,viewNormal);
|
|
194
|
-
if(distance>maxDistance) break;
|
|
195
|
-
#ifdef isDistanceAttenuation
|
|
196
|
-
float ratio=1.-(distance/maxDistance);
|
|
197
|
-
float attenuation=ratio*ratio;
|
|
198
|
-
op=opacity*attenuation;
|
|
199
|
-
#endif
|
|
200
|
-
#ifdef isFresnel
|
|
201
|
-
float fresnel=(dot(viewIncidenceDir,viewReflectDir)+1.)/2.;
|
|
202
|
-
op*=fresnel;
|
|
203
|
-
#endif
|
|
204
|
-
vec4 reflectColor=texture2D(tDiffuse,uv);
|
|
205
|
-
gl_FragColor.xyz=reflectColor.xyz;
|
|
206
|
-
gl_FragColor.a=op;
|
|
207
|
-
break;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
`
|
|
212
|
-
)
|
|
213
|
-
};
|
|
214
|
-
const SSRDepthShader = {
|
|
215
|
-
defines: {
|
|
216
|
-
PERSPECTIVE_CAMERA: 1
|
|
217
|
-
},
|
|
218
|
-
uniforms: {
|
|
219
|
-
tDepth: { value: null },
|
|
220
|
-
cameraNear: { value: null },
|
|
221
|
-
cameraFar: { value: null }
|
|
222
|
-
},
|
|
223
|
-
vertexShader: (
|
|
224
|
-
/* glsl */
|
|
225
|
-
`
|
|
226
|
-
|
|
227
|
-
varying vec2 vUv;
|
|
228
|
-
|
|
229
|
-
void main() {
|
|
230
|
-
|
|
231
|
-
vUv = uv;
|
|
232
|
-
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
233
|
-
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
`
|
|
237
|
-
),
|
|
238
|
-
fragmentShader: (
|
|
239
|
-
/* glsl */
|
|
240
|
-
`
|
|
241
|
-
|
|
242
|
-
uniform sampler2D tDepth;
|
|
243
|
-
|
|
244
|
-
uniform float cameraNear;
|
|
245
|
-
uniform float cameraFar;
|
|
246
|
-
|
|
247
|
-
varying vec2 vUv;
|
|
248
|
-
|
|
249
|
-
#include <packing>
|
|
250
|
-
|
|
251
|
-
float getLinearDepth( const in vec2 uv ) {
|
|
252
|
-
|
|
253
|
-
#if PERSPECTIVE_CAMERA == 1
|
|
254
|
-
|
|
255
|
-
float fragCoordZ = texture2D( tDepth, uv ).x;
|
|
256
|
-
float viewZ = perspectiveDepthToViewZ( fragCoordZ, cameraNear, cameraFar );
|
|
257
|
-
return viewZToOrthographicDepth( viewZ, cameraNear, cameraFar );
|
|
258
|
-
|
|
259
|
-
#else
|
|
260
|
-
|
|
261
|
-
return texture2D( tDepth, uv ).x;
|
|
262
|
-
|
|
263
|
-
#endif
|
|
264
|
-
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
void main() {
|
|
268
|
-
|
|
269
|
-
float depth = getLinearDepth( vUv );
|
|
270
|
-
float d = 1.0 - depth;
|
|
271
|
-
// d=(d-.999)*1000.;
|
|
272
|
-
gl_FragColor = vec4( vec3( d ), 1.0 );
|
|
273
|
-
|
|
274
|
-
}
|
|
275
|
-
|
|
276
|
-
`
|
|
277
|
-
)
|
|
278
|
-
};
|
|
279
|
-
const SSRBlurShader = {
|
|
280
|
-
uniforms: {
|
|
281
|
-
tDiffuse: { value: null },
|
|
282
|
-
resolution: { value: /* @__PURE__ */ new THREE.Vector2() },
|
|
283
|
-
opacity: { value: 0.5 }
|
|
284
|
-
},
|
|
285
|
-
vertexShader: (
|
|
286
|
-
/* glsl */
|
|
287
|
-
`
|
|
288
|
-
|
|
289
|
-
varying vec2 vUv;
|
|
290
|
-
|
|
291
|
-
void main() {
|
|
292
|
-
|
|
293
|
-
vUv = uv;
|
|
294
|
-
gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );
|
|
295
|
-
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
`
|
|
299
|
-
),
|
|
300
|
-
fragmentShader: (
|
|
301
|
-
/* glsl */
|
|
302
|
-
`
|
|
303
|
-
|
|
304
|
-
uniform sampler2D tDiffuse;
|
|
305
|
-
uniform vec2 resolution;
|
|
306
|
-
varying vec2 vUv;
|
|
307
|
-
void main() {
|
|
308
|
-
//reverse engineering from PhotoShop blur filter, then change coefficient
|
|
309
|
-
|
|
310
|
-
vec2 texelSize = ( 1.0 / resolution );
|
|
311
|
-
|
|
312
|
-
vec4 c=texture2D(tDiffuse,vUv);
|
|
313
|
-
|
|
314
|
-
vec2 offset;
|
|
315
|
-
|
|
316
|
-
offset=(vec2(-1,0))*texelSize;
|
|
317
|
-
vec4 cl=texture2D(tDiffuse,vUv+offset);
|
|
318
|
-
|
|
319
|
-
offset=(vec2(1,0))*texelSize;
|
|
320
|
-
vec4 cr=texture2D(tDiffuse,vUv+offset);
|
|
321
|
-
|
|
322
|
-
offset=(vec2(0,-1))*texelSize;
|
|
323
|
-
vec4 cb=texture2D(tDiffuse,vUv+offset);
|
|
324
|
-
|
|
325
|
-
offset=(vec2(0,1))*texelSize;
|
|
326
|
-
vec4 ct=texture2D(tDiffuse,vUv+offset);
|
|
327
|
-
|
|
328
|
-
// float coeCenter=.5;
|
|
329
|
-
// float coeSide=.125;
|
|
330
|
-
float coeCenter=.2;
|
|
331
|
-
float coeSide=.2;
|
|
332
|
-
float a=c.a*coeCenter+cl.a*coeSide+cr.a*coeSide+cb.a*coeSide+ct.a*coeSide;
|
|
333
|
-
vec3 rgb=(c.rgb*c.a*coeCenter+cl.rgb*cl.a*coeSide+cr.rgb*cr.a*coeSide+cb.rgb*cb.a*coeSide+ct.rgb*ct.a*coeSide)/a;
|
|
334
|
-
gl_FragColor=vec4(rgb,a);
|
|
335
|
-
|
|
336
|
-
}
|
|
337
|
-
`
|
|
338
|
-
)
|
|
339
|
-
};
|
|
340
|
-
exports.SSRBlurShader = SSRBlurShader;
|
|
341
|
-
exports.SSRDepthShader = SSRDepthShader;
|
|
342
|
-
exports.SSRShader = SSRShader;
|