Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

webgl-generative-particles

Package Overview
Dependencies
Maintainers
0
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webgl-generative-particles

An efficient WebGL-based generative particle system.

  • 0.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
415
decreased by-8.59%
Maintainers
0
Weekly downloads
 
Created
Source

WebGL Generative Particles

This library is a Work In Progress. Feel free to request features, report bugs, or contribute. We aim to keep the APIs stable, though some changes may occur.

test Maintainability codecov Version Downloads npm bundle size Gitpod ready-to-code

"webgl-generative-particles" is an efficient WebGL-based generative particle system simulator designed for both React and vanilla JS applications. This system follows the mouse pointer, providing interactive and dynamic visual effects. It offers seamless integration with React (including React 18 and beyond) and Next.js, making it an ideal choice for modern frontend development. The simulator is customizable, compatible with various frameworks, and delivers high performance and real-time rendering for progressive web development.

Check out the live demo at - https://webgl-generative-particles.vercel.app/

Features

✅ Fully Treeshakable (import from webgl-generative-particles/react)

✅ Fully TypeScript Supported

✅ Leverages the power of React 18 Server components

✅ Compatible with all React 18 build systems/tools/frameworks

✅ Documented with Typedoc (Docs)

✅ Examples for Next.js, Vite, and Remix

Please consider starring this repository and sharing it with your friends.

Getting Started

Installation

Using pnpm:

$ pnpm add webgl-generative-particles

Using npm:

$ npm install webgl-generative-particles

Using yarn:

$ yarn add webgl-generative-particles

Usage

import { Particles } from "webgl-generative-particles/react";

<Particles
  fullScreenOverlay
  options={{
    rgba: [0, 1, 0, 0.5],
  }}
/>

Simulator Options

export interface ParticlesOptions {
  /** Particle Color @defaultValue [1, 0, 0, 1] -> red */
  rgba?: [number, number, number, number];
  /** Maximum number of particles @defaultValue 100_000 */
  maxParticles?: number;
  /** Particle generation rate @defaultValue 0.5 */
  generationRate?: number;
  /** Overlay mode @defaultValue false */
  overlay?: boolean;
  /** Disable mouse interaction @defaultValue false */
  mouseOff?: boolean;
  /** Min and max angles in radians @defaultValue [-Math.PI, Math.PI] */
  angleRange?: [number, number];
  /** Min and max age of particles in seconds */
  ageRange?: [number, number];
  /** Speed range [minSpeed, maxSpeed] */
  speedRange?: [number, number];
  /** Initial origin, will update as per mouse position if mouseOff is not set @defaultValue [0, 0] */
  origin?: [number, number];
  /** Constant force [fx, fy] or a force field texture (Work In Progress) */
  forceField?: Vector2D; //| Vector[][] | string;
}

Credits

The concepts in this library were learned from the following blogs and tutorials:

License

This library is licensed under the MPL-2.0 open-source license.

Please consider enrolling in our courses or sponsoring our work.


with 💖 by Mayank Kumar Chaudhari

Keywords

FAQs

Package last updated on 02 Jul 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc