Computer graphics
Undergraduate · CS / Programming
Syllabus focus
Topics typically covered
Standard syllabus
Math for graphics
- Vectors, matrices, and homogeneous coordinates
- 2D/3D transformations: translation, rotation, scale
- Viewing pipelines: camera, projection, viewport
- Quaternions for orientation (intro)
- Color spaces and gamma correction (intro)
Rendering
- Rasterization and line/triangle algorithms
- Hidden surface removal: z-buffer
- Illumination models: Phong, Gouraud shading
- Texture mapping and UV coordinates
- Ray tracing concepts (intro)
Geometry and sampling
- Meshes, normals, and winding order
- Clipping and culling in the pipeline
- Barycentric coordinates and interpolation
- Anti-aliasing and multisampling (intro)
- Shadows: shadow maps overview
- Procedural noise and simple procedural textures
STEM / applied
Interactive graphics
- OpenGL/WebGL or DirectX shader pipeline (survey)
- Vertex and fragment shaders (intro)
- Scene graphs and asset pipelines
- Animation: keyframes, skinning, interpolation
- Real-time performance profiling
Projects
- Building a small interactive 3D viewer
- Implementing a software rasterizer
- Physically based rendering overview (intro)
- Collision detection basics for games
- VR/AR rendering constraints (survey)
Engine and content workflow
- Asset import formats (glTF/OBJ survey)
- Material systems and PBR parameter intuition
- Frame timing budgets for interactive apps
- Debugging GPU pipelines with capture tools (survey)
- Accessibility and motion comfort considerations
- Capstone: interactive scene with lighting and textures
Notes
Requires linear algebra and strong programming. API choice (OpenGL vs modern engines) varies.