Skip to content
Projects

pbakaus/radiant has 1,036 GitHub stars and 77 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-09 11:54 UTC. Last push 2026-09-10.

How these counts are measured

A curated collection of generative shader art

Measured star growth

in 24h
+1
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Radiant

Radiant

Open source shaders and visual effects for the web.
Drop-in canvas animations — zero dependencies, zero build step.

94 shaders MIT License Live Gallery

Radiant Gallery


Quick Start

Every shader is a self-contained HTML file — <style> + <canvas> + <script>. No framework, no bundler, no runtime. Use them anywhere.

1. Pick a shader

Browse the gallery or download the shader pack. You can also grab individual files from the static/ directory in this repo.

2. Embed it

<iframe
  src="event-horizon.html"
  style="position: fixed; inset: 0; width: 100%; height: 100%; border: 0; z-index: -1;"
></iframe>

That's it — a full-screen animated background in one tag.

3. Control it at runtime

Shaders accept live parameter updates through postMessage:

const iframe = document.querySelector('iframe');

// Adjust any parameter on the fly
iframe.contentWindow.postMessage(
  { type: 'param', name: 'ROTATION_SPEED', value: 0.6 },
  '*'
);

Each shader's parameters (name, range, default) are listed in src/lib/shaders.ts.

Use Cases

  • Website backgrounds — full-viewport ambient animation behind your content
  • Hero sections — eye-catching landing page visuals
  • Presentations — animated slides and speaker backdrops
  • Digital signage — lobby screens, event displays
  • Creative coding — remix, fork, and learn from real Canvas 2D and WebGL techniques

What's Inside

94 shaders across Canvas 2D and WebGL, organized by visual style:

Tag Description
fill Full-canvas effects (backgrounds, textures)
object Standalone centered elements
particles Particle systems and swarms
physics Physics simulations (springs, waves, gravity)
noise Perlin/simplex noise-driven visuals
organic Fluid, biological, and natural forms
geometric Hard-edged patterns and tessellations

Every shader includes:

  • Mouse/touch interaction
  • Tunable parameters via postMessage
  • Visibility-based pause (saves battery)
  • DPR-aware rendering (capped at 2x)
  • 60fps targeting on standard hardware

Color Schemes

The gallery supports 6 color schemes applied via CSS filter on the iframe — no shader modification needed:

Scheme Filter
Amber (default) none
Mono grayscale(1)
Blue hue-rotate(175deg)
Rose hue-rotate(300deg) saturate(1.1)
Emerald hue-rotate(90deg) saturate(1.2)
Arctic hue-rotate(180deg) saturate(0.5) brightness(1.1)

Development

npm install
npm run dev       # Start dev server
npm run build     # Production build
npm run check     # TypeScript + Svelte checks

The gallery frontend is SvelteKit 2 + Svelte 5. Shaders themselves require no build step.

Contributing

See CONTRIBUTORS.md for local development setup, conventions, and how to add new shaders.

License

MIT — Copyright (c) 2025 Paul Bakaus

Use these shaders in personal projects, commercial products, client work — whatever you want. Attribution is appreciated but not required.

Explore related projects