Introduction to Graphics

I am teaching SER332 Introduction to Graphics and Game Development. This is a beginner level course for students interested in learning foundations of graphics and basic principles of the game development pipeline. The programming language used in this course is C/C++ and the graphics API used is OpenGL.


Spring 2017 version


  1. Course Presentation
  2. Concepts
  3. OpenGL: Introduction
  4. OpenGL: Callback Functions
  5. OpenGL: Vertex and Shading
  6. OpenGL: Transformations (ModelView)
  7. OpenGL: Transformations (Viewport)
  8. Lab 1
  9. OpenGL: Display Lists and Menus
  10. OpenGL: Transformations (Projection)
  11. Lab 2 (Animation)
  12. OpenGL: Fonts, OBJ files, and Midterm Review
  13. Linear Algebra
  14. Mesh Data Structure
  15. Load Data in a Mesh Data Structure
  16. Lab 3 (OBJ Files)
  17. Lab 4 (Mesh)
  18. Light and Normals
  19. Materials
  20. Lab 5 (light and materials)
  21. Textures
  22. Lab 6 (Textures)
  23. Noise
  24. Lab 7 (Navigation)
  25. Lab 8 (Noise)
  26. Final Review


There are four programming assignments. the last one is a comprehensive project where students create a 3D closed space that has 4 rooms and 1 hallway. It is a scenario for a first-person shooter game. Using the key arrows the user should be able to explore the rooms and the hallway by navigating forward, backward, rotating right, and rotating left. Each room have different (1) environment adjustments, (2) textures, and (3) furniture.


GitHub repository