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

12th   300x300   400x400   A1   about   above   absolutely   accent   accordance   accuracy   acquainted   across   addition   additional   Additionally   adhere   adjust   again   all   Along   Alternatively   among   an   and   angle   Appendix   approximate   April   Area   area   around   ask   assignment   Assignment   assignment1   Assignment1   assume   at   At   Attribute   available   away   axis   back   backdrop   background   bald   based   basis   be   beautiful   become   been   Begin   beginning   behind   below   best   binaries   Build   build   built   by   Camera   camera   can   casting   center   changes   chapters   close   color   comfortable   command   commented   compiled   compiling   completely   compute   conditions   coneangle   config   configuration   Configuration   configurations   Congratulations   consisting   contain   containing   contains   convert   Convert   cool   Coord   correct   correctly   corresponding   costs   course   courses   Credit   credit   cs348b   dark   decrease   decreasing   defined   definition   describe   describes   description   Description   design   Design   designed   desire   detail   Detailed   details   developed   did   difference   different   direction   directive   directly   Disable   discuss   discussed   disk   doing   down   Download   Due   each   edu   effect   eg   emit   emitted   enabling   encountered   encourage   energy   even   evenly   exactly   example   expect   expected   experimentation   exr   exrdisplay   exrtotiff   extensively   eye   face   fact   familiar   field   figure   file   filename   files   fill   Film   Final   final   find   Firstname   float   following   For   for   format   fov   From   from   further   generally   generation   get   give   given   go   goal   good   graded   Grading   graphics   guidelines   hair   hand   handin   hard   head   higher   hints   how   How   however   if   illuminate   Illuminate   illumination   illustrated   illustration   illustrations   image   images   imaging   imitate   important   in   In   include   increase   indicated   installation   instructions   instructs   integer   integrator   jpg   large   Lastname   later   learn   least   left   Light   light   Lighting   lighting   lighting1   lighting2   lighting3   lighting4   lighting5   lights   like   line   lines   link   Linux   lists   little   ll   located   location   look   Look   love   lowdiscrepancy   luminance   Mac   made   main   make   manipulate   manipulating   manner   many   Many   mapping   matches   might   mimic   minimize   model   mood   more   move   name   need   no   noise   Normally   Notice   notice   Now   nsamples   number   oberve   objectionable   Of   of   off   on   Once   One   one   only   onto   Open   opposite   or   orientation   originally   originates   originating   other   our   out   output   over   page   paragraph   part   path   pbrt   per   perfect   perspective   photographer   Photographers   photographers   photon   Photoshop   physically   pixel   pixelsamples   placed   platform   platforms   Please   please   pleasing   png   point   pointed   points   portrait   position   post   practice   preference   Problems   process   produce   produced   program   programs   project   properties   provided   put   quality   Questions   quickly   radius   rate   rays   reach   reading   reasonable   recreate   referred   reflect   reflecting   reflection   region   remainder   Render   render   rendered   Rendering   rendering   renderings   Replace   reproduced   required   resolution   resulting   results   right   Rotate   S348   sample   Sampler   samples   sampling   scene   scenes   screen   second   See   see   separate   separates   set   setting   settings   setup   Setup   several   shadow   shadowing   shadows   Shape   shines   short   should   show   shown   side   similar   simple   simplest   single   size   slightly   smaller   so   soft   softer   software   some   Source   source   sources   space   specifies   speed   spot   Spotlight   spotlight   spr0607   staff   stanford   starter   statistics   Step   step   string   subject   submission   Submission   submitted   successfully   such   summary   surface   surfaces   Sys   system   take   test   tested   textbook   texture   that   The   the   them   then   Then   thing   things   this   This   throughout   Thursday   tif   tiff   time   to   To   took   toward   Transform   Translate   try   Try   tweaking   two   Two   Unfortunately   Unless   up   upper   upward   use   Use   used   useful   uses   using   utility   value   various   ve   version   very   view   viewing   visible   visual   visually   wall   way   ways   We   we   well   What   whatever   when   where   while   will   Windows   wish   With   with   within   without   Words   world   writeup   Writeups   xresolution   You   you   Your   your   yresolution   zip  


Assignment 1: Lighting Design in PBRT

Due: Thursday April 12th, 11:59PM

Please link to your final Assignment 1 writeup wiki page from Assignment1Writeups.


This assignment is designed to get you acquainted with compiling and using pbrt, the physically-based rendering system you will use throughout this course. Along the way you will learn a little about lighting design. Your goal should be to get comfortable with the software by rendering several test scenes and reading the beginning chapters of the textbook. pbrt has been developed and tested extensively on Linux, MacOS, and Windows. Feel free to use whatever platform you desire.

Step 1: Build pbrt

Detailed instructions for setting up pbrt on various platforms is available at PBRTInfo. For the remainder of this assignment, we'll assume pbrt is correctly built and that the pbrt binaries are in your system path.

Step 2: Render First Image

Once you have successfully compiled pbrt, you will render your first image. Download the assignment 1 starter pbrt files located at From within the directory containing a copy of the scene file, render an image with the command pbrt lighting.pbrt. Rendering the scene will take some time, and pbrt will print out statistics of the rendering process to the screen as well as output the image file lighting.exr.

Congratulations, you've rendered your first image with pbrt! Convert it to a TIFF file using pbrt's exrtotiff utility and then file the TIF using any imaging viewing program. Alternatively, you can view the EXR file directly using programs such as Photoshop or OpenEXR's exrdisplay. See the PBRTInfo page for more details.

To convert the EXR file to a tiff use the command: exrtotiff lighting.exr lighting.tif

A correctly rendered image is shown at left in the figure above. In this scene, the camera is pointed directly at the model of a face. A single spotlight shines on the face from behind the camera and slightly off to the right, casting a hard shadow onto the wall behind the model. The location of the camera and spotlight in this scene is illustrated on the right.

Step 3: Experiment With Lighting

Photographers use a number of light sources to illuminate a subject in a pleasing manner. In this assignment you will manipulate the lighting in the scene to create several images using pbrt. Try your best to imitate the provided renderings, using the illustrations as hints on where to position the light in the pbrt scene. In your final submission you will hand in a zip file containing each of your renderings and the scene files you used to create them (hand-in instructions are provided in step 4).

Configuration 1. Spotlight from below: First, we will move the spotlight so it points upward at the face from below. Open the lighting.pbrt scene file and find the description of the spotlight in the file. It should look like this:

LightSource "spot" "color I" [50 50 50] "point from" [0.5 0 4.7] "point to" [0 0 0] "float coneangle" [60]

As expected, the light is located behind the camera down the Z axis and slightly off to the right ("point from" field). It is pointed at the center of the scene ("point to") where the model is located. Now move the light so that it is pointed at the model from the position and orientation shown below. A simple change in lighting completely changes the mood of the portrait.

Configuration 2: Area light from right: The light from a pbrt spotlight originates from a single point in space. Light originating from a single point in space results in hard shadows that photographers generally find visually objectionable. Area lights emit light from a large region in space, resulting in softer lighting of the subject and the generation of soft shadows. The pbrt scene file contains the following definition of an area light (commented out originally in the file):

  AreaLightSource "area" "color L" [10 10 10] "integer nsamples" [4]
# use camera coordinate system (optional)
  CoordSysTransform "camera"

# adjust light source position
  Translate 0 0 -2
  Rotate 90 1 0 0
Shape "disk" "float radius" [1.5] 

Light from this source is emitted from a region given by a disk of radius 1.5. The luminance (or energy) emitted by this light source is given by the value "L". Replace the spotlight from configuration 1 with this area light and produce an image similar to the one shown below.

You will notice an increase in rendering time when enabling the area light in the scene. This is a good time to discuss ways to speed up rendering to make the process of tweaking a scene go quickly. The simplest way of doing this is to decrease the size and quality of the rendered image. Notice that lighting.pbrt is set up to render 300x300 images. To render smaller images, change "xresolution" and "yresolution" in the Film definition in the lighting.pbrt file.

Film "image" "string filename" ["lighting.exr"]
        "integer xresolution" [300] "integer yresolution" [300]

Additionally, decreasing the number of samples (eye rays) that pbrt uses to compute each output pixel's value will also speed up rendering. The Sampler definition in lighting.pbrt instructs pbrt to sample each output pixel using two rays. We ask you to increase this value to 4 for your final hand in images, however while setting up your scenes you might wish to use only a single sample per pixel to minimize rendering costs.

 Sampler "lowdiscrepancy" "integer pixelsamples" [2] 

Configuration 3: Two light sources: Notice how the left side of the face is in shadow in configuration 2. In fact, it is so dark that no detail is visible at all. A photographer might use a additional lights to illuminate the subject more evenly. In this setup, a spotlight shines on the model at an angle from the left, and a reflecting surface is placed to right of the model to reflect light back onto the dark side of the face, resulting in more even illumination. This second source of lighting on the model is referred to as fill lighting. One way to approximate this effect in pbrt is to use two light sources. Illuminate the model using a spotlight from the position indicated in the illustration below. Then use a large area light on the right of the model to give the effect of fill lighting on the dark side of the face. Render a version of the scene without the fill lighting to oberve the visual difference.

Configuration 4: Many light sources: In practice, many lights are used to illuminate the subject exactly to the photographer's preference. Try and adjust the lighting conditions to recreate the scene below where four light sources are used to create a very pleasing illumination across the model. Notice that in this example you will also need to move the position of the camera to view the model from a slightly different angle. Camera settings are defined by the following two lines in the scene file. The LookAt directive specifies the position of the camera in world space, the location the camera is pointed at, and the "up" direction of the camera.

LookAt 0 0 4.5  0 0 0   0 1 0
Camera "perspective" "float fov" [22]

The following 4 images show the separate effect of the four light sources.

The main light is on the side of the face away from the camera.

The fill light is close to the camera on the opposite side from the main light.

The accent light shines toward the upper part from the back of the subject. Normally, it is used to highlight texture of hair. "Unfortunately," our model is bald. :-)

The background light separates the subject from the background. It is placed behind the subject and to one side, lighting toward the backdrop.

Step 4: Submission and Grading

Please try to do your best to mimic the lighting configurations in the example renderings, however we do not expect your images to be absolutely perfect matches. The important thing is that you become familiar with using pbrt and manipulating properties of the scene files. This assignment will be graded on a credit/no credit basis. Credit will be given if the example renderings are reproduced to reasonable accuracy and the assignment is submitted in accordance with the instructions below:

Your handin will be a zip file (please put your name in the filename: eg consisting of 4 rendered images in PNG format, see required rendering setting given below) and 4 pbrt scene files corresponding to the 4 lighting configurations discussed in step 3. Please email this zip file to the course staff at with the subject line "CS348B Assignment 1". (do not post your final scene files on the course wiki). In addition, please create a wiki page containing a 1-2 paragraph summary of the process you took to reach the correct scene configurations. Your summary might describe:

  • Problems you encountered with the pbrt build/installation process?
  • How did you speed up the render-view results-render again process?
  • What other experimentation did you do in this project? (include any cool images you made on the wiki page)

Setup a link to your Assignment 1 wiki page from Assignment1Writeups.

Please adhere to the following guidelines when rendering your final images:

  • Render all final images at a resolution of 400x400, with at least 4 samples per each image output pixel, and at least 4 samples per each area light source in your scenes. Unless you increase the sampling rate, you'll see some noise in the shadows in your images (the images above are rendered using higher sampling).
  • Please name your files for configuration X config_X.png and config_X.pbrt, that is, your handin should contain the following files.

    • config_1.png -- your rendering of configuration 1

    • config_1.pbrt -- pbrt scene file that produced config_1.png

    • config_2.png

    • config_2.pbrt

    • config_3.png

    • config_3.pbrt

    • config_4.png

    • config_4.pbrt

Final Words

We encourage you to experiment around further with pbrt over the course of this assignment. Of course, if you create beautiful images include them in your submission or post them on the wiki, we'd love to see them! Here are some additional things to try that might become useful to you later in the course:

  • Disable shadowing in the rendered image
  • Use a photon mapping surface integrator to model the inter-reflection of light among the surfaces of the head model.
  • Appendix C of the pbrt textbook describes the pbrt scene file format in detail.
  • Questions? Please email