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.