Course Description
This course will cover the fundamentals of 2D and 3D computer graphics, such as curves, 3D modeling, animation, rendering. At the end of the semester you will be able to understand the core concept of computer graphics and to build your own real-time graphics pipeline that runs in a web browser.
Course Information
Time: 11:00 am – 11:50 am on Mondays, Wednesdays and Fridays, Fall 2025
Location:Room 214, Mechanical Engineering Building
Instructor: Prof. Zhu Wang
Email: zhuwang at unm dot edu
Website: https://cs.unm.edu/~zhuwang
Office Hours: 9:50 am - 10:50 am on Wednesdays and Fridays (Fall 2025)
Office 3130, Farris Engineering Center
Textbook / Recommended Reading (Optional)
Prerequisites
This course requires students to have prior programming experience, basic level linear algebra and high-school level geometry. The course projects will be implemented with WebGL in JavaScript. Students should also be familiar with basic usage of WebGL (WebGL Tutorials) by the 3rd week of the semester. If you are already familiar with Python, Java, C++, or a similar high-level language, you should be able to handle JavaScript quickly and complete the course successfully.
Weekly Topic Breakdown
- Introduction, overview, history
- Image formation (cameras, pixels, color, et.)
- Mathematical Foundations
- 2D and 3D transformations
- Rasterization
- WebGL
- Viewing and projection
- Implicit representation and Geometric primitives
- Hierarchical modeling
- Lighting and shading
- Texture mapping
- Ray tracing
- Curves and Surfaces
- Particle system
- Final project presentation
Grading
6~8 Project Assignments – 65%
Midterm – 10%
Final Project – 25%
Some assignments build on previous ones, so it is important to submit each assignment on time. Submissions after the deadline are considered one week late.
Late work loses 30% per week and receives zero more than two weeks.
CS 412 and CS 512 Introduction to Computer Graphics cover the same content; however, students in CS 412 will either be graded under a less stringent standard or will have fewer project assignments.