Course Description
Introduction to computer graphics algorithms, software and hardware. Topics include ray tracing, the graphics pipeline, transformations, texture mapping, shadows, sampling, global illumination, splines, animation, color, fundamentals of virtual and augmented reality (VR and AR).
In this course, we will concentrate on 3D, not 2D illustration or image processing. You will learn:
- Fundamentals of computer graphics algorithms
- Basics of real-time rendering and graphics hardware
- Basic OpenGL
- C/C++ programming experience
- How to write efficient programs
- Algorithms that can help in Machine Learning (e.g. KDTree)
Prerequisite
50.003 Elements of Software Construction or knowledge of the following.
- C/C++: All assignments are in C/C++
- Calculus, Linear Algebra: Solving equations, derivatives, integral; vectors, matrices, basis, solving systems of equations.
Learning Objectives
Understand the fundamentals of computer graphics algorithms
- Implement graphics algorithms for a variety of applications: video games, movies, CAD, etc.
- Understand the different requirements of different applications.
- Understand the basics of real-time rendering and graphics hardware.
- Use C/C++ and OpenGL programming to build 3D graphics applications
Measurable Outcomes
Understand key topics related to computer graphics:
- Coordinate transformations
- Bezier curves and splines
- Representation and interpolation of rotations
- Computer animation
- Particle systems
- Collision detection
- Ray Tracing
- Rasterization and Shading
- Texture mapping
- Global illumination approaches