three-stdlib 2.25.0 → 2.26.0
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 +1 -0
- package/index.cjs +116465 -611
- package/index.js +116101 -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 -791
- package/controls/OrbitControls.js +0 -791
- 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
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
const ParallaxShader = {
|
|
2
|
-
// Ordered from fastest to best quality.
|
|
3
|
-
modes: {
|
|
4
|
-
none: "NO_PARALLAX",
|
|
5
|
-
basic: "USE_BASIC_PARALLAX",
|
|
6
|
-
steep: "USE_STEEP_PARALLAX",
|
|
7
|
-
occlusion: "USE_OCLUSION_PARALLAX",
|
|
8
|
-
// a.k.a. POM
|
|
9
|
-
relief: "USE_RELIEF_PARALLAX"
|
|
10
|
-
},
|
|
11
|
-
uniforms: {
|
|
12
|
-
bumpMap: { value: null },
|
|
13
|
-
map: { value: null },
|
|
14
|
-
parallaxScale: { value: null },
|
|
15
|
-
parallaxMinLayers: { value: null },
|
|
16
|
-
parallaxMaxLayers: { value: null }
|
|
17
|
-
},
|
|
18
|
-
vertexShader: [
|
|
19
|
-
"varying vec2 vUv;",
|
|
20
|
-
"varying vec3 vViewPosition;",
|
|
21
|
-
"varying vec3 vNormal;",
|
|
22
|
-
"void main() {",
|
|
23
|
-
" vUv = uv;",
|
|
24
|
-
" vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
25
|
-
" vViewPosition = -mvPosition.xyz;",
|
|
26
|
-
" vNormal = normalize( normalMatrix * normal );",
|
|
27
|
-
" gl_Position = projectionMatrix * mvPosition;",
|
|
28
|
-
"}"
|
|
29
|
-
].join("\n"),
|
|
30
|
-
fragmentShader: [
|
|
31
|
-
"uniform sampler2D bumpMap;",
|
|
32
|
-
"uniform sampler2D map;",
|
|
33
|
-
"uniform float parallaxScale;",
|
|
34
|
-
"uniform float parallaxMinLayers;",
|
|
35
|
-
"uniform float parallaxMaxLayers;",
|
|
36
|
-
"varying vec2 vUv;",
|
|
37
|
-
"varying vec3 vViewPosition;",
|
|
38
|
-
"varying vec3 vNormal;",
|
|
39
|
-
"#ifdef USE_BASIC_PARALLAX",
|
|
40
|
-
" vec2 parallaxMap( in vec3 V ) {",
|
|
41
|
-
" float initialHeight = texture2D( bumpMap, vUv ).r;",
|
|
42
|
-
// No Offset Limitting: messy, floating output at grazing angles.
|
|
43
|
-
//"vec2 texCoordOffset = parallaxScale * V.xy / V.z * initialHeight;",
|
|
44
|
-
// Offset Limiting
|
|
45
|
-
" vec2 texCoordOffset = parallaxScale * V.xy * initialHeight;",
|
|
46
|
-
" return vUv - texCoordOffset;",
|
|
47
|
-
" }",
|
|
48
|
-
"#else",
|
|
49
|
-
" vec2 parallaxMap( in vec3 V ) {",
|
|
50
|
-
// Determine number of layers from angle between V and N
|
|
51
|
-
" float numLayers = mix( parallaxMaxLayers, parallaxMinLayers, abs( dot( vec3( 0.0, 0.0, 1.0 ), V ) ) );",
|
|
52
|
-
" float layerHeight = 1.0 / numLayers;",
|
|
53
|
-
" float currentLayerHeight = 0.0;",
|
|
54
|
-
// Shift of texture coordinates for each iteration
|
|
55
|
-
" vec2 dtex = parallaxScale * V.xy / V.z / numLayers;",
|
|
56
|
-
" vec2 currentTextureCoords = vUv;",
|
|
57
|
-
" float heightFromTexture = texture2D( bumpMap, currentTextureCoords ).r;",
|
|
58
|
-
// while ( heightFromTexture > currentLayerHeight )
|
|
59
|
-
// Infinite loops are not well supported. Do a "large" finite
|
|
60
|
-
// loop, but not too large, as it slows down some compilers.
|
|
61
|
-
" for ( int i = 0; i < 30; i += 1 ) {",
|
|
62
|
-
" if ( heightFromTexture <= currentLayerHeight ) {",
|
|
63
|
-
" break;",
|
|
64
|
-
" }",
|
|
65
|
-
" currentLayerHeight += layerHeight;",
|
|
66
|
-
// Shift texture coordinates along vector V
|
|
67
|
-
" currentTextureCoords -= dtex;",
|
|
68
|
-
" heightFromTexture = texture2D( bumpMap, currentTextureCoords ).r;",
|
|
69
|
-
" }",
|
|
70
|
-
" #ifdef USE_STEEP_PARALLAX",
|
|
71
|
-
" return currentTextureCoords;",
|
|
72
|
-
" #elif defined( USE_RELIEF_PARALLAX )",
|
|
73
|
-
" vec2 deltaTexCoord = dtex / 2.0;",
|
|
74
|
-
" float deltaHeight = layerHeight / 2.0;",
|
|
75
|
-
// Return to the mid point of previous layer
|
|
76
|
-
" currentTextureCoords += deltaTexCoord;",
|
|
77
|
-
" currentLayerHeight -= deltaHeight;",
|
|
78
|
-
// Binary search to increase precision of Steep Parallax Mapping
|
|
79
|
-
" const int numSearches = 5;",
|
|
80
|
-
" for ( int i = 0; i < numSearches; i += 1 ) {",
|
|
81
|
-
" deltaTexCoord /= 2.0;",
|
|
82
|
-
" deltaHeight /= 2.0;",
|
|
83
|
-
" heightFromTexture = texture2D( bumpMap, currentTextureCoords ).r;",
|
|
84
|
-
// Shift along or against vector V
|
|
85
|
-
" if( heightFromTexture > currentLayerHeight ) {",
|
|
86
|
-
// Below the surface
|
|
87
|
-
" currentTextureCoords -= deltaTexCoord;",
|
|
88
|
-
" currentLayerHeight += deltaHeight;",
|
|
89
|
-
" } else {",
|
|
90
|
-
// above the surface
|
|
91
|
-
" currentTextureCoords += deltaTexCoord;",
|
|
92
|
-
" currentLayerHeight -= deltaHeight;",
|
|
93
|
-
" }",
|
|
94
|
-
" }",
|
|
95
|
-
" return currentTextureCoords;",
|
|
96
|
-
" #elif defined( USE_OCLUSION_PARALLAX )",
|
|
97
|
-
" vec2 prevTCoords = currentTextureCoords + dtex;",
|
|
98
|
-
// Heights for linear interpolation
|
|
99
|
-
" float nextH = heightFromTexture - currentLayerHeight;",
|
|
100
|
-
" float prevH = texture2D( bumpMap, prevTCoords ).r - currentLayerHeight + layerHeight;",
|
|
101
|
-
// Proportions for linear interpolation
|
|
102
|
-
" float weight = nextH / ( nextH - prevH );",
|
|
103
|
-
// Interpolation of texture coordinates
|
|
104
|
-
" return prevTCoords * weight + currentTextureCoords * ( 1.0 - weight );",
|
|
105
|
-
" #else",
|
|
106
|
-
// NO_PARALLAX
|
|
107
|
-
" return vUv;",
|
|
108
|
-
" #endif",
|
|
109
|
-
" }",
|
|
110
|
-
"#endif",
|
|
111
|
-
"vec2 perturbUv( vec3 surfPosition, vec3 surfNormal, vec3 viewPosition ) {",
|
|
112
|
-
" vec2 texDx = dFdx( vUv );",
|
|
113
|
-
" vec2 texDy = dFdy( vUv );",
|
|
114
|
-
" vec3 vSigmaX = dFdx( surfPosition );",
|
|
115
|
-
" vec3 vSigmaY = dFdy( surfPosition );",
|
|
116
|
-
" vec3 vR1 = cross( vSigmaY, surfNormal );",
|
|
117
|
-
" vec3 vR2 = cross( surfNormal, vSigmaX );",
|
|
118
|
-
" float fDet = dot( vSigmaX, vR1 );",
|
|
119
|
-
" vec2 vProjVscr = ( 1.0 / fDet ) * vec2( dot( vR1, viewPosition ), dot( vR2, viewPosition ) );",
|
|
120
|
-
" vec3 vProjVtex;",
|
|
121
|
-
" vProjVtex.xy = texDx * vProjVscr.x + texDy * vProjVscr.y;",
|
|
122
|
-
" vProjVtex.z = dot( surfNormal, viewPosition );",
|
|
123
|
-
" return parallaxMap( vProjVtex );",
|
|
124
|
-
"}",
|
|
125
|
-
"void main() {",
|
|
126
|
-
" vec2 mapUv = perturbUv( -vViewPosition, normalize( vNormal ), normalize( vViewPosition ) );",
|
|
127
|
-
" gl_FragColor = texture2D( map, mapUv );",
|
|
128
|
-
"}"
|
|
129
|
-
].join("\n")
|
|
130
|
-
};
|
|
131
|
-
export {
|
|
132
|
-
ParallaxShader
|
|
133
|
-
};
|
package/shaders/PixelShader.cjs
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const PixelShader = {
|
|
4
|
-
uniforms: {
|
|
5
|
-
tDiffuse: { value: null },
|
|
6
|
-
resolution: { value: null },
|
|
7
|
-
pixelSize: { value: 1 }
|
|
8
|
-
},
|
|
9
|
-
vertexShader: [
|
|
10
|
-
"varying highp vec2 vUv;",
|
|
11
|
-
"void main() {",
|
|
12
|
-
"vUv = uv;",
|
|
13
|
-
"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
14
|
-
"}"
|
|
15
|
-
].join("\n"),
|
|
16
|
-
fragmentShader: [
|
|
17
|
-
"uniform sampler2D tDiffuse;",
|
|
18
|
-
"uniform float pixelSize;",
|
|
19
|
-
"uniform vec2 resolution;",
|
|
20
|
-
"varying highp vec2 vUv;",
|
|
21
|
-
"void main(){",
|
|
22
|
-
"vec2 dxy = pixelSize / resolution;",
|
|
23
|
-
"vec2 coord = dxy * floor( vUv / dxy );",
|
|
24
|
-
"gl_FragColor = texture2D(tDiffuse, coord);",
|
|
25
|
-
"}"
|
|
26
|
-
].join("\n")
|
|
27
|
-
};
|
|
28
|
-
exports.PixelShader = PixelShader;
|
package/shaders/PixelShader.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const PixelShader = {
|
|
2
|
-
uniforms: {
|
|
3
|
-
tDiffuse: { value: null },
|
|
4
|
-
resolution: { value: null },
|
|
5
|
-
pixelSize: { value: 1 }
|
|
6
|
-
},
|
|
7
|
-
vertexShader: [
|
|
8
|
-
"varying highp vec2 vUv;",
|
|
9
|
-
"void main() {",
|
|
10
|
-
"vUv = uv;",
|
|
11
|
-
"gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
12
|
-
"}"
|
|
13
|
-
].join("\n"),
|
|
14
|
-
fragmentShader: [
|
|
15
|
-
"uniform sampler2D tDiffuse;",
|
|
16
|
-
"uniform float pixelSize;",
|
|
17
|
-
"uniform vec2 resolution;",
|
|
18
|
-
"varying highp vec2 vUv;",
|
|
19
|
-
"void main(){",
|
|
20
|
-
"vec2 dxy = pixelSize / resolution;",
|
|
21
|
-
"vec2 coord = dxy * floor( vUv / dxy );",
|
|
22
|
-
"gl_FragColor = texture2D(tDiffuse, coord);",
|
|
23
|
-
"}"
|
|
24
|
-
].join("\n")
|
|
25
|
-
};
|
|
26
|
-
export {
|
|
27
|
-
PixelShader
|
|
28
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const RGBShiftShader = {
|
|
4
|
-
uniforms: {
|
|
5
|
-
tDiffuse: { value: null },
|
|
6
|
-
amount: { value: 5e-3 },
|
|
7
|
-
angle: { value: 0 }
|
|
8
|
-
},
|
|
9
|
-
vertexShader: [
|
|
10
|
-
"varying vec2 vUv;",
|
|
11
|
-
"void main() {",
|
|
12
|
-
" vUv = uv;",
|
|
13
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
14
|
-
"}"
|
|
15
|
-
].join("\n"),
|
|
16
|
-
fragmentShader: [
|
|
17
|
-
"uniform sampler2D tDiffuse;",
|
|
18
|
-
"uniform float amount;",
|
|
19
|
-
"uniform float angle;",
|
|
20
|
-
"varying vec2 vUv;",
|
|
21
|
-
"void main() {",
|
|
22
|
-
" vec2 offset = amount * vec2( cos(angle), sin(angle));",
|
|
23
|
-
" vec4 cr = texture2D(tDiffuse, vUv + offset);",
|
|
24
|
-
" vec4 cga = texture2D(tDiffuse, vUv);",
|
|
25
|
-
" vec4 cb = texture2D(tDiffuse, vUv - offset);",
|
|
26
|
-
" gl_FragColor = vec4(cr.r, cga.g, cb.b, cga.a);",
|
|
27
|
-
"}"
|
|
28
|
-
].join("\n")
|
|
29
|
-
};
|
|
30
|
-
exports.RGBShiftShader = RGBShiftShader;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
const RGBShiftShader = {
|
|
2
|
-
uniforms: {
|
|
3
|
-
tDiffuse: { value: null },
|
|
4
|
-
amount: { value: 5e-3 },
|
|
5
|
-
angle: { value: 0 }
|
|
6
|
-
},
|
|
7
|
-
vertexShader: [
|
|
8
|
-
"varying vec2 vUv;",
|
|
9
|
-
"void main() {",
|
|
10
|
-
" vUv = uv;",
|
|
11
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
12
|
-
"}"
|
|
13
|
-
].join("\n"),
|
|
14
|
-
fragmentShader: [
|
|
15
|
-
"uniform sampler2D tDiffuse;",
|
|
16
|
-
"uniform float amount;",
|
|
17
|
-
"uniform float angle;",
|
|
18
|
-
"varying vec2 vUv;",
|
|
19
|
-
"void main() {",
|
|
20
|
-
" vec2 offset = amount * vec2( cos(angle), sin(angle));",
|
|
21
|
-
" vec4 cr = texture2D(tDiffuse, vUv + offset);",
|
|
22
|
-
" vec4 cga = texture2D(tDiffuse, vUv);",
|
|
23
|
-
" vec4 cb = texture2D(tDiffuse, vUv - offset);",
|
|
24
|
-
" gl_FragColor = vec4(cr.r, cga.g, cb.b, cga.a);",
|
|
25
|
-
"}"
|
|
26
|
-
].join("\n")
|
|
27
|
-
};
|
|
28
|
-
export {
|
|
29
|
-
RGBShiftShader
|
|
30
|
-
};
|
package/shaders/SAOShader.cjs
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const THREE = require("three");
|
|
4
|
-
const SAOShader = {
|
|
5
|
-
defines: {
|
|
6
|
-
NUM_SAMPLES: 7,
|
|
7
|
-
NUM_RINGS: 4,
|
|
8
|
-
NORMAL_TEXTURE: 0,
|
|
9
|
-
DIFFUSE_TEXTURE: 0,
|
|
10
|
-
DEPTH_PACKING: 1,
|
|
11
|
-
PERSPECTIVE_CAMERA: 1
|
|
12
|
-
},
|
|
13
|
-
uniforms: {
|
|
14
|
-
tDepth: { value: null },
|
|
15
|
-
tDiffuse: { value: null },
|
|
16
|
-
tNormal: { value: null },
|
|
17
|
-
size: { value: /* @__PURE__ */ new THREE.Vector2(512, 512) },
|
|
18
|
-
cameraNear: { value: 1 },
|
|
19
|
-
cameraFar: { value: 100 },
|
|
20
|
-
cameraProjectionMatrix: { value: /* @__PURE__ */ new THREE.Matrix4() },
|
|
21
|
-
cameraInverseProjectionMatrix: { value: /* @__PURE__ */ new THREE.Matrix4() },
|
|
22
|
-
scale: { value: 1 },
|
|
23
|
-
intensity: { value: 0.1 },
|
|
24
|
-
bias: { value: 0.5 },
|
|
25
|
-
minResolution: { value: 0 },
|
|
26
|
-
kernelRadius: { value: 100 },
|
|
27
|
-
randomSeed: { value: 0 }
|
|
28
|
-
},
|
|
29
|
-
vertexShader: [
|
|
30
|
-
"varying vec2 vUv;",
|
|
31
|
-
"void main() {",
|
|
32
|
-
" vUv = uv;",
|
|
33
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
34
|
-
"}"
|
|
35
|
-
].join("\n"),
|
|
36
|
-
fragmentShader: [
|
|
37
|
-
"#include <common>",
|
|
38
|
-
"varying vec2 vUv;",
|
|
39
|
-
"#if DIFFUSE_TEXTURE == 1",
|
|
40
|
-
"uniform sampler2D tDiffuse;",
|
|
41
|
-
"#endif",
|
|
42
|
-
"uniform sampler2D tDepth;",
|
|
43
|
-
"#if NORMAL_TEXTURE == 1",
|
|
44
|
-
"uniform sampler2D tNormal;",
|
|
45
|
-
"#endif",
|
|
46
|
-
"uniform float cameraNear;",
|
|
47
|
-
"uniform float cameraFar;",
|
|
48
|
-
"uniform mat4 cameraProjectionMatrix;",
|
|
49
|
-
"uniform mat4 cameraInverseProjectionMatrix;",
|
|
50
|
-
"uniform float scale;",
|
|
51
|
-
"uniform float intensity;",
|
|
52
|
-
"uniform float bias;",
|
|
53
|
-
"uniform float kernelRadius;",
|
|
54
|
-
"uniform float minResolution;",
|
|
55
|
-
"uniform vec2 size;",
|
|
56
|
-
"uniform float randomSeed;",
|
|
57
|
-
"// RGBA depth",
|
|
58
|
-
"#include <packing>",
|
|
59
|
-
"vec4 getDefaultColor( const in vec2 screenPosition ) {",
|
|
60
|
-
" #if DIFFUSE_TEXTURE == 1",
|
|
61
|
-
" return texture2D( tDiffuse, vUv );",
|
|
62
|
-
" #else",
|
|
63
|
-
" return vec4( 1.0 );",
|
|
64
|
-
" #endif",
|
|
65
|
-
"}",
|
|
66
|
-
"float getDepth( const in vec2 screenPosition ) {",
|
|
67
|
-
" #if DEPTH_PACKING == 1",
|
|
68
|
-
" return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) );",
|
|
69
|
-
" #else",
|
|
70
|
-
" return texture2D( tDepth, screenPosition ).x;",
|
|
71
|
-
" #endif",
|
|
72
|
-
"}",
|
|
73
|
-
"float getViewZ( const in float depth ) {",
|
|
74
|
-
" #if PERSPECTIVE_CAMERA == 1",
|
|
75
|
-
" return perspectiveDepthToViewZ( depth, cameraNear, cameraFar );",
|
|
76
|
-
" #else",
|
|
77
|
-
" return orthographicDepthToViewZ( depth, cameraNear, cameraFar );",
|
|
78
|
-
" #endif",
|
|
79
|
-
"}",
|
|
80
|
-
"vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) {",
|
|
81
|
-
" float clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3];",
|
|
82
|
-
" vec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 );",
|
|
83
|
-
" clipPosition *= clipW; // unprojection.",
|
|
84
|
-
" return ( cameraInverseProjectionMatrix * clipPosition ).xyz;",
|
|
85
|
-
"}",
|
|
86
|
-
"vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPosition ) {",
|
|
87
|
-
" #if NORMAL_TEXTURE == 1",
|
|
88
|
-
" return unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz );",
|
|
89
|
-
" #else",
|
|
90
|
-
" return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );",
|
|
91
|
-
" #endif",
|
|
92
|
-
"}",
|
|
93
|
-
"float scaleDividedByCameraFar;",
|
|
94
|
-
"float minResolutionMultipliedByCameraFar;",
|
|
95
|
-
"float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {",
|
|
96
|
-
" vec3 viewDelta = sampleViewPosition - centerViewPosition;",
|
|
97
|
-
" float viewDistance = length( viewDelta );",
|
|
98
|
-
" float scaledScreenDistance = scaleDividedByCameraFar * viewDistance;",
|
|
99
|
-
" return max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - bias) / (1.0 + pow2( scaledScreenDistance ) );",
|
|
100
|
-
"}",
|
|
101
|
-
"// moving costly divides into consts",
|
|
102
|
-
"const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );",
|
|
103
|
-
"const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );",
|
|
104
|
-
"float getAmbientOcclusion( const in vec3 centerViewPosition ) {",
|
|
105
|
-
" // precompute some variables require in getOcclusion.",
|
|
106
|
-
" scaleDividedByCameraFar = scale / cameraFar;",
|
|
107
|
-
" minResolutionMultipliedByCameraFar = minResolution * cameraFar;",
|
|
108
|
-
" vec3 centerViewNormal = getViewNormal( centerViewPosition, vUv );",
|
|
109
|
-
" // jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/",
|
|
110
|
-
" float angle = rand( vUv + randomSeed ) * PI2;",
|
|
111
|
-
" vec2 radius = vec2( kernelRadius * INV_NUM_SAMPLES ) / size;",
|
|
112
|
-
" vec2 radiusStep = radius;",
|
|
113
|
-
" float occlusionSum = 0.0;",
|
|
114
|
-
" float weightSum = 0.0;",
|
|
115
|
-
" for( int i = 0; i < NUM_SAMPLES; i ++ ) {",
|
|
116
|
-
" vec2 sampleUv = vUv + vec2( cos( angle ), sin( angle ) ) * radius;",
|
|
117
|
-
" radius += radiusStep;",
|
|
118
|
-
" angle += ANGLE_STEP;",
|
|
119
|
-
" float sampleDepth = getDepth( sampleUv );",
|
|
120
|
-
" if( sampleDepth >= ( 1.0 - EPSILON ) ) {",
|
|
121
|
-
" continue;",
|
|
122
|
-
" }",
|
|
123
|
-
" float sampleViewZ = getViewZ( sampleDepth );",
|
|
124
|
-
" vec3 sampleViewPosition = getViewPosition( sampleUv, sampleDepth, sampleViewZ );",
|
|
125
|
-
" occlusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );",
|
|
126
|
-
" weightSum += 1.0;",
|
|
127
|
-
" }",
|
|
128
|
-
" if( weightSum == 0.0 ) discard;",
|
|
129
|
-
" return occlusionSum * ( intensity / weightSum );",
|
|
130
|
-
"}",
|
|
131
|
-
"void main() {",
|
|
132
|
-
" float centerDepth = getDepth( vUv );",
|
|
133
|
-
" if( centerDepth >= ( 1.0 - EPSILON ) ) {",
|
|
134
|
-
" discard;",
|
|
135
|
-
" }",
|
|
136
|
-
" float centerViewZ = getViewZ( centerDepth );",
|
|
137
|
-
" vec3 viewPosition = getViewPosition( vUv, centerDepth, centerViewZ );",
|
|
138
|
-
" float ambientOcclusion = getAmbientOcclusion( viewPosition );",
|
|
139
|
-
" gl_FragColor = getDefaultColor( vUv );",
|
|
140
|
-
" gl_FragColor.xyz *= 1.0 - ambientOcclusion;",
|
|
141
|
-
"}"
|
|
142
|
-
].join("\n")
|
|
143
|
-
};
|
|
144
|
-
exports.SAOShader = SAOShader;
|
package/shaders/SAOShader.js
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { Vector2, Matrix4 } from "three";
|
|
2
|
-
const SAOShader = {
|
|
3
|
-
defines: {
|
|
4
|
-
NUM_SAMPLES: 7,
|
|
5
|
-
NUM_RINGS: 4,
|
|
6
|
-
NORMAL_TEXTURE: 0,
|
|
7
|
-
DIFFUSE_TEXTURE: 0,
|
|
8
|
-
DEPTH_PACKING: 1,
|
|
9
|
-
PERSPECTIVE_CAMERA: 1
|
|
10
|
-
},
|
|
11
|
-
uniforms: {
|
|
12
|
-
tDepth: { value: null },
|
|
13
|
-
tDiffuse: { value: null },
|
|
14
|
-
tNormal: { value: null },
|
|
15
|
-
size: { value: /* @__PURE__ */ new Vector2(512, 512) },
|
|
16
|
-
cameraNear: { value: 1 },
|
|
17
|
-
cameraFar: { value: 100 },
|
|
18
|
-
cameraProjectionMatrix: { value: /* @__PURE__ */ new Matrix4() },
|
|
19
|
-
cameraInverseProjectionMatrix: { value: /* @__PURE__ */ new Matrix4() },
|
|
20
|
-
scale: { value: 1 },
|
|
21
|
-
intensity: { value: 0.1 },
|
|
22
|
-
bias: { value: 0.5 },
|
|
23
|
-
minResolution: { value: 0 },
|
|
24
|
-
kernelRadius: { value: 100 },
|
|
25
|
-
randomSeed: { value: 0 }
|
|
26
|
-
},
|
|
27
|
-
vertexShader: [
|
|
28
|
-
"varying vec2 vUv;",
|
|
29
|
-
"void main() {",
|
|
30
|
-
" vUv = uv;",
|
|
31
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
32
|
-
"}"
|
|
33
|
-
].join("\n"),
|
|
34
|
-
fragmentShader: [
|
|
35
|
-
"#include <common>",
|
|
36
|
-
"varying vec2 vUv;",
|
|
37
|
-
"#if DIFFUSE_TEXTURE == 1",
|
|
38
|
-
"uniform sampler2D tDiffuse;",
|
|
39
|
-
"#endif",
|
|
40
|
-
"uniform sampler2D tDepth;",
|
|
41
|
-
"#if NORMAL_TEXTURE == 1",
|
|
42
|
-
"uniform sampler2D tNormal;",
|
|
43
|
-
"#endif",
|
|
44
|
-
"uniform float cameraNear;",
|
|
45
|
-
"uniform float cameraFar;",
|
|
46
|
-
"uniform mat4 cameraProjectionMatrix;",
|
|
47
|
-
"uniform mat4 cameraInverseProjectionMatrix;",
|
|
48
|
-
"uniform float scale;",
|
|
49
|
-
"uniform float intensity;",
|
|
50
|
-
"uniform float bias;",
|
|
51
|
-
"uniform float kernelRadius;",
|
|
52
|
-
"uniform float minResolution;",
|
|
53
|
-
"uniform vec2 size;",
|
|
54
|
-
"uniform float randomSeed;",
|
|
55
|
-
"// RGBA depth",
|
|
56
|
-
"#include <packing>",
|
|
57
|
-
"vec4 getDefaultColor( const in vec2 screenPosition ) {",
|
|
58
|
-
" #if DIFFUSE_TEXTURE == 1",
|
|
59
|
-
" return texture2D( tDiffuse, vUv );",
|
|
60
|
-
" #else",
|
|
61
|
-
" return vec4( 1.0 );",
|
|
62
|
-
" #endif",
|
|
63
|
-
"}",
|
|
64
|
-
"float getDepth( const in vec2 screenPosition ) {",
|
|
65
|
-
" #if DEPTH_PACKING == 1",
|
|
66
|
-
" return unpackRGBAToDepth( texture2D( tDepth, screenPosition ) );",
|
|
67
|
-
" #else",
|
|
68
|
-
" return texture2D( tDepth, screenPosition ).x;",
|
|
69
|
-
" #endif",
|
|
70
|
-
"}",
|
|
71
|
-
"float getViewZ( const in float depth ) {",
|
|
72
|
-
" #if PERSPECTIVE_CAMERA == 1",
|
|
73
|
-
" return perspectiveDepthToViewZ( depth, cameraNear, cameraFar );",
|
|
74
|
-
" #else",
|
|
75
|
-
" return orthographicDepthToViewZ( depth, cameraNear, cameraFar );",
|
|
76
|
-
" #endif",
|
|
77
|
-
"}",
|
|
78
|
-
"vec3 getViewPosition( const in vec2 screenPosition, const in float depth, const in float viewZ ) {",
|
|
79
|
-
" float clipW = cameraProjectionMatrix[2][3] * viewZ + cameraProjectionMatrix[3][3];",
|
|
80
|
-
" vec4 clipPosition = vec4( ( vec3( screenPosition, depth ) - 0.5 ) * 2.0, 1.0 );",
|
|
81
|
-
" clipPosition *= clipW; // unprojection.",
|
|
82
|
-
" return ( cameraInverseProjectionMatrix * clipPosition ).xyz;",
|
|
83
|
-
"}",
|
|
84
|
-
"vec3 getViewNormal( const in vec3 viewPosition, const in vec2 screenPosition ) {",
|
|
85
|
-
" #if NORMAL_TEXTURE == 1",
|
|
86
|
-
" return unpackRGBToNormal( texture2D( tNormal, screenPosition ).xyz );",
|
|
87
|
-
" #else",
|
|
88
|
-
" return normalize( cross( dFdx( viewPosition ), dFdy( viewPosition ) ) );",
|
|
89
|
-
" #endif",
|
|
90
|
-
"}",
|
|
91
|
-
"float scaleDividedByCameraFar;",
|
|
92
|
-
"float minResolutionMultipliedByCameraFar;",
|
|
93
|
-
"float getOcclusion( const in vec3 centerViewPosition, const in vec3 centerViewNormal, const in vec3 sampleViewPosition ) {",
|
|
94
|
-
" vec3 viewDelta = sampleViewPosition - centerViewPosition;",
|
|
95
|
-
" float viewDistance = length( viewDelta );",
|
|
96
|
-
" float scaledScreenDistance = scaleDividedByCameraFar * viewDistance;",
|
|
97
|
-
" return max(0.0, (dot(centerViewNormal, viewDelta) - minResolutionMultipliedByCameraFar) / scaledScreenDistance - bias) / (1.0 + pow2( scaledScreenDistance ) );",
|
|
98
|
-
"}",
|
|
99
|
-
"// moving costly divides into consts",
|
|
100
|
-
"const float ANGLE_STEP = PI2 * float( NUM_RINGS ) / float( NUM_SAMPLES );",
|
|
101
|
-
"const float INV_NUM_SAMPLES = 1.0 / float( NUM_SAMPLES );",
|
|
102
|
-
"float getAmbientOcclusion( const in vec3 centerViewPosition ) {",
|
|
103
|
-
" // precompute some variables require in getOcclusion.",
|
|
104
|
-
" scaleDividedByCameraFar = scale / cameraFar;",
|
|
105
|
-
" minResolutionMultipliedByCameraFar = minResolution * cameraFar;",
|
|
106
|
-
" vec3 centerViewNormal = getViewNormal( centerViewPosition, vUv );",
|
|
107
|
-
" // jsfiddle that shows sample pattern: https://jsfiddle.net/a16ff1p7/",
|
|
108
|
-
" float angle = rand( vUv + randomSeed ) * PI2;",
|
|
109
|
-
" vec2 radius = vec2( kernelRadius * INV_NUM_SAMPLES ) / size;",
|
|
110
|
-
" vec2 radiusStep = radius;",
|
|
111
|
-
" float occlusionSum = 0.0;",
|
|
112
|
-
" float weightSum = 0.0;",
|
|
113
|
-
" for( int i = 0; i < NUM_SAMPLES; i ++ ) {",
|
|
114
|
-
" vec2 sampleUv = vUv + vec2( cos( angle ), sin( angle ) ) * radius;",
|
|
115
|
-
" radius += radiusStep;",
|
|
116
|
-
" angle += ANGLE_STEP;",
|
|
117
|
-
" float sampleDepth = getDepth( sampleUv );",
|
|
118
|
-
" if( sampleDepth >= ( 1.0 - EPSILON ) ) {",
|
|
119
|
-
" continue;",
|
|
120
|
-
" }",
|
|
121
|
-
" float sampleViewZ = getViewZ( sampleDepth );",
|
|
122
|
-
" vec3 sampleViewPosition = getViewPosition( sampleUv, sampleDepth, sampleViewZ );",
|
|
123
|
-
" occlusionSum += getOcclusion( centerViewPosition, centerViewNormal, sampleViewPosition );",
|
|
124
|
-
" weightSum += 1.0;",
|
|
125
|
-
" }",
|
|
126
|
-
" if( weightSum == 0.0 ) discard;",
|
|
127
|
-
" return occlusionSum * ( intensity / weightSum );",
|
|
128
|
-
"}",
|
|
129
|
-
"void main() {",
|
|
130
|
-
" float centerDepth = getDepth( vUv );",
|
|
131
|
-
" if( centerDepth >= ( 1.0 - EPSILON ) ) {",
|
|
132
|
-
" discard;",
|
|
133
|
-
" }",
|
|
134
|
-
" float centerViewZ = getViewZ( centerDepth );",
|
|
135
|
-
" vec3 viewPosition = getViewPosition( vUv, centerDepth, centerViewZ );",
|
|
136
|
-
" float ambientOcclusion = getAmbientOcclusion( viewPosition );",
|
|
137
|
-
" gl_FragColor = getDefaultColor( vUv );",
|
|
138
|
-
" gl_FragColor.xyz *= 1.0 - ambientOcclusion;",
|
|
139
|
-
"}"
|
|
140
|
-
].join("\n")
|
|
141
|
-
};
|
|
142
|
-
export {
|
|
143
|
-
SAOShader
|
|
144
|
-
};
|