ShaderDojo is a mix between ShaderToy and Project Euler.
Take on the challenge of transforming famous shaders, reshaping their style, colors, and effects to match
precise creative goals.
Start digging through one of our problems and
sharpen your creative coding skills.
Essentials
Before you dive into shaders, you need two things: patience and curiosity.
Learn how a piece works and meet it where it's at. The best shader artists know how to embrace the process,
bending light and math to create something beautiful.
u_time: Tracks how long the shader has been running (e.g., 4.32,
8.13, 0.1 seconds)
u_resolution: Stores the width and height of the rendering canvas (e.g.,
[800, 600])
gl_FragColor: Sets the final normalized RGBA color of each pixel (e.g.,
[1.0, 0.0, 0.0, 1.0] for red)
gl_FragCoord: Gives each pixel's coordinates in window space.
gl_FragCoord.xy represents the pixel's x and y position.
Vectors and Mathematics: Use highly optimized built-in functions for
efficient trigonometric and arithmetic operations.
Resources
Below are beginner-friendly resources to help you get started.