Computer Graphics
COMP 770 (236)

Time: MW 11:00-12:15
Room: SN011

Instructor: Brandon Lloyd
Email: blloyd@cs.unc.edu
Telephone: 962-1787
Office: SN349
Office Hours: 1:00-2:00 MW

The official description for this course can be found here.

Prerequisites

COMP 665 (235). We will review the relevant material from this course during the first few lectures. Students should have a basic knowledge of linear algebra. Programming projects will be done in a C-like language (C++, C#, Java, Python).

Textbook

There is no official text for this course. Most of the material covered in this course can be found on the Internet. The lecture notes will be made available on-line. A good text, however, can reinforce and provide a more in-depth treatment of the material discussed in the lectures. Here is a non-exhaustive list of suggested reference texts:

Fundamentals of Computer Graphics
by P. Shirley, A.K. Peters

Computer Graphics: Principles and Practice
by J. Foley, A. Van Dam, S. Feiner and J. Hughes, Addison Wesley.

Advanced Animation and Rendering Techniques: Theory and Practice
by A. Watt and M. Watt, Addison Wesley.

Interactive Computer Graphics: A Top-Down Approach Using OpenGL
by E. Angel, Addison Wesley.

Lecture schedule

The following topics (subject to change) will be covered in the course in approximately the following order:

  • Imaging and 2D Transformations
  • 3D Transformations
  • Projections
  • Interaction, picking, and, selection,
  • Hidden surface removal
  • Clipping and rasterization
  • Lighting and shading
  • Texture mapping
  • Shadows
  • Ray tracing
  • Curves and surfaces
  • Simplification and levels of detail
  • Global illumination
  • Graphics hardware
  • Image-based rendering

Assignments and Tests

There will be several programming assignments during the semester relating to the following topics:

  • Viewing and manipulating 3D models with OpenGL
  • Rasterization and clipping
  • Texture mapping and lighting
  • Raytracing

There will also be a final project. Students will submit proposals for a project of their choosing. The final projects will be presented by the students at the end of the semester.

In addition, there will be 2 tests during the semester. The final project will take the place of a final exam.

Grading

A student's grade will be determined according the following percentages:

Assignments: 40%
Final Project: 30%
Tests: 30%

All assignments are given with ample time for completion. Late assignments will be docked 5% for each day (M-F) they are late. Students will be expected to abide by the university honor code.