Shadeup is a language crafted to make shaders a breeze. Powered by WebGPU, extended from TypeScript, and designed to minimize boilerplate
Shadeup abstracts away the process of pipelines, buffers, uniforms, and other boilerplate to let you spend more time tinkering and less time typing
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
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.