Capstone Projects
Ten Shadertoy-style fragment shaders: gradients, shapes with SDFs, patterns, noise textures, animated plasma, kaleidoscope, metaballs, and a simple ray-marched scene.
Project 1 — Shader art gallery (beginner)
Ten Shadertoy-style fragment shaders: gradients, shapes with SDFs, patterns, noise textures, animated plasma, kaleidoscope, metaballs, and a simple ray-marched scene. *Concepts: coordinates, shaping functions, SDFs, noise, animation.*
Project 2 — Lit scene renderer (beginner/intermediate)
OpenGL/WebGL scene with textured models, Blinn–Phong lighting (directional, point, spot), normal mapping, skybox, and environment reflections; ImGui controls. *Concepts: MVP, lighting, textures, TBN, cube maps, uniforms/UBOs.*
Project 3 — Post-processing studio (intermediate)
Real-time camera or video input with switchable filters: blur, sharpen, edge detection, bloom, color grading LUTs, pixelation, CRT effect, chromatic aberration. *Concepts: framebuffers, convolution, multi-pass rendering, color science.*
Project 4 — PBR engine (advanced)
glTF 2.0 loader with metallic-roughness PBR, IBL from HDR environments (precomputed with shaders), cascaded shadow maps, HDR + ACES/AgX tone mapping, TAA or FXAA. *Concepts: BRDFs, IBL precomputation, shadows, HDR pipeline.*
Project 5 — Deferred renderer with many lights (advanced)
G-buffer, clustered light culling in a compute shader, SSAO, SSR, bloom, and 1000+ dynamic lights at interactive frame rates. *Concepts: MRT, compute shaders, SSBOs, screen-space effects.*
Project 6 — GPU particle & fluid simulation (advanced)
Million-particle system with compute shaders (curl noise, collisions against SDFs or depth), sorting for transparency, plus a 2-D grid-based fluid (advection, divergence, pressure solve) rendered as smoke/fire. *Concepts: compute, SSBOs, atomics, ping-pong textures, numerical simulation.*
Project 7 — Procedural world (expert)
Infinite terrain with tessellation and LOD, procedural texturing (triplanar + splatting), vegetation via instancing or mesh shaders, water with FFT waves, volumetric clouds and atmospheric scattering, day/night cycle. *Concepts: tessellation, noise, instancing, volumetrics, large-scale rendering.*
Project 8 — Vulkan ray-traced renderer (expert)
Vulkan application with ray-traced shadows/reflections/AO (or a full path tracer) using GL_EXT_ray_tracing, denoising (temporal + spatial), and a rasterized fallback. *Concepts: Vulkan GLSL, SPIR-V, acceleration structures, ray tracing shaders, denoising.*