# main-review

This page is a “review” of what we discussed in class. Its here to remind you what topics may appear on an exam, as well as to connect you to some of the materials.

Things are organized by lecture. For each lecture there is likely to be an audio recording in pub:audio (this may not be linked). There may also be some notes: some hand-scrawled notes to myself, links to previous semester’s notes, … We don’t always discuss exactly what is in the notes (especially when I am referring to older notes).

Technically, you are responsible for everything in the readings. However, the exams generally focus on the things we discuss in lectures.

#### 10/15 - Fri - Surfaces

• Triangle subdivison schemes (Loop, Butterfly)
• Parametric surfaces intuitions
• Notes: lecture based on (2007 surfaces notes)
• Reading: The RTR Chapter pub:RTR-Subdivison.pdf - you’re only responsible for the basic ideas, not the details. But the basic ideas are scattered through the descriptions of the first few schemes. Unfortunately, there is no reading for parametric surfaces.

#### 10/13 - Wed - Subdivision

• Review of what curves are about (pieces, knots, …)
• Connection of Parametric Forms to B-Splines and Subdivision
• Subdivision schemes for B-Spline Curves
• Triangle Meshes and Triangle Subdivision
• Old course notes on surfaces 2007 Subdivision
• Handwritten Notes: pub:Notes/10-13-Subdivision.pdf
• Reading: there really isn’t any reading on subdivision curves, beyond the discussion of the de Castlejau algorithm in the book.

#### 10/11 - Mon - Approximating Curves

• DeCastlejau to Bernstein
• Polynomial forms of Beziers
• B-Splines
• Old course notes on Beziers 2007 Beziers
• Old course notes on BSplines 2007 B-Splines
• Reading: Shirley&Marschner 15.6.2 (B-Splines, although you only need to know the basic facts about B-Splines, not the mathematical details).
• handwritten notes: pub:Notes/10-11-BeziersBSplines.pdf

#### 10/8 - Fri - Splines

• Terminology, splines, basis function forms
• Issues in sampling, drawing curves
• Bezier curves
• handwritten notes
• Old Course notes on Beziers 2007 Beziers
• Handwritten Outline: pub:Notes/10-08-Outline-Splines.pdf

#### 10/6 - Weds

• Polynomial forms
• Deriving constraint and basis matrices
• Cubic forms (Hermite, Cardinal, Catmull-Rom, Natural)
• See Monday’s Notes
• Reading: Shirley&Marschner 15.4 - 15.5 (Piecewise curves, cubics)

#### 10/1 - Fri - Rasterization/Curves

• Triangle Rasterization, Barycentric coordinates
• Basic curve concepts
• Notes: outline for curve intro pub:Notes/10-01-Rasterization-Curves.pdf
• Old Notes: includes Brezenham’s Algorithm and a bunch of stuff we’ll talk about some other time 2007
• Reading: rasterization is covered in Shirley&Marschner Ch. 8.1. The curve intro is in Ch 15.1

#### 9/29 - Weds - Graphics Pipeline

• The graphics pipeline (all of the pieces and steps)
• Basics of rasterization
• Line drawing algorithms (Brezenham’s/Midpoint algorithm, although, we didn’t talk about the details)
• Reading: Shirley & Marschner Ch. 8. (we didn’t say much about how clipping works)
• Notes: Pipeline Outline

#### 9/27 - Mon - Review, Lighting Review, Hack Shadows, Drawing Intro

• review of transforms and coordinate systems
• review of local lighting model
• shading (when do we compute lighting) Phong, Gouraud, Flat, …
• Light Models (point, directional), and other OpenGl details and pragmatics
• Hack Shadows (projection matrices to get to floor)
• Stencil Buffers
• Notes: outline
• Notes: (2007 lighting recap, shading

#### 9/24 - Fri - Lighting

• Notes: (2007 Lighting notes)
• Reading: Shirley and Marschner Ch10 (although we didn’t say much about 10.3)
• Reading: OGL Ch5 (you only need to read the first few parts as the chapter quickly devolves into details that you don’t want to worry about)

#### 9/22 - Wed - Visibility and Lighting

• Calculation of end effector position
• Z-Buffer Algorithm
• Double Buffer - front, back
• Triple Buffering
• Organizing object - BSP tree (Binary Space Partition)
• Normals (Per vertex normals)
• Notes: (2007 Visibility Notes)
• Notes: (2008 Visibility/Z-Buffer Notes)
• For lighting readings and notes, see 9/24 above
• Reading: the book is pretty scarse on visibility (its only mentioned briefly in Ch8)

#### 9/17 - Fri - Transforms and Projections

• Matrix Dis-Assembly
• Assembling a Camera Matrix (see the book/homework)
• Frustum
• Perspective Transforms
• Notes: outline
• Notes: (2009)
• Notes: (2007)
• Reading: OpenGL Ch3 (last half of the chapter, but not clipping planes or reversing transforms)

#### 9/15 - Wed - 3D Transformations

• Rotate and Scale about a center point (errata from last time)
• 3D coordinate systems
• 3D Transformations and rotations
• Projections
• Notes: outline
• Notes: (2007)

#### 9/13 - Mon - Coordinate Systems in Practice

• Coordinate systems continued
• 2D Transformations in OpenGL
• Hierarchical modeling - matrix stacks, push-pop matrix
• Notes: (outline)
• Notes: (2007 notes)
• Reading: Shirley&Marschner Ch6 (6.1, 6.3 and 6.5)
• Reading: Shirley&Marschner Ch5 (if you need a review of linear algebra)
• Reading: OpenGL Ch3 (up to viewing - which we get to later) - is actually a pretty good tutorial

#### 9/10 - Fri - Linear Transformations

• Linear transformation of points from one coordinate system to other
• 2D Translation, Scaling, Rotation, Skewing
• Pre/post Multiplication
• 2D Homogeneous coordinates
• Reading: Shirley&Marschner Ch6 (6.1 and 6.3)

#### 9/08 - Wed - Basics of Primitives-Based Graphics

• Image planes, how to form shapes on the image plane
• Simple shape primitives(points, lines, triangles,polygons)
• Importance of triangles
• Colors (rgb - primitive model)
• Introduction to OpenGL, FLTK
• Concept of origin, coordinate systems, NDC
• Notes: (powerpoint in PDF)
• Reading: OpenGL Ch2 has lots of details that are more important when you are programming, not for the ideas (except maybe to get a sense of what you can do)
• Reading: Shirley&Marschner Ch3 gets at the overall ideas, although the topics are a little different
• Reading: you should have read Shirley&Marschner Ch1, but it wasn’t connected to lecture