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
Topics Covered
- Bezier Curve
- Curve and Surface
- Coordinates & Transformations
- Hierarchical Modeling
- Animation Basics
- Particle Systems
- Cloth Simulation & Mass Spring
- Ray Casting
- Ray Tracing
- Ray Tracing Acceleration
- Shading
- Texture Mapping
- Antialiasing
- Global Illumination
- Displays and Fabrication
- Rasterization
- Graphics Hardware
- Latest Research in Graphics
Textbook(s) and/or Other Required Material
No textbook required. Recommended books are listed below.
- Alan Watt, 3D Computer Graphics, 3rd ed. Boston, MA: Addison-Wesley, 1999.
- Samuel R. Buss, 3D Computer Graphics: A Mathematical Introduction with OpenGL, 1st ed. Cambridge, UK: Cambridge University Press, 2003.
- Akenine-Möller et al., Real-Time Rendering, 3rd ed. Natick, MA: A K Peters/CRC Press, 2008.
- Peter Shirley et al., Fundamentals of Computer Graphics, 3rd ed. Natick, MA: A K Peters/CRC Press, 2009.