@ntalmagor/3drize-viewer 0.1.2
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/components/AnimatedObject.d.ts +22 -0
- package/dist/components/AnimatedObject.d.ts.map +1 -0
- package/dist/components/AnimatedObject.js +121 -0
- package/dist/components/CameraController.d.ts +16 -0
- package/dist/components/CameraController.d.ts.map +1 -0
- package/dist/components/CameraController.js +132 -0
- package/dist/components/Clouds.d.ts +14 -0
- package/dist/components/Clouds.d.ts.map +1 -0
- package/dist/components/Clouds.js +97 -0
- package/dist/components/CreatedObject.d.ts +12 -0
- package/dist/components/CreatedObject.d.ts.map +1 -0
- package/dist/components/CreatedObject.js +139 -0
- package/dist/components/CustomPrimitive.d.ts +12 -0
- package/dist/components/CustomPrimitive.d.ts.map +1 -0
- package/dist/components/CustomPrimitive.js +80 -0
- package/dist/components/EffectsGenerator.d.ts +10 -0
- package/dist/components/EffectsGenerator.d.ts.map +1 -0
- package/dist/components/EffectsGenerator.js +59 -0
- package/dist/components/EffectsGroup.d.ts +8 -0
- package/dist/components/EffectsGroup.d.ts.map +1 -0
- package/dist/components/EffectsGroup.js +8 -0
- package/dist/components/EnvironmentManager.d.ts +9 -0
- package/dist/components/EnvironmentManager.d.ts.map +1 -0
- package/dist/components/EnvironmentManager.js +47 -0
- package/dist/components/Frame.d.ts +26 -0
- package/dist/components/Frame.d.ts.map +1 -0
- package/dist/components/Frame.js +50 -0
- package/dist/components/FrameGeometry.d.ts +10 -0
- package/dist/components/FrameGeometry.d.ts.map +1 -0
- package/dist/components/FrameGeometry.js +17 -0
- package/dist/components/FrameImage.d.ts +14 -0
- package/dist/components/FrameImage.d.ts.map +1 -0
- package/dist/components/FrameImage.js +15 -0
- package/dist/components/Galaxy.d.ts +8 -0
- package/dist/components/Galaxy.d.ts.map +1 -0
- package/dist/components/Galaxy.js +9 -0
- package/dist/components/GalleryLayout.d.ts +10 -0
- package/dist/components/GalleryLayout.d.ts.map +1 -0
- package/dist/components/GalleryLayout.js +18 -0
- package/dist/components/GridHelper.d.ts +23 -0
- package/dist/components/GridHelper.d.ts.map +1 -0
- package/dist/components/GridHelper.js +38 -0
- package/dist/components/ImageGeometry.d.ts +14 -0
- package/dist/components/ImageGeometry.d.ts.map +1 -0
- package/dist/components/ImageGeometry.js +62 -0
- package/dist/components/Lensflare.d.ts +12 -0
- package/dist/components/Lensflare.d.ts.map +1 -0
- package/dist/components/Lensflare.js +66 -0
- package/dist/components/Letter.d.ts +20 -0
- package/dist/components/Letter.d.ts.map +1 -0
- package/dist/components/Letter.js +83 -0
- package/dist/components/Letters.d.ts +16 -0
- package/dist/components/Letters.d.ts.map +1 -0
- package/dist/components/Letters.js +18 -0
- package/dist/components/LightsManager.d.ts +9 -0
- package/dist/components/LightsManager.d.ts.map +1 -0
- package/dist/components/LightsManager.js +121 -0
- package/dist/components/Lines.d.ts +9 -0
- package/dist/components/Lines.d.ts.map +1 -0
- package/dist/components/Lines.js +19 -0
- package/dist/components/LoadingIndicator.d.ts +10 -0
- package/dist/components/LoadingIndicator.d.ts.map +1 -0
- package/dist/components/LoadingIndicator.js +143 -0
- package/dist/components/MaterialLibrary.d.ts +9 -0
- package/dist/components/MaterialLibrary.d.ts.map +1 -0
- package/dist/components/MaterialLibrary.js +57 -0
- package/dist/components/Moon.d.ts +13 -0
- package/dist/components/Moon.d.ts.map +1 -0
- package/dist/components/Moon.js +52 -0
- package/dist/components/ObjectNode.d.ts +11 -0
- package/dist/components/ObjectNode.d.ts.map +1 -0
- package/dist/components/ObjectNode.js +61 -0
- package/dist/components/ObjectsRenderer.d.ts +11 -0
- package/dist/components/ObjectsRenderer.d.ts.map +1 -0
- package/dist/components/ObjectsRenderer.js +19 -0
- package/dist/components/Ocean.d.ts +8 -0
- package/dist/components/Ocean.d.ts.map +1 -0
- package/dist/components/Ocean.js +111 -0
- package/dist/components/ParticlesR3f.d.ts +16 -0
- package/dist/components/ParticlesR3f.d.ts.map +1 -0
- package/dist/components/ParticlesR3f.js +66 -0
- package/dist/components/Path.d.ts +13 -0
- package/dist/components/Path.d.ts.map +1 -0
- package/dist/components/Path.js +41 -0
- package/dist/components/PathGeometry.d.ts +11 -0
- package/dist/components/PathGeometry.d.ts.map +1 -0
- package/dist/components/PathGeometry.js +109 -0
- package/dist/components/PathRenderer.d.ts +14 -0
- package/dist/components/PathRenderer.d.ts.map +1 -0
- package/dist/components/PathRenderer.js +33 -0
- package/dist/components/ProductionScene.d.ts +29 -0
- package/dist/components/ProductionScene.d.ts.map +1 -0
- package/dist/components/ProductionScene.js +18 -0
- package/dist/components/ProjectLoader.d.ts +14 -0
- package/dist/components/ProjectLoader.d.ts.map +1 -0
- package/dist/components/ProjectLoader.js +76 -0
- package/dist/components/Rain.d.ts +8 -0
- package/dist/components/Rain.d.ts.map +1 -0
- package/dist/components/Rain.js +133 -0
- package/dist/components/SceneBuilder.d.ts +5 -0
- package/dist/components/SceneBuilder.d.ts.map +1 -0
- package/dist/components/SceneBuilder.js +104 -0
- package/dist/components/SceneFog.d.ts +8 -0
- package/dist/components/SceneFog.d.ts.map +1 -0
- package/dist/components/SceneFog.js +19 -0
- package/dist/components/ShootingStar.d.ts +16 -0
- package/dist/components/ShootingStar.d.ts.map +1 -0
- package/dist/components/ShootingStar.js +92 -0
- package/dist/components/ShootingStars.d.ts +8 -0
- package/dist/components/ShootingStars.d.ts.map +1 -0
- package/dist/components/ShootingStars.js +40 -0
- package/dist/components/SkyController.d.ts +10 -0
- package/dist/components/SkyController.d.ts.map +1 -0
- package/dist/components/SkyController.js +159 -0
- package/dist/components/SkyMesh.d.ts +11 -0
- package/dist/components/SkyMesh.d.ts.map +1 -0
- package/dist/components/SkyMesh.js +36 -0
- package/dist/components/SkySystem.d.ts +34 -0
- package/dist/components/SkySystem.d.ts.map +1 -0
- package/dist/components/SkySystem.js +47 -0
- package/dist/components/Skybox.d.ts +12 -0
- package/dist/components/Skybox.d.ts.map +1 -0
- package/dist/components/Skybox.js +79 -0
- package/dist/components/Stars.d.ts +14 -0
- package/dist/components/Stars.d.ts.map +1 -0
- package/dist/components/Stars.js +165 -0
- package/dist/components/SunLight.d.ts +15 -0
- package/dist/components/SunLight.d.ts.map +1 -0
- package/dist/components/SunLight.js +57 -0
- package/dist/components/Text2D.d.ts +9 -0
- package/dist/components/Text2D.d.ts.map +1 -0
- package/dist/components/Text2D.js +56 -0
- package/dist/components/Text3D.d.ts +10 -0
- package/dist/components/Text3D.d.ts.map +1 -0
- package/dist/components/Text3D.js +8 -0
- package/dist/components/effects/AuraEffect.d.ts +10 -0
- package/dist/components/effects/AuraEffect.d.ts.map +1 -0
- package/dist/components/effects/AuraEffect.js +127 -0
- package/dist/components/effects/AuroraEffect.d.ts +10 -0
- package/dist/components/effects/AuroraEffect.d.ts.map +1 -0
- package/dist/components/effects/AuroraEffect.js +112 -0
- package/dist/components/effects/BlackHoleEffect.d.ts +10 -0
- package/dist/components/effects/BlackHoleEffect.d.ts.map +1 -0
- package/dist/components/effects/BlackHoleEffect.js +193 -0
- package/dist/components/effects/ConstellationEffect.d.ts +10 -0
- package/dist/components/effects/ConstellationEffect.d.ts.map +1 -0
- package/dist/components/effects/ConstellationEffect.js +189 -0
- package/dist/components/effects/DataStreamEffect.d.ts +10 -0
- package/dist/components/effects/DataStreamEffect.d.ts.map +1 -0
- package/dist/components/effects/DataStreamEffect.js +138 -0
- package/dist/components/effects/DnaHelixEffect.d.ts +10 -0
- package/dist/components/effects/DnaHelixEffect.d.ts.map +1 -0
- package/dist/components/effects/DnaHelixEffect.js +311 -0
- package/dist/components/effects/FireEffect.d.ts +10 -0
- package/dist/components/effects/FireEffect.d.ts.map +1 -0
- package/dist/components/effects/FireEffect.js +194 -0
- package/dist/components/effects/ForcefieldEffect.d.ts +10 -0
- package/dist/components/effects/ForcefieldEffect.d.ts.map +1 -0
- package/dist/components/effects/ForcefieldEffect.js +132 -0
- package/dist/components/effects/HologramEffect.d.ts +10 -0
- package/dist/components/effects/HologramEffect.d.ts.map +1 -0
- package/dist/components/effects/HologramEffect.js +143 -0
- package/dist/components/effects/IceCrystalsEffect.d.ts +10 -0
- package/dist/components/effects/IceCrystalsEffect.d.ts.map +1 -0
- package/dist/components/effects/IceCrystalsEffect.js +190 -0
- package/dist/components/effects/LightningEffect.d.ts +10 -0
- package/dist/components/effects/LightningEffect.d.ts.map +1 -0
- package/dist/components/effects/LightningEffect.js +240 -0
- package/dist/components/effects/MoleculesEffect.d.ts +10 -0
- package/dist/components/effects/MoleculesEffect.d.ts.map +1 -0
- package/dist/components/effects/MoleculesEffect.js +179 -0
- package/dist/components/effects/NeuralNetworkEffect.d.ts +10 -0
- package/dist/components/effects/NeuralNetworkEffect.d.ts.map +1 -0
- package/dist/components/effects/NeuralNetworkEffect.js +188 -0
- package/dist/components/effects/OrbEffect.d.ts +10 -0
- package/dist/components/effects/OrbEffect.d.ts.map +1 -0
- package/dist/components/effects/OrbEffect.js +291 -0
- package/dist/components/effects/PortalEffect.d.ts +10 -0
- package/dist/components/effects/PortalEffect.d.ts.map +1 -0
- package/dist/components/effects/PortalEffect.js +191 -0
- package/dist/components/effects/ShockwaveEffect.d.ts +10 -0
- package/dist/components/effects/ShockwaveEffect.d.ts.map +1 -0
- package/dist/components/effects/ShockwaveEffect.js +159 -0
- package/dist/components/effects/SmokePlumeEffect.d.ts +10 -0
- package/dist/components/effects/SmokePlumeEffect.d.ts.map +1 -0
- package/dist/components/effects/SmokePlumeEffect.js +141 -0
- package/dist/components/effects/SmokeRingEffect.d.ts +10 -0
- package/dist/components/effects/SmokeRingEffect.d.ts.map +1 -0
- package/dist/components/effects/SmokeRingEffect.js +158 -0
- package/dist/components/effects/VolumetricFogEffect.d.ts +10 -0
- package/dist/components/effects/VolumetricFogEffect.d.ts.map +1 -0
- package/dist/components/effects/VolumetricFogEffect.js +111 -0
- package/dist/constants.d.ts +2 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/useAnimationEvents.d.ts +10 -0
- package/dist/hooks/useAnimationEvents.d.ts.map +1 -0
- package/dist/hooks/useAnimationEvents.js +28 -0
- package/dist/hooks/useCameraAnimation.d.ts +35 -0
- package/dist/hooks/useCameraAnimation.d.ts.map +1 -0
- package/dist/hooks/useCameraAnimation.js +268 -0
- package/dist/hooks/useContinuousEffects.d.ts +15 -0
- package/dist/hooks/useContinuousEffects.d.ts.map +1 -0
- package/dist/hooks/useContinuousEffects.js +173 -0
- package/dist/hooks/useCubeCamera.d.ts +19 -0
- package/dist/hooks/useCubeCamera.d.ts.map +1 -0
- package/dist/hooks/useCubeCamera.js +73 -0
- package/dist/hooks/useEnvironmentEffects.d.ts +12 -0
- package/dist/hooks/useEnvironmentEffects.d.ts.map +1 -0
- package/dist/hooks/useEnvironmentEffects.js +22 -0
- package/dist/hooks/useFrameEffects.d.ts +6 -0
- package/dist/hooks/useFrameEffects.d.ts.map +1 -0
- package/dist/hooks/useFrameEffects.js +19 -0
- package/dist/hooks/useInteractionEffects.d.ts +11 -0
- package/dist/hooks/useInteractionEffects.d.ts.map +1 -0
- package/dist/hooks/useInteractionEffects.js +35 -0
- package/dist/hooks/useKey.d.ts +26 -0
- package/dist/hooks/useKey.d.ts.map +1 -0
- package/dist/hooks/useKey.js +73 -0
- package/dist/hooks/useLightHandlers.d.ts +14 -0
- package/dist/hooks/useLightHandlers.d.ts.map +1 -0
- package/dist/hooks/useLightHandlers.js +116 -0
- package/dist/hooks/useMaterialApplication.d.ts +9 -0
- package/dist/hooks/useMaterialApplication.d.ts.map +1 -0
- package/dist/hooks/useMaterialApplication.js +113 -0
- package/dist/hooks/useMaterialOptions.d.ts +13 -0
- package/dist/hooks/useMaterialOptions.d.ts.map +1 -0
- package/dist/hooks/useMaterialOptions.js +110 -0
- package/dist/hooks/useMaterialUniforms.d.ts +18 -0
- package/dist/hooks/useMaterialUniforms.d.ts.map +1 -0
- package/dist/hooks/useMaterialUniforms.js +96 -0
- package/dist/hooks/useMeshController.d.ts +3 -0
- package/dist/hooks/useMeshController.d.ts.map +1 -0
- package/dist/hooks/useMeshController.js +152 -0
- package/dist/hooks/useMouseHandlers.d.ts +8 -0
- package/dist/hooks/useMouseHandlers.d.ts.map +1 -0
- package/dist/hooks/useMouseHandlers.js +47 -0
- package/dist/hooks/useObjectAnimation.d.ts +13 -0
- package/dist/hooks/useObjectAnimation.d.ts.map +1 -0
- package/dist/hooks/useObjectAnimation.js +11 -0
- package/dist/hooks/useObjectEdges.d.ts +4 -0
- package/dist/hooks/useObjectEdges.d.ts.map +1 -0
- package/dist/hooks/useObjectEdges.js +199 -0
- package/dist/hooks/useOrbitControls.d.ts +7 -0
- package/dist/hooks/useOrbitControls.d.ts.map +1 -0
- package/dist/hooks/useOrbitControls.js +9 -0
- package/dist/hooks/useParticlePositions.d.ts +19 -0
- package/dist/hooks/useParticlePositions.d.ts.map +1 -0
- package/dist/hooks/useParticlePositions.js +56 -0
- package/dist/hooks/useParticlesColors.d.ts +14 -0
- package/dist/hooks/useParticlesColors.d.ts.map +1 -0
- package/dist/hooks/useParticlesColors.js +27 -0
- package/dist/hooks/useParticlesTextures.d.ts +10 -0
- package/dist/hooks/useParticlesTextures.d.ts.map +1 -0
- package/dist/hooks/useParticlesTextures.js +23 -0
- package/dist/hooks/usePathAnimation.d.ts +26 -0
- package/dist/hooks/usePathAnimation.d.ts.map +1 -0
- package/dist/hooks/usePathAnimation.js +120 -0
- package/dist/hooks/useSkyAnimation.d.ts +14 -0
- package/dist/hooks/useSkyAnimation.d.ts.map +1 -0
- package/dist/hooks/useSkyAnimation.js +46 -0
- package/dist/hooks/useSkySystem.d.ts +26 -0
- package/dist/hooks/useSkySystem.d.ts.map +1 -0
- package/dist/hooks/useSkySystem.js +57 -0
- package/dist/hooks/useSkyUniforms.d.ts +18 -0
- package/dist/hooks/useSkyUniforms.d.ts.map +1 -0
- package/dist/hooks/useSkyUniforms.js +59 -0
- package/dist/hooks/useTransformControls.d.ts +6 -0
- package/dist/hooks/useTransformControls.d.ts.map +1 -0
- package/dist/hooks/useTransformControls.js +111 -0
- package/dist/hooks/useWaterEnvironment.d.ts +5 -0
- package/dist/hooks/useWaterEnvironment.d.ts.map +1 -0
- package/dist/hooks/useWaterEnvironment.js +27 -0
- package/dist/hooks/useWaterReflections.d.ts +17 -0
- package/dist/hooks/useWaterReflections.d.ts.map +1 -0
- package/dist/hooks/useWaterReflections.js +77 -0
- package/dist/index.d.ts +140 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +109 -0
- package/dist/services/AnimationsManager.d.ts +33 -0
- package/dist/services/AnimationsManager.d.ts.map +1 -0
- package/dist/services/AnimationsManager.js +58 -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/TexturesManager.d.ts +17 -0
- package/dist/services/TexturesManager.d.ts.map +1 -0
- package/dist/services/TexturesManager.js +48 -0
- package/dist/shaders/RainMaterial.d.ts +34 -0
- package/dist/shaders/RainMaterial.d.ts.map +1 -0
- package/dist/shaders/RainMaterial.js +56 -0
- package/dist/shaders/ShaderEffectsMaterial.d.ts +279 -0
- package/dist/shaders/ShaderEffectsMaterial.d.ts.map +1 -0
- package/dist/shaders/ShaderEffectsMaterial.js +257 -0
- package/dist/shaders/ShootingStarMaterial.d.ts +14 -0
- package/dist/shaders/ShootingStarMaterial.d.ts.map +1 -0
- package/dist/shaders/ShootingStarMaterial.js +33 -0
- package/dist/shaders/SkyboxMaterial.d.ts +38 -0
- package/dist/shaders/SkyboxMaterial.d.ts.map +1 -0
- package/dist/shaders/SkyboxMaterial.js +57 -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/utils/CameraSingleton.d.ts +35 -0
- package/dist/utils/CameraSingleton.d.ts.map +1 -0
- package/dist/utils/CameraSingleton.js +178 -0
- package/dist/utils/anchorUtils.d.ts +10 -0
- package/dist/utils/anchorUtils.d.ts.map +1 -0
- package/dist/utils/anchorUtils.js +13 -0
- package/dist/utils/frameAnimations.d.ts +49 -0
- package/dist/utils/frameAnimations.d.ts.map +1 -0
- package/dist/utils/frameAnimations.js +213 -0
- package/dist/utils/handleGenerativeEffectsAnimations.d.ts +5 -0
- package/dist/utils/handleGenerativeEffectsAnimations.d.ts.map +1 -0
- package/dist/utils/handleGenerativeEffectsAnimations.js +268 -0
- package/dist/utils/hasHoverAnimation.d.ts +3 -0
- package/dist/utils/hasHoverAnimation.d.ts.map +1 -0
- package/dist/utils/hasHoverAnimation.js +15 -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/sceneQuery.d.ts +9 -0
- package/dist/utils/sceneQuery.d.ts.map +1 -0
- package/dist/utils/sceneQuery.js +22 -0
- package/dist/utils/shaderUtils.d.ts +6 -0
- package/dist/utils/shaderUtils.d.ts.map +1 -0
- package/dist/utils/shaderUtils.js +145 -0
- package/dist/utils/textEffects.d.ts +31 -0
- package/dist/utils/textEffects.d.ts.map +1 -0
- package/dist/utils/textEffects.js +61 -0
- package/dist/utils/utils3d.d.ts +7 -0
- package/dist/utils/utils3d.d.ts.map +1 -0
- package/dist/utils/utils3d.js +34 -0
- package/package.json +43 -0
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
import { Vector2, Texture, Color } from 'three';
|
|
2
|
+
export interface ShaderEffectsMaterialUniforms {
|
|
3
|
+
u_time: {
|
|
4
|
+
value: number;
|
|
5
|
+
};
|
|
6
|
+
u_pointer: {
|
|
7
|
+
value: Vector2;
|
|
8
|
+
};
|
|
9
|
+
uPointSize: {
|
|
10
|
+
value: number;
|
|
11
|
+
};
|
|
12
|
+
uTexture: {
|
|
13
|
+
value: Texture | null;
|
|
14
|
+
};
|
|
15
|
+
uTargetTexture: {
|
|
16
|
+
value: Texture | null;
|
|
17
|
+
};
|
|
18
|
+
uMorphProgress: {
|
|
19
|
+
value: number;
|
|
20
|
+
};
|
|
21
|
+
uColor: {
|
|
22
|
+
value: Color;
|
|
23
|
+
};
|
|
24
|
+
uOpacity: {
|
|
25
|
+
value: number;
|
|
26
|
+
};
|
|
27
|
+
uPointerEffectRadius: {
|
|
28
|
+
value: number;
|
|
29
|
+
};
|
|
30
|
+
uNormalizationScale: {
|
|
31
|
+
value: number;
|
|
32
|
+
};
|
|
33
|
+
uRippleEnabled: {
|
|
34
|
+
value: boolean;
|
|
35
|
+
};
|
|
36
|
+
uRippleIntensity: {
|
|
37
|
+
value: number;
|
|
38
|
+
};
|
|
39
|
+
uRippleSpeed: {
|
|
40
|
+
value: number;
|
|
41
|
+
};
|
|
42
|
+
uDisplacementEnabled: {
|
|
43
|
+
value: boolean;
|
|
44
|
+
};
|
|
45
|
+
uDisplacementIntensity: {
|
|
46
|
+
value: number;
|
|
47
|
+
};
|
|
48
|
+
uScaleEnabled: {
|
|
49
|
+
value: boolean;
|
|
50
|
+
};
|
|
51
|
+
uScaleIntensity: {
|
|
52
|
+
value: number;
|
|
53
|
+
};
|
|
54
|
+
uMinScale: {
|
|
55
|
+
value: number;
|
|
56
|
+
};
|
|
57
|
+
uMaxScale: {
|
|
58
|
+
value: number;
|
|
59
|
+
};
|
|
60
|
+
uVortexEnabled: {
|
|
61
|
+
value: boolean;
|
|
62
|
+
};
|
|
63
|
+
uVortexIntensity: {
|
|
64
|
+
value: number;
|
|
65
|
+
};
|
|
66
|
+
uVortexSpeed: {
|
|
67
|
+
value: number;
|
|
68
|
+
};
|
|
69
|
+
uWaveEnabled: {
|
|
70
|
+
value: boolean;
|
|
71
|
+
};
|
|
72
|
+
uWaveIntensity: {
|
|
73
|
+
value: number;
|
|
74
|
+
};
|
|
75
|
+
uWaveFrequency: {
|
|
76
|
+
value: number;
|
|
77
|
+
};
|
|
78
|
+
uGlowEnabled: {
|
|
79
|
+
value: boolean;
|
|
80
|
+
};
|
|
81
|
+
uGlowIntensity: {
|
|
82
|
+
value: number;
|
|
83
|
+
};
|
|
84
|
+
uGlowColor: {
|
|
85
|
+
value: Color;
|
|
86
|
+
};
|
|
87
|
+
uColorShiftEnabled: {
|
|
88
|
+
value: boolean;
|
|
89
|
+
};
|
|
90
|
+
uColorShiftIntensity: {
|
|
91
|
+
value: number;
|
|
92
|
+
};
|
|
93
|
+
uColorShiftTarget: {
|
|
94
|
+
value: Color;
|
|
95
|
+
};
|
|
96
|
+
uBrightnessEnabled: {
|
|
97
|
+
value: boolean;
|
|
98
|
+
};
|
|
99
|
+
uBrightnessIntensity: {
|
|
100
|
+
value: number;
|
|
101
|
+
};
|
|
102
|
+
uPulseEnabled: {
|
|
103
|
+
value: boolean;
|
|
104
|
+
};
|
|
105
|
+
uPulseIntensity: {
|
|
106
|
+
value: number;
|
|
107
|
+
};
|
|
108
|
+
uPulseSpeed: {
|
|
109
|
+
value: number;
|
|
110
|
+
};
|
|
111
|
+
uGeneralWaveEnabled: {
|
|
112
|
+
value: boolean;
|
|
113
|
+
};
|
|
114
|
+
uGeneralWaveIntensity: {
|
|
115
|
+
value: number;
|
|
116
|
+
};
|
|
117
|
+
uGeneralWaveFrequency: {
|
|
118
|
+
value: number;
|
|
119
|
+
};
|
|
120
|
+
uGeneralWaveSpeed: {
|
|
121
|
+
value: number;
|
|
122
|
+
};
|
|
123
|
+
uGeneralWaveDirection: {
|
|
124
|
+
value: number;
|
|
125
|
+
};
|
|
126
|
+
uGeneralVortexEnabled: {
|
|
127
|
+
value: boolean;
|
|
128
|
+
};
|
|
129
|
+
uGeneralVortexIntensity: {
|
|
130
|
+
value: number;
|
|
131
|
+
};
|
|
132
|
+
uGeneralVortexSpeed: {
|
|
133
|
+
value: number;
|
|
134
|
+
};
|
|
135
|
+
uGeneralVortexCenterX: {
|
|
136
|
+
value: number;
|
|
137
|
+
};
|
|
138
|
+
uGeneralVortexCenterY: {
|
|
139
|
+
value: number;
|
|
140
|
+
};
|
|
141
|
+
uGeneralRippleEnabled: {
|
|
142
|
+
value: boolean;
|
|
143
|
+
};
|
|
144
|
+
uGeneralRippleIntensity: {
|
|
145
|
+
value: number;
|
|
146
|
+
};
|
|
147
|
+
uGeneralRippleSpeed: {
|
|
148
|
+
value: number;
|
|
149
|
+
};
|
|
150
|
+
uGeneralRippleCenterX: {
|
|
151
|
+
value: number;
|
|
152
|
+
};
|
|
153
|
+
uGeneralRippleCenterY: {
|
|
154
|
+
value: number;
|
|
155
|
+
};
|
|
156
|
+
uGeneralGrayscaleEnabled: {
|
|
157
|
+
value: boolean;
|
|
158
|
+
};
|
|
159
|
+
uGeneralGrayscaleMode: {
|
|
160
|
+
value: number;
|
|
161
|
+
};
|
|
162
|
+
uGeneralGrayscaleIntensity: {
|
|
163
|
+
value: number;
|
|
164
|
+
};
|
|
165
|
+
uGeneralGrayscaleContrast: {
|
|
166
|
+
value: number;
|
|
167
|
+
};
|
|
168
|
+
uGeneralGrayscaleBrightness: {
|
|
169
|
+
value: number;
|
|
170
|
+
};
|
|
171
|
+
uGeneralGrayscaleWaveFreq: {
|
|
172
|
+
value: number;
|
|
173
|
+
};
|
|
174
|
+
uGeneralGrayscaleWaveSpeed: {
|
|
175
|
+
value: number;
|
|
176
|
+
};
|
|
177
|
+
uGeneralGrayscaleWaveDir: {
|
|
178
|
+
value: number;
|
|
179
|
+
};
|
|
180
|
+
uGeneralGrayscalePulseSpeed: {
|
|
181
|
+
value: number;
|
|
182
|
+
};
|
|
183
|
+
uGeneralGrayscaleRippleSpeed: {
|
|
184
|
+
value: number;
|
|
185
|
+
};
|
|
186
|
+
uGeneralGrayscaleRippleCenterX: {
|
|
187
|
+
value: number;
|
|
188
|
+
};
|
|
189
|
+
uGeneralGrayscaleRippleCenterY: {
|
|
190
|
+
value: number;
|
|
191
|
+
};
|
|
192
|
+
uPointerGrayscaleEnabled: {
|
|
193
|
+
value: boolean;
|
|
194
|
+
};
|
|
195
|
+
uPointerGrayscaleIntensity: {
|
|
196
|
+
value: number;
|
|
197
|
+
};
|
|
198
|
+
uPointerGrayscaleContrast: {
|
|
199
|
+
value: number;
|
|
200
|
+
};
|
|
201
|
+
uPointerGrayscaleBrightness: {
|
|
202
|
+
value: number;
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
declare const ShaderEffectsMaterial: import("@react-three/fiber").ConstructorRepresentation<import("three").ShaderMaterial & {
|
|
206
|
+
u_time: number;
|
|
207
|
+
uTexture: Texture | null;
|
|
208
|
+
uTargetTexture: Texture | null;
|
|
209
|
+
uHasTexture: false;
|
|
210
|
+
uPointSize: number;
|
|
211
|
+
u_pointer: Vector2;
|
|
212
|
+
uColor: Color;
|
|
213
|
+
uMorphProgress: number;
|
|
214
|
+
uNormalizationScale: number;
|
|
215
|
+
uOpacity: number;
|
|
216
|
+
uParticleUVScale: number;
|
|
217
|
+
uPointerEffectRadius: number;
|
|
218
|
+
uRippleEnabled: false;
|
|
219
|
+
uRippleIntensity: number;
|
|
220
|
+
uRippleSpeed: number;
|
|
221
|
+
uDisplacementEnabled: false;
|
|
222
|
+
uDisplacementIntensity: number;
|
|
223
|
+
uScaleEnabled: false;
|
|
224
|
+
uScaleIntensity: number;
|
|
225
|
+
uMinScale: number;
|
|
226
|
+
uMaxScale: number;
|
|
227
|
+
uVortexEnabled: false;
|
|
228
|
+
uVortexIntensity: number;
|
|
229
|
+
uVortexSpeed: number;
|
|
230
|
+
uWaveEnabled: false;
|
|
231
|
+
uWaveIntensity: number;
|
|
232
|
+
uWaveFrequency: number;
|
|
233
|
+
uGlowEnabled: false;
|
|
234
|
+
uGlowIntensity: number;
|
|
235
|
+
uGlowColor: Color;
|
|
236
|
+
uColorShiftEnabled: false;
|
|
237
|
+
uColorShiftIntensity: number;
|
|
238
|
+
uColorShiftTarget: Color;
|
|
239
|
+
uBrightnessEnabled: false;
|
|
240
|
+
uBrightnessIntensity: number;
|
|
241
|
+
uPulseEnabled: false;
|
|
242
|
+
uPulseIntensity: number;
|
|
243
|
+
uPulseSpeed: number;
|
|
244
|
+
uGeneralWaveEnabled: false;
|
|
245
|
+
uGeneralWaveIntensity: number;
|
|
246
|
+
uGeneralWaveFrequency: number;
|
|
247
|
+
uGeneralWaveSpeed: number;
|
|
248
|
+
uGeneralWaveDirection: number;
|
|
249
|
+
uGeneralVortexEnabled: false;
|
|
250
|
+
uGeneralVortexIntensity: number;
|
|
251
|
+
uGeneralVortexSpeed: number;
|
|
252
|
+
uGeneralVortexCenterX: number;
|
|
253
|
+
uGeneralVortexCenterY: number;
|
|
254
|
+
uGeneralRippleEnabled: false;
|
|
255
|
+
uGeneralRippleIntensity: number;
|
|
256
|
+
uGeneralRippleSpeed: number;
|
|
257
|
+
uGeneralRippleCenterX: number;
|
|
258
|
+
uGeneralRippleCenterY: number;
|
|
259
|
+
uGeneralGrayscaleEnabled: false;
|
|
260
|
+
uGeneralGrayscaleMode: number;
|
|
261
|
+
uGeneralGrayscaleIntensity: number;
|
|
262
|
+
uGeneralGrayscaleContrast: number;
|
|
263
|
+
uGeneralGrayscaleBrightness: number;
|
|
264
|
+
uGeneralGrayscaleWaveFreq: number;
|
|
265
|
+
uGeneralGrayscaleWaveSpeed: number;
|
|
266
|
+
uGeneralGrayscaleWaveDir: number;
|
|
267
|
+
uGeneralGrayscalePulseSpeed: number;
|
|
268
|
+
uGeneralGrayscaleRippleSpeed: number;
|
|
269
|
+
uGeneralGrayscaleRippleCenterX: number;
|
|
270
|
+
uGeneralGrayscaleRippleCenterY: number;
|
|
271
|
+
uPointerGrayscaleEnabled: false;
|
|
272
|
+
uPointerGrayscaleIntensity: number;
|
|
273
|
+
uPointerGrayscaleContrast: number;
|
|
274
|
+
uPointerGrayscaleBrightness: number;
|
|
275
|
+
}> & {
|
|
276
|
+
key: string;
|
|
277
|
+
};
|
|
278
|
+
export { ShaderEffectsMaterial };
|
|
279
|
+
//# sourceMappingURL=ShaderEffectsMaterial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShaderEffectsMaterial.d.ts","sourceRoot":"","sources":["../../src/shaders/ShaderEffectsMaterial.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { Vector2, Color } from 'three';
|
|
2
|
+
import { extend } from '@react-three/fiber';
|
|
3
|
+
import { shaderMaterial } from '@react-three/drei';
|
|
4
|
+
import { effectsVertexGLSL } from './effects/EffectsVertexFunctions.glsl';
|
|
5
|
+
const vertexShader = /*glsl*/ `
|
|
6
|
+
${effectsVertexGLSL}
|
|
7
|
+
|
|
8
|
+
uniform float uPointSize;
|
|
9
|
+
varying vec2 vTexCoords;
|
|
10
|
+
uniform float uMorphProgress;
|
|
11
|
+
uniform float uNormalizationScale;
|
|
12
|
+
uniform bool uScaleEnabled;
|
|
13
|
+
uniform float uScaleIntensity;
|
|
14
|
+
uniform float uMinScale;
|
|
15
|
+
uniform float uMaxScale;
|
|
16
|
+
attribute vec2 aUV;
|
|
17
|
+
varying vec2 vUV;
|
|
18
|
+
varying vec2 vScreenPosition;
|
|
19
|
+
|
|
20
|
+
void main() {
|
|
21
|
+
vUV = aUV;
|
|
22
|
+
vec3 pos = position;
|
|
23
|
+
#include <begin_vertex>
|
|
24
|
+
vec3 morphedPos = mix(position, position, uMorphProgress);
|
|
25
|
+
vec2 rippleCenter = vec2(uGeneralRippleCenterX, uGeneralRippleCenterY);
|
|
26
|
+
|
|
27
|
+
if (uGeneralWaveEnabled) {
|
|
28
|
+
float waveInput = 0.0;
|
|
29
|
+
if (uGeneralWaveDirection < 0.5) { waveInput = morphedPos.x; }
|
|
30
|
+
else if (uGeneralWaveDirection < 1.5) { waveInput = morphedPos.y; }
|
|
31
|
+
else { waveInput = morphedPos.x + morphedPos.y; }
|
|
32
|
+
morphedPos.z += sin(waveInput * uGeneralWaveFrequency + u_time * uGeneralWaveSpeed) * uGeneralWaveIntensity;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
if (uGeneralVortexEnabled) {
|
|
36
|
+
vec2 generalCenter = vec2(uGeneralVortexCenterX, uGeneralVortexCenterY);
|
|
37
|
+
vec2 toCenter = morphedPos.xy - generalCenter;
|
|
38
|
+
float angle = uGeneralVortexIntensity * u_time * uGeneralVortexSpeed;
|
|
39
|
+
mat2 rotation = mat2(cos(angle), -sin(angle), sin(angle), cos(angle));
|
|
40
|
+
morphedPos.xy = generalCenter + rotation * toCenter;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (uGeneralRippleEnabled) { morphedPos = applyGeneralRipple(morphedPos); }
|
|
44
|
+
|
|
45
|
+
vec2 scaledPointer = u_pointer * 5.0;
|
|
46
|
+
float dist = distance(morphedPos.xy, scaledPointer);
|
|
47
|
+
float falloff = smoothstep(uPointerEffectRadius, 0.0, dist);
|
|
48
|
+
|
|
49
|
+
if (uRippleEnabled && falloff > 0.0) {
|
|
50
|
+
float wave = sin(dist * 5.0 - u_time * uRippleSpeed) * uRippleIntensity;
|
|
51
|
+
morphedPos.z += wave * falloff * 0.5;
|
|
52
|
+
}
|
|
53
|
+
if (uDisplacementEnabled && falloff > 0.0) {
|
|
54
|
+
vec2 dir = normalize(morphedPos.xy - scaledPointer);
|
|
55
|
+
morphedPos.xy += dir * uDisplacementIntensity * falloff * 2.0;
|
|
56
|
+
}
|
|
57
|
+
if (uVortexEnabled && falloff > 0.0) {
|
|
58
|
+
vec2 toPointer = morphedPos.xy - scaledPointer;
|
|
59
|
+
float angle = uVortexIntensity * falloff * u_time * uVortexSpeed;
|
|
60
|
+
mat2 rotation = mat2(cos(angle), -sin(angle), sin(angle), cos(angle));
|
|
61
|
+
morphedPos.xy = scaledPointer + rotation * toPointer;
|
|
62
|
+
}
|
|
63
|
+
if (uWaveEnabled && falloff > 0.0) {
|
|
64
|
+
morphedPos.z += sin(morphedPos.x * uWaveFrequency + u_time) * uWaveIntensity * falloff * 0.5;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
vTexCoords = morphedPos.xy;
|
|
68
|
+
transformed = morphedPos;
|
|
69
|
+
#include <project_vertex>
|
|
70
|
+
|
|
71
|
+
float sizeMultiplier = 1.0;
|
|
72
|
+
if (uScaleEnabled && falloff > 0.0) {
|
|
73
|
+
sizeMultiplier = mix(uMinScale, uMaxScale, falloff * uScaleIntensity);
|
|
74
|
+
}
|
|
75
|
+
gl_PointSize = uPointSize * sizeMultiplier;
|
|
76
|
+
vScreenPosition = gl_Position.xy / gl_Position.w;
|
|
77
|
+
#include <logdepthbuf_vertex>
|
|
78
|
+
#include <clipping_planes_vertex>
|
|
79
|
+
#include <worldpos_vertex>
|
|
80
|
+
#include <fog_vertex>
|
|
81
|
+
}
|
|
82
|
+
`;
|
|
83
|
+
const fragmentShader = /*glsl*/ `
|
|
84
|
+
uniform sampler2D uTexture;
|
|
85
|
+
uniform sampler2D uTargetTexture;
|
|
86
|
+
uniform bool uHasTexture;
|
|
87
|
+
uniform vec3 uColor;
|
|
88
|
+
uniform float uOpacity;
|
|
89
|
+
varying vec2 vTexCoords;
|
|
90
|
+
varying vec2 vUV;
|
|
91
|
+
uniform float uMorphProgress;
|
|
92
|
+
uniform float u_time;
|
|
93
|
+
uniform float uParticleUVScale;
|
|
94
|
+
uniform vec2 u_pointer;
|
|
95
|
+
uniform float uPointerEffectRadius;
|
|
96
|
+
uniform bool uGlowEnabled;
|
|
97
|
+
uniform float uGlowIntensity;
|
|
98
|
+
uniform vec3 uGlowColor;
|
|
99
|
+
uniform bool uColorShiftEnabled;
|
|
100
|
+
uniform float uColorShiftIntensity;
|
|
101
|
+
uniform vec3 uColorShiftTarget;
|
|
102
|
+
uniform bool uBrightnessEnabled;
|
|
103
|
+
uniform float uBrightnessIntensity;
|
|
104
|
+
uniform bool uPulseEnabled;
|
|
105
|
+
uniform float uPulseIntensity;
|
|
106
|
+
uniform float uPulseSpeed;
|
|
107
|
+
uniform bool uGeneralGrayscaleEnabled;
|
|
108
|
+
uniform float uGeneralGrayscaleMode;
|
|
109
|
+
uniform float uGeneralGrayscaleIntensity;
|
|
110
|
+
uniform float uGeneralGrayscaleContrast;
|
|
111
|
+
uniform float uGeneralGrayscaleBrightness;
|
|
112
|
+
uniform float uGeneralGrayscaleWaveFreq;
|
|
113
|
+
uniform float uGeneralGrayscaleWaveSpeed;
|
|
114
|
+
uniform float uGeneralGrayscaleWaveDir;
|
|
115
|
+
uniform float uGeneralGrayscalePulseSpeed;
|
|
116
|
+
uniform float uGeneralGrayscaleRippleSpeed;
|
|
117
|
+
uniform float uGeneralGrayscaleRippleCenterX;
|
|
118
|
+
uniform float uGeneralGrayscaleRippleCenterY;
|
|
119
|
+
uniform bool uPointerGrayscaleEnabled;
|
|
120
|
+
uniform float uPointerGrayscaleIntensity;
|
|
121
|
+
uniform float uPointerGrayscaleContrast;
|
|
122
|
+
uniform float uPointerGrayscaleBrightness;
|
|
123
|
+
varying vec2 vScreenPosition;
|
|
124
|
+
|
|
125
|
+
float circle(vec2 uv, float border) {
|
|
126
|
+
float radius = 0.5;
|
|
127
|
+
float dist = radius - distance(uv, vec2(0.5));
|
|
128
|
+
return smoothstep(0.0, border, dist);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
void main() {
|
|
132
|
+
vec4 outColor;
|
|
133
|
+
if (uHasTexture) {
|
|
134
|
+
vec2 scaledUV = gl_PointCoord * uParticleUVScale;
|
|
135
|
+
scaledUV.y *= -1.0;
|
|
136
|
+
scaledUV += vUV;
|
|
137
|
+
vec4 colorA = texture2D(uTexture, scaledUV) * vec4(uColor, 1.0);
|
|
138
|
+
vec4 colorB = texture2D(uTargetTexture, scaledUV) * vec4(uColor, 1.0);
|
|
139
|
+
outColor = mix(colorA, colorB, uMorphProgress);
|
|
140
|
+
} else {
|
|
141
|
+
outColor = vec4(uColor, 1.0);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
outColor.a *= circle(gl_PointCoord, 0.2);
|
|
145
|
+
|
|
146
|
+
vec2 scaledPointer = u_pointer * 5.0;
|
|
147
|
+
float dist = distance(vTexCoords, scaledPointer);
|
|
148
|
+
float falloff = smoothstep(uPointerEffectRadius, 0.0, dist);
|
|
149
|
+
|
|
150
|
+
if (uGlowEnabled && falloff > 0.0) outColor.rgb += uGlowColor * uGlowIntensity * falloff;
|
|
151
|
+
if (uBrightnessEnabled && falloff > 0.0) outColor.rgb *= (1.0 + uBrightnessIntensity * falloff);
|
|
152
|
+
if (uPulseEnabled && falloff > 0.0) {
|
|
153
|
+
float pulse = sin(u_time * uPulseSpeed) * 0.5 + 0.5;
|
|
154
|
+
outColor.rgb += vec3(pulse * uPulseIntensity * falloff);
|
|
155
|
+
}
|
|
156
|
+
if (uColorShiftEnabled && falloff > 0.0) outColor.rgb = mix(outColor.rgb, uColorShiftTarget, uColorShiftIntensity * falloff);
|
|
157
|
+
if (uPointerGrayscaleEnabled && falloff > 0.0) {
|
|
158
|
+
float gray = dot(outColor.rgb, vec3(0.299, 0.587, 0.114));
|
|
159
|
+
gray = (gray - 0.5) * uPointerGrayscaleContrast + 0.5 + uPointerGrayscaleBrightness;
|
|
160
|
+
outColor.rgb = mix(outColor.rgb, vec3(gray), uPointerGrayscaleIntensity * falloff);
|
|
161
|
+
}
|
|
162
|
+
if (uGeneralGrayscaleEnabled) {
|
|
163
|
+
float grayscaleFactor = 0.0;
|
|
164
|
+
if (uGeneralGrayscaleMode < 0.5) {
|
|
165
|
+
grayscaleFactor = uGeneralGrayscaleIntensity;
|
|
166
|
+
} else if (uGeneralGrayscaleMode < 1.5) {
|
|
167
|
+
float wavePos = uGeneralGrayscaleWaveDir < 0.5 ? vTexCoords.x : (uGeneralGrayscaleWaveDir < 1.5 ? vTexCoords.y : vTexCoords.x + vTexCoords.y);
|
|
168
|
+
grayscaleFactor = (sin(wavePos * uGeneralGrayscaleWaveFreq + u_time * uGeneralGrayscaleWaveSpeed) * 0.5 + 0.5) * uGeneralGrayscaleIntensity;
|
|
169
|
+
} else if (uGeneralGrayscaleMode < 2.5) {
|
|
170
|
+
grayscaleFactor = (sin(u_time * uGeneralGrayscalePulseSpeed) * 0.5 + 0.5) * uGeneralGrayscaleIntensity;
|
|
171
|
+
} else {
|
|
172
|
+
vec2 rippleCenter = vec2(uGeneralGrayscaleRippleCenterX, uGeneralGrayscaleRippleCenterY);
|
|
173
|
+
float rippleDist = distance(vTexCoords, rippleCenter);
|
|
174
|
+
grayscaleFactor = (sin(rippleDist * 5.0 - u_time * uGeneralGrayscaleRippleSpeed) * 0.5 + 0.5) * uGeneralGrayscaleIntensity;
|
|
175
|
+
}
|
|
176
|
+
float gray = dot(outColor.rgb, vec3(0.299, 0.587, 0.114));
|
|
177
|
+
gray = (gray - 0.5) * uGeneralGrayscaleContrast + 0.5 + uGeneralGrayscaleBrightness;
|
|
178
|
+
outColor.rgb = mix(outColor.rgb, vec3(gray), grayscaleFactor);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
outColor.a *= uOpacity;
|
|
182
|
+
gl_FragColor = outColor;
|
|
183
|
+
}
|
|
184
|
+
`;
|
|
185
|
+
const ShaderEffectsMaterial = shaderMaterial({
|
|
186
|
+
u_time: 0,
|
|
187
|
+
uTexture: null,
|
|
188
|
+
uTargetTexture: null,
|
|
189
|
+
uHasTexture: false,
|
|
190
|
+
uPointSize: 1.0,
|
|
191
|
+
u_pointer: new Vector2(),
|
|
192
|
+
uColor: new Color(1.0, 1.0, 1.0),
|
|
193
|
+
uMorphProgress: 0.0,
|
|
194
|
+
uNormalizationScale: 1.0,
|
|
195
|
+
uOpacity: 1.0,
|
|
196
|
+
uParticleUVScale: 0.01,
|
|
197
|
+
uPointerEffectRadius: 2.5,
|
|
198
|
+
uRippleEnabled: false,
|
|
199
|
+
uRippleIntensity: 0.5,
|
|
200
|
+
uRippleSpeed: 2.0,
|
|
201
|
+
uDisplacementEnabled: false,
|
|
202
|
+
uDisplacementIntensity: 0.5,
|
|
203
|
+
uScaleEnabled: false,
|
|
204
|
+
uScaleIntensity: 0.5,
|
|
205
|
+
uMinScale: 0.5,
|
|
206
|
+
uMaxScale: 2.0,
|
|
207
|
+
uVortexEnabled: false,
|
|
208
|
+
uVortexIntensity: 0.5,
|
|
209
|
+
uVortexSpeed: 1.0,
|
|
210
|
+
uWaveEnabled: false,
|
|
211
|
+
uWaveIntensity: 0.5,
|
|
212
|
+
uWaveFrequency: 5.0,
|
|
213
|
+
uGlowEnabled: false,
|
|
214
|
+
uGlowIntensity: 0.5,
|
|
215
|
+
uGlowColor: new Color(1.0, 1.0, 1.0),
|
|
216
|
+
uColorShiftEnabled: false,
|
|
217
|
+
uColorShiftIntensity: 0.5,
|
|
218
|
+
uColorShiftTarget: new Color(1.0, 0.4, 0.0),
|
|
219
|
+
uBrightnessEnabled: false,
|
|
220
|
+
uBrightnessIntensity: 0.5,
|
|
221
|
+
uPulseEnabled: false,
|
|
222
|
+
uPulseIntensity: 0.5,
|
|
223
|
+
uPulseSpeed: 2.0,
|
|
224
|
+
uGeneralWaveEnabled: false,
|
|
225
|
+
uGeneralWaveIntensity: 0.3,
|
|
226
|
+
uGeneralWaveFrequency: 3.0,
|
|
227
|
+
uGeneralWaveSpeed: 1.0,
|
|
228
|
+
uGeneralWaveDirection: 0.0,
|
|
229
|
+
uGeneralVortexEnabled: false,
|
|
230
|
+
uGeneralVortexIntensity: 0.5,
|
|
231
|
+
uGeneralVortexSpeed: 0.5,
|
|
232
|
+
uGeneralVortexCenterX: 0.0,
|
|
233
|
+
uGeneralVortexCenterY: 0.0,
|
|
234
|
+
uGeneralRippleEnabled: false,
|
|
235
|
+
uGeneralRippleIntensity: 0.3,
|
|
236
|
+
uGeneralRippleSpeed: 2.0,
|
|
237
|
+
uGeneralRippleCenterX: 0.0,
|
|
238
|
+
uGeneralRippleCenterY: 0.0,
|
|
239
|
+
uGeneralGrayscaleEnabled: false,
|
|
240
|
+
uGeneralGrayscaleMode: 0.0,
|
|
241
|
+
uGeneralGrayscaleIntensity: 1.0,
|
|
242
|
+
uGeneralGrayscaleContrast: 1.0,
|
|
243
|
+
uGeneralGrayscaleBrightness: 0.0,
|
|
244
|
+
uGeneralGrayscaleWaveFreq: 3.0,
|
|
245
|
+
uGeneralGrayscaleWaveSpeed: 1.0,
|
|
246
|
+
uGeneralGrayscaleWaveDir: 0.0,
|
|
247
|
+
uGeneralGrayscalePulseSpeed: 2.0,
|
|
248
|
+
uGeneralGrayscaleRippleSpeed: 2.0,
|
|
249
|
+
uGeneralGrayscaleRippleCenterX: 0.0,
|
|
250
|
+
uGeneralGrayscaleRippleCenterY: 0.0,
|
|
251
|
+
uPointerGrayscaleEnabled: false,
|
|
252
|
+
uPointerGrayscaleIntensity: 1.0,
|
|
253
|
+
uPointerGrayscaleContrast: 1.0,
|
|
254
|
+
uPointerGrayscaleBrightness: 0.0,
|
|
255
|
+
}, vertexShader, fragmentShader);
|
|
256
|
+
extend({ ShaderEffectsMaterial });
|
|
257
|
+
export { ShaderEffectsMaterial };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Color } from 'three';
|
|
2
|
+
declare const ShootingStarMaterial: import("@react-three/fiber").ConstructorRepresentation<import("three").ShaderMaterial & {
|
|
3
|
+
color: Color;
|
|
4
|
+
opacity: number;
|
|
5
|
+
}> & {
|
|
6
|
+
key: string;
|
|
7
|
+
};
|
|
8
|
+
export { ShootingStarMaterial };
|
|
9
|
+
declare module '@react-three/fiber' {
|
|
10
|
+
interface ThreeElements {
|
|
11
|
+
shootingStarMaterial: any;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=ShootingStarMaterial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShootingStarMaterial.d.ts","sourceRoot":"","sources":["../../src/shaders/ShootingStarMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AA8B9B,QAAA,MAAM,oBAAoB;;;;;CAOzB,CAAC;AAIF,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC,OAAO,QAAQ,oBAAoB,CAAC;IAClC,UAAU,aAAa;QACrB,oBAAoB,EAAE,GAAG,CAAC;KAC3B;CACF"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Color } from 'three';
|
|
2
|
+
import { extend } from '@react-three/fiber';
|
|
3
|
+
import { shaderMaterial } from '@react-three/drei';
|
|
4
|
+
const vertexShader = /*glsl*/ `
|
|
5
|
+
varying vec2 vUv;
|
|
6
|
+
varying float vProgress;
|
|
7
|
+
attribute float progress;
|
|
8
|
+
|
|
9
|
+
void main() {
|
|
10
|
+
vUv = uv;
|
|
11
|
+
vProgress = progress;
|
|
12
|
+
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
const fragmentShader = /*glsl*/ `
|
|
16
|
+
uniform vec3 color;
|
|
17
|
+
uniform float opacity;
|
|
18
|
+
varying vec2 vUv;
|
|
19
|
+
varying float vProgress;
|
|
20
|
+
|
|
21
|
+
void main() {
|
|
22
|
+
float alpha = opacity * (1.0 - vProgress) * (1.0 - vProgress);
|
|
23
|
+
float glow = 1.0 - vProgress;
|
|
24
|
+
vec3 glowColor = color * (1.0 + glow * 0.5);
|
|
25
|
+
gl_FragColor = vec4(glowColor, alpha);
|
|
26
|
+
}
|
|
27
|
+
`;
|
|
28
|
+
const ShootingStarMaterial = shaderMaterial({
|
|
29
|
+
color: new Color(1.0, 1.0, 1.0),
|
|
30
|
+
opacity: 1.0,
|
|
31
|
+
}, vertexShader, fragmentShader);
|
|
32
|
+
extend({ ShootingStarMaterial });
|
|
33
|
+
export { ShootingStarMaterial };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Color } from 'three';
|
|
2
|
+
export interface SkyboxMaterialUniforms {
|
|
3
|
+
uSunAzimuth: {
|
|
4
|
+
value: number;
|
|
5
|
+
};
|
|
6
|
+
uSunElevation: {
|
|
7
|
+
value: number;
|
|
8
|
+
};
|
|
9
|
+
uSunColor: {
|
|
10
|
+
value: Color;
|
|
11
|
+
};
|
|
12
|
+
uSkyColorLow: {
|
|
13
|
+
value: Color;
|
|
14
|
+
};
|
|
15
|
+
uSkyColorHigh: {
|
|
16
|
+
value: Color;
|
|
17
|
+
};
|
|
18
|
+
uSunSize: {
|
|
19
|
+
value: number;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
declare const SkyboxMaterial: import("@react-three/fiber").ConstructorRepresentation<import("three").ShaderMaterial & {
|
|
23
|
+
uSunAzimuth: number;
|
|
24
|
+
uSunElevation: number;
|
|
25
|
+
uSunColor: Color;
|
|
26
|
+
uSkyColorLow: Color;
|
|
27
|
+
uSkyColorHigh: Color;
|
|
28
|
+
uSunSize: number;
|
|
29
|
+
}> & {
|
|
30
|
+
key: string;
|
|
31
|
+
};
|
|
32
|
+
export { SkyboxMaterial };
|
|
33
|
+
declare module '@react-three/fiber' {
|
|
34
|
+
interface ThreeElements {
|
|
35
|
+
skyboxMaterial: any;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=SkyboxMaterial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SkyboxMaterial.d.ts","sourceRoot":"","sources":["../../src/shaders/SkyboxMaterial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAI9B,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,SAAS,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAC5B,YAAY,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAC/B,aAAa,EAAE;QAAE,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAChC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAC7B;AAgDD,QAAA,MAAM,cAAc;;;;;;;;;CAWnB,CAAC;AAIF,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,OAAO,QAAQ,oBAAoB,CAAC;IAClC,UAAU,aAAa;QACrB,cAAc,EAAE,GAAG,CAAC;KACrB;CACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Color } from 'three';
|
|
2
|
+
import { extend } from '@react-three/fiber';
|
|
3
|
+
import { shaderMaterial } from '@react-three/drei';
|
|
4
|
+
const vertexShader = /*glsl*/ `
|
|
5
|
+
varying vec3 vWorldPosition;
|
|
6
|
+
varying vec3 vDirection;
|
|
7
|
+
|
|
8
|
+
void main() {
|
|
9
|
+
vec4 worldPosition = modelMatrix * vec4(position, 1.0);
|
|
10
|
+
vWorldPosition = worldPosition.xyz;
|
|
11
|
+
vDirection = normalize(worldPosition.xyz);
|
|
12
|
+
|
|
13
|
+
vec4 pos = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
|
14
|
+
gl_Position = pos.xyww;
|
|
15
|
+
}
|
|
16
|
+
`;
|
|
17
|
+
const fragmentShader = /*glsl*/ `
|
|
18
|
+
precision mediump float;
|
|
19
|
+
varying vec3 vWorldPosition;
|
|
20
|
+
varying vec3 vDirection;
|
|
21
|
+
|
|
22
|
+
uniform float uSunAzimuth;
|
|
23
|
+
uniform float uSunElevation;
|
|
24
|
+
uniform vec3 uSunColor;
|
|
25
|
+
uniform vec3 uSkyColorLow;
|
|
26
|
+
uniform vec3 uSkyColorHigh;
|
|
27
|
+
uniform float uSunSize;
|
|
28
|
+
|
|
29
|
+
void main() {
|
|
30
|
+
vec3 direction = normalize(vWorldPosition);
|
|
31
|
+
|
|
32
|
+
vec3 skyColor = mix(uSkyColorLow, uSkyColorHigh, clamp(direction.y * 0.5 + 0.5, 0.0, 1.0));
|
|
33
|
+
|
|
34
|
+
float azimuth = radians(uSunAzimuth);
|
|
35
|
+
float elevation = radians(uSunElevation);
|
|
36
|
+
vec3 sunDirection = normalize(vec3(
|
|
37
|
+
cos(elevation) * sin(azimuth),
|
|
38
|
+
sin(elevation),
|
|
39
|
+
cos(elevation) * cos(azimuth)
|
|
40
|
+
));
|
|
41
|
+
|
|
42
|
+
float sunIntensity = pow(max(dot(direction, sunDirection), 0.0), 1000.0 / uSunSize);
|
|
43
|
+
vec3 sunColor = uSunColor * sunIntensity;
|
|
44
|
+
|
|
45
|
+
gl_FragColor = vec4(skyColor + sunColor, 1.0);
|
|
46
|
+
}
|
|
47
|
+
`;
|
|
48
|
+
const SkyboxMaterial = shaderMaterial({
|
|
49
|
+
uSunAzimuth: 216,
|
|
50
|
+
uSunElevation: 24.68698059628387,
|
|
51
|
+
uSunColor: new Color(0xffe5b0),
|
|
52
|
+
uSkyColorLow: new Color(0x6fa2ef),
|
|
53
|
+
uSkyColorHigh: new Color(0x2053ff),
|
|
54
|
+
uSunSize: 1,
|
|
55
|
+
}, vertexShader, fragmentShader);
|
|
56
|
+
extend({ SkyboxMaterial });
|
|
57
|
+
export { SkyboxMaterial };
|