### Spring 2012

An introduction to the course and a review of vector algebra.

Intro to C++ and matrices.

Memory, the stack, and pointers.

QT, signals and slots, widgets, and functions.

Matrix manipulations and simple polyline representation.

'Drawing' with computer graphics and the scene graph.

OpenGL, GLEW, and shaders.

2D viewing transformations (world, NDC, screen), polygon data structure, and intersections.

Debugging.

Polygons, convexity, point-on-line, and point-in-polygon (projection method).

C++(stack, heap, destructors, arrays), scene graph traversal, and casting.

Point in polygon, bounding boxes, and line-polygon intersection.

Polygon normals, planarity, and polygon decomposition into trapezoids.

Shading, light reflection, and vertex color interpolation.

QTimers, templates, and STL classes.

Linear interpolation and 3D viewing transformations (perspective, view up vector, etc.).

3D viewing pipeline, world to eye transformation, and height fields.

Graphics pipeline, VBO's, and shaders.

Making GLSL shaders and debugging them.

Midterm answers.

Polygons and meshes, triangulating quadrilateral height fields for planarity, surface normals, and line/polygon intersections.

Polygon meshes, well-formed surfaces, and the half-edge data structure.

Half-edges, add-vertex-into-edge, add-edge-between-faces, and split-quad.

Clipping volume, view volume, perspective transformation, and the 3D window to the 3D viewport.

Fractals and fractal generation.

Curved surfaces, continuity, affine invariance, b-spline curves, and bezier curves.

Bezier curves, bivariate mapping, and bezier surfaces and patches.

Catmul-Clark subdivision, sharp edge subdivision, ray-polygon intersection test, and viewing geometry.

Simple viewing geometry and simple object deformation methods (global deformations, bend, twist, free form deformation with control points).

SVN and Mini-Maya project overview.

Quaternions and SLERP.

Discrete simulation, particle motion, collision detection, disk moving inside polygon (Minkowski Sum), and direct vertex computation.

First student demos.

First student demos continued.

Beier-Neely 2D image morphing, compositing images, aliased lines, and the alpha channel.

Second student demos.

Second student demos continued.