finds.dev← search

// the find

Trinkle23897/Computational-Graphics-THU-2018

★ 222 · C · MIT · updated Aug 2026

Computational Graphics - THU Spring 2018

Coursework repo from Tsinghua's 2018 computational graphics class, with three homeworks: rasterization (HW1, which the author calls trivial), a Bezier-surface scene rendered with path tracing and photon mapping (HW2), and image cloning via Mean Value Coordinates and Poisson editing (HW3). The useful part is HW2, a smallpt-derived CUDA photon mapper with an adaptive hybrid variant, aimed at people who want a compact GPU renderer to read or extend.

The benchmark script separates random noise from systematic bias against a converged path-traced reference, and the raw convergence numbers are checked in as a CSV. Most renderer write-ups report one of these and skip the other. The README says where its method is biased: the photon radius and spatial reuse trade bias for variance, and the final image is not fully unbiased. Several bias cells are blank, and the README does not hide that. Depth of field, soft shadows, dispersion, PBR and volumetric terms are all opt-in flags, so the default run reproduces the original scene and each extra effect can be compared on its own.

The 4K commands set the hybrid sample count by hand per scene (64 for the vase, 192, 576 or 1536 for the balls), so the claim that allocation does not depend on the scene covers per-pixel budgets, not the setup a new scene would need. All timings come from one H200 and the build line hard-codes -arch=sm_90. The CPU backend is a single g++ line with no Makefile or CMake file, and HW2 has no CMake file while HW3 does, so expect to edit flags for any other card. HW1 has no output images and the author calls it trivial, and HW3 implements one of the three offered options, so the repo covers less of the course than the title suggests. The README adds terms on top of MIT: a render that uses this code must link back to the README, and anyone with an A+ owes the owner a meal. Those conditions are not standard open-source terms, so check them before reusing code in a company project.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →