Rendering
Digital Image Synthesis, Fall 2008

Jump to...

project #1
project #3
final project
assignments


project #2: Realistic Camera Model

Assigned: 2008/10/29
Due: 11:59pm 2008/11/18

Project description

Most computer graphics algorithms assume pin-hole camera model. However, it can't capture some important characteristics of lens system used in most modern cameras, usch as depth of field, distortion, vignetting and sptaillay varying exposure. In this project, you will implement the realistic camera model proposed by Kolb et. al. in SIGGRAPH 1995. You can also refer to the slides from last year's TA, Shan-Yung Yang.

We will use the same assignment framework from University of Texas. you can download it here. The zip file contains
  • A stub C++ file, realistic.cpp, in which you will implement the plugin
  • Six pbrt scene files
  • Four .dat lens files
  • Binaries for a reference implementation
  • Various textures used by the scene files
The following is the suggested approach to finish this asignment, but feel free to do it other ways.
  • build an appropriate data structure for the lens system
  • build code to trace rays through this stack of lens. It is suggested to use a full simulation rather than thick lens approximation.
  • Write the RealisticCamera:GenerateRay function to trace randomly sampled rays through the lens system by firing rays at the back element of the lens.
  • Render images for the test scenes. Decrease the noise by changing the "integer pixelsamples" parameter.

Bells and whistls

You will get bonus points if you vary pixels' weights according to the radiometry fomula listed in the paper.

Submission

Please turn in the source code files that you have created or modified and a html report on what you have accomplished. In the report, you should at least show the following results:
  • The renderings of the scene, dof-dragons.*.pbrt, for four different types of lens systems at 4 samples per pixel.
  • The renderings of the scene, dof-dragons.*.pbrt, for four different types of lens systems at 512 samples per pixel.
This should be sent to our TA (sula -A-T- cmlab.csie.ntu.edu.tw).

Reference