Computer Graphics

Rendering from first principles: raster images, the sRGB transfer function and alpha compositing, line and triangle rasterization with edge functions, sampling theory and antialiasing, homogeneous transformations and normal matrices, rotations with Euler angles, axis-angle and quaternions, cameras and perspective projection, the GPU pipeline, clipping, z-buffering and shaders, triangle meshes and half-edge structures, radiometry, BRDFs and physically based microfacet shading, shadow mapping, texture mapping with mipmaps and anisotropic filtering, Bezier curves, splines, keyframing, skinning and inverse kinematics, Whitted ray tracing and bounding volume hierarchies, and the rendering equation, Monte Carlo path tracing, denoising and neural scene representations, ending with a renderer project.

CMPUT-411 Year 4 3 credits 12 lessons · 7 h 5 min

Offered by HSM University · Computing Science

This is the American version of this course. See the Canadian version.

What you'll learn

  • Explain how raster images, gamma encoding, the sRGB transfer function and alpha compositing represent and combine color.
  • Rasterize lines and triangles with edge functions and barycentric coordinates, and explain aliasing and antialiasing using sampling theory.
  • Construct, compose and invert 2D and 3D affine transformations in homogeneous coordinates, and transform normals correctly.
  • Represent and interpolate rotations with matrices, Euler angles, axis-angle and quaternions, and build camera view matrices.
  • Derive orthographic and perspective projection matrices and trace a vertex through clip space, normalized device coordinates and the viewport.
  • Describe the stages of the GPU graphics pipeline, clipping, z-buffer visibility and the role of shaders and graphics APIs.
  • Represent triangle meshes with indexed and half-edge structures, compute normals, and explain subdivision and simplification.
  • Apply radiometry, BRDFs, Lambertian, Blinn–Phong and microfacet shading models, shadow mapping and ambient occlusion.
  • Map textures with perspective-correct interpolation, choose filtering with mipmaps and anisotropy, and use normal, environment and procedural maps.
  • Evaluate and join Bézier and B-spline curves with stated continuity, and explain keyframing, skinning, inverse kinematics and stable integration.
  • Implement ray–object intersection, Whitted ray tracing with refraction, and bounding volume hierarchies built with the surface area heuristic.
  • Explain the rendering equation, Monte Carlo path tracing, denoising and neural scene representations, and weigh graphics' social responsibilities.

Course content

12 lessons · 7 h 5 min total · final exam

  1. 1 Images, color and compositing 34 min · quiz
  2. 2 Rasterization and antialiasing 33 min · quiz
  3. 3 Transformations and homogeneous coordinates 34 min · quiz
  4. 4 Rotations, quaternions and cameras 34 min · quiz
  5. 5 Projection and the viewing pipeline 32 min · quiz
  6. 6 The GPU graphics pipeline and shaders 34 min · quiz
  7. 7 Meshes and geometry processing 33 min · quiz
  8. 8 Shading and lighting models 35 min · quiz
  9. 9 Texturing and mapping 38 min · quiz
  10. 10 Curves, surfaces and animation basics 40 min · quiz
  11. 11 Ray tracing and acceleration structures 38 min · quiz
  12. 12 Capstone: global illumination, path tracing and modern rendering 40 min · quiz
  13. E Final exam 20 questions

Requirements

Recommended background. You can start any course at any time.

Description

Rendering from first principles: raster images, the sRGB transfer function and alpha compositing, line and triangle rasterization with edge functions, sampling theory and antialiasing, homogeneous transformations and normal matrices, rotations with Euler angles, axis-angle and quaternions, cameras and perspective projection, the GPU pipeline, clipping, z-buffering and shaders, triangle meshes and half-edge structures, radiometry, BRDFs and physically based microfacet shading, shadow mapping, texture mapping with mipmaps and anisotropic filtering, Bezier curves, splines, keyframing, skinning and inverse kinematics, Whitted ray tracing and bounding volume hierarchies, and the rendering equation, Monte Carlo path tracing, denoising and neural scene representations, ending with a renderer project.

Part of the Science stream, typically taken in year 4.