Hafta 1
Graphics Systems and Models: Applications of Computer Graphics; A Graphics System; Images: Physical and Synthetic; Imaging Systems; The Synthetic-Camera Model; The Programmer's Interface; Graphics Architectures; Programmable Pipelines; Performance Characteristics; OpenGL Versions and WebGL.
Hafta 2
Graphics Programming: Programming Two-Dimensional Applications; The WebGL Application Programming Interface; Primitives and Attributes; Color; Viewing; Control Functions; Polygons and Recursion.
Hafta 3
Graphics Programming: Polygons and Recursion; Programming Three-dimensional Applications; Adding Interaction; Menus.
Hafta 4
Interaction and Animation: Animation; Interaction; Input Devices; Physical Input Devices; Clients and servers; Programming Event-driven Input; Position Input; Window Events; Picking; Building Models Interactively; Design of Interactive Programs.
Hafta 5
Geometric Objects and Transformations: Scalars, Points, and Vectors; Three-Dimensional Primitives; Coordinate Systems and Frames; Frames in WebGL; Matrix and Vector Types; Affine Transformations; Translation, Rotation, and Scaling; Transformations in Homogeneous Coordinates; Concatenation of Transformations; Transformation Matrices in WebGL; Interfaces to Three-Dimensional Applications; Quaternions.
Hafta 6
Modeling and Hierarchies: Symbols and Instances; Hierarchical Models; A Robot Arm; Trees and Traversal; Use of Tree Data Structures; Animation; Graphical Objects; Scene Graphs; Implementing Scene Graphs; Other Tree Structures
Hafta 7
Viewing: Classical and Computer Viewing; Viewing with a Computer; Positioning of the Camera; Parallel Projections; Perspective Projections; Perspective Projections with WebGL; Perspective-Projection Matrices; Hidden-Surface Removal; Displaying Meshes; Projections and Shadows.
Hafta 8
Lighting and Shading: Light and Matter; Light Sources; The Phong Reflection Model; Computation of Vectors; Polygonal Shading; Specifying Lighting Parameters; Implementing a Lighting Model; Per-Fragment Lighting; Global Illumination.
Hafta 9
From Geometry to Pixels: Basic Implementation Strategies; Four Major Tasks: Modeling, Geometry Processing, Rasterization, Fragment Processing; Clipping; Line-Segment Clipping; Polygon Clipping; Clipping in Three Dimensions
Hafta 10
From Geometry to Pixels: Rasterization; Bresenham's Algorithm; Polygon Rasterization; Hidden Surface Removal; Antialiasing; Display Considerations.
Hafta 11
Discrete Techniques: Buffers; Digital Images; Mapping Methods; Two-dimensional Texture Mapping; Texture Mapping in WebGL; Texture Generation; Environment Maps; Reflection Map Example; Bump Mapping; Blending Techniques; Sampling and Aliasing.
Hafta 12
Procedural Methods: Algorithmic Models; Physically Based Models and Particle Systems; Newtonian Particles; Solving Particle Systems; Constraints; A Simple Particle System; Agent-Based Models; Language-Based Models; Recursive Methods and Fractals; Procedural Noise.
Hafta 13
Curves and Surfaces: Representation of Curves and Surfaces; Design Criteria; Parametric Cubic Polynomial Curves; Hermite Curves and Surfaces; Bézier Curves and Surfaces; Cubic B-Splines; General B-Splines; Rendering Curves and Surfaces; The Utah Teapot; Algebraic Surfaces; Subdivision Curves and Surfaces; Mesh Generation from Data.
Hafta 14
Advanced Rendering: Going Beyond Pipeline Rendering; Ray Tracing; Building a Simple Ray Tracer; The Rendering Equation; Radiosity; RenderMan; Parallel Rendering; Volume Rendering; Isosurfaces and Marching Cubes; Mesh Simplification; Direct Volume Rendering; Image-Based Rendering.