Syllabus and handouts

Homework assignments and laboratories

Software links and documentation

**Grades:**

~12 Homework assignments, 20 pts. each.

1 Midterm test, 30 pts.

Final exam, 50 pts.

For graduate students: project, 50 points.

An introduction to interactive programming: design and implementation of graphical user interfaces (GUI). Fundamentals of modern interactive graphics: image representation and processing, geometrical modeling, data structures, rendering, animation, virtual reality, hardware and software. No prior background in graphics is needed, although a good background in C++ programming and data structures is required. Prior completion of a geometrical course is recommended (like the M215-216 or M435). Some familiarity with computer architecture is assumed.

1. Introduction

2. Image representation

3. Graphical user interfaces

4. 2D computer graphics

5. 3D computer graphics- Introduction to 3D graphics
- 5.1 Projection
- 5.2 3D Transformations
- Introduction to OpenGL
- 5.3 Representation and modeling

Geometrical modeling

Complex geometrical objects in OpenGL

Scene graphs

Representation and modeling (continued)

Hidden surfaces - 5.4 Rendering

Local illumination models

The normal vector

Interpolation methods

Material properties

Global illumination models

Shadow, reflection and refraction

Texture mapping

Fractal terrain

Ray tracing

Ray casting

Radiosity

- Homework 13
- Homework 12
- Homework 11
- Homework 10
- Homework 9
- Homework 8
- Homework 7
- Homework 6 Solution with display lists
- Homework 5 Solution
- Homework 4 Solution including homework 2
- Homework 3
- Homework 2
- Homework 1 Solution

*Textbook:* E. Angel (2002): *Interactive Computer Graphics:
A Top-Down Approach Using OpenGL,* 3rd edition, Addison Wesley.

P. Rick (2002): *Computer animation : algorithms and
techniques*, Morgan Kaufmann Publishers.

A. Watt, F. Policarpo (2001): *3D games : real-time rendering and
software technology *, ACM Press.

D. Shreiner (2000): *OpenGL reference manual : the official
reference document to OpenGL, version 1.2*, 3rd edition,
Addison-Wesley.

D. Hearn, M. P. Baker (1997): *Computer Graphics, C Version*,
2nd edition, Prentice Hall.

D. M. Bourg (2002): *Physics for Game Developers*, O'Reilly.

A. Griffith (2000): *GNOME/GTK+ Programming Bible*, IDG Books.

Last modified: May 2, 2003.

danav@cs.iusb.edu.