Announcements
- Have a good Summer!
- Interested in being an Undergraduate Teaching Assistant (UTA)?
- View previous announcements
Course Description
This course aims to be a comprehensive introduction to basic concepts and algorithms in the exciting field of Computer Graphics. Topics covered include the fundamentals of 2D and 3D transformations, 3D viewing and perspective transformations, light reflection models, hidden surface removal algorithms and data structures, geometric modeling, animation, 3D interaction devices and user interaction techniques, as well as visual perception and color science.
The course will be based upon OpenGL which, though not a graphics standard, is widely acknowledged as the graphics library of choice on most high-end graphics systems. In particular, OpenGL positions students to participate in Duke's advanced research projects and virtual reality projects. It is important to emphasize that this is not a course on OpenGL, but rather on both the theory and practice of graphics concepts that it supports. However, some class time will be spent on OpenGL basics needed to support homework projects.
This course assumes you have significant programming experience in C++ or Java and a basic knowledge of calculus and some linear algebra. Note that this class is as much a math course as it is a programming course since Computer Graphics is essentially the visualization of mathematical concepts.
Feedback
The Computer Science department at Duke University aims to excel in education and research. To ensure that our courses fulfill student needs and expectations, you can submit comments about this course anonymously or use the Suggestion Box icon at the bottom of each page. These comments will be read by the Director of Undergraduate Studies for Teaching and Learning in addition to the professors teaching the course. Our goal is to adapt the subject and delivery of our courses to meet student needs while maintaining our high standards.