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
package/shaders/FilmShader.cjs
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const FilmShader = {
|
|
4
|
-
uniforms: {
|
|
5
|
-
tDiffuse: { value: null },
|
|
6
|
-
time: { value: 0 },
|
|
7
|
-
nIntensity: { value: 0.5 },
|
|
8
|
-
sIntensity: { value: 0.05 },
|
|
9
|
-
sCount: { value: 4096 },
|
|
10
|
-
grayscale: { value: 1 }
|
|
11
|
-
},
|
|
12
|
-
vertexShader: [
|
|
13
|
-
"varying vec2 vUv;",
|
|
14
|
-
"void main() {",
|
|
15
|
-
" vUv = uv;",
|
|
16
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
17
|
-
"}"
|
|
18
|
-
].join("\n"),
|
|
19
|
-
fragmentShader: [
|
|
20
|
-
"#include <common>",
|
|
21
|
-
// control parameter
|
|
22
|
-
"uniform float time;",
|
|
23
|
-
"uniform bool grayscale;",
|
|
24
|
-
// noise effect intensity value (0 = no effect, 1 = full effect)
|
|
25
|
-
"uniform float nIntensity;",
|
|
26
|
-
// scanlines effect intensity value (0 = no effect, 1 = full effect)
|
|
27
|
-
"uniform float sIntensity;",
|
|
28
|
-
// scanlines effect count value (0 = no effect, 4096 = full effect)
|
|
29
|
-
"uniform float sCount;",
|
|
30
|
-
"uniform sampler2D tDiffuse;",
|
|
31
|
-
"varying vec2 vUv;",
|
|
32
|
-
"void main() {",
|
|
33
|
-
// sample the source
|
|
34
|
-
" vec4 cTextureScreen = texture2D( tDiffuse, vUv );",
|
|
35
|
-
// make some noise
|
|
36
|
-
" float dx = rand( vUv + time );",
|
|
37
|
-
// add noise
|
|
38
|
-
" vec3 cResult = cTextureScreen.rgb + cTextureScreen.rgb * clamp( 0.1 + dx, 0.0, 1.0 );",
|
|
39
|
-
// get us a sine and cosine
|
|
40
|
-
" vec2 sc = vec2( sin( vUv.y * sCount ), cos( vUv.y * sCount ) );",
|
|
41
|
-
// add scanlines
|
|
42
|
-
" cResult += cTextureScreen.rgb * vec3( sc.x, sc.y, sc.x ) * sIntensity;",
|
|
43
|
-
// interpolate between source and result by intensity
|
|
44
|
-
" cResult = cTextureScreen.rgb + clamp( nIntensity, 0.0,1.0 ) * ( cResult - cTextureScreen.rgb );",
|
|
45
|
-
// convert to grayscale if desired
|
|
46
|
-
" if( grayscale ) {",
|
|
47
|
-
" cResult = vec3( cResult.r * 0.3 + cResult.g * 0.59 + cResult.b * 0.11 );",
|
|
48
|
-
" }",
|
|
49
|
-
" gl_FragColor = vec4( cResult, cTextureScreen.a );",
|
|
50
|
-
"}"
|
|
51
|
-
].join("\n")
|
|
52
|
-
};
|
|
53
|
-
exports.FilmShader = FilmShader;
|
package/shaders/FilmShader.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
const FilmShader = {
|
|
2
|
-
uniforms: {
|
|
3
|
-
tDiffuse: { value: null },
|
|
4
|
-
time: { value: 0 },
|
|
5
|
-
nIntensity: { value: 0.5 },
|
|
6
|
-
sIntensity: { value: 0.05 },
|
|
7
|
-
sCount: { value: 4096 },
|
|
8
|
-
grayscale: { value: 1 }
|
|
9
|
-
},
|
|
10
|
-
vertexShader: [
|
|
11
|
-
"varying vec2 vUv;",
|
|
12
|
-
"void main() {",
|
|
13
|
-
" vUv = uv;",
|
|
14
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
15
|
-
"}"
|
|
16
|
-
].join("\n"),
|
|
17
|
-
fragmentShader: [
|
|
18
|
-
"#include <common>",
|
|
19
|
-
// control parameter
|
|
20
|
-
"uniform float time;",
|
|
21
|
-
"uniform bool grayscale;",
|
|
22
|
-
// noise effect intensity value (0 = no effect, 1 = full effect)
|
|
23
|
-
"uniform float nIntensity;",
|
|
24
|
-
// scanlines effect intensity value (0 = no effect, 1 = full effect)
|
|
25
|
-
"uniform float sIntensity;",
|
|
26
|
-
// scanlines effect count value (0 = no effect, 4096 = full effect)
|
|
27
|
-
"uniform float sCount;",
|
|
28
|
-
"uniform sampler2D tDiffuse;",
|
|
29
|
-
"varying vec2 vUv;",
|
|
30
|
-
"void main() {",
|
|
31
|
-
// sample the source
|
|
32
|
-
" vec4 cTextureScreen = texture2D( tDiffuse, vUv );",
|
|
33
|
-
// make some noise
|
|
34
|
-
" float dx = rand( vUv + time );",
|
|
35
|
-
// add noise
|
|
36
|
-
" vec3 cResult = cTextureScreen.rgb + cTextureScreen.rgb * clamp( 0.1 + dx, 0.0, 1.0 );",
|
|
37
|
-
// get us a sine and cosine
|
|
38
|
-
" vec2 sc = vec2( sin( vUv.y * sCount ), cos( vUv.y * sCount ) );",
|
|
39
|
-
// add scanlines
|
|
40
|
-
" cResult += cTextureScreen.rgb * vec3( sc.x, sc.y, sc.x ) * sIntensity;",
|
|
41
|
-
// interpolate between source and result by intensity
|
|
42
|
-
" cResult = cTextureScreen.rgb + clamp( nIntensity, 0.0,1.0 ) * ( cResult - cTextureScreen.rgb );",
|
|
43
|
-
// convert to grayscale if desired
|
|
44
|
-
" if( grayscale ) {",
|
|
45
|
-
" cResult = vec3( cResult.r * 0.3 + cResult.g * 0.59 + cResult.b * 0.11 );",
|
|
46
|
-
" }",
|
|
47
|
-
" gl_FragColor = vec4( cResult, cTextureScreen.a );",
|
|
48
|
-
"}"
|
|
49
|
-
].join("\n")
|
|
50
|
-
};
|
|
51
|
-
export {
|
|
52
|
-
FilmShader
|
|
53
|
-
};
|
package/shaders/FocusShader.cjs
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const FocusShader = {
|
|
4
|
-
uniforms: {
|
|
5
|
-
tDiffuse: { value: null },
|
|
6
|
-
screenWidth: { value: 1024 },
|
|
7
|
-
screenHeight: { value: 1024 },
|
|
8
|
-
sampleDistance: { value: 0.94 },
|
|
9
|
-
waveFactor: { value: 125e-5 }
|
|
10
|
-
},
|
|
11
|
-
vertexShader: [
|
|
12
|
-
"varying vec2 vUv;",
|
|
13
|
-
"void main() {",
|
|
14
|
-
" vUv = uv;",
|
|
15
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
16
|
-
"}"
|
|
17
|
-
].join("\n"),
|
|
18
|
-
fragmentShader: [
|
|
19
|
-
"uniform float screenWidth;",
|
|
20
|
-
"uniform float screenHeight;",
|
|
21
|
-
"uniform float sampleDistance;",
|
|
22
|
-
"uniform float waveFactor;",
|
|
23
|
-
"uniform sampler2D tDiffuse;",
|
|
24
|
-
"varying vec2 vUv;",
|
|
25
|
-
"void main() {",
|
|
26
|
-
" vec4 color, org, tmp, add;",
|
|
27
|
-
" float sample_dist, f;",
|
|
28
|
-
" vec2 vin;",
|
|
29
|
-
" vec2 uv = vUv;",
|
|
30
|
-
" add = color = org = texture2D( tDiffuse, uv );",
|
|
31
|
-
" vin = ( uv - vec2( 0.5 ) ) * vec2( 1.4 );",
|
|
32
|
-
" sample_dist = dot( vin, vin ) * 2.0;",
|
|
33
|
-
" f = ( waveFactor * 100.0 + sample_dist ) * sampleDistance * 4.0;",
|
|
34
|
-
" vec2 sampleSize = vec2( 1.0 / screenWidth, 1.0 / screenHeight ) * vec2( f );",
|
|
35
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( 0.111964, 0.993712 ) * sampleSize );",
|
|
36
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
37
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( 0.846724, 0.532032 ) * sampleSize );",
|
|
38
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
39
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( 0.943883, -0.330279 ) * sampleSize );",
|
|
40
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
41
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( 0.330279, -0.943883 ) * sampleSize );",
|
|
42
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
43
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( -0.532032, -0.846724 ) * sampleSize );",
|
|
44
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
45
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( -0.993712, -0.111964 ) * sampleSize );",
|
|
46
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
47
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( -0.707107, 0.707107 ) * sampleSize );",
|
|
48
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
49
|
-
" color = color * vec4( 2.0 ) - ( add / vec4( 8.0 ) );",
|
|
50
|
-
" color = color + ( add / vec4( 8.0 ) - color ) * ( vec4( 1.0 ) - vec4( sample_dist * 0.5 ) );",
|
|
51
|
-
" gl_FragColor = vec4( color.rgb * color.rgb * vec3( 0.95 ) + color.rgb, 1.0 );",
|
|
52
|
-
"}"
|
|
53
|
-
].join("\n")
|
|
54
|
-
};
|
|
55
|
-
exports.FocusShader = FocusShader;
|
package/shaders/FocusShader.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
const FocusShader = {
|
|
2
|
-
uniforms: {
|
|
3
|
-
tDiffuse: { value: null },
|
|
4
|
-
screenWidth: { value: 1024 },
|
|
5
|
-
screenHeight: { value: 1024 },
|
|
6
|
-
sampleDistance: { value: 0.94 },
|
|
7
|
-
waveFactor: { value: 125e-5 }
|
|
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 float screenWidth;",
|
|
18
|
-
"uniform float screenHeight;",
|
|
19
|
-
"uniform float sampleDistance;",
|
|
20
|
-
"uniform float waveFactor;",
|
|
21
|
-
"uniform sampler2D tDiffuse;",
|
|
22
|
-
"varying vec2 vUv;",
|
|
23
|
-
"void main() {",
|
|
24
|
-
" vec4 color, org, tmp, add;",
|
|
25
|
-
" float sample_dist, f;",
|
|
26
|
-
" vec2 vin;",
|
|
27
|
-
" vec2 uv = vUv;",
|
|
28
|
-
" add = color = org = texture2D( tDiffuse, uv );",
|
|
29
|
-
" vin = ( uv - vec2( 0.5 ) ) * vec2( 1.4 );",
|
|
30
|
-
" sample_dist = dot( vin, vin ) * 2.0;",
|
|
31
|
-
" f = ( waveFactor * 100.0 + sample_dist ) * sampleDistance * 4.0;",
|
|
32
|
-
" vec2 sampleSize = vec2( 1.0 / screenWidth, 1.0 / screenHeight ) * vec2( f );",
|
|
33
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( 0.111964, 0.993712 ) * sampleSize );",
|
|
34
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
35
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( 0.846724, 0.532032 ) * sampleSize );",
|
|
36
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
37
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( 0.943883, -0.330279 ) * sampleSize );",
|
|
38
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
39
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( 0.330279, -0.943883 ) * sampleSize );",
|
|
40
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
41
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( -0.532032, -0.846724 ) * sampleSize );",
|
|
42
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
43
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( -0.993712, -0.111964 ) * sampleSize );",
|
|
44
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
45
|
-
" add += tmp = texture2D( tDiffuse, uv + vec2( -0.707107, 0.707107 ) * sampleSize );",
|
|
46
|
-
" if( tmp.b < color.b ) color = tmp;",
|
|
47
|
-
" color = color * vec4( 2.0 ) - ( add / vec4( 8.0 ) );",
|
|
48
|
-
" color = color + ( add / vec4( 8.0 ) - color ) * ( vec4( 1.0 ) - vec4( sample_dist * 0.5 ) );",
|
|
49
|
-
" gl_FragColor = vec4( color.rgb * color.rgb * vec3( 0.95 ) + color.rgb, 1.0 );",
|
|
50
|
-
"}"
|
|
51
|
-
].join("\n")
|
|
52
|
-
};
|
|
53
|
-
export {
|
|
54
|
-
FocusShader
|
|
55
|
-
};
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const THREE = require("three");
|
|
4
|
-
const FreiChenShader = {
|
|
5
|
-
uniforms: {
|
|
6
|
-
tDiffuse: { value: null },
|
|
7
|
-
aspect: { value: /* @__PURE__ */ new THREE.Vector2(512, 512) }
|
|
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
|
-
"varying vec2 vUv;",
|
|
19
|
-
"uniform vec2 aspect;",
|
|
20
|
-
"vec2 texel = vec2(1.0 / aspect.x, 1.0 / aspect.y);",
|
|
21
|
-
"mat3 G[9];",
|
|
22
|
-
// hard coded matrix values!!!! as suggested in https://github.com/neilmendoza/ofxPostProcessing/blob/master/src/EdgePass.cpp#L45
|
|
23
|
-
"const mat3 g0 = mat3( 0.3535533845424652, 0, -0.3535533845424652, 0.5, 0, -0.5, 0.3535533845424652, 0, -0.3535533845424652 );",
|
|
24
|
-
"const mat3 g1 = mat3( 0.3535533845424652, 0.5, 0.3535533845424652, 0, 0, 0, -0.3535533845424652, -0.5, -0.3535533845424652 );",
|
|
25
|
-
"const mat3 g2 = mat3( 0, 0.3535533845424652, -0.5, -0.3535533845424652, 0, 0.3535533845424652, 0.5, -0.3535533845424652, 0 );",
|
|
26
|
-
"const mat3 g3 = mat3( 0.5, -0.3535533845424652, 0, -0.3535533845424652, 0, 0.3535533845424652, 0, 0.3535533845424652, -0.5 );",
|
|
27
|
-
"const mat3 g4 = mat3( 0, -0.5, 0, 0.5, 0, 0.5, 0, -0.5, 0 );",
|
|
28
|
-
"const mat3 g5 = mat3( -0.5, 0, 0.5, 0, 0, 0, 0.5, 0, -0.5 );",
|
|
29
|
-
"const mat3 g6 = mat3( 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.6666666865348816, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204 );",
|
|
30
|
-
"const mat3 g7 = mat3( -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, 0.6666666865348816, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408 );",
|
|
31
|
-
"const mat3 g8 = mat3( 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408 );",
|
|
32
|
-
"void main(void)",
|
|
33
|
-
"{",
|
|
34
|
-
" G[0] = g0,",
|
|
35
|
-
" G[1] = g1,",
|
|
36
|
-
" G[2] = g2,",
|
|
37
|
-
" G[3] = g3,",
|
|
38
|
-
" G[4] = g4,",
|
|
39
|
-
" G[5] = g5,",
|
|
40
|
-
" G[6] = g6,",
|
|
41
|
-
" G[7] = g7,",
|
|
42
|
-
" G[8] = g8;",
|
|
43
|
-
" mat3 I;",
|
|
44
|
-
" float cnv[9];",
|
|
45
|
-
" vec3 sample;",
|
|
46
|
-
/* fetch the 3x3 neighbourhood and use the RGB vector's length as intensity value */
|
|
47
|
-
" for (float i=0.0; i<3.0; i++) {",
|
|
48
|
-
" for (float j=0.0; j<3.0; j++) {",
|
|
49
|
-
" sample = texture2D(tDiffuse, vUv + texel * vec2(i-1.0,j-1.0) ).rgb;",
|
|
50
|
-
" I[int(i)][int(j)] = length(sample);",
|
|
51
|
-
" }",
|
|
52
|
-
" }",
|
|
53
|
-
/* calculate the convolution values for all the masks */
|
|
54
|
-
" for (int i=0; i<9; i++) {",
|
|
55
|
-
" float dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);",
|
|
56
|
-
" cnv[i] = dp3 * dp3;",
|
|
57
|
-
" }",
|
|
58
|
-
" float M = (cnv[0] + cnv[1]) + (cnv[2] + cnv[3]);",
|
|
59
|
-
" float S = (cnv[4] + cnv[5]) + (cnv[6] + cnv[7]) + (cnv[8] + M);",
|
|
60
|
-
" gl_FragColor = vec4(vec3(sqrt(M/S)), 1.0);",
|
|
61
|
-
"}"
|
|
62
|
-
].join("\n")
|
|
63
|
-
};
|
|
64
|
-
exports.FreiChenShader = FreiChenShader;
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { Vector2 } from "three";
|
|
2
|
-
const FreiChenShader = {
|
|
3
|
-
uniforms: {
|
|
4
|
-
tDiffuse: { value: null },
|
|
5
|
-
aspect: { value: /* @__PURE__ */ new Vector2(512, 512) }
|
|
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
|
-
"varying vec2 vUv;",
|
|
17
|
-
"uniform vec2 aspect;",
|
|
18
|
-
"vec2 texel = vec2(1.0 / aspect.x, 1.0 / aspect.y);",
|
|
19
|
-
"mat3 G[9];",
|
|
20
|
-
// hard coded matrix values!!!! as suggested in https://github.com/neilmendoza/ofxPostProcessing/blob/master/src/EdgePass.cpp#L45
|
|
21
|
-
"const mat3 g0 = mat3( 0.3535533845424652, 0, -0.3535533845424652, 0.5, 0, -0.5, 0.3535533845424652, 0, -0.3535533845424652 );",
|
|
22
|
-
"const mat3 g1 = mat3( 0.3535533845424652, 0.5, 0.3535533845424652, 0, 0, 0, -0.3535533845424652, -0.5, -0.3535533845424652 );",
|
|
23
|
-
"const mat3 g2 = mat3( 0, 0.3535533845424652, -0.5, -0.3535533845424652, 0, 0.3535533845424652, 0.5, -0.3535533845424652, 0 );",
|
|
24
|
-
"const mat3 g3 = mat3( 0.5, -0.3535533845424652, 0, -0.3535533845424652, 0, 0.3535533845424652, 0, 0.3535533845424652, -0.5 );",
|
|
25
|
-
"const mat3 g4 = mat3( 0, -0.5, 0, 0.5, 0, 0.5, 0, -0.5, 0 );",
|
|
26
|
-
"const mat3 g5 = mat3( -0.5, 0, 0.5, 0, 0, 0, 0.5, 0, -0.5 );",
|
|
27
|
-
"const mat3 g6 = mat3( 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.6666666865348816, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204 );",
|
|
28
|
-
"const mat3 g7 = mat3( -0.3333333432674408, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, 0.6666666865348816, 0.1666666716337204, -0.3333333432674408, 0.1666666716337204, -0.3333333432674408 );",
|
|
29
|
-
"const mat3 g8 = mat3( 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408, 0.3333333432674408 );",
|
|
30
|
-
"void main(void)",
|
|
31
|
-
"{",
|
|
32
|
-
" G[0] = g0,",
|
|
33
|
-
" G[1] = g1,",
|
|
34
|
-
" G[2] = g2,",
|
|
35
|
-
" G[3] = g3,",
|
|
36
|
-
" G[4] = g4,",
|
|
37
|
-
" G[5] = g5,",
|
|
38
|
-
" G[6] = g6,",
|
|
39
|
-
" G[7] = g7,",
|
|
40
|
-
" G[8] = g8;",
|
|
41
|
-
" mat3 I;",
|
|
42
|
-
" float cnv[9];",
|
|
43
|
-
" vec3 sample;",
|
|
44
|
-
/* fetch the 3x3 neighbourhood and use the RGB vector's length as intensity value */
|
|
45
|
-
" for (float i=0.0; i<3.0; i++) {",
|
|
46
|
-
" for (float j=0.0; j<3.0; j++) {",
|
|
47
|
-
" sample = texture2D(tDiffuse, vUv + texel * vec2(i-1.0,j-1.0) ).rgb;",
|
|
48
|
-
" I[int(i)][int(j)] = length(sample);",
|
|
49
|
-
" }",
|
|
50
|
-
" }",
|
|
51
|
-
/* calculate the convolution values for all the masks */
|
|
52
|
-
" for (int i=0; i<9; i++) {",
|
|
53
|
-
" float dp3 = dot(G[i][0], I[0]) + dot(G[i][1], I[1]) + dot(G[i][2], I[2]);",
|
|
54
|
-
" cnv[i] = dp3 * dp3;",
|
|
55
|
-
" }",
|
|
56
|
-
" float M = (cnv[0] + cnv[1]) + (cnv[2] + cnv[3]);",
|
|
57
|
-
" float S = (cnv[4] + cnv[5]) + (cnv[6] + cnv[7]) + (cnv[8] + M);",
|
|
58
|
-
" gl_FragColor = vec4(vec3(sqrt(M/S)), 1.0);",
|
|
59
|
-
"}"
|
|
60
|
-
].join("\n")
|
|
61
|
-
};
|
|
62
|
-
export {
|
|
63
|
-
FreiChenShader
|
|
64
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const FresnelShader = {
|
|
4
|
-
uniforms: {
|
|
5
|
-
mRefractionRatio: { value: 1.02 },
|
|
6
|
-
mFresnelBias: { value: 0.1 },
|
|
7
|
-
mFresnelPower: { value: 2 },
|
|
8
|
-
mFresnelScale: { value: 1 },
|
|
9
|
-
tCube: { value: null }
|
|
10
|
-
},
|
|
11
|
-
vertexShader: [
|
|
12
|
-
"uniform float mRefractionRatio;",
|
|
13
|
-
"uniform float mFresnelBias;",
|
|
14
|
-
"uniform float mFresnelScale;",
|
|
15
|
-
"uniform float mFresnelPower;",
|
|
16
|
-
"varying vec3 vReflect;",
|
|
17
|
-
"varying vec3 vRefract[3];",
|
|
18
|
-
"varying float vReflectionFactor;",
|
|
19
|
-
"void main() {",
|
|
20
|
-
" vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
21
|
-
" vec4 worldPosition = modelMatrix * vec4( position, 1.0 );",
|
|
22
|
-
" vec3 worldNormal = normalize( mat3( modelMatrix[0].xyz, modelMatrix[1].xyz, modelMatrix[2].xyz ) * normal );",
|
|
23
|
-
" vec3 I = worldPosition.xyz - cameraPosition;",
|
|
24
|
-
" vReflect = reflect( I, worldNormal );",
|
|
25
|
-
" vRefract[0] = refract( normalize( I ), worldNormal, mRefractionRatio );",
|
|
26
|
-
" vRefract[1] = refract( normalize( I ), worldNormal, mRefractionRatio * 0.99 );",
|
|
27
|
-
" vRefract[2] = refract( normalize( I ), worldNormal, mRefractionRatio * 0.98 );",
|
|
28
|
-
" vReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), worldNormal ), mFresnelPower );",
|
|
29
|
-
" gl_Position = projectionMatrix * mvPosition;",
|
|
30
|
-
"}"
|
|
31
|
-
].join("\n"),
|
|
32
|
-
fragmentShader: [
|
|
33
|
-
"uniform samplerCube tCube;",
|
|
34
|
-
"varying vec3 vReflect;",
|
|
35
|
-
"varying vec3 vRefract[3];",
|
|
36
|
-
"varying float vReflectionFactor;",
|
|
37
|
-
"void main() {",
|
|
38
|
-
" vec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );",
|
|
39
|
-
" vec4 refractedColor = vec4( 1.0 );",
|
|
40
|
-
" refractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;",
|
|
41
|
-
" refractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;",
|
|
42
|
-
" refractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;",
|
|
43
|
-
" gl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );",
|
|
44
|
-
"}"
|
|
45
|
-
].join("\n")
|
|
46
|
-
};
|
|
47
|
-
exports.FresnelShader = FresnelShader;
|
package/shaders/FresnelShader.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
const FresnelShader = {
|
|
2
|
-
uniforms: {
|
|
3
|
-
mRefractionRatio: { value: 1.02 },
|
|
4
|
-
mFresnelBias: { value: 0.1 },
|
|
5
|
-
mFresnelPower: { value: 2 },
|
|
6
|
-
mFresnelScale: { value: 1 },
|
|
7
|
-
tCube: { value: null }
|
|
8
|
-
},
|
|
9
|
-
vertexShader: [
|
|
10
|
-
"uniform float mRefractionRatio;",
|
|
11
|
-
"uniform float mFresnelBias;",
|
|
12
|
-
"uniform float mFresnelScale;",
|
|
13
|
-
"uniform float mFresnelPower;",
|
|
14
|
-
"varying vec3 vReflect;",
|
|
15
|
-
"varying vec3 vRefract[3];",
|
|
16
|
-
"varying float vReflectionFactor;",
|
|
17
|
-
"void main() {",
|
|
18
|
-
" vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
|
|
19
|
-
" vec4 worldPosition = modelMatrix * vec4( position, 1.0 );",
|
|
20
|
-
" vec3 worldNormal = normalize( mat3( modelMatrix[0].xyz, modelMatrix[1].xyz, modelMatrix[2].xyz ) * normal );",
|
|
21
|
-
" vec3 I = worldPosition.xyz - cameraPosition;",
|
|
22
|
-
" vReflect = reflect( I, worldNormal );",
|
|
23
|
-
" vRefract[0] = refract( normalize( I ), worldNormal, mRefractionRatio );",
|
|
24
|
-
" vRefract[1] = refract( normalize( I ), worldNormal, mRefractionRatio * 0.99 );",
|
|
25
|
-
" vRefract[2] = refract( normalize( I ), worldNormal, mRefractionRatio * 0.98 );",
|
|
26
|
-
" vReflectionFactor = mFresnelBias + mFresnelScale * pow( 1.0 + dot( normalize( I ), worldNormal ), mFresnelPower );",
|
|
27
|
-
" gl_Position = projectionMatrix * mvPosition;",
|
|
28
|
-
"}"
|
|
29
|
-
].join("\n"),
|
|
30
|
-
fragmentShader: [
|
|
31
|
-
"uniform samplerCube tCube;",
|
|
32
|
-
"varying vec3 vReflect;",
|
|
33
|
-
"varying vec3 vRefract[3];",
|
|
34
|
-
"varying float vReflectionFactor;",
|
|
35
|
-
"void main() {",
|
|
36
|
-
" vec4 reflectedColor = textureCube( tCube, vec3( -vReflect.x, vReflect.yz ) );",
|
|
37
|
-
" vec4 refractedColor = vec4( 1.0 );",
|
|
38
|
-
" refractedColor.r = textureCube( tCube, vec3( -vRefract[0].x, vRefract[0].yz ) ).r;",
|
|
39
|
-
" refractedColor.g = textureCube( tCube, vec3( -vRefract[1].x, vRefract[1].yz ) ).g;",
|
|
40
|
-
" refractedColor.b = textureCube( tCube, vec3( -vRefract[2].x, vRefract[2].yz ) ).b;",
|
|
41
|
-
" gl_FragColor = mix( refractedColor, reflectedColor, clamp( vReflectionFactor, 0.0, 1.0 ) );",
|
|
42
|
-
"}"
|
|
43
|
-
].join("\n")
|
|
44
|
-
};
|
|
45
|
-
export {
|
|
46
|
-
FresnelShader
|
|
47
|
-
};
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const GammaCorrectionShader = {
|
|
4
|
-
uniforms: {
|
|
5
|
-
tDiffuse: { value: null }
|
|
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
|
-
"varying vec2 vUv;",
|
|
17
|
-
"void main() {",
|
|
18
|
-
" vec4 tex = texture2D( tDiffuse, vUv );",
|
|
19
|
-
" gl_FragColor = LinearTosRGB( tex );",
|
|
20
|
-
"}"
|
|
21
|
-
].join("\n")
|
|
22
|
-
};
|
|
23
|
-
exports.GammaCorrectionShader = GammaCorrectionShader;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const GammaCorrectionShader = {
|
|
2
|
-
uniforms: {
|
|
3
|
-
tDiffuse: { value: null }
|
|
4
|
-
},
|
|
5
|
-
vertexShader: [
|
|
6
|
-
"varying vec2 vUv;",
|
|
7
|
-
"void main() {",
|
|
8
|
-
" vUv = uv;",
|
|
9
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
10
|
-
"}"
|
|
11
|
-
].join("\n"),
|
|
12
|
-
fragmentShader: [
|
|
13
|
-
"uniform sampler2D tDiffuse;",
|
|
14
|
-
"varying vec2 vUv;",
|
|
15
|
-
"void main() {",
|
|
16
|
-
" vec4 tex = texture2D( tDiffuse, vUv );",
|
|
17
|
-
" gl_FragColor = LinearTosRGB( tex );",
|
|
18
|
-
"}"
|
|
19
|
-
].join("\n")
|
|
20
|
-
};
|
|
21
|
-
export {
|
|
22
|
-
GammaCorrectionShader
|
|
23
|
-
};
|
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const THREE = require("three");
|
|
4
|
-
const GodRaysDepthMaskShader = {
|
|
5
|
-
uniforms: {
|
|
6
|
-
tInput: {
|
|
7
|
-
value: null
|
|
8
|
-
}
|
|
9
|
-
},
|
|
10
|
-
vertexShader: [
|
|
11
|
-
"varying vec2 vUv;",
|
|
12
|
-
"void main() {",
|
|
13
|
-
" vUv = uv;",
|
|
14
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
15
|
-
"}"
|
|
16
|
-
].join("\n"),
|
|
17
|
-
fragmentShader: [
|
|
18
|
-
"varying vec2 vUv;",
|
|
19
|
-
"uniform sampler2D tInput;",
|
|
20
|
-
"void main() {",
|
|
21
|
-
" gl_FragColor = vec4( 1.0 ) - texture2D( tInput, vUv );",
|
|
22
|
-
"}"
|
|
23
|
-
].join("\n")
|
|
24
|
-
};
|
|
25
|
-
const GodRaysGenerateShader = {
|
|
26
|
-
uniforms: {
|
|
27
|
-
tInput: {
|
|
28
|
-
value: null
|
|
29
|
-
},
|
|
30
|
-
fStepSize: {
|
|
31
|
-
value: 1
|
|
32
|
-
},
|
|
33
|
-
vSunPositionScreenSpace: {
|
|
34
|
-
value: /* @__PURE__ */ new THREE.Vector3()
|
|
35
|
-
}
|
|
36
|
-
},
|
|
37
|
-
vertexShader: [
|
|
38
|
-
"varying vec2 vUv;",
|
|
39
|
-
"void main() {",
|
|
40
|
-
" vUv = uv;",
|
|
41
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
42
|
-
"}"
|
|
43
|
-
].join("\n"),
|
|
44
|
-
fragmentShader: [
|
|
45
|
-
"#define TAPS_PER_PASS 6.0",
|
|
46
|
-
"varying vec2 vUv;",
|
|
47
|
-
"uniform sampler2D tInput;",
|
|
48
|
-
"uniform vec3 vSunPositionScreenSpace;",
|
|
49
|
-
"uniform float fStepSize;",
|
|
50
|
-
// filter step size
|
|
51
|
-
"void main() {",
|
|
52
|
-
// delta from current pixel to "sun" position
|
|
53
|
-
" vec2 delta = vSunPositionScreenSpace.xy - vUv;",
|
|
54
|
-
" float dist = length( delta );",
|
|
55
|
-
// Step vector (uv space)
|
|
56
|
-
" vec2 stepv = fStepSize * delta / dist;",
|
|
57
|
-
// Number of iterations between pixel and sun
|
|
58
|
-
" float iters = dist/fStepSize;",
|
|
59
|
-
" vec2 uv = vUv.xy;",
|
|
60
|
-
" float col = 0.0;",
|
|
61
|
-
// This breaks ANGLE in Chrome 22
|
|
62
|
-
// - see http://code.google.com/p/chromium/issues/detail?id=153105
|
|
63
|
-
/*
|
|
64
|
-
// Unrolling didnt do much on my hardware (ATI Mobility Radeon 3450),
|
|
65
|
-
// so i've just left the loop
|
|
66
|
-
|
|
67
|
-
"for ( float i = 0.0; i < TAPS_PER_PASS; i += 1.0 ) {",
|
|
68
|
-
|
|
69
|
-
// Accumulate samples, making sure we dont walk past the light source.
|
|
70
|
-
|
|
71
|
-
// The check for uv.y < 1 would not be necessary with "border" UV wrap
|
|
72
|
-
// mode, with a black border color. I don't think this is currently
|
|
73
|
-
// exposed by three.js. As a result there might be artifacts when the
|
|
74
|
-
// sun is to the left, right or bottom of screen as these cases are
|
|
75
|
-
// not specifically handled.
|
|
76
|
-
|
|
77
|
-
" col += ( i <= iters && uv.y < 1.0 ? texture2D( tInput, uv ).r : 0.0 );",
|
|
78
|
-
" uv += stepv;",
|
|
79
|
-
|
|
80
|
-
"}",
|
|
81
|
-
*/
|
|
82
|
-
// Unrolling loop manually makes it work in ANGLE
|
|
83
|
-
" float f = min( 1.0, max( vSunPositionScreenSpace.z / 1000.0, 0.0 ) );",
|
|
84
|
-
// used to fade out godrays
|
|
85
|
-
" if ( 0.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;",
|
|
86
|
-
" uv += stepv;",
|
|
87
|
-
" if ( 1.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;",
|
|
88
|
-
" uv += stepv;",
|
|
89
|
-
" if ( 2.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;",
|
|
90
|
-
" uv += stepv;",
|
|
91
|
-
" if ( 3.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;",
|
|
92
|
-
" uv += stepv;",
|
|
93
|
-
" if ( 4.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;",
|
|
94
|
-
" uv += stepv;",
|
|
95
|
-
" if ( 5.0 <= iters && uv.y < 1.0 ) col += texture2D( tInput, uv ).r * f;",
|
|
96
|
-
" uv += stepv;",
|
|
97
|
-
// Should technically be dividing by 'iters', but 'TAPS_PER_PASS' smooths out
|
|
98
|
-
// objectionable artifacts, in particular near the sun position. The side
|
|
99
|
-
// effect is that the result is darker than it should be around the sun, as
|
|
100
|
-
// TAPS_PER_PASS is greater than the number of samples actually accumulated.
|
|
101
|
-
// When the result is inverted (in the shader 'godrays_combine', this produces
|
|
102
|
-
// a slight bright spot at the position of the sun, even when it is occluded.
|
|
103
|
-
" gl_FragColor = vec4( col/TAPS_PER_PASS );",
|
|
104
|
-
" gl_FragColor.a = 1.0;",
|
|
105
|
-
"}"
|
|
106
|
-
].join("\n")
|
|
107
|
-
};
|
|
108
|
-
const GodRaysCombineShader = {
|
|
109
|
-
uniforms: {
|
|
110
|
-
tColors: {
|
|
111
|
-
value: null
|
|
112
|
-
},
|
|
113
|
-
tGodRays: {
|
|
114
|
-
value: null
|
|
115
|
-
},
|
|
116
|
-
fGodRayIntensity: {
|
|
117
|
-
value: 0.69
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
vertexShader: [
|
|
121
|
-
"varying vec2 vUv;",
|
|
122
|
-
"void main() {",
|
|
123
|
-
" vUv = uv;",
|
|
124
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
125
|
-
"}"
|
|
126
|
-
].join("\n"),
|
|
127
|
-
fragmentShader: [
|
|
128
|
-
"varying vec2 vUv;",
|
|
129
|
-
"uniform sampler2D tColors;",
|
|
130
|
-
"uniform sampler2D tGodRays;",
|
|
131
|
-
"uniform float fGodRayIntensity;",
|
|
132
|
-
"void main() {",
|
|
133
|
-
// Since THREE.MeshDepthMaterial renders foreground objects white and background
|
|
134
|
-
// objects black, the god-rays will be white streaks. Therefore value is inverted
|
|
135
|
-
// before being combined with tColors
|
|
136
|
-
" gl_FragColor = texture2D( tColors, vUv ) + fGodRayIntensity * vec4( 1.0 - texture2D( tGodRays, vUv ).r );",
|
|
137
|
-
" gl_FragColor.a = 1.0;",
|
|
138
|
-
"}"
|
|
139
|
-
].join("\n")
|
|
140
|
-
};
|
|
141
|
-
const GodRaysFakeSunShader = {
|
|
142
|
-
uniforms: {
|
|
143
|
-
vSunPositionScreenSpace: {
|
|
144
|
-
value: /* @__PURE__ */ new THREE.Vector3()
|
|
145
|
-
},
|
|
146
|
-
fAspect: {
|
|
147
|
-
value: 1
|
|
148
|
-
},
|
|
149
|
-
sunColor: {
|
|
150
|
-
value: /* @__PURE__ */ new THREE.Color(16772608)
|
|
151
|
-
},
|
|
152
|
-
bgColor: {
|
|
153
|
-
value: /* @__PURE__ */ new THREE.Color(0)
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
vertexShader: [
|
|
157
|
-
"varying vec2 vUv;",
|
|
158
|
-
"void main() {",
|
|
159
|
-
" vUv = uv;",
|
|
160
|
-
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
|
|
161
|
-
"}"
|
|
162
|
-
].join("\n"),
|
|
163
|
-
fragmentShader: [
|
|
164
|
-
"varying vec2 vUv;",
|
|
165
|
-
"uniform vec3 vSunPositionScreenSpace;",
|
|
166
|
-
"uniform float fAspect;",
|
|
167
|
-
"uniform vec3 sunColor;",
|
|
168
|
-
"uniform vec3 bgColor;",
|
|
169
|
-
"void main() {",
|
|
170
|
-
" vec2 diff = vUv - vSunPositionScreenSpace.xy;",
|
|
171
|
-
// Correct for aspect ratio
|
|
172
|
-
" diff.x *= fAspect;",
|
|
173
|
-
" float prop = clamp( length( diff ) / 0.5, 0.0, 1.0 );",
|
|
174
|
-
" prop = 0.35 * pow( 1.0 - prop, 3.0 );",
|
|
175
|
-
" gl_FragColor.xyz = ( vSunPositionScreenSpace.z > 0.0 ) ? mix( sunColor, bgColor, 1.0 - prop ) : bgColor;",
|
|
176
|
-
" gl_FragColor.w = 1.0;",
|
|
177
|
-
"}"
|
|
178
|
-
].join("\n")
|
|
179
|
-
};
|
|
180
|
-
exports.GodRaysCombineShader = GodRaysCombineShader;
|
|
181
|
-
exports.GodRaysDepthMaskShader = GodRaysDepthMaskShader;
|
|
182
|
-
exports.GodRaysFakeSunShader = GodRaysFakeSunShader;
|
|
183
|
-
exports.GodRaysGenerateShader = GodRaysGenerateShader;
|