Overall teaching objectives:
Students should understand that light behaves both as a particle and as a wave, how it travels through a medium, and how it is perceived by humans. They should also understand the first paradox of conputer graphics (why the preceived color can be assumed constant along an unobstructed ray even though the perceived enery from a source decays quadratically with distance). They need to understad how to acquire a sampling of the lightfield flowing through a window and how to use is for Image-Based Rendering.
Motivation and relation to other modules: Computer
Graphics is fundamentally a methodology for simulating the behavior of light and of presenting images to be seen by the human eye. Hence, it is essential to understand how light behaves and how poorly humans perceive its color and intensity and its variation through space and time. Furthermore, the emerging field of Image-Based Rendering (IBR) promises solutions where high quality images of real scenes may be rendered from arbitrary viewpoints, without the need to model the scene geometry and reflective properties. The popular ray-tracing and rasterization techniques taught later in the class can be presented as clever simplifications and approximations of this lightfield model.
What students should know:
What is light and what are its properties.
When does it travel along straight lines and examples of when it does not.
Why can we consider that the perceived color is constant along an unobstructed ray.
How humans perceive color.
The feovial and peripheral acuity of the human eye and its variations with contrast, hue, and saturation.
How to acquire, store, and use a liightfield for IBR and the required storage if one is to meet human acuity.
The intensity of perceived light coming from a point light source decays quadratically with distance. Explain why it is acceptable to assume (as we usually do in Computer Graphics) that the intensity of light preceived along an unobstructed ray remains constant. Discuss situations where this assumption is no longer appropriate.
We have access to a megapixel screen and a head tracker. You want to write a program that will make that screen look like a window showing a view of the Alhambra Gardens. The view will change in repsponse to the head movements of the viewer. Please explain in details what you need to store, how you will acquire it, and how you will compute the color of each pixel P given the current location V of the head. Also discuss the required storage size.
Explain how humans perceive colors and how the visual acquity varies as a function of color and our gaze.
If you wanted to build a large cylindrical (360 degree panoramic) screen around a viewer for immersive experiences, how many pixels would you need to ensure that the resolution matches human acuity in the feovia. (assume that the vertical field of view is 90 degrees.