Yet Another Educational Ray Tracer


Wakame is a minimalistic ray tracer written in Java. It runs on Windows, Linux, and Mac OS and provides a foundation for the programming assignments in the course Realistic Image Synthesis taught at Cornell University.

Wakame is a Java port of Nori, an educational ray tracer written in C++ by the great Wenzel Jakob. You see, even this web page is a copy of the Nori's web page. Nori is Japanese for a kind of edible seaweed, and wakame is another kind of edible seaweed. Make sense?

Why is such a port even necessary? This is mainly because yours truly just hates dealing with C++ and its compile time hassles.

While Wakame provides much support code to simplify your development work as much as possible, the code that you will initially receive from us does very little: it loads a scene and saves a rendered image as an PFM imageā€”but the actual rendering code is missing, hence the output image just consists of black pixels. Your task will be to extend this system to a full-fledged physically-based renderer as part of programming assignments and your final project.

Core Features

The Wakame base code provides many features that would be tedious to implement from scratch. The following are included:

Programming Assignments

Preliminaries: Downloading, Compiling, and Running Wakame

Programming Assignment 1: Getting Started

Programming Assignment 2: Monte Carlo Tracings

Programming Assignment 3: Participating Media