- Textbook: Chapter 1
- Applications
- Brief history
- Research areas
- Class organization
*Self-Study:*Basic math

Textbook, Chapter 2.1-2.4- What is OpenGL
- Fixed vs. programmable pipeline
- Drawing a triangle (yeah!)
- Redbook: Chapter 1 and Appendix A
- Textbook: Chapter 6.1, 5.2-5.3
- 2D Transformation
- Translations and homogeneous transforms
- Matrix composition and decomposition
*Self-Study:*Basic linear algebra

Textbook, Chapter 5.1-5.4- Textbook: Chapter 6.2-6.3, 5.4
- Matrix composition and decomposition
- 3D Transformation
*Self-Study:*Basic linear algebra

Textbook, Chapter 5.1-5.4- Textbook: Chapter 6.4, 6.5
- Inverse transforms
- Coordinate transforms
- Textbook: Chapter 7.1
- Scenegraph transforms
- Viewing and canonical viewing volume
- Textbook: Chapter 7.2-7.5
- Perspective projection
- Perspective projection
- Textbook: Chapter 7.2-7.5
- OpenGL projection matrix
- Camera modelling
- Textbook: Chapter 2.5, 15.1, 15.2
- 2D implicit and parametric curves
- 3D implicit and parametric curves
- 3D parametric surfaces
- Linear interpolation
- Textbook: Chapter 2.6, 2.7, 8.1.2, 8.3
- Triangles
- Baricentric coordinates
- Triangle rasterization
- Simple Anti-Aliasing
- Textbook: Chapter 3.3, 10.1-10.2
- Shading
- Diffuse Shading
- Phong Shading
- Textbook: Chapter 1-8.3, 10.1-10.2 except Chpt. 4, 3.4
- Material covered in class
- No classes, no lab
- Reminder: OpenGL/Glut program
- Review of vertex pipeline
- Vertex shader
- Loading, compiling and linking a shader
- Setting up vertex attributes
- Sending uniforms
- Drawing calls
- Textbook: Chapter 11.2, 12.1
- Indexed meshes
- 2D texture mapping
- Sphere mapping
- Textbook: Chapter 11.2
- 3D texture mapping
- Procedural textures
- Noise textures
- Bump Mapping
- Displacement Mapping
- Environment Mapping
- Shadow Mapping
- Textbook: Chapter 21.1-21.5, 22.1-22.2
- Brief overview of human vision
- CIE Tristimulus Values
- Chromaticity and Luminance
- RGB Colours and Colour Manipulation
- Textbook: Chapter 8.1.3 - 8.1.6
- Graphics pipeline
- Clipping
- Textbook: Chapter 8, 12.4
- Z-buffer
- Perspective correct texture mapping
- Textbook: Chapter 8, 12.1, 12.3
- Spatial data structures
- Binary Space Partioning tree
- Textbook: Chapter 15.1-15.3
- Subdivision
- Bernstein-Bezier formula
- De Casteljau algorithm
- Textbook: Chapter 15.5.2-15.6.2
- Canonical form, constraint and basis matrix
- Catmull-Rom splines
- B-splines

## Introduction |
## January 9, 2018 |

## Introduction to OpenGL |
## January 11, 2018 |

## Transformations in 2D |
## January 16, 2018 |

## Transformations in 3D |
## January 18, 2018 |

## Coordinate Transformations |
## January 23, 2018 |

## Scenegraph and Viewing Transformations |
## January 25, 2018 |

## Projections |
## January 30, 2018 |

## Camera Modelling |
## February 1, 2018 |

## Curves and Surfaces |
## February 6, 2018 |

## Triangle Rasterization and Line Drawing |
## February 8, 2018 |

## Shading |
## February 13, 2018 |

## Midterm |
## to be confirmed: |

## Reading Week |
## February 19-23, 2018 |

## Vertex Pipeline Review |
## February 27, 2018 |

## Meshes and 2D Texture Mapping |
## March 1, 2018 |

## 3D Texture and Noise |
## March 6, 2018 |

## More Texturing Techniques |
## March 8, 2018 |

## Colour and Illumination |
## March 13, 2018 |

## Graphics Pipeline |
## March 15, 2018 |

## Hidden Surface Removal |
## March 20, 2018 |

## Spatial Data Structures |
## March 22, 2018 |

## Bezier Curves |
## March 27, 2018 |

## Splines |
## March 29, 2018 |

## Spline Surfaces |
## April 3, 2018 |

- Textbook: Chapter 15
- Bi-linear patches
- Bezier surfaces
- Loop subdivision

## Ray Tracing |
## April 5, 2018 |

- Textbook: Chapter 4.1-4.6
- Basic algorithm
- Eye and shadow rays
- Acceleration data structures
- Commercial ray tracers

## Project Presentations and Review |
## April 10, 2018 |

Back to CSI4130

© Jochen Lang