Web GPU shaders
without the boilerplate

Shadeup is a language crafted to make shaders a breeze. Powered by WebGPU, extended from TypeScript, and designed to minimize boilerplate

The power of WebGPU
with just a few lines of code

Shadeup abstracts away the process of pipelines, buffers, uniforms, and other boilerplate to let you spend more time tinkering and less time typing

Dance between the

Code you write in Shadeup is cross-compiled to WGSL and Javascript. Function not working as expected? Debug it on the CPU by simply calling it

Frictionless uniforms

Never define a uniform again. Shaders act like closures, and can access most CPU-declared variables... Need the mouse position? Just use it, Shadeup will figure out the rest.
And yes, it works with primitives like scalars, vectors, and structs, as well as buffers, textures, and arrays

Advanced techniques

Shadeup's core philosophy is to make complicated algorithms easy to read/learn from. The primary way this is achieved is by stripping away fluff and making sure the remaining lines are clear and impactful.

And much more

Shadeup aims to unlock every aspect of WebGPU, and although it doesn't quite support everything (yet) it does support the following and more

  • Compute Shaders
  • Buffers
  • Render Targets
  • Textures
  • Attachments
  • Instancing
  • Atomics
  • Indirect Drawing
  • Indirect Compute

Ready to get started?

Although Shadeup is still in its early stages, it's already capable of producing some pretty cool things!
The docs are a great place to start learning about the language and its features.