UNPKG

@visactor/vrender-animate

Version:

This module provides a graph-based animation system for VRender.

50 lines (49 loc) 1.48 kB
import type { EasingType } from '@visactor/vrender-core'; import { HybridEffectBase } from './base/CustomEffectBase'; export interface ParticleConfig { effectType?: 'explode' | 'vortex' | 'gravity'; count?: number; size?: number; strength?: number; useWebGL: boolean; } export interface ParticleData { x: number; y: number; originX: number; originY: number; vx: number; vy: number; r: number; g: number; b: number; a: number; life: number; size: number; } export declare class Particle extends HybridEffectBase { private particles; private positionBuffer; private colorBuffer; private particleConfig; constructor(from: null, to: null, duration: number, easing: EasingType, params: any); protected getShaderSources(): { vertex: string; fragment: string; } | null; protected applyWebGLEffect(canvas: HTMLCanvasElement): HTMLCanvasElement | null; protected applyCanvas2DEffect(canvas: HTMLCanvasElement): HTMLCanvasElement | null; private extractParticles; private updateParticles; private applyParticleForces; private applyGravityEffect; private applyVortexEffect; private updateParticleProperties; private prepareAndDrawParticles; private updateParticleBuffers; private setParticleUniforms; private cleanupTempBuffers; private applyCanvas2DExplode; private applyCanvas2DGravity; private applyCanvas2DVortex; }