Shadeup is a language (DSL) crafted to make shaders a breeze. Powered by WebGPU, extended from TypeScript, and designed to minimize boilerplate
Shadeup provides a low-friction environment for learning, experimenting, and building on
the web.
Open-source and documented, Shadeup is the perfect place to start your journey into the world
of graphics programming.
Shadeup is a DSL (domain specific language) that abstracts away the complexities of WebGPU and trades low-level surface area for faster code iteration
Unlike traditional graphics setups, Shadeup keeps your CPU and GPU code in the same file.
Enjoy shared types, functions and more.
Thanks to the same language model, Shadeup allows you to use functions on both the CPU and GPU sides of your app.
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
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.
Shadeup aims to unlock every aspect of WebGPU, and although it doesn't quite support everything (yet) it does support the following and more
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.