CMSC 427
Computer Graphics
Spring 2015




In CMSC 427 we will study the basics of computer graphics.  The goal of the course is to teach fundamental principles that underlie computer graphics algorithms, and also to teach computer graphics programming.  We will focus on graphics methods used to render realistic images of scenes.  We will focus on three key areas: 1) Geometry: how do we represent 3D models, describe their position and motion in 3D, project them into 2D images, and render these 2D projections with pixels?  2) Photometry: how we represent light, model the way objects reflect light, and the path that light takes as it bounces off objects or as objects shadow each other?  3) Image processing: how do we turn one image into another? For example, how do we make an image larger or smaller?  How do we blur or sharpen an image? We will also learn graphics programming using OpenGL.


Lectures will focus on the theory and algorithms of computer graphics.  Projects will allow you to apply these principles to create interesting images and interactive graphics systems.



Class Time  

Tue, Thu 11:00-12:15


CSI 2107




Teaching Assistant


David Jacobs

Zheng Xu


djacobs at cs

2015cmsc427 at gmail


AVW 4421

AVW 1112

Office hours

Tuesday 3-4

Wednesday 4-5

(or send email to make an apt)

Wed. 10-12

If you cannot make these office hours, please send email to arrange another time.

Class announcements and discussions will use Piazza.  We will set this up once class starts.


            Schedule and Problem Sets           Syllabus

Useful Links

·       Qt Documentation

·       OpenGL in Qt

Dave Mount's CMSC 427 Lecture Notes

·       OpenGL/GLSL Quick Reference Guide

Learning Modern Graphics Programming

·       OpenGL Documentation

· C++ Tutorial

·       Brown University CS123 Java to C++ Tutorial