Stanford CS248, Winter 2022

INTERACTIVE

COMPUTER GRAPHICS

COMPUTER GRAPHICS

This page contains lecture slides and recommended readings for the Winter 2022 offering of CS248.

(Breadth of graphics applications, simple drawing of lines)

(Drawing a triangle via point sampling, point-in-triangle testing, aliasing, Fourier interpretation of aliasing, anti-aliasing)

(Definition of linear transforms, basic geometric transforms, homogeneous coordinates, transform hierarchies, perspective projection)

(Perspective projection, texture coordinate space, bilinear/trilinear interpolation, how aliasing arises during texture sampling, pre-filtering as an anti-aliasing technique)

(Z-buffer algorithm, image compositing, end-to-end 3D graphics pipeline as implemented by modern GPUs)

(Properties of surfaces (manifold, normal, curvature), implicit vs. explicit representations, basic representations such as triangle meshes, bezier curves and patches)

(Half-edge mesh structures, mesh operations such as tessellation and simplification)

(Closest point, ray-triangle intersection, ray-mesh intersection, the relationship between rasterization and ray tracing)

(Acceleration structures such as bounding volume hierarchies, K-D trees, uniform grids)

(Common material models, use of texture for lighting (bump mapping, environment mapping, prebaked lighting), motivating need for shaders on modern GPUs)

(Shadow mapping, reflections, ambient occlusion, precomputed lighting, deferred shading, parallel rasterization)

(VR Headset hardware, how head-mounted displays cause challenges for renderers, resolution and latency requirements, judder, foveated rendering)

(Animation examples, splines, keyframing)

(Basic numerical integration, forward Euler, mass-spring systems (e.g., for cloth simulation), particle systems)

(Inverse kinematics, motion graphs, methods of capturing human motion (motion capture suits, Kinect, computer vision methods))

(How the eye works, representing color, brightness and chromaticity.)

(JPG image compression, image filtering via convolution (sharpening/blurring), data-dependent filters)

(design of modern GPUs, how rendering is parallelized onto GPUs)

(basics of noise and its uses in computer graphics, ray marching implicit surfaces)

(course wrap up, discussion of ongoing graphics research at Stanford)