I’ve bundled my thesis implementations and put them up for download on the thesis code page. The thesis text (and a small overview) can be downloaded from the thesis page itself.

I’d like to thank my promotor, suprvisors and readers for all their efforts, and hope my work and code will be useful for other NPR enthousiasts.

If you want to experiment with Physically Based Rendering, PBRT is the tool to use. Unfortunately, the latest builds (>1.03) have some incomplete instructions on how to build PBRT on your own machine. I’ve built it on Ubuntu 9.10 and 10.04 using the following instructions:

  • PBRT needs the OpenEXR libraries, but unlike it mentions in its makefile, just installing openexr and libopenexr-dev is not enough. The full apt-get install line should read:
    sudo apt-get install openexr openexr-viewers libopenexr-dev libilmbase-dev.
  • The makefile looks for EXR libraries in /usr/local/*, while ubuntu installs them in /usr/lib. The following lines in the makefile should be changed:
    EXRINCLUDE = -I/usr/local/include/OpenEXR to EXRINCLUDE = -I/usr/include/OpenEXR
    EXRLIBDIR = -L/usr/local/lib
    to EXRLIBDIR = -L/usr/lib
  • PBRT should compile now, by running make in the source directory.
  • Before you can render scenes, you should set the PBRT_SEARCHPATH environment variable. In a terminal, type:
    export PBRT_SEARCHPATH = /location/to/pbrt/bin
    (the bin folder was created in the make process)

Well, I hope this is a timesaver! :)

A new implementation of regular contours got rid of the noise I had in certain models with sharp edges (Stanford Dragon).
Further optimization made it possible to record this demo:

Now, I’m trying to find out why the suggestive contours ‘flicker’ in nearby viewpoints.

Code is poetry. Please, Suffusion WordPress theme by Sayontan Sinha