- 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, 15.5.2-15.6.2
- Bezier curves
- Subdivision
- Bernstein-Bezier formula
- De Casteljau algorithm
- Splines
- Canonical form, constraint and basis matrix
- Catmull-Rom splines
- B-splines
- Textbook: Chapter 15
- Bi-linear patches
- Bezier surfaces
- Loop subdivision
- Textbook: Chapter 4.1-4.6
- Basic algorithm
- Eye and shadow rays
- Acceleration data structures
- Commercial ray tracers

## Introduction |
## January 10, 2017 |

## Introduction to OpenGL |
## January 12, 2017 |

## Transformations in 2D |
## January 17, 2017 |

## Transformations in 3D |
## January 19, 2017 |

## Coordinate Transformations |
## January 24, 2017 |

## Scenegraph and Viewing Transformations |
## January 26, 2017 |

## Projections |
## January 31, 2017 |

## Camera Modelling |
## February 2, 2017 |

## Curves and Surfaces |
## February 7, 2017 |

## Triangle Rasterization and Line Drawing |
## February 9, 2017 |

## Shading |
## February 14, 2017 |

## Midterm |
## to be confirmed: |

## Reading Week |
## February 20-24, 2017 |

## Vertex Pipeline Review |
## February 28, 2017 |

## Meshes and 2D Texture Mapping |
## March 2, 2017 |

## 3D Texture and Noise |
## March 7, 2017 |

## More Texturing Techniques |
## March 9, 2017 |

## Colour and Illumination |
## March 14, 2017 |

## Graphics Pipeline |
## March 16, 2017 |

## Hidden Surface Removal |
## March 21, 2017 |

## Spatial Data Structures |
## March 23, 2017 |

## Bezier Curves and Splines |
## March 28, 2017 |

## Spline Surfaces |
## March 30, 2017 |

## Ray Tracing |
## April 4, 2017 |

## Project Presentations and Review |
## April 6, 2017 |

Back to CSI4130

© Jochen Lang