The following 186 words could not be found in the dictionary of 615 words (including 615 LocalSpellingWords) and are highlighted below:

ability   about   added   all   and   around   at   At   authors   automatically   axes   bad   batch   be   been   behave   between   beware   book   both   build   building   builds   By   by   camera   campus   can   casts   changing   choose   clockwise   compute   Coordinate   coordinate   copied   correct   counterclockwise   Debug   default   deprecated   describe   designed   didn   dir   direction   environment   except   feature   file   files   find   fix   for   found   frequently   function   functions   get   had   handed   home   how   However   however   If   images   implemented   in   In   incorrectly   installing   Installing   Instead   justintalbot   left   like   linker   little   look   Look   losing   make   manually   matrix   me   method   missing   Ms   new   nice   nicely   nicer   noticed   now   of   off   old   On   on   Open   options   other   others   output   page   pain   parallel   path   pbrt   place   precision   problem   problems   process   project   rather   Release   rendered   Replacing   required   requires   research   result   rid   right   rotations   run   same   scene   scenes   search   segment   set   setting   Shop   since   small   so   some   sometimes   spent   strange   subsequent   switches   Switching   System   system   than   that   The   the   them   Then   they   This   this   time   to   too   Transform   transform   trying   turn   turning   type   Up   up   uses   variable   variables   vector   vectors   warning   warnings   was   were   when   which   will   with   work   works   would   wrote   you  

    JustinTalbot/Assignment1

Installing PBRT

I didn't have too bad a time installing PBRT for both VS 2003 (at home) and VS 2005 (on campus). I spent some time, however, trying to make the process work a little nicer.

  • VS 2005 required turning off the deprecated function warning. Replacing all of the deprecated functions would have been a pain.
  • I added the missing type casts (about 6 of them) to get rid of the warnings about losing precision.
  • I copied the OpenEXR PDB files to the same directory as the LIB files, so the linker could find them.
  • I had to turn off parallel building in VS 2005.
  • Switching between Debug and Release builds (which I do frequently) was a pain since it requires changing the PBRT_SEARCHPATH. In VS 2005 I found that you can set environment variables in the Debug options for a project. By setting this for the Debug and Release builds, it now switches the search path automatically for me. VS 2003 doesn't have this nice feature. Instead, I set PBRT_SEARCHPATH to the Debug directory by default. Then I wrote a small batch file to change the environment variable when I run the Release build. This works nicely.
  • I added the ability to output to PFMs so I could look at the images in HDRShop.

Coordinate System

As others have noticed PBRT sometimes has strange coordinate system problems. The problem is that the LookAt() function is implemented incorrectly. On page 76 of the book the authors describe how to compute the right and up vectors for the LookAt matrix: right = up X dir. and newUp = dir X right. However, in the subsequent code segment, they compute: right = dir X up and newUp = right X dir. This switches the direction of the right vector.

The result is that any scene that uses LookAt to place the camera will behave like a right-handed coordinate system, except, rotations around the x and z axes will be clockwise, rather than counterclockwise. Any scene that uses some other Transform method to place the camera will be correct (left-handed).

If you choose to fix LookAt(), beware that you will also have to manually fix any scenes that were designed to be rendered with the old LookAt.

Here's a diff for the fix: http://research.justintalbot.org/pbrt/transform.cpp.1.diff

Recent