Computer Science


RL_pic2.jpg

Reinhard's Materials (COMPSCI 372, second part, 2007)

 

For exercises and hints to literature, see the end of these handouts (pdfs). Each handout will be online at least 2-3 days prior to the lecture. -- To ensure teaching of subjects relevant to 3rd assignment prior to its due date, the order of presentations does not match the order of chapters in the textbook.

Front pages of Part II

(1) Three-Dimensional Viewing (READING: parts of Chapter 7 of the 3rd edition)


  1. 30th March: View Volume and Camera Attitude
  2. 3rd April: Perspective Projections

(2) Rendering Faces for Visual Realism (READING: Chapter 8 of 3rd edition, without 8.5)
  1. 5th April: Shading Models
  2. 4th May: Visibility
  3. 8th May: Texture Mapping

(3) Introduction to Ray Tracing (READING: parts of Chapter 12 of 3rd edition)
  1. 10th May: Intersecting a Ray with a Single Object
  2. 11th May: Draw Shaded Pictures of Scenes
  3. 15th May: Organizing a Ray Tracer (by John Rugis)
    This lecture will be given by John Rugis, and he will in particular discuss issues how to implement a ray tracer in OpenGL (see your third assignment). See also a tutorial on writing a raytracer in C++ by Jacco Bikker, or POV-Ray which should be available on the lab computers.

(4) Color for Graphics (READING: Chapter 11 of 3rd edition)
  1. 17th May: Color Spaces and Graphics
  2. 18th May: Color Quantization
(5) Tools for Raster Displays (READING: parts of Chapter 9 of 3rd edition)
  1. 22nd May: Pixmap Operations
  2. 24th May: Bresenham's Line Drawing Algorithm
  3. 25th May: Operations on Regions
(6) Curve and Surface Design - Basics (READING: parts of Chapter 10 of 3rd edition)
  1. 29th May: Describing Curves; Bezier Arcs
  2. 31st May: Splines and NURBS
  3. 1st June: Modeling Curved Surfaces

Nine scenes (from Assignment 3, 2007)
Samples of Questions for BG53, BG61-BG63

SAMPLE CODE BY JOHN RUGIS:
This zip file contains sample code that John Rugis created to teach introductory OpenGL / C++ programming at MIT (Manukau Institute of Technology), New Zealand. There are five Visual Studio C++ 6.0 projects. If you don't already have it, the GLUT library must be installed first. Projects L001-L004 display a 3D sphere, progressively adding mouse and keyboard features for view orientation control, zoom control, and solid/wireframe. Project P001 is a 3D paddle and ball game. A sound effect is included.


FURTHER SUGGESTED READINGS:
see also recommended readings at the bottom of the multimedia imaging page, which are labeled by (BG...), addressing related parts of this Course.


Reinhard Klette (last update: 4 June 2007)