I am teaching Introduction to Computer Graphics and Game Development (SER332) this Spring. I have taught this course for a year – Spring 2018 and Spring 2017.
SER332 is a beginner level course for students interested in learning foundations of graphics and basic principles of the game development pipeline. We do programming in C/C++ and use the OpenGL graphics library.
The course includes 25 lectures and covers the following topics: course presentation; concepts of computer graphics; OpenGL overview; callback functions; vertex ; transformations (ModelView); transformations (Viewport); display lists and menus; transformations (Projection); linear algebra; fonts and OBJ files; mesh data structure; lighting; materials; and textures.
My slides for each lecture are available below:
- Course Presentation
- OpenGL Overview
- Callback Functions
- Laboratory 01 (Drawing in 2D)
- Model-View Transformations
- Viewport Transformation
- Laboratory 02 (Transformations)
- Display Lists and Menus
- Projection Transformation
- Laboratory 03 (Perspective)
- Linear Algebra
- Laboratory 04 (Camera)
- Fonts, OBJ Files, and Midterm Review
- Mesh Data Structure
- Laboratory 05 (OBJ Files)
- Mesh Data Structure II
- Laboratory 06 (Lighting)
- Laboratory 07 (Materials)
- Coding Review
- Final Review
There are four programming assignments. the last one is a comprehensive project where students create a 3D closed space that has rooms and hallways. It is a scenario for a first-person shooter game. Each room has furniture, light adjustments, materials, and textures.
Code for lecture examples is available here: javiergs/SER332