About this course
Master the foundations of computer graphics: the rendering pipeline, rasterization and ray tracing, shading and lighting, and real-time rendering on modern GPUs and engines.
Built a real-time 3D rendering application in Unity, Unreal, or a custom OpenGL and Vulkan engine, implementing a physically based shading pipeline with cascaded shadow maps, image-based lighting, and frustum culling, profiled with RenderDoc and Nsight to meet a fixed frame-rate budget.
Expected outcomes
- Derive the rendering equation and explain how rasterization and ray tracing each approximate it
- Implement the programmable GPU pipeline stages from vertex transform through fragment shading
- Write vertex, fragment, and compute shaders in GLSL or HLSL for lighting and post effects
- Apply physically based shading using microfacet BRDFs and energy-conserving reflectance models
- Construct and traverse scene graphs and spatial data structures for visibility and culling
- Implement real-time shadowing with shadow maps and analyze depth-bias and aliasing tradeoffs
- Profile a frame and optimize draw calls, batching, and GPU bottlenecks to hit a frame-rate budget
- Integrate gameplay logic, assets, and rendering inside Unity or Unreal Engine
- Evaluate global illumination approximations including ambient occlusion and image-based lighting
- Design and defend a complete interactive real-time graphics application as a team project
Key topics
- Rendering pipeline & rasterization
- Ray tracing & global illumination
- Shading, lighting & materials
- Real-time GPU rendering
Theoretical foundations
The concepts and results this course rests on.
- the rendering equation and the distinction between rasterization and ray tracing
- homogeneous coordinates and the model-view-projection transform chain
- the microfacet BRDF and physically based reflectance with Fresnel, geometry, and distribution terms
- the z-buffer visibility algorithm and shadow-map depth comparison
- bounding volume hierarchies and frustum and occlusion culling
- radiometry: radiance, irradiance, and the cosine-weighted hemisphere integral
- the GPU execution model of parallel warps and the cost of state changes
Prerequisites
Course-specific prerequisites:
- Linear algebra
- Programming in C++ or C#
- Data structures and algorithms
Weekly schedule 13 weeks · lecture + practice
Students use AI coding assistants and vibe-coding to scaffold and refactor engine code, generate and debug GLSL and HLSL shaders, and translate lighting math such as the Cook-Torrance BRDF into working fragment shaders. They drive Unity and Unreal editor tasks and GPU tooling through assistants and MCP servers that expose the engine, RenderDoc captures, and the build system, asking the model to read a frame capture and propose batching or culling fixes. AI also generates test scenes, reference spheres, and synthetic assets, and helps analyze profiler output and frame timings to explain where the frame budget is spent. The emphasis is on reading and validating generated shader and pipeline code, since silent correctness errors in rendering are easy to miss.
Student project
Each team builds one interactive real-time 3D application across the term, either a small game or an interactive renderer, in Unity, Unreal, or a custom engine. The project grows weekly from a shaded primitive to a feature-complete build with physically based shading, shadows, indirect lighting, and a met frame-rate budget. The same artifact is presented at the specification, interim, and final milestones.
Requirements
- Build a working system, not a set of disconnected exercises.
- Be original: a new system that solves a real problem, not a re-implementation of a tutorial or course demo.
- Show real depth: real data, real users or realistic load, and engineering trade-offs that are measured rather than assumed.
- Carry one running project from specification to a deployed, defensible result across the whole term.
- Work in a team of three or four and defend the design at each of the three presentations (weeks 5, 8, and 13).
Example projects
Assessment & grading
Grading is project-based, with no written exam. Teams of three or four present one running project three times.
| Component | What it covers | Weight |
|---|---|---|
| Project · Specification | Presentation 1 (week 5): problem, objectives, and architecture | 20% |
| Project · Interim | Presentation 2 (week 8): the working system demonstrated live | 30% |
| Project · Final | Presentation 3 (week 13): end-to-end demo with oral defense | 50% |
Tools & platforms
- Unity: cross-platform game engine for gameplay and rendering
- Unreal Engine 5: high-fidelity engine with Nanite and Lumen
- OpenGL: cross-platform graphics API for custom renderers
- Vulkan: low-overhead explicit graphics and compute API
- GLSL: OpenGL Shading Language for vertex and fragment shaders
- HLSL: High-Level Shading Language used by DirectX and Unreal
- RenderDoc: open-source single-frame GPU debugger and profiler
- NVIDIA Nsight Graphics: GPU frame capture and performance analysis
- Blender: open-source asset authoring and export pipeline
- Tracy: real-time frame and CPU and GPU profiler
- Shadertoy: browser shader prototyping environment
- Dear ImGui: immediate-mode debug UI for engine tooling
Free online courses
Existing free, video-based courses this course can build on, for self-study or as a teaching basis.
Primary literature
Seminal works to read for graduate-level depth.
References
Books and resources link to an online or publisher page.
- TextbookReal-Time Rendering, 4th Edition
- TextbookPhysically Based Rendering: From Theory to Implementation
- DocumentationUnity User Manual
- DocumentationUnreal Engine Documentation
- TextbookGPU Gems
- CourseLearn OpenGL
- CourseInteractive Computer Graphics
- CourseRendering Course Materials
Role in each concentration
| Concentration | Role |
|---|---|
| Intelligent Software Systems | Elective |
| Networking & Cyber Security | Elective |
| AI & Robotics | Elective |
| AI and Quantum Computing for Finance | Elective |
| Immersive Systems & Game Development | Core · Semester 1 |
| Defense Technologies & Autonomous Systems | Elective |