Files
portfolio/app/components/ShaderGradientBackground.tsx
denshooter a814a7cab9 Add shader gradient background with halo effect
- Installed @shadergradient/react, three, and @types/three
- Created ShaderGradientBackground component with custom gradient settings
- Integrated background into root layout with blur effect (120px) and reduced opacity (0.5)
- Adjusted body background to work harmoniously with shader gradient
- Used sphere type with pink/orange gradient colors (#b01040, #b04a17, #e167c5)
- Configured animation, grain, and lighting for atmospheric effect
2026-01-27 01:25:02 +01:00

77 lines
1.7 KiB
TypeScript

"use client";
import React from "react";
import { ShaderGradientCanvas, ShaderGradient } from "@shadergradient/react";
const ShaderGradientBackground = () => {
return (
<div
style={{
position: "fixed",
top: 0,
left: 0,
width: "100%",
height: "100%",
zIndex: -1,
filter: "blur(120px)",
opacity: 0.5,
pointerEvents: "none",
}}
>
<ShaderGradientCanvas
style={{
position: "absolute",
top: 0,
left: 0,
width: "100%",
height: "100%",
}}
>
<ShaderGradient
animate="on"
axesHelper="off"
brightness={1.2}
cAzimuthAngle={180}
cDistance={3.6}
cPolarAngle={90}
cameraZoom={1}
color1="#b01040"
color2="#b04a17"
color3="#e167c5"
destination="onCanvas"
embedMode="off"
envPreset="city"
format="gif"
fov={45}
frameRate={10}
gizmoHelper="hide"
grain="on"
lightType="3d"
pixelDensity={2.9}
positionX={-1.4}
positionY={0}
positionZ={0}
range="disabled"
rangeEnd={40}
rangeStart={0}
reflection={0.1}
rotationX={0}
rotationY={10}
rotationZ={50}
shader="defaults"
type="sphere"
uAmplitude={4.2}
uDensity={0.8}
uFrequency={5.5}
uSpeed={0.4}
uStrength={4.6}
uTime={0}
wireframe={false}
/>
</ShaderGradientCanvas>
</div>
);
};
export default ShaderGradientBackground;