Open source shader engine

Noisemaker

Noisemaker is an open source shader engine for the browser. It provides more than 200 composable effects, the Polymorphic composition language, and a WebGL2 and WebGPU runtime under the MIT license.

  • Free
  • MIT license
  • WebGL2 and WebGPU
  • No build step

Overview

Noisemaker is the rendering engine behind Noisedeck and every other Noise Factor visual tool. It gives tool builders an open effect format, a composition language, and a runtime that renders the same program on WebGL2 or WebGPU.

Effects are data. Each effect declares its parameters, inputs, textures, passes, and shader programs, so tools and coding agents can inspect an effect before they run it. Compositions are readable code: a layer stack, a camera filter, or an audio visualizer fits in a short Polymorphic program.

Noisemaker loads from a CDN as an ES module and embeds in any page with no framework and no build step. The engine, the compiler, and the effects library are MIT licensed, and ports and adapters take it to other platforms.

Features

Specifications

RuntimeBrowser ES module from https://shaders.noisedeck.app/1; no dependencies or build step
RenderingWebGL2 (GLSL) and WebGPU (WGSL)
EffectsOver 200 effects across filters, synths, classic Noisedeck effects, mixers, render utilities, point systems, and 3D effects
LanguagePolymorphic DSL
Effect formatPortable Effects Format
Other platformsPorts and adapters in separate public repositories; each documents its own coverage
Sourcegithub.com/noisefactorllc/noisemaker
LicenseMIT. Use of the name in derivative products follows the trademark policy.
PriceFree

Get started

  1. Try effects in the shader demo.
  2. Import the engine: await import('https://shaders.noisedeck.app/1/noisemaker-shaders-core.esm.min.js').
  3. Follow the integration guide to render a program into a canvas.
  4. For coding agents, start with llms.txt.

Resources

Questions

What license is Noisemaker under?
The MIT license. You can use it in commercial and non-commercial projects. Use of the Noisemaker name in derivative products follows the trademark policy.
Does Noisemaker need a build step?
No. Import the ES module bundle from the CDN and render into a canvas. It needs no framework and no dependencies.
Which GPU APIs does Noisemaker support?
WebGL2 and WebGPU. Every effect ships GLSL and WGSL shaders.
Can I use Noisemaker outside the browser?
Yes. Public ports and adapters cover Three.js, Babylon.js, Cables.gl, Hydra, Blender, Godot, Unity, TouchDesigner, Qt, C++, Rust, Python, Ruby, and Perl. Each port documents its own coverage.