This class is covers 2-D and 3-D interactive computer graphics, emphasizing concepts and programming. We will use HTML5 Canvas for 2-D graphics programming and WebGL (compatible with OpenGL ES 2.0) for 3-D graphics programming. Interactive graphics topics will include a brief overview of rasterization algorithms, interactive graphics programming techniques, transformations for 3-D graphics, lighting and shading, hidden surface removal, and an overview of graphics hardware. To that we will add some coverage of image processing, compression algorithms, and ray tracing and radiosity, and modeling.
The course will be organized around the projects, giving you what you need to know in time to accomplish each of the projects. Projects may include a "Photoshop Nano" paint and image processing program, a 3-D model viewer using a virtual trackball metaphor for rotating and viewing an object with lighting and shading, and a first-person program for moving around in a 3-D environment you construct.
Course outcomes: Students successfully comleting this course will demonstrate the ability to