import { useRef, useMemo } from 'react' import { Canvas, useFrame } from '@react-three/fiber' import { BufferGeometry, Material, MathUtils, Mesh } from "three"; import { vertexShader } from './Shaders/Background/vertex'; import { fragmentShader } from './Shaders/Background/fragment'; const Fragment = () => { // This reference will give us direct access to the mesh const meshRef = useRef>(null); const uniforms = useMemo( () => ({ u_intensity: { value: 1.0, }, u_time: { value: 0.0, }, }), [] ); useFrame((state) => { if(!meshRef.current){ return; } const { clock } = state; //@ts-ignore meshRef.current.material.uniforms.u_time.value = 0.4 * clock.getElapsedTime()/5; //@ts-ignore meshRef.current.material.uniforms.u_intensity.value = MathUtils.lerp( //@ts-ignore meshRef.current.material.uniforms.u_intensity.value, 1.0, 0.02 ); }); return ( ); }; export const R3Gradient = () => { return (
); };