Introduction to Computer graphics
This course is designed to be a first course in computer graphics, and as such, no previous experience in graphics is assumed. If you have had any prior course in computer graphics, this course may be too basic for you. The only knowledge that you need coming into this course is basic linear algebra and strong programming skills.
Course topics include: output hardware, rasterization, 2D and 3D transformations, projection, hidden surfaces, color vision, surface reflectance and illumination, texture mapping, shadows, anti-aliasing, hardware graphics pipeline, GPU programming, ray tracing, polyhedral models, polynomial curves and surfaces, subdivision surfaces. A few student-chosen topics will be covered near the end of the course.
For this class, we will use modern web technology to create interactive 3D graphics for the web. Students will program in Typescript, a modern, object-oriented superset of Javascript, and will use WebGL, CSS3 3D Transforms, and three.js for their assignments.