@3driseai/3drise-core 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants/index.d.ts +22 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +7 -0
- package/dist/data/allMaterials.d.ts +5 -0
- package/dist/data/allMaterials.d.ts.map +1 -0
- package/dist/data/allMaterials.js +932 -0
- package/dist/data/defaults.d.ts +107 -0
- package/dist/data/defaults.d.ts.map +1 -0
- package/dist/data/defaults.js +99 -0
- package/dist/data/effectsDefaults.d.ts +4 -0
- package/dist/data/effectsDefaults.d.ts.map +1 -0
- package/dist/data/effectsDefaults.js +55 -0
- package/dist/data/images.d.ts +4 -0
- package/dist/data/images.d.ts.map +1 -0
- package/dist/data/images.js +50 -0
- package/dist/data/index.d.ts +10 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +9 -0
- package/dist/data/lightPresets.d.ts +99 -0
- package/dist/data/lightPresets.d.ts.map +1 -0
- package/dist/data/lightPresets.js +48 -0
- package/dist/data/particlesSettings.d.ts +13 -0
- package/dist/data/particlesSettings.d.ts.map +1 -0
- package/dist/data/particlesSettings.js +94 -0
- package/dist/data/paths.d.ts +32 -0
- package/dist/data/paths.d.ts.map +1 -0
- package/dist/data/paths.js +2597 -0
- package/dist/data/shaders.d.ts +12 -0
- package/dist/data/shaders.d.ts.map +1 -0
- package/dist/data/shaders.js +342 -0
- package/dist/data/shapeConfig.d.ts +3 -0
- package/dist/data/shapeConfig.d.ts.map +1 -0
- package/dist/data/shapeConfig.js +29 -0
- package/dist/index.d.ts +72 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +70 -0
- package/dist/presets/cloudsPresets.d.ts +32 -0
- package/dist/presets/cloudsPresets.d.ts.map +1 -0
- package/dist/presets/cloudsPresets.js +257 -0
- package/dist/presets/coronaPresets.d.ts +11 -0
- package/dist/presets/coronaPresets.d.ts.map +1 -0
- package/dist/presets/coronaPresets.js +148 -0
- package/dist/presets/crystalPresets.d.ts +38 -0
- package/dist/presets/crystalPresets.d.ts.map +1 -0
- package/dist/presets/crystalPresets.js +265 -0
- package/dist/presets/effectsPresets.d.ts +32 -0
- package/dist/presets/effectsPresets.d.ts.map +1 -0
- package/dist/presets/effectsPresets.js +438 -0
- package/dist/presets/glassPresets.d.ts +36 -0
- package/dist/presets/glassPresets.d.ts.map +1 -0
- package/dist/presets/glassPresets.js +236 -0
- package/dist/presets/index.d.ts +21 -0
- package/dist/presets/index.d.ts.map +1 -0
- package/dist/presets/index.js +52 -0
- package/dist/presets/lavaPresets.d.ts +11 -0
- package/dist/presets/lavaPresets.d.ts.map +1 -0
- package/dist/presets/lavaPresets.js +202 -0
- package/dist/presets/metalPresets.d.ts +33 -0
- package/dist/presets/metalPresets.d.ts.map +1 -0
- package/dist/presets/metalPresets.js +205 -0
- package/dist/presets/oceanPresets.d.ts +37 -0
- package/dist/presets/oceanPresets.d.ts.map +1 -0
- package/dist/presets/oceanPresets.js +120 -0
- package/dist/presets/plasticPresets.d.ts +35 -0
- package/dist/presets/plasticPresets.d.ts.map +1 -0
- package/dist/presets/plasticPresets.js +245 -0
- package/dist/presets/sandPresets.d.ts +11 -0
- package/dist/presets/sandPresets.d.ts.map +1 -0
- package/dist/presets/sandPresets.js +294 -0
- package/dist/presets/skyPresets.d.ts +27 -0
- package/dist/presets/skyPresets.d.ts.map +1 -0
- package/dist/presets/skyPresets.js +93 -0
- package/dist/presets/woodPresets.d.ts +33 -0
- package/dist/presets/woodPresets.d.ts.map +1 -0
- package/dist/presets/woodPresets.js +235 -0
- package/dist/services/AnimationsManager.d.ts +171 -0
- package/dist/services/AnimationsManager.d.ts.map +1 -0
- package/dist/services/AnimationsManager.js +508 -0
- package/dist/services/CubeCameraManager.d.ts +23 -0
- package/dist/services/CubeCameraManager.d.ts.map +1 -0
- package/dist/services/CubeCameraManager.js +84 -0
- package/dist/services/FontManager.d.ts +32 -0
- package/dist/services/FontManager.d.ts.map +1 -0
- package/dist/services/FontManager.js +76 -0
- package/dist/services/MaterialCompiler.d.ts +30 -0
- package/dist/services/MaterialCompiler.d.ts.map +1 -0
- package/dist/services/MaterialCompiler.js +91 -0
- package/dist/services/MaterialRegistry.d.ts +85 -0
- package/dist/services/MaterialRegistry.d.ts.map +1 -0
- package/dist/services/MaterialRegistry.js +362 -0
- package/dist/services/NoiseGenerator.d.ts +93 -0
- package/dist/services/NoiseGenerator.d.ts.map +1 -0
- package/dist/services/NoiseGenerator.js +653 -0
- package/dist/services/ObjectManager.d.ts +71 -0
- package/dist/services/ObjectManager.d.ts.map +1 -0
- package/dist/services/ObjectManager.js +386 -0
- package/dist/services/PositionsCreator.d.ts +26 -0
- package/dist/services/PositionsCreator.d.ts.map +1 -0
- package/dist/services/PositionsCreator.js +263 -0
- package/dist/services/SceneStore.d.ts +20 -0
- package/dist/services/SceneStore.d.ts.map +1 -0
- package/dist/services/SceneStore.js +18 -0
- package/dist/services/ShadersLibrary.d.ts +79 -0
- package/dist/services/ShadersLibrary.d.ts.map +1 -0
- package/dist/services/ShadersLibrary.js +820 -0
- package/dist/services/SkySystemManager.d.ts +57 -0
- package/dist/services/SkySystemManager.d.ts.map +1 -0
- package/dist/services/SkySystemManager.js +190 -0
- package/dist/services/TextureResolver.d.ts +51 -0
- package/dist/services/TextureResolver.d.ts.map +1 -0
- package/dist/services/TextureResolver.js +136 -0
- package/dist/services/TexturesManager.d.ts +17 -0
- package/dist/services/TexturesManager.d.ts.map +1 -0
- package/dist/services/TexturesManager.js +48 -0
- package/dist/services/UniformConverter.d.ts +33 -0
- package/dist/services/UniformConverter.d.ts.map +1 -0
- package/dist/services/UniformConverter.js +252 -0
- package/dist/services/index.d.ts +19 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +14 -0
- package/dist/shaders/BasicSkyMaterial.d.ts +49 -0
- package/dist/shaders/BasicSkyMaterial.d.ts.map +1 -0
- package/dist/shaders/BasicSkyMaterial.js +94 -0
- package/dist/shaders/BasicWaterMaterial.d.ts +41 -0
- package/dist/shaders/BasicWaterMaterial.d.ts.map +1 -0
- package/dist/shaders/BasicWaterMaterial.js +155 -0
- package/dist/shaders/BubblesPointsMaterial.d.ts +52 -0
- package/dist/shaders/BubblesPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/BubblesPointsMaterial.js +95 -0
- package/dist/shaders/CartoonCloudsMaterial.d.ts +36 -0
- package/dist/shaders/CartoonCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/CartoonCloudsMaterial.js +59 -0
- package/dist/shaders/CartoonCloudsPointsMaterial.d.ts +65 -0
- package/dist/shaders/CartoonCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/CartoonCloudsPointsMaterial.js +138 -0
- package/dist/shaders/CirrusCloudsMaterial.d.ts +36 -0
- package/dist/shaders/CirrusCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/CirrusCloudsMaterial.js +55 -0
- package/dist/shaders/CirrusCloudsPointsMaterial.d.ts +69 -0
- package/dist/shaders/CirrusCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/CirrusCloudsPointsMaterial.js +140 -0
- package/dist/shaders/CloudsMaterial.d.ts +47 -0
- package/dist/shaders/CloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/CloudsMaterial.js +124 -0
- package/dist/shaders/CloudsPointsMaterial.d.ts +82 -0
- package/dist/shaders/CloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/CloudsPointsMaterial.js +200 -0
- package/dist/shaders/CommonNoiseFunctions.d.ts +2 -0
- package/dist/shaders/CommonNoiseFunctions.d.ts.map +1 -0
- package/dist/shaders/CommonNoiseFunctions.js +41 -0
- package/dist/shaders/CoronaMaterial.d.ts +41 -0
- package/dist/shaders/CoronaMaterial.d.ts.map +1 -0
- package/dist/shaders/CoronaMaterial.js +54 -0
- package/dist/shaders/CustomShaderMaterial.d.ts +10 -0
- package/dist/shaders/CustomShaderMaterial.d.ts.map +1 -0
- package/dist/shaders/CustomShaderMaterial.js +10 -0
- package/dist/shaders/EarthAtmosphereMaterial.d.ts +28 -0
- package/dist/shaders/EarthAtmosphereMaterial.d.ts.map +1 -0
- package/dist/shaders/EarthAtmosphereMaterial.js +55 -0
- package/dist/shaders/EarthMaterial.d.ts +40 -0
- package/dist/shaders/EarthMaterial.d.ts.map +1 -0
- package/dist/shaders/EarthMaterial.js +69 -0
- package/dist/shaders/FireMaterial.d.ts +30 -0
- package/dist/shaders/FireMaterial.d.ts.map +1 -0
- package/dist/shaders/FireMaterial.js +154 -0
- package/dist/shaders/FireShellMaterial.d.ts +34 -0
- package/dist/shaders/FireShellMaterial.d.ts.map +1 -0
- package/dist/shaders/FireShellMaterial.js +137 -0
- package/dist/shaders/FlareMaterial.d.ts +79 -0
- package/dist/shaders/FlareMaterial.d.ts.map +1 -0
- package/dist/shaders/FlareMaterial.js +184 -0
- package/dist/shaders/GlowMaterial.d.ts +41 -0
- package/dist/shaders/GlowMaterial.d.ts.map +1 -0
- package/dist/shaders/GlowMaterial.js +54 -0
- package/dist/shaders/GlyphRingMaterial.d.ts +72 -0
- package/dist/shaders/GlyphRingMaterial.d.ts.map +1 -0
- package/dist/shaders/GlyphRingMaterial.js +152 -0
- package/dist/shaders/ImageMaterial.d.ts +294 -0
- package/dist/shaders/ImageMaterial.d.ts.map +1 -0
- package/dist/shaders/ImageMaterial.js +401 -0
- package/dist/shaders/LavaMaterial.d.ts +69 -0
- package/dist/shaders/LavaMaterial.d.ts.map +1 -0
- package/dist/shaders/LavaMaterial.js +127 -0
- package/dist/shaders/LineEffectsMaterials.d.ts +97 -0
- package/dist/shaders/LineEffectsMaterials.d.ts.map +1 -0
- package/dist/shaders/LineEffectsMaterials.js +242 -0
- package/dist/shaders/LineMaterial.d.ts +37 -0
- package/dist/shaders/LineMaterial.d.ts.map +1 -0
- package/dist/shaders/LineMaterial.js +64 -0
- package/dist/shaders/MeshEffectsMaterial.d.ts +278 -0
- package/dist/shaders/MeshEffectsMaterial.d.ts.map +1 -0
- package/dist/shaders/MeshEffectsMaterial.js +312 -0
- package/dist/shaders/MorphingSimulation.d.ts +17 -0
- package/dist/shaders/MorphingSimulation.d.ts.map +1 -0
- package/dist/shaders/MorphingSimulation.js +66 -0
- package/dist/shaders/MyGridMaterial.d.ts +61 -0
- package/dist/shaders/MyGridMaterial.d.ts.map +1 -0
- package/dist/shaders/MyGridMaterial.js +176 -0
- package/dist/shaders/MyParticlesMaterial.d.ts +65 -0
- package/dist/shaders/MyParticlesMaterial.d.ts.map +1 -0
- package/dist/shaders/MyParticlesMaterial.js +126 -0
- package/dist/shaders/NebulaCloudsMaterial.d.ts +44 -0
- package/dist/shaders/NebulaCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/NebulaCloudsMaterial.js +63 -0
- package/dist/shaders/NebulaPointsMaterial.d.ts +236 -0
- package/dist/shaders/NebulaPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/NebulaPointsMaterial.js +265 -0
- package/dist/shaders/OceanMaterial.d.ts +57 -0
- package/dist/shaders/OceanMaterial.d.ts.map +1 -0
- package/dist/shaders/OceanMaterial.js +240 -0
- package/dist/shaders/PainterlyCloudsMaterial.d.ts +49 -0
- package/dist/shaders/PainterlyCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/PainterlyCloudsMaterial.js +68 -0
- package/dist/shaders/PainterlyCloudsPointsMaterial.d.ts +69 -0
- package/dist/shaders/PainterlyCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/PainterlyCloudsPointsMaterial.js +140 -0
- package/dist/shaders/RainMaterial.d.ts +36 -0
- package/dist/shaders/RainMaterial.d.ts.map +1 -0
- package/dist/shaders/RainMaterial.js +79 -0
- package/dist/shaders/ReflectorMaterial.d.ts +62 -0
- package/dist/shaders/ReflectorMaterial.d.ts.map +1 -0
- package/dist/shaders/ReflectorMaterial.js +167 -0
- package/dist/shaders/SandMaterial.d.ts +58 -0
- package/dist/shaders/SandMaterial.d.ts.map +1 -0
- package/dist/shaders/SandMaterial.js +296 -0
- package/dist/shaders/ShaderEffectsMaterial copy.d.ts +280 -0
- package/dist/shaders/ShaderEffectsMaterial copy.d.ts.map +1 -0
- package/dist/shaders/ShaderEffectsMaterial copy.js +354 -0
- package/dist/shaders/ShaderEffectsMaterial.d.ts +5 -0
- package/dist/shaders/ShaderEffectsMaterial.d.ts.map +1 -0
- package/dist/shaders/ShaderEffectsMaterial.js +10 -0
- package/dist/shaders/ShootingStarMaterial.d.ts +9 -0
- package/dist/shaders/ShootingStarMaterial.d.ts.map +1 -0
- package/dist/shaders/ShootingStarMaterial.js +42 -0
- package/dist/shaders/SkyCloudsMaterial.d.ts +76 -0
- package/dist/shaders/SkyCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/SkyCloudsMaterial.js +212 -0
- package/dist/shaders/SkyMaterial.d.ts +130 -0
- package/dist/shaders/SkyMaterial.d.ts.map +1 -0
- package/dist/shaders/SkyMaterial.js +237 -0
- package/dist/shaders/SkyboxMaterial.d.ts +40 -0
- package/dist/shaders/SkyboxMaterial.d.ts.map +1 -0
- package/dist/shaders/SkyboxMaterial.js +64 -0
- package/dist/shaders/SmokeMaterial.d.ts +48 -0
- package/dist/shaders/SmokeMaterial.d.ts.map +1 -0
- package/dist/shaders/SmokeMaterial.js +159 -0
- package/dist/shaders/SmokeRibbonMaterial.d.ts +48 -0
- package/dist/shaders/SmokeRibbonMaterial.d.ts.map +1 -0
- package/dist/shaders/SmokeRibbonMaterial.js +120 -0
- package/dist/shaders/SparklesBurstMaterial.d.ts +65 -0
- package/dist/shaders/SparklesBurstMaterial.d.ts.map +1 -0
- package/dist/shaders/SparklesBurstMaterial.js +99 -0
- package/dist/shaders/StarsMaterial.d.ts +36 -0
- package/dist/shaders/StarsMaterial.d.ts.map +1 -0
- package/dist/shaders/StarsMaterial.js +74 -0
- package/dist/shaders/StormCloudsMaterial.d.ts +44 -0
- package/dist/shaders/StormCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/StormCloudsMaterial.js +61 -0
- package/dist/shaders/StormCloudsPointsMaterial.d.ts +303 -0
- package/dist/shaders/StormCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/StormCloudsPointsMaterial.js +389 -0
- package/dist/shaders/SunCoreMaterial.d.ts +69 -0
- package/dist/shaders/SunCoreMaterial.d.ts.map +1 -0
- package/dist/shaders/SunCoreMaterial.js +127 -0
- package/dist/shaders/VolumetricCloudsMaterial.d.ts +56 -0
- package/dist/shaders/VolumetricCloudsMaterial.d.ts.map +1 -0
- package/dist/shaders/VolumetricCloudsMaterial.js +93 -0
- package/dist/shaders/VolumetricCloudsPointsMaterial.d.ts +73 -0
- package/dist/shaders/VolumetricCloudsPointsMaterial.d.ts.map +1 -0
- package/dist/shaders/VolumetricCloudsPointsMaterial.js +143 -0
- package/dist/shaders/WaterMaterial.d.ts +110 -0
- package/dist/shaders/WaterMaterial.d.ts.map +1 -0
- package/dist/shaders/WaterMaterial.js +228 -0
- package/dist/shaders/effects/EffectsFragmentFunctions.glsl.d.ts +2 -0
- package/dist/shaders/effects/EffectsFragmentFunctions.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/EffectsFragmentFunctions.glsl.js +182 -0
- package/dist/shaders/effects/EffectsUniforms.d.ts +230 -0
- package/dist/shaders/effects/EffectsUniforms.d.ts.map +1 -0
- package/dist/shaders/effects/EffectsUniforms.js +66 -0
- package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts +2 -0
- package/dist/shaders/effects/EffectsVertexFunctions.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/EffectsVertexFunctions.glsl.js +167 -0
- package/dist/shaders/effects/baseFragment.glsl.d.ts +2 -0
- package/dist/shaders/effects/baseFragment.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/baseFragment.glsl.js +53 -0
- package/dist/shaders/effects/baseVertex.glsl.d.ts +2 -0
- package/dist/shaders/effects/baseVertex.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/baseVertex.glsl.js +60 -0
- package/dist/shaders/effects/buildShaderEffectsMaterial.d.ts +17 -0
- package/dist/shaders/effects/buildShaderEffectsMaterial.d.ts.map +1 -0
- package/dist/shaders/effects/buildShaderEffectsMaterial.js +156 -0
- package/dist/shaders/effects/defaults.d.ts +4 -0
- package/dist/shaders/effects/defaults.d.ts.map +1 -0
- package/dist/shaders/effects/defaults.js +27 -0
- package/dist/shaders/effects/index.d.ts +7 -0
- package/dist/shaders/effects/index.d.ts.map +1 -0
- package/dist/shaders/effects/index.js +6 -0
- package/dist/shaders/effects/noiseLib.glsl.d.ts +6 -0
- package/dist/shaders/effects/noiseLib.glsl.d.ts.map +1 -0
- package/dist/shaders/effects/noiseLib.glsl.js +214 -0
- package/dist/shaders/effects/presets.d.ts +20 -0
- package/dist/shaders/effects/presets.d.ts.map +1 -0
- package/dist/shaders/effects/presets.js +288 -0
- package/dist/shaders/effects/registry/brightness.d.ts +3 -0
- package/dist/shaders/effects/registry/brightness.d.ts.map +1 -0
- package/dist/shaders/effects/registry/brightness.js +16 -0
- package/dist/shaders/effects/registry/colorShift.d.ts +3 -0
- package/dist/shaders/effects/registry/colorShift.d.ts.map +1 -0
- package/dist/shaders/effects/registry/colorShift.js +21 -0
- package/dist/shaders/effects/registry/depthFade.d.ts +3 -0
- package/dist/shaders/effects/registry/depthFade.d.ts.map +1 -0
- package/dist/shaders/effects/registry/depthFade.js +29 -0
- package/dist/shaders/effects/registry/displacement.d.ts +3 -0
- package/dist/shaders/effects/registry/displacement.d.ts.map +1 -0
- package/dist/shaders/effects/registry/displacement.js +17 -0
- package/dist/shaders/effects/registry/explode.d.ts +3 -0
- package/dist/shaders/effects/registry/explode.d.ts.map +1 -0
- package/dist/shaders/effects/registry/explode.js +43 -0
- package/dist/shaders/effects/registry/flicker.d.ts +3 -0
- package/dist/shaders/effects/registry/flicker.d.ts.map +1 -0
- package/dist/shaders/effects/registry/flicker.js +27 -0
- package/dist/shaders/effects/registry/glow.d.ts +3 -0
- package/dist/shaders/effects/registry/glow.d.ts.map +1 -0
- package/dist/shaders/effects/registry/glow.js +21 -0
- package/dist/shaders/effects/registry/grayscale.d.ts +3 -0
- package/dist/shaders/effects/registry/grayscale.d.ts.map +1 -0
- package/dist/shaders/effects/registry/grayscale.js +105 -0
- package/dist/shaders/effects/registry/hueShift.d.ts +3 -0
- package/dist/shaders/effects/registry/hueShift.d.ts.map +1 -0
- package/dist/shaders/effects/registry/hueShift.js +40 -0
- package/dist/shaders/effects/registry/index.d.ts +9 -0
- package/dist/shaders/effects/registry/index.d.ts.map +1 -0
- package/dist/shaders/effects/registry/index.js +70 -0
- package/dist/shaders/effects/registry/jitter.d.ts +3 -0
- package/dist/shaders/effects/registry/jitter.d.ts.map +1 -0
- package/dist/shaders/effects/registry/jitter.js +31 -0
- package/dist/shaders/effects/registry/magnet.d.ts +3 -0
- package/dist/shaders/effects/registry/magnet.d.ts.map +1 -0
- package/dist/shaders/effects/registry/magnet.js +43 -0
- package/dist/shaders/effects/registry/noise.d.ts +3 -0
- package/dist/shaders/effects/registry/noise.d.ts.map +1 -0
- package/dist/shaders/effects/registry/noise.js +61 -0
- package/dist/shaders/effects/registry/pulse.d.ts +3 -0
- package/dist/shaders/effects/registry/pulse.d.ts.map +1 -0
- package/dist/shaders/effects/registry/pulse.js +24 -0
- package/dist/shaders/effects/registry/rainbow.d.ts +3 -0
- package/dist/shaders/effects/registry/rainbow.d.ts.map +1 -0
- package/dist/shaders/effects/registry/rainbow.js +55 -0
- package/dist/shaders/effects/registry/ripple.d.ts +3 -0
- package/dist/shaders/effects/registry/ripple.d.ts.map +1 -0
- package/dist/shaders/effects/registry/ripple.js +39 -0
- package/dist/shaders/effects/registry/saturation.d.ts +3 -0
- package/dist/shaders/effects/registry/saturation.d.ts.map +1 -0
- package/dist/shaders/effects/registry/saturation.js +19 -0
- package/dist/shaders/effects/registry/scale.d.ts +3 -0
- package/dist/shaders/effects/registry/scale.d.ts.map +1 -0
- package/dist/shaders/effects/registry/scale.js +26 -0
- package/dist/shaders/effects/registry/sparkle.d.ts +3 -0
- package/dist/shaders/effects/registry/sparkle.d.ts.map +1 -0
- package/dist/shaders/effects/registry/sparkle.js +34 -0
- package/dist/shaders/effects/registry/spiral.d.ts +3 -0
- package/dist/shaders/effects/registry/spiral.d.ts.map +1 -0
- package/dist/shaders/effects/registry/spiral.js +46 -0
- package/dist/shaders/effects/registry/twist.d.ts +3 -0
- package/dist/shaders/effects/registry/twist.d.ts.map +1 -0
- package/dist/shaders/effects/registry/twist.js +55 -0
- package/dist/shaders/effects/registry/vortex.d.ts +3 -0
- package/dist/shaders/effects/registry/vortex.d.ts.map +1 -0
- package/dist/shaders/effects/registry/vortex.js +35 -0
- package/dist/shaders/effects/registry/wave.d.ts +3 -0
- package/dist/shaders/effects/registry/wave.d.ts.map +1 -0
- package/dist/shaders/effects/registry/wave.js +44 -0
- package/dist/shaders/effects/types.d.ts +56 -0
- package/dist/shaders/effects/types.d.ts.map +1 -0
- package/dist/shaders/effects/types.js +11 -0
- package/dist/shaders/index.d.ts +51 -0
- package/dist/shaders/index.d.ts.map +1 -0
- package/dist/shaders/index.js +50 -0
- package/dist/shaders/lineShaders/GhostSignalMaterial.d.ts +41 -0
- package/dist/shaders/lineShaders/GhostSignalMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/GhostSignalMaterial.js +88 -0
- package/dist/shaders/lineShaders/LineShaderMaterials.d.ts +180 -0
- package/dist/shaders/lineShaders/LineShaderMaterials.d.ts.map +1 -0
- package/dist/shaders/lineShaders/LineShaderMaterials.js +551 -0
- package/dist/shaders/lineShaders/ParticleEffects.d.ts +39 -0
- package/dist/shaders/lineShaders/ParticleEffects.d.ts.map +1 -0
- package/dist/shaders/lineShaders/ParticleEffects.js +451 -0
- package/dist/shaders/lineShaders/SerpentFlowMaterial.d.ts +37 -0
- package/dist/shaders/lineShaders/SerpentFlowMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/SerpentFlowMaterial.js +91 -0
- package/dist/shaders/lineShaders/SolarFilamentMaterial.d.ts +37 -0
- package/dist/shaders/lineShaders/SolarFilamentMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/SolarFilamentMaterial.js +104 -0
- package/dist/shaders/lineShaders/TeslaArcMaterial.d.ts +37 -0
- package/dist/shaders/lineShaders/TeslaArcMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/TeslaArcMaterial.js +125 -0
- package/dist/shaders/lineShaders/VoidRiftMaterial.d.ts +41 -0
- package/dist/shaders/lineShaders/VoidRiftMaterial.d.ts.map +1 -0
- package/dist/shaders/lineShaders/VoidRiftMaterial.js +118 -0
- package/dist/shaders/lineShaders/index.d.ts +11 -0
- package/dist/shaders/lineShaders/index.d.ts.map +1 -0
- package/dist/shaders/lineShaders/index.js +7 -0
- package/dist/shaders/sunNoise.d.ts +2 -0
- package/dist/shaders/sunNoise.d.ts.map +1 -0
- package/dist/shaders/sunNoise.js +91 -0
- package/dist/three/AnimatedObjectV.d.ts +71 -0
- package/dist/three/AnimatedObjectV.d.ts.map +1 -0
- package/dist/three/AnimatedObjectV.js +169 -0
- package/dist/three/CloudsV.d.ts +24 -0
- package/dist/three/CloudsV.d.ts.map +1 -0
- package/dist/three/CloudsV.js +132 -0
- package/dist/three/EffectsGeneratorV.d.ts +14 -0
- package/dist/three/EffectsGeneratorV.d.ts.map +1 -0
- package/dist/three/EffectsGeneratorV.js +109 -0
- package/dist/three/EnvironmentManagerV.d.ts +35 -0
- package/dist/three/EnvironmentManagerV.d.ts.map +1 -0
- package/dist/three/EnvironmentManagerV.js +140 -0
- package/dist/three/FrameV.d.ts +24 -0
- package/dist/three/FrameV.d.ts.map +1 -0
- package/dist/three/FrameV.js +43 -0
- package/dist/three/GalaxyV.d.ts +21 -0
- package/dist/three/GalaxyV.d.ts.map +1 -0
- package/dist/three/GalaxyV.js +223 -0
- package/dist/three/GalleryLayoutV.d.ts +20 -0
- package/dist/three/GalleryLayoutV.d.ts.map +1 -0
- package/dist/three/GalleryLayoutV.js +76 -0
- package/dist/three/GridHelperV.d.ts +19 -0
- package/dist/three/GridHelperV.d.ts.map +1 -0
- package/dist/three/GridHelperV.js +28 -0
- package/dist/three/ImageGeometryV.d.ts +23 -0
- package/dist/three/ImageGeometryV.d.ts.map +1 -0
- package/dist/three/ImageGeometryV.js +83 -0
- package/dist/three/LensflareV.d.ts +19 -0
- package/dist/three/LensflareV.d.ts.map +1 -0
- package/dist/three/LensflareV.js +79 -0
- package/dist/three/LetterV.d.ts +24 -0
- package/dist/three/LetterV.d.ts.map +1 -0
- package/dist/three/LetterV.js +90 -0
- package/dist/three/LightsManagerV.d.ts +21 -0
- package/dist/three/LightsManagerV.d.ts.map +1 -0
- package/dist/three/LightsManagerV.js +85 -0
- package/dist/three/LinesV.d.ts +22 -0
- package/dist/three/LinesV.d.ts.map +1 -0
- package/dist/three/LinesV.js +43 -0
- package/dist/three/ParticlesV.d.ts +28 -0
- package/dist/three/ParticlesV.d.ts.map +1 -0
- package/dist/three/ParticlesV.js +88 -0
- package/dist/three/PathRendererV.d.ts +29 -0
- package/dist/three/PathRendererV.d.ts.map +1 -0
- package/dist/three/PathRendererV.js +225 -0
- package/dist/three/PathV.d.ts +27 -0
- package/dist/three/PathV.d.ts.map +1 -0
- package/dist/three/PathV.js +81 -0
- package/dist/three/ProjectLoaderV.d.ts +18 -0
- package/dist/three/ProjectLoaderV.d.ts.map +1 -0
- package/dist/three/ProjectLoaderV.js +49 -0
- package/dist/three/RainV.d.ts +21 -0
- package/dist/three/RainV.d.ts.map +1 -0
- package/dist/three/RainV.js +201 -0
- package/dist/three/SceneBuilderV.d.ts +26 -0
- package/dist/three/SceneBuilderV.d.ts.map +1 -0
- package/dist/three/SceneBuilderV.js +263 -0
- package/dist/three/SkyControllerV.d.ts +22 -0
- package/dist/three/SkyControllerV.d.ts.map +1 -0
- package/dist/three/SkyControllerV.js +114 -0
- package/dist/three/SkySystemV.d.ts +40 -0
- package/dist/three/SkySystemV.d.ts.map +1 -0
- package/dist/three/SkySystemV.js +103 -0
- package/dist/three/SkyboxV.d.ts +29 -0
- package/dist/three/SkyboxV.d.ts.map +1 -0
- package/dist/three/SkyboxV.js +160 -0
- package/dist/three/StarsV.d.ts +24 -0
- package/dist/three/StarsV.d.ts.map +1 -0
- package/dist/three/StarsV.js +179 -0
- package/dist/three/SunLightV.d.ts +26 -0
- package/dist/three/SunLightV.d.ts.map +1 -0
- package/dist/three/SunLightV.js +90 -0
- package/dist/three/Text2DV.d.ts +25 -0
- package/dist/three/Text2DV.d.ts.map +1 -0
- package/dist/three/Text2DV.js +66 -0
- package/dist/three/Text3DV.d.ts +22 -0
- package/dist/three/Text3DV.d.ts.map +1 -0
- package/dist/three/Text3DV.js +43 -0
- package/dist/three/effects/AuraEffectV.d.ts +15 -0
- package/dist/three/effects/AuraEffectV.d.ts.map +1 -0
- package/dist/three/effects/AuraEffectV.js +150 -0
- package/dist/three/effects/AuroraEffectV.d.ts +16 -0
- package/dist/three/effects/AuroraEffectV.d.ts.map +1 -0
- package/dist/three/effects/AuroraEffectV.js +129 -0
- package/dist/three/effects/BlackHoleEffectV.d.ts +15 -0
- package/dist/three/effects/BlackHoleEffectV.d.ts.map +1 -0
- package/dist/three/effects/BlackHoleEffectV.js +219 -0
- package/dist/three/effects/ConstellationEffectV.d.ts +17 -0
- package/dist/three/effects/ConstellationEffectV.d.ts.map +1 -0
- package/dist/three/effects/ConstellationEffectV.js +207 -0
- package/dist/three/effects/DataStreamEffectV.d.ts +15 -0
- package/dist/three/effects/DataStreamEffectV.d.ts.map +1 -0
- package/dist/three/effects/DataStreamEffectV.js +151 -0
- package/dist/three/effects/DnaHelixEffectV.d.ts +24 -0
- package/dist/three/effects/DnaHelixEffectV.d.ts.map +1 -0
- package/dist/three/effects/DnaHelixEffectV.js +343 -0
- package/dist/three/effects/FireEffectV.d.ts +17 -0
- package/dist/three/effects/FireEffectV.d.ts.map +1 -0
- package/dist/three/effects/FireEffectV.js +219 -0
- package/dist/three/effects/ForcefieldEffectV.d.ts +17 -0
- package/dist/three/effects/ForcefieldEffectV.d.ts.map +1 -0
- package/dist/three/effects/ForcefieldEffectV.js +150 -0
- package/dist/three/effects/HologramEffectV.d.ts +15 -0
- package/dist/three/effects/HologramEffectV.d.ts.map +1 -0
- package/dist/three/effects/HologramEffectV.js +154 -0
- package/dist/three/effects/IceCrystalsEffectV.d.ts +21 -0
- package/dist/three/effects/IceCrystalsEffectV.d.ts.map +1 -0
- package/dist/three/effects/IceCrystalsEffectV.js +214 -0
- package/dist/three/effects/LightningEffectV.d.ts +27 -0
- package/dist/three/effects/LightningEffectV.d.ts.map +1 -0
- package/dist/three/effects/LightningEffectV.js +255 -0
- package/dist/three/effects/MoleculesEffectV.d.ts +23 -0
- package/dist/three/effects/MoleculesEffectV.d.ts.map +1 -0
- package/dist/three/effects/MoleculesEffectV.js +204 -0
- package/dist/three/effects/NeuralNetworkEffectV.d.ts +23 -0
- package/dist/three/effects/NeuralNetworkEffectV.d.ts.map +1 -0
- package/dist/three/effects/NeuralNetworkEffectV.js +211 -0
- package/dist/three/effects/OrbEffectV.d.ts +17 -0
- package/dist/three/effects/OrbEffectV.d.ts.map +1 -0
- package/dist/three/effects/OrbEffectV.js +307 -0
- package/dist/three/effects/PortalEffectV.d.ts +15 -0
- package/dist/three/effects/PortalEffectV.d.ts.map +1 -0
- package/dist/three/effects/PortalEffectV.js +213 -0
- package/dist/three/effects/ShockwaveEffectV.d.ts +19 -0
- package/dist/three/effects/ShockwaveEffectV.d.ts.map +1 -0
- package/dist/three/effects/ShockwaveEffectV.js +195 -0
- package/dist/three/effects/SmokePlumeEffectV.d.ts +15 -0
- package/dist/three/effects/SmokePlumeEffectV.d.ts.map +1 -0
- package/dist/three/effects/SmokePlumeEffectV.js +152 -0
- package/dist/three/effects/SmokeRingEffectV.d.ts +16 -0
- package/dist/three/effects/SmokeRingEffectV.d.ts.map +1 -0
- package/dist/three/effects/SmokeRingEffectV.js +174 -0
- package/dist/three/effects/VolumetricFogEffectV.d.ts +15 -0
- package/dist/three/effects/VolumetricFogEffectV.d.ts.map +1 -0
- package/dist/three/effects/VolumetricFogEffectV.js +127 -0
- package/dist/types/actions.d.ts +30 -0
- package/dist/types/actions.d.ts.map +1 -0
- package/dist/types/actions.js +5 -0
- package/dist/types/animations.d.ts +109 -0
- package/dist/types/animations.d.ts.map +1 -0
- package/dist/types/animations.js +5 -0
- package/dist/types/common.d.ts +20 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +1 -0
- package/dist/types/cursor.d.ts +142 -0
- package/dist/types/cursor.d.ts.map +1 -0
- package/dist/types/cursor.js +1 -0
- package/dist/types/effects.d.ts +100 -0
- package/dist/types/effects.d.ts.map +1 -0
- package/dist/types/effects.js +1 -0
- package/dist/types/environment.d.ts +265 -0
- package/dist/types/environment.d.ts.map +1 -0
- package/dist/types/environment.js +10 -0
- package/dist/types/gallery.d.ts +74 -0
- package/dist/types/gallery.d.ts.map +1 -0
- package/dist/types/gallery.js +1 -0
- package/dist/types/generativeEffects.d.ts +316 -0
- package/dist/types/generativeEffects.d.ts.map +1 -0
- package/dist/types/generativeEffects.js +5 -0
- package/dist/types/handlerSettings.d.ts +48 -0
- package/dist/types/handlerSettings.d.ts.map +1 -0
- package/dist/types/handlerSettings.js +1 -0
- package/dist/types/index.d.ts +24 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/lights.d.ts +79 -0
- package/dist/types/lights.d.ts.map +1 -0
- package/dist/types/lights.js +1 -0
- package/dist/types/materials.d.ts +194 -0
- package/dist/types/materials.d.ts.map +1 -0
- package/dist/types/materials.js +1 -0
- package/dist/types/mesh.d.ts +200 -0
- package/dist/types/mesh.d.ts.map +1 -0
- package/dist/types/mesh.js +1 -0
- package/dist/types/objectSettings.d.ts +144 -0
- package/dist/types/objectSettings.d.ts.map +1 -0
- package/dist/types/objectSettings.js +25 -0
- package/dist/types/objectsConfigs.d.ts +47 -0
- package/dist/types/objectsConfigs.d.ts.map +1 -0
- package/dist/types/objectsConfigs.js +1 -0
- package/dist/types/particles.d.ts +156 -0
- package/dist/types/particles.d.ts.map +1 -0
- package/dist/types/particles.js +1 -0
- package/dist/types/postprocessing.d.ts +141 -0
- package/dist/types/postprocessing.d.ts.map +1 -0
- package/dist/types/postprocessing.js +1 -0
- package/dist/types/scene3d.d.ts +501 -0
- package/dist/types/scene3d.d.ts.map +1 -0
- package/dist/types/scene3d.js +3 -0
- package/dist/types/shaderEffects.d.ts +61 -0
- package/dist/types/shaderEffects.d.ts.map +1 -0
- package/dist/types/shaderEffects.js +1 -0
- package/dist/types/text.d.ts +74 -0
- package/dist/types/text.d.ts.map +1 -0
- package/dist/types/text.js +1 -0
- package/dist/types/types.d.ts +81 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +1 -0
- package/dist/types/uiController.d.ts +42 -0
- package/dist/types/uiController.d.ts.map +1 -0
- package/dist/types/uiController.js +1 -0
- package/dist/types/users.d.ts +334 -0
- package/dist/types/users.d.ts.map +1 -0
- package/dist/types/users.js +34 -0
- package/dist/utils/GalleryCreator.d.ts +80 -0
- package/dist/utils/GalleryCreator.d.ts.map +1 -0
- package/dist/utils/GalleryCreator.js +465 -0
- package/dist/utils/GalleryLayouts.d.ts +10 -0
- package/dist/utils/GalleryLayouts.d.ts.map +1 -0
- package/dist/utils/GalleryLayouts.js +43 -0
- package/dist/utils/MaterialCompiler.d.ts +30 -0
- package/dist/utils/MaterialCompiler.d.ts.map +1 -0
- package/dist/utils/MaterialCompiler.js +91 -0
- package/dist/utils/animationsUtils.d.ts +69 -0
- package/dist/utils/animationsUtils.d.ts.map +1 -0
- package/dist/utils/animationsUtils.js +151 -0
- package/dist/utils/createdObjectHandlers.d.ts +32 -0
- package/dist/utils/createdObjectHandlers.d.ts.map +1 -0
- package/dist/utils/createdObjectHandlers.js +35 -0
- package/dist/utils/dataUtils.d.ts +36 -0
- package/dist/utils/dataUtils.d.ts.map +1 -0
- package/dist/utils/dataUtils.js +471 -0
- package/dist/utils/easingUtils.d.ts +5 -0
- package/dist/utils/easingUtils.d.ts.map +1 -0
- package/dist/utils/easingUtils.js +86 -0
- package/dist/utils/edgeUtils.d.ts +37 -0
- package/dist/utils/edgeUtils.d.ts.map +1 -0
- package/dist/utils/edgeUtils.js +128 -0
- package/dist/utils/environmentUtils.d.ts +19 -0
- package/dist/utils/environmentUtils.d.ts.map +1 -0
- package/dist/utils/environmentUtils.js +144 -0
- package/dist/utils/frameAnimations.d.ts +116 -0
- package/dist/utils/frameAnimations.d.ts.map +1 -0
- package/dist/utils/frameAnimations.js +449 -0
- package/dist/utils/galleriesUtils.d.ts +10 -0
- package/dist/utils/galleriesUtils.d.ts.map +1 -0
- package/dist/utils/galleriesUtils.js +162 -0
- package/dist/utils/getAnimatableProperties.d.ts +30 -0
- package/dist/utils/getAnimatableProperties.d.ts.map +1 -0
- package/dist/utils/getAnimatableProperties.js +170 -0
- package/dist/utils/gridUtils.d.ts +8 -0
- package/dist/utils/gridUtils.d.ts.map +1 -0
- package/dist/utils/gridUtils.js +26 -0
- package/dist/utils/handleEdgesAnimations.d.ts +20 -0
- package/dist/utils/handleEdgesAnimations.d.ts.map +1 -0
- package/dist/utils/handleEdgesAnimations.js +125 -0
- package/dist/utils/handleEdgesMouseMove.d.ts +12 -0
- package/dist/utils/handleEdgesMouseMove.d.ts.map +1 -0
- package/dist/utils/handleEdgesMouseMove.js +38 -0
- package/dist/utils/handleGenerativeEffectsAnimations.d.ts +15 -0
- package/dist/utils/handleGenerativeEffectsAnimations.d.ts.map +1 -0
- package/dist/utils/handleGenerativeEffectsAnimations.js +218 -0
- package/dist/utils/handleLightAnimations.d.ts +18 -0
- package/dist/utils/handleLightAnimations.d.ts.map +1 -0
- package/dist/utils/handleLightAnimations.js +123 -0
- package/dist/utils/handleLightMouseMove.d.ts +13 -0
- package/dist/utils/handleLightMouseMove.d.ts.map +1 -0
- package/dist/utils/handleLightMouseMove.js +51 -0
- package/dist/utils/handleMaterialEffects.d.ts +32 -0
- package/dist/utils/handleMaterialEffects.d.ts.map +1 -0
- package/dist/utils/handleMaterialEffects.js +130 -0
- package/dist/utils/handleMaterialMouseMove.d.ts +11 -0
- package/dist/utils/handleMaterialMouseMove.d.ts.map +1 -0
- package/dist/utils/handleMaterialMouseMove.js +20 -0
- package/dist/utils/handleTransformEffects.d.ts +31 -0
- package/dist/utils/handleTransformEffects.d.ts.map +1 -0
- package/dist/utils/handleTransformEffects.js +140 -0
- package/dist/utils/handleTransformMouseMove.d.ts +13 -0
- package/dist/utils/handleTransformMouseMove.d.ts.map +1 -0
- package/dist/utils/handleTransformMouseMove.js +49 -0
- package/dist/utils/idUtils.d.ts +4 -0
- package/dist/utils/idUtils.d.ts.map +1 -0
- package/dist/utils/idUtils.js +10 -0
- package/dist/utils/index.d.ts +34 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +33 -0
- package/dist/utils/loadingManager.d.ts +29 -0
- package/dist/utils/loadingManager.d.ts.map +1 -0
- package/dist/utils/loadingManager.js +103 -0
- package/dist/utils/materialApplicationUtils.d.ts +72 -0
- package/dist/utils/materialApplicationUtils.d.ts.map +1 -0
- package/dist/utils/materialApplicationUtils.js +169 -0
- package/dist/utils/materialUtils.d.ts +79 -0
- package/dist/utils/materialUtils.d.ts.map +1 -0
- package/dist/utils/materialUtils.js +267 -0
- package/dist/utils/meshUtils.d.ts +10 -0
- package/dist/utils/meshUtils.d.ts.map +1 -0
- package/dist/utils/meshUtils.js +473 -0
- package/dist/utils/mouseMoveUtils.d.ts +15 -0
- package/dist/utils/mouseMoveUtils.d.ts.map +1 -0
- package/dist/utils/mouseMoveUtils.js +52 -0
- package/dist/utils/objectTreeUtils.d.ts +39 -0
- package/dist/utils/objectTreeUtils.d.ts.map +1 -0
- package/dist/utils/objectTreeUtils.js +115 -0
- package/dist/utils/optionalProperties.d.ts +36 -0
- package/dist/utils/optionalProperties.d.ts.map +1 -0
- package/dist/utils/optionalProperties.js +487 -0
- package/dist/utils/particleAnimations.d.ts +3 -0
- package/dist/utils/particleAnimations.d.ts.map +1 -0
- package/dist/utils/particleAnimations.js +17 -0
- package/dist/utils/pathUtils.d.ts +19 -0
- package/dist/utils/pathUtils.d.ts.map +1 -0
- package/dist/utils/pathUtils.js +73 -0
- package/dist/utils/positionsCreatorUtils.d.ts +97 -0
- package/dist/utils/positionsCreatorUtils.d.ts.map +1 -0
- package/dist/utils/positionsCreatorUtils.js +644 -0
- package/dist/utils/sceneQuery.d.ts +9 -0
- package/dist/utils/sceneQuery.d.ts.map +1 -0
- package/dist/utils/sceneQuery.js +22 -0
- package/dist/utils/shootingStarHelpers.d.ts +13 -0
- package/dist/utils/shootingStarHelpers.d.ts.map +1 -0
- package/dist/utils/shootingStarHelpers.js +44 -0
- package/dist/utils/sunUtils.d.ts +6 -0
- package/dist/utils/sunUtils.d.ts.map +1 -0
- package/dist/utils/sunUtils.js +9 -0
- package/dist/utils/utils.d.ts +21 -0
- package/dist/utils/utils.d.ts.map +1 -0
- package/dist/utils/utils.js +158 -0
- package/package.json +43 -0
|
@@ -0,0 +1,551 @@
|
|
|
1
|
+
import { Vector2, Vector3 } from "three";
|
|
2
|
+
import { extend } from "@react-three/fiber";
|
|
3
|
+
import { shaderMaterial } from "@react-three/drei";
|
|
4
|
+
const teslaArcVertex = /*glsl*/ `
|
|
5
|
+
varying vec2 vUv;
|
|
6
|
+
varying vec3 vPosition;
|
|
7
|
+
varying vec3 vWorldPos;
|
|
8
|
+
void main() {
|
|
9
|
+
vUv = uv;
|
|
10
|
+
vPosition = position;
|
|
11
|
+
vWorldPos = (modelMatrix * vec4(position, 1.0)).xyz;
|
|
12
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
const teslaArcFragment = /*glsl*/ `
|
|
16
|
+
uniform float u_time;
|
|
17
|
+
uniform vec2 u_resolution;
|
|
18
|
+
uniform vec3 u_arcColor;
|
|
19
|
+
uniform vec3 u_glowColor;
|
|
20
|
+
uniform float u_speed;
|
|
21
|
+
uniform float u_intensity;
|
|
22
|
+
uniform float u_forkDensity;
|
|
23
|
+
varying vec2 vUv;
|
|
24
|
+
varying vec3 vPosition;
|
|
25
|
+
varying vec3 vWorldPos;
|
|
26
|
+
|
|
27
|
+
// Hash for randomness
|
|
28
|
+
float hash(float n) { return fract(sin(n) * 43758.5453123); }
|
|
29
|
+
float hash2(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); }
|
|
30
|
+
|
|
31
|
+
// 1D value noise
|
|
32
|
+
float vnoise(float x) {
|
|
33
|
+
float i = floor(x);
|
|
34
|
+
float f = fract(x);
|
|
35
|
+
f = f * f * (3.0 - 2.0 * f);
|
|
36
|
+
return mix(hash(i), hash(i + 1.0), f);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Fractal noise — the core of the lightning texture
|
|
40
|
+
float fbm(float x, int octaves) {
|
|
41
|
+
float v = 0.0;
|
|
42
|
+
float amp = 0.5;
|
|
43
|
+
float freq = 1.0;
|
|
44
|
+
for (int i = 0; i < 8; i++) {
|
|
45
|
+
if (i >= octaves) break;
|
|
46
|
+
v += amp * vnoise(x * freq);
|
|
47
|
+
amp *= 0.5;
|
|
48
|
+
freq *= 2.17;
|
|
49
|
+
}
|
|
50
|
+
return v;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
void main() {
|
|
54
|
+
float t = u_time * u_speed;
|
|
55
|
+
float along = vUv.x; // 0→1 along the segment
|
|
56
|
+
float across = vUv.y - 0.5; // -0.5→0.5 perpendicular
|
|
57
|
+
|
|
58
|
+
// Primary arc displacement — wiggles the bolt left/right
|
|
59
|
+
float phase = along * 8.0 - t * 3.0;
|
|
60
|
+
float arc = fbm(phase, 6) - 0.5;
|
|
61
|
+
arc += fbm(phase * 2.3 + 17.4, 4) * 0.3;
|
|
62
|
+
|
|
63
|
+
// Fast flicker — mimics real discharge instability
|
|
64
|
+
float flicker = hash(floor(t * 12.0) + floor(along * u_forkDensity));
|
|
65
|
+
arc *= 0.9 + flicker * 0.2;
|
|
66
|
+
|
|
67
|
+
// Distance from the displaced centerline
|
|
68
|
+
float dist = abs(across - arc * 0.3);
|
|
69
|
+
|
|
70
|
+
// Core bolt: very thin, very bright
|
|
71
|
+
float core = exp(-dist * 80.0) * u_intensity;
|
|
72
|
+
|
|
73
|
+
// Inner glow: slightly wider
|
|
74
|
+
float innerGlow = exp(-dist * 25.0) * u_intensity * 0.6;
|
|
75
|
+
|
|
76
|
+
// Outer plasma halo
|
|
77
|
+
float halo = exp(-dist * 8.0) * u_intensity * 0.25;
|
|
78
|
+
|
|
79
|
+
// Micro-forks — secondary branches that shoot off at intervals
|
|
80
|
+
float forkT = floor(along * u_forkDensity * 2.0);
|
|
81
|
+
float forkPhase = hash2(vec2(forkT, floor(t * 8.0)));
|
|
82
|
+
float forkAlong = fract(along * u_forkDensity * 2.0);
|
|
83
|
+
float forkDisplace = (forkPhase - 0.5) * 0.4;
|
|
84
|
+
float forkDist = abs(across - forkDisplace * forkAlong);
|
|
85
|
+
float fork = exp(-forkDist * 60.0) * (1.0 - forkAlong) * step(0.3, forkPhase) * u_intensity * 0.7;
|
|
86
|
+
|
|
87
|
+
// Combine: core white-hot center, color glow, halo
|
|
88
|
+
vec3 col = vec3(0.0);
|
|
89
|
+
col += u_arcColor * (innerGlow + fork);
|
|
90
|
+
col += u_glowColor * halo;
|
|
91
|
+
col += vec3(1.0) * core; // White-hot core overrides color
|
|
92
|
+
|
|
93
|
+
// Pulse the whole thing with a rapid flicker
|
|
94
|
+
float pulse = 0.7 + 0.3 * sin(t * 30.0 + along * 20.0);
|
|
95
|
+
col *= pulse;
|
|
96
|
+
|
|
97
|
+
// Alpha: glow radius for additive blending
|
|
98
|
+
float alpha = clamp(innerGlow + halo + core * 0.5 + fork * 0.3, 0.0, 1.0);
|
|
99
|
+
|
|
100
|
+
gl_FragColor = vec4(col, alpha);
|
|
101
|
+
}
|
|
102
|
+
`;
|
|
103
|
+
export const TeslaArcMaterial = shaderMaterial({
|
|
104
|
+
u_time: 0,
|
|
105
|
+
u_resolution: new Vector2(),
|
|
106
|
+
u_arcColor: new Vector3(0.4, 0.8, 1.0), // Electric cyan
|
|
107
|
+
u_glowColor: new Vector3(0.1, 0.3, 0.9), // Deep blue plasma
|
|
108
|
+
u_speed: 1.0,
|
|
109
|
+
u_intensity: 1.5,
|
|
110
|
+
u_forkDensity: 6.0,
|
|
111
|
+
}, teslaArcVertex, teslaArcFragment);
|
|
112
|
+
extend({ TeslaArcMaterial });
|
|
113
|
+
const serpentFlowVertex = /*glsl*/ `
|
|
114
|
+
varying vec2 vUv;
|
|
115
|
+
varying vec3 vPosition;
|
|
116
|
+
void main() {
|
|
117
|
+
vUv = uv;
|
|
118
|
+
vPosition = position;
|
|
119
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
120
|
+
}
|
|
121
|
+
`;
|
|
122
|
+
const serpentFlowFragment = /*glsl*/ `
|
|
123
|
+
uniform float u_time;
|
|
124
|
+
uniform vec3 u_colorA;
|
|
125
|
+
uniform vec3 u_colorB;
|
|
126
|
+
uniform vec3 u_colorC;
|
|
127
|
+
uniform float u_speed;
|
|
128
|
+
uniform float u_width;
|
|
129
|
+
uniform float u_shimmer;
|
|
130
|
+
varying vec2 vUv;
|
|
131
|
+
varying vec3 vPosition;
|
|
132
|
+
|
|
133
|
+
// Smooth periodic noise
|
|
134
|
+
float sn(float x) {
|
|
135
|
+
return sin(x) * 0.5 + 0.5;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// 2D smooth noise
|
|
139
|
+
float smoothNoise(vec2 p) {
|
|
140
|
+
vec2 i = floor(p);
|
|
141
|
+
vec2 f = fract(p);
|
|
142
|
+
f = f * f * (3.0 - 2.0 * f);
|
|
143
|
+
float a = fract(sin(dot(i, vec2(127.1, 311.7))) * 43758.5);
|
|
144
|
+
float b = fract(sin(dot(i + vec2(1,0), vec2(127.1, 311.7))) * 43758.5);
|
|
145
|
+
float c = fract(sin(dot(i + vec2(0,1), vec2(127.1, 311.7))) * 43758.5);
|
|
146
|
+
float d = fract(sin(dot(i + vec2(1,1), vec2(127.1, 311.7))) * 43758.5);
|
|
147
|
+
return mix(mix(a, b, f.x), mix(c, d, f.x), f.y);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
void main() {
|
|
151
|
+
float t = u_time * u_speed;
|
|
152
|
+
float along = vUv.x;
|
|
153
|
+
float across = vUv.y - 0.5;
|
|
154
|
+
|
|
155
|
+
// Undulating centerline — the "serpent" body
|
|
156
|
+
float wave1 = sin(along * 6.28 * 2.0 - t * 2.5) * 0.15;
|
|
157
|
+
float wave2 = sin(along * 6.28 * 3.7 + t * 1.3) * 0.08;
|
|
158
|
+
float wave3 = sin(along * 6.28 * 0.8 - t * 0.7) * 0.12;
|
|
159
|
+
float center = wave1 + wave2 + wave3;
|
|
160
|
+
|
|
161
|
+
float dist = abs(across - center);
|
|
162
|
+
|
|
163
|
+
// Beam falloff — soft ribbon
|
|
164
|
+
float beam = smoothstep(u_width, 0.0, dist);
|
|
165
|
+
float innerBeam = smoothstep(u_width * 0.4, 0.0, dist);
|
|
166
|
+
|
|
167
|
+
// Iridescent color shift along the segment + time
|
|
168
|
+
float hueShift = along * 3.0 - t * 1.5;
|
|
169
|
+
float colorMix1 = sn(hueShift);
|
|
170
|
+
float colorMix2 = sn(hueShift + 2.094); // 120 degrees out of phase
|
|
171
|
+
float colorMix3 = sn(hueShift + 4.189); // 240 degrees out of phase
|
|
172
|
+
|
|
173
|
+
// Normalize to sum to 1
|
|
174
|
+
float total = colorMix1 + colorMix2 + colorMix3;
|
|
175
|
+
vec3 iridescent = (u_colorA * colorMix1 + u_colorB * colorMix2 + u_colorC * colorMix3) / total;
|
|
176
|
+
|
|
177
|
+
// Shimmer — fast noise riding on the beam
|
|
178
|
+
float shimNoise = smoothNoise(vec2(along * 12.0 - t * 4.0, across * 8.0));
|
|
179
|
+
float shimmer = (shimNoise * 0.5 + 0.5) * u_shimmer;
|
|
180
|
+
|
|
181
|
+
// Bright caustic highlights
|
|
182
|
+
float caustic = pow(max(0.0, 1.0 - dist / (u_width * 0.2)), 3.0);
|
|
183
|
+
caustic *= sn(along * 20.0 - t * 6.0) * sn(along * 13.3 + t * 2.1);
|
|
184
|
+
|
|
185
|
+
vec3 col = iridescent * beam;
|
|
186
|
+
col += iridescent * shimmer * innerBeam;
|
|
187
|
+
col += vec3(1.0) * caustic * 0.8;
|
|
188
|
+
|
|
189
|
+
float alpha = beam + caustic * 0.5;
|
|
190
|
+
|
|
191
|
+
gl_FragColor = vec4(col, clamp(alpha, 0.0, 1.0));
|
|
192
|
+
}
|
|
193
|
+
`;
|
|
194
|
+
export const SerpentFlowMaterial = shaderMaterial({
|
|
195
|
+
u_time: 0,
|
|
196
|
+
u_colorA: new Vector3(1.0, 0.2, 0.8), // Magenta
|
|
197
|
+
u_colorB: new Vector3(0.1, 0.9, 1.0), // Cyan
|
|
198
|
+
u_colorC: new Vector3(0.8, 1.0, 0.2), // Chartreuse
|
|
199
|
+
u_speed: 0.6,
|
|
200
|
+
u_width: 0.35,
|
|
201
|
+
u_shimmer: 0.7,
|
|
202
|
+
}, serpentFlowVertex, serpentFlowFragment);
|
|
203
|
+
extend({ SerpentFlowMaterial });
|
|
204
|
+
const ghostSignalVertex = /*glsl*/ `
|
|
205
|
+
varying vec2 vUv;
|
|
206
|
+
varying vec3 vPosition;
|
|
207
|
+
void main() {
|
|
208
|
+
vUv = uv;
|
|
209
|
+
vPosition = position;
|
|
210
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
211
|
+
}
|
|
212
|
+
`;
|
|
213
|
+
const ghostSignalFragment = /*glsl*/ `
|
|
214
|
+
uniform float u_time;
|
|
215
|
+
uniform vec2 u_resolution;
|
|
216
|
+
uniform vec3 u_signalColor;
|
|
217
|
+
uniform vec3 u_trailColor;
|
|
218
|
+
uniform float u_speed;
|
|
219
|
+
uniform float u_packetCount;
|
|
220
|
+
uniform float u_trailLength;
|
|
221
|
+
uniform float u_glitchIntensity;
|
|
222
|
+
varying vec2 vUv;
|
|
223
|
+
|
|
224
|
+
float hash(float n) { return fract(sin(n) * 43758.5453); }
|
|
225
|
+
|
|
226
|
+
void main() {
|
|
227
|
+
float along = vUv.x;
|
|
228
|
+
float across = vUv.y - 0.5;
|
|
229
|
+
|
|
230
|
+
float totalLight = 0.0;
|
|
231
|
+
vec3 col = vec3(0.0);
|
|
232
|
+
|
|
233
|
+
// Multiple packets racing along the line
|
|
234
|
+
for (float i = 0.0; i < 8.0; i++) {
|
|
235
|
+
if (i >= u_packetCount) break;
|
|
236
|
+
|
|
237
|
+
// Each packet has a unique phase offset and speed variation
|
|
238
|
+
float offset = hash(i * 7.3 + 0.5);
|
|
239
|
+
float speedVar = 0.8 + hash(i * 13.7) * 0.4;
|
|
240
|
+
float pos = fract(offset + u_time * u_speed * speedVar);
|
|
241
|
+
|
|
242
|
+
// Distance of this fragment from the packet head
|
|
243
|
+
float d = along - pos;
|
|
244
|
+
|
|
245
|
+
// Trail: exponential decay behind the packet
|
|
246
|
+
float trail = 0.0;
|
|
247
|
+
if (d < 0.0 && d > -u_trailLength) {
|
|
248
|
+
trail = exp(d / (u_trailLength * 0.3));
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// Head: sharp bright front
|
|
252
|
+
float head = exp(-abs(d) * 120.0) * 3.0;
|
|
253
|
+
|
|
254
|
+
// Perpendicular falloff
|
|
255
|
+
float perp = exp(-abs(across) * 40.0);
|
|
256
|
+
|
|
257
|
+
// Accumulate contribution
|
|
258
|
+
col += u_trailColor * trail * perp;
|
|
259
|
+
col += u_signalColor * head * perp;
|
|
260
|
+
totalLight += (trail + head) * perp;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// Scan-line / glitch interference pattern
|
|
264
|
+
float scanLine = step(0.97, fract(vUv.y * 20.0 + u_time * 0.3));
|
|
265
|
+
float glitchTime = floor(u_time * 8.0);
|
|
266
|
+
float glitchStrip = step(0.92, hash(floor(vUv.x * 15.0) + glitchTime));
|
|
267
|
+
float glitch = scanLine * glitchStrip * u_glitchIntensity;
|
|
268
|
+
|
|
269
|
+
// Noise flicker on glitch bands
|
|
270
|
+
float noiseFlicker = hash(vUv.x * 100.0 + u_time * 50.0);
|
|
271
|
+
col += u_signalColor * glitch * noiseFlicker;
|
|
272
|
+
|
|
273
|
+
// Base wire glow — very subtle so the line is always slightly visible
|
|
274
|
+
float wireGlow = exp(-abs(across) * 25.0) * 0.04;
|
|
275
|
+
col += u_trailColor * wireGlow;
|
|
276
|
+
|
|
277
|
+
float alpha = clamp(totalLight + glitch * 0.5 + wireGlow, 0.0, 1.0);
|
|
278
|
+
|
|
279
|
+
gl_FragColor = vec4(col, alpha);
|
|
280
|
+
}
|
|
281
|
+
`;
|
|
282
|
+
export const GhostSignalMaterial = shaderMaterial({
|
|
283
|
+
u_time: 0,
|
|
284
|
+
u_resolution: new Vector2(),
|
|
285
|
+
u_signalColor: new Vector3(0.2, 1.0, 0.5), // Phosphor green
|
|
286
|
+
u_trailColor: new Vector3(0.05, 0.4, 0.15), // Dim green
|
|
287
|
+
u_speed: 0.4,
|
|
288
|
+
u_packetCount: 3.0,
|
|
289
|
+
u_trailLength: 0.25,
|
|
290
|
+
u_glitchIntensity: 0.6,
|
|
291
|
+
}, ghostSignalVertex, ghostSignalFragment);
|
|
292
|
+
extend({ GhostSignalMaterial });
|
|
293
|
+
const solarFilamentVertex = /*glsl*/ `
|
|
294
|
+
varying vec2 vUv;
|
|
295
|
+
varying vec3 vPosition;
|
|
296
|
+
void main() {
|
|
297
|
+
vUv = uv;
|
|
298
|
+
vPosition = position;
|
|
299
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
300
|
+
}
|
|
301
|
+
`;
|
|
302
|
+
const solarFilamentFragment = /*glsl*/ `
|
|
303
|
+
uniform float u_time;
|
|
304
|
+
uniform vec3 u_coreColor;
|
|
305
|
+
uniform vec3 u_midColor;
|
|
306
|
+
uniform vec3 u_coolColor;
|
|
307
|
+
uniform vec3 u_flareColor;
|
|
308
|
+
uniform float u_speed;
|
|
309
|
+
uniform float u_turbulence;
|
|
310
|
+
varying vec2 vUv;
|
|
311
|
+
varying vec3 vPosition;
|
|
312
|
+
|
|
313
|
+
float hash(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5); }
|
|
314
|
+
|
|
315
|
+
float smoothNoise(vec2 p) {
|
|
316
|
+
vec2 i = floor(p); vec2 f = fract(p);
|
|
317
|
+
f = f*f*(3.0-2.0*f);
|
|
318
|
+
float a = hash(i), b = hash(i+vec2(1,0));
|
|
319
|
+
float c = hash(i+vec2(0,1)), d = hash(i+vec2(1,1));
|
|
320
|
+
return mix(mix(a,b,f.x), mix(c,d,f.x), f.y);
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
float fbm(vec2 p) {
|
|
324
|
+
float v = 0.0; float amp = 0.5; float freq = 1.0;
|
|
325
|
+
for (int i = 0; i < 6; i++) {
|
|
326
|
+
v += amp * smoothNoise(p * freq);
|
|
327
|
+
amp *= 0.5; freq *= 2.1;
|
|
328
|
+
}
|
|
329
|
+
return v;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
void main() {
|
|
333
|
+
float t = u_time * u_speed;
|
|
334
|
+
float along = vUv.x;
|
|
335
|
+
float across = vUv.y - 0.5;
|
|
336
|
+
|
|
337
|
+
// Convective turbulence — large scale rolls
|
|
338
|
+
vec2 turbUV = vec2(along * 3.0 - t * 0.8, across * 2.0 + t * 0.3);
|
|
339
|
+
float turb = fbm(turbUV) * u_turbulence;
|
|
340
|
+
|
|
341
|
+
// Secondary smaller eddies
|
|
342
|
+
float eddy = fbm(turbUV * 3.0 + vec2(t * 0.5, -t * 0.2)) * u_turbulence * 0.4;
|
|
343
|
+
|
|
344
|
+
float displacement = (turb + eddy - 0.5) * 0.2;
|
|
345
|
+
float dist = abs(across - displacement);
|
|
346
|
+
|
|
347
|
+
// Temperature gradient from center outward — maps to color
|
|
348
|
+
float tempGrad = 1.0 - smoothstep(0.0, 0.3, dist);
|
|
349
|
+
float coreGrad = 1.0 - smoothstep(0.0, 0.08, dist);
|
|
350
|
+
float midGrad = 1.0 - smoothstep(0.05, 0.2, dist);
|
|
351
|
+
float coolGrad = 1.0 - smoothstep(0.1, 0.35, dist);
|
|
352
|
+
|
|
353
|
+
// Spicules — thin jets shooting off the surface
|
|
354
|
+
float spiculePhase = floor(along * 20.0 + t * 2.0);
|
|
355
|
+
float spiculeSeed = hash(vec2(spiculePhase, 0.0));
|
|
356
|
+
float spiculeActive = step(0.6, spiculeSeed);
|
|
357
|
+
float spiculeX = fract(along * 20.0 + t * 2.0);
|
|
358
|
+
float spiculeY = across - 0.2; // Shoot outward
|
|
359
|
+
float spicule = exp(-abs(spiculeX - 0.5) * 30.0) * exp(-abs(spiculeY) * 15.0)
|
|
360
|
+
* spiculeActive * (1.0 - spiculeX);
|
|
361
|
+
|
|
362
|
+
// Flare — occasional intense brightening at a random spot
|
|
363
|
+
float flareTime = floor(t * 0.3);
|
|
364
|
+
float flareSeed = hash(vec2(flareTime, 1.0));
|
|
365
|
+
float flarePos = flareSeed;
|
|
366
|
+
float flareIntensity = smoothstep(0.95, 1.0, fract(t * 0.3)) * 8.0; // sharp burst
|
|
367
|
+
float flare = exp(-abs(along - flarePos) * 15.0) * exp(-dist * 10.0) * flareIntensity;
|
|
368
|
+
|
|
369
|
+
// Assemble color by temperature zone
|
|
370
|
+
vec3 col = u_coolColor * coolGrad;
|
|
371
|
+
col = mix(col, u_midColor, midGrad);
|
|
372
|
+
col = mix(col, u_coreColor, coreGrad);
|
|
373
|
+
col += u_flareColor * flare;
|
|
374
|
+
col += u_coreColor * spicule * 0.6;
|
|
375
|
+
|
|
376
|
+
// Brightness pulsing — magnetic reconnection events
|
|
377
|
+
float pulse = 0.85 + 0.15 * sin(t * 2.3 + along * 4.0) * sin(t * 1.7);
|
|
378
|
+
col *= pulse;
|
|
379
|
+
|
|
380
|
+
float alpha = clamp(coolGrad * 0.8 + flare * 0.5 + spicule * 0.4, 0.0, 1.0);
|
|
381
|
+
|
|
382
|
+
gl_FragColor = vec4(col, alpha);
|
|
383
|
+
}
|
|
384
|
+
`;
|
|
385
|
+
export const SolarFilamentMaterial = shaderMaterial({
|
|
386
|
+
u_time: 0,
|
|
387
|
+
u_coreColor: new Vector3(1.0, 0.98, 0.7), // White-hot
|
|
388
|
+
u_midColor: new Vector3(1.0, 0.55, 0.05), // Solar orange
|
|
389
|
+
u_coolColor: new Vector3(0.7, 0.08, 0.02), // Deep plasma red
|
|
390
|
+
u_flareColor: new Vector3(1.0, 0.9, 0.3), // Bright yellow flare
|
|
391
|
+
u_speed: 0.5,
|
|
392
|
+
u_turbulence: 1.2,
|
|
393
|
+
}, solarFilamentVertex, solarFilamentFragment);
|
|
394
|
+
extend({ SolarFilamentMaterial });
|
|
395
|
+
const voidRiftVertex = /*glsl*/ `
|
|
396
|
+
varying vec2 vUv;
|
|
397
|
+
varying vec3 vPosition;
|
|
398
|
+
void main() {
|
|
399
|
+
vUv = uv;
|
|
400
|
+
vPosition = position;
|
|
401
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
402
|
+
}
|
|
403
|
+
`;
|
|
404
|
+
const voidRiftFragment = /*glsl*/ `
|
|
405
|
+
uniform float u_time;
|
|
406
|
+
uniform vec2 u_resolution;
|
|
407
|
+
uniform vec3 u_riftColor;
|
|
408
|
+
uniform vec3 u_radiationColor;
|
|
409
|
+
uniform vec3 u_lensColor;
|
|
410
|
+
uniform float u_speed;
|
|
411
|
+
uniform float u_riftWidth;
|
|
412
|
+
uniform float u_radiationDensity;
|
|
413
|
+
varying vec2 vUv;
|
|
414
|
+
|
|
415
|
+
float hash(float n) { return fract(sin(n) * 43758.5453); }
|
|
416
|
+
float hash2d(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5); }
|
|
417
|
+
|
|
418
|
+
float smoothNoise(vec2 p) {
|
|
419
|
+
vec2 i = floor(p); vec2 f = fract(p); f = f*f*(3.0-2.0*f);
|
|
420
|
+
float a = hash2d(i), b = hash2d(i+vec2(1,0));
|
|
421
|
+
float c = hash2d(i+vec2(0,1)), d = hash2d(i+vec2(1,1));
|
|
422
|
+
return mix(mix(a,b,f.x), mix(c,d,f.x), f.y);
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
// Domain-warped fbm for the rift edge
|
|
426
|
+
float riftNoise(vec2 p, float t) {
|
|
427
|
+
vec2 q = vec2(smoothNoise(p + vec2(t*0.3, t*0.2)),
|
|
428
|
+
smoothNoise(p + vec2(t*0.2, -t*0.4)));
|
|
429
|
+
vec2 r = vec2(smoothNoise(p + 4.0*q + vec2(1.7, 9.2)),
|
|
430
|
+
smoothNoise(p + 4.0*q + vec2(8.3, 2.8)));
|
|
431
|
+
return smoothNoise(p + 4.0*r);
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
void main() {
|
|
435
|
+
float t = u_time * u_speed;
|
|
436
|
+
float along = vUv.x;
|
|
437
|
+
float across = vUv.y - 0.5;
|
|
438
|
+
|
|
439
|
+
// Rift edge — domain-warped so it breathes and writhes
|
|
440
|
+
vec2 riftUV = vec2(along * 4.0 - t * 0.5, across * 2.0);
|
|
441
|
+
float riftWarp = riftNoise(riftUV, t) - 0.5;
|
|
442
|
+
float riftEdge = abs(across - riftWarp * 0.1);
|
|
443
|
+
|
|
444
|
+
// The void interior
|
|
445
|
+
float insideRift = 1.0 - smoothstep(0.0, u_riftWidth, riftEdge);
|
|
446
|
+
|
|
447
|
+
// Edge shimmer — lensing distortion halo
|
|
448
|
+
float lensing = exp(-riftEdge * 12.0) * (1.0 - insideRift * 0.7);
|
|
449
|
+
lensing *= 0.5 + 0.5 * sin(along * 30.0 - t * 5.0 + riftWarp * 10.0);
|
|
450
|
+
|
|
451
|
+
// Hawking radiation — sparse bright sparks ejected from the event horizon
|
|
452
|
+
vec3 radCol = vec3(0.0);
|
|
453
|
+
for (float i = 0.0; i < 12.0; i++) {
|
|
454
|
+
if (i >= u_radiationDensity) break;
|
|
455
|
+
float seed = hash(i * 3.7 + floor(t * 2.0));
|
|
456
|
+
float pos = seed; // Position along segment
|
|
457
|
+
float birth = fract(hash(i * 5.3 + floor(t * 4.0)) + t * 0.8);
|
|
458
|
+
float life = 1.0 - birth; // 0=just born, 1=dying
|
|
459
|
+
|
|
460
|
+
// Spark drifts perpendicular to the rift as it ages
|
|
461
|
+
float drift = (hash(i * 9.1) - 0.5) * life * 0.4;
|
|
462
|
+
float sparkDist = length(vec2((along - pos) * 6.0, (across - drift) * 8.0));
|
|
463
|
+
float spark = exp(-sparkDist * sparkDist * 20.0) * life * (1.0 - life) * 4.0;
|
|
464
|
+
|
|
465
|
+
// Sparks glow warmer near the rift, cool and fade as they escape
|
|
466
|
+
vec3 sparkColor = mix(u_radiationColor, vec3(1.0, 0.6, 0.2), life * 0.6);
|
|
467
|
+
radCol += sparkColor * spark;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
// Dimensional bleed — strands of an alternate reality bleeding through
|
|
471
|
+
float bleedPhase = along * 15.0 + t * 1.5;
|
|
472
|
+
float bleed = 0.0;
|
|
473
|
+
bleed += sin(bleedPhase) * sin(bleedPhase * 1.618) * 0.5 + 0.5;
|
|
474
|
+
bleed *= insideRift * 0.3;
|
|
475
|
+
bleed *= smoothNoise(vec2(along * 8.0, t * 0.7));
|
|
476
|
+
|
|
477
|
+
// Dark matter texture inside the rift — not nothing, but OTHER
|
|
478
|
+
float darkMatter = smoothNoise(vec2(along * 20.0 - t, across * 10.0)) * insideRift;
|
|
479
|
+
float antimatter = smoothNoise(vec2(along * 35.0 + t * 1.3, across * 20.0 - t * 0.5)) * insideRift;
|
|
480
|
+
|
|
481
|
+
// Assemble
|
|
482
|
+
vec3 col = vec3(0.0);
|
|
483
|
+
|
|
484
|
+
// The void: darker than dark, but with subtle structure
|
|
485
|
+
col += u_riftColor * insideRift * (0.3 + darkMatter * 0.3 + antimatter * 0.15);
|
|
486
|
+
|
|
487
|
+
// Lensing halo
|
|
488
|
+
col += u_lensColor * lensing * 0.8;
|
|
489
|
+
|
|
490
|
+
// Dimensional bleed
|
|
491
|
+
col += vec3(0.6, 0.1, 0.9) * bleed;
|
|
492
|
+
|
|
493
|
+
// Hawking radiation sparks
|
|
494
|
+
col += radCol;
|
|
495
|
+
|
|
496
|
+
// Edge singularity line — ultra-bright thin line at the rift boundary
|
|
497
|
+
float singularity = exp(-riftEdge * 60.0) * 2.0;
|
|
498
|
+
singularity *= 0.7 + 0.3 * sin(along * 50.0 - t * 8.0);
|
|
499
|
+
col += mix(u_lensColor, vec3(1.0), 0.5) * singularity;
|
|
500
|
+
|
|
501
|
+
float alpha = clamp(insideRift * 0.7 + lensing * 0.6 + singularity * 0.8 + (radCol.r + radCol.g + radCol.b) * 0.4, 0.0, 1.0);
|
|
502
|
+
|
|
503
|
+
gl_FragColor = vec4(col, alpha);
|
|
504
|
+
}
|
|
505
|
+
`;
|
|
506
|
+
export const VoidRiftMaterial = shaderMaterial({
|
|
507
|
+
u_time: 0,
|
|
508
|
+
u_resolution: new Vector2(),
|
|
509
|
+
u_riftColor: new Vector3(0.02, 0.0, 0.06), // Near-void purple-black
|
|
510
|
+
u_radiationColor: new Vector3(0.9, 0.95, 1.0), // Cool white radiation
|
|
511
|
+
u_lensColor: new Vector3(0.5, 0.2, 1.0), // Violet gravitational lens
|
|
512
|
+
u_speed: 0.4,
|
|
513
|
+
u_riftWidth: 0.12,
|
|
514
|
+
u_radiationDensity: 8.0,
|
|
515
|
+
}, voidRiftVertex, voidRiftFragment);
|
|
516
|
+
extend({ VoidRiftMaterial });
|
|
517
|
+
// ============================================================
|
|
518
|
+
// USAGE GUIDE
|
|
519
|
+
// ============================================================
|
|
520
|
+
//
|
|
521
|
+
// 1. Import desired material and its interface from this file.
|
|
522
|
+
//
|
|
523
|
+
// 2. In your component:
|
|
524
|
+
// import { TeslaArcMaterial } from './LineShaderMaterials.js';
|
|
525
|
+
//
|
|
526
|
+
// 3. In your geometry setup — LineSegments require UV coordinates!
|
|
527
|
+
// const geo = new THREE.BufferGeometry();
|
|
528
|
+
// // ... add positions
|
|
529
|
+
// // Add UVs: x=0 at segment start, x=1 at end; y=0 at bottom, y=1 at top
|
|
530
|
+
// geo.setAttribute('uv', new THREE.Float32BufferAttribute(uvs, 2));
|
|
531
|
+
//
|
|
532
|
+
// 4. In JSX:
|
|
533
|
+
// <lineSegments geometry={geo}>
|
|
534
|
+
// <teslaArcMaterial
|
|
535
|
+
// u_time={clock.getElapsedTime()}
|
|
536
|
+
// u_arcColor={new Vector3(0.4, 0.8, 1.0)}
|
|
537
|
+
// transparent
|
|
538
|
+
// depthWrite={false}
|
|
539
|
+
// blending={THREE.AdditiveBlending}
|
|
540
|
+
// />
|
|
541
|
+
// </lineSegments>
|
|
542
|
+
//
|
|
543
|
+
// 5. Animate in useFrame:
|
|
544
|
+
// useFrame(({ clock }) => {
|
|
545
|
+
// mat.current.u_time = clock.getElapsedTime();
|
|
546
|
+
// });
|
|
547
|
+
//
|
|
548
|
+
// NOTE: For additive glow effects, set:
|
|
549
|
+
// blending={THREE.AdditiveBlending}
|
|
550
|
+
// transparent={true}
|
|
551
|
+
// depthWrite={false}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export type EffectType = "plasma" | "electric" | "particles" | "rainbow" | "lava" | "frost";
|
|
2
|
+
export interface ParticleEffectsProps {
|
|
3
|
+
/**
|
|
4
|
+
* One or more effects rendered simultaneously.
|
|
5
|
+
* Each active effect spawns its own independent particle layer.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* <ParticleEffects effectTypes={["plasma"]} />
|
|
9
|
+
* <ParticleEffects effectTypes={["electric", "lava"]} count={3000} />
|
|
10
|
+
*/
|
|
11
|
+
effectTypes: EffectType[];
|
|
12
|
+
/**
|
|
13
|
+
* Total number of particles per effect layer.
|
|
14
|
+
* Default: 2000
|
|
15
|
+
*/
|
|
16
|
+
count?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Bounding radius — particles spawn and roam within a sphere of this size.
|
|
19
|
+
* Default: 2.5
|
|
20
|
+
*/
|
|
21
|
+
radius?: number;
|
|
22
|
+
/** Animation speed multiplier — 0.2 – 3.0, default 1 */
|
|
23
|
+
speed?: number;
|
|
24
|
+
/** Brightness / alpha multiplier — 0.2 – 2.0, default 1 */
|
|
25
|
+
intensity?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Base particle size in world units.
|
|
28
|
+
* Default: 0.06
|
|
29
|
+
*/
|
|
30
|
+
particleSize?: number;
|
|
31
|
+
/**
|
|
32
|
+
* When true particles orbit around the origin.
|
|
33
|
+
* When false they drift freely and respawn.
|
|
34
|
+
* Default: false
|
|
35
|
+
*/
|
|
36
|
+
orbit?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export default function ParticleEffects({ effectTypes, count, radius, speed, intensity, particleSize, orbit, }: ParticleEffectsProps): import("react").JSX.Element;
|
|
39
|
+
//# sourceMappingURL=ParticleEffects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParticleEffects.d.ts","sourceRoot":"","sources":["../../../src/shaders/lineShaders/ParticleEffects.tsx"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5F,MAAM,WAAW,oBAAoB;IACjC;;;;;;;OAOG;IACH,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AA0YD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,WAAW,EAAE,KAAY,EAAE,MAAY,EAAE,KAAS,EAAE,SAAa,EAAE,YAAmB,EAAE,KAAa,GAAG,EAAE,oBAAoB,+BAsDvK"}
|