Capstone Projects
Ten fullscreen HLSL pixel shaders: gradients, SDF shapes, patterns, value/Perlin noise, plasma, kaleidoscope, metaballs, Mandelbrot with operator-overloaded complex numbers, and a ray-marched scene.
Project 1 — Shader art gallery (beginner)
Ten fullscreen HLSL pixel shaders: gradients, SDF shapes, patterns, value/Perlin noise, plasma, kaleidoscope, metaballs, Mandelbrot with operator-overloaded complex numbers, and a ray-marched scene. *Concepts: SV_Position/UV math, intrinsics, SDFs, noise, HLSL 2021 structs/operators.*
Project 2 — Lit scene renderer in D3D11 (beginner/intermediate)
Textured models with Blinn–Phong (directional, point, spot), normal mapping, skybox, environment reflections, alpha testing, and an ImGui panel. *Concepts: semantics, cbuffers and packing, Texture2D/SamplerState, TBN, cube maps.*
Project 3 — Post-processing studio (intermediate)
HDR pipeline with bloom, ACES/AgX tone mapping, color-grading LUTs, FXAA, vignette, chromatic aberration, CRT — implemented in both pixel and compute shaders with timing comparisons. *Concepts: render targets, separable filters, groupshared tiles, color science, GPU timestamps.*
Project 4 — PBR engine in D3D12 (advanced)
glTF 2.0 loader, Cook–Torrance + IBL (compute-generated maps), cascaded shadow maps with PCF, root signatures written in HLSL, PSO caching, PIX-debuggable builds. *Concepts: BRDFs, IBL, root signatures, registers & spaces, shadows, DXC toolchain.*
Project 5 — GPU-driven bindless renderer (advanced)
SM 6.6 ResourceDescriptorHeap, vertex pulling, meshlets with amplification/mesh shaders, Hi-Z occlusion culling, wave-intrinsic compaction, and ExecuteIndirect fallback. *Concepts: bindless, mesh shaders, wave intrinsics, compute culling, indirect rendering.*
Project 6 — GPU particles & fluid simulation (advanced)
A million particles with emit/simulate/sort/render passes (counter buffers, InterlockedAdd, bitonic or radix sort) and a 2-D grid fluid (advection, divergence, Jacobi pressure solve) rendered as smoke. *Concepts: compute, UAVs, atomics, append/consume or counter buffers, ping-pong textures.*
Project 7 — Cross-platform shader pipeline (expert)
One HLSL codebase compiled to DXIL (D3D12) and SPIR-V (Vulkan) with DXC, then to MSL via SPIRV-Cross (or authored in Slang); reflection-driven root signature/descriptor-set creation; permutation management and a shader cache; CI that validates all targets. *Concepts: DXC, SPIR-V attributes, cross-compilation, reflection, permutations, build systems.*
Project 8 — Real-time ray-traced renderer (expert)
DXR pipeline with ray generation, closest-hit, any-hit (alpha), miss and procedural intersection shaders; ray-traced shadows, reflections and AO (or a full path tracer) with temporal accumulation and denoising; RayQuery fallback paths; optional SER (SM 6.9) experiments; a work-graph-based tile classification pass. *Concepts: acceleration structures, DXR shader types, SBT, RayQuery, work graphs, denoising.*