Week 20 — Coding Projects
Core
Write a tiny Monte Carlo renderer or integration demo.
- NumPy: Estimate integrals by random sampling. Build a tiny CPU path tracer or hemisphere-sampling estimator.
- Metal: Progressive simple path tracer or toy light transport estimator with compute-driven accumulation. · Reading: MBT — ray tracing or advanced rendering sections if included; otherwise compute-driven rendering accumulation.
- Vulkan: Compute-driven progressive renderer or toy path tracer. · Reading: Vulkan Book — compute/graphics integration, progressive accumulation, advanced rendering architecture.
- CUDA: Path tracing prototype with per-pixel random state management. · Reading: CUDA Book — Monte Carlo parallelism, random state management, per-pixel kernels.
- Stretch: Add progressive rendering. Add cosine-weighted hemisphere sampling.
- Verify: Estimate converges as sample count increases · Noise falls roughly with more samples · Accumulation is unbiased in the simple setup.