This courses introduces the theory and practice of 3D computer graphics.

This topic deals with geometry and illumination. Geometry describes the form of a scene and illumination influences how that scene appears.

Rendering is the process by which illumination calculation on 3D data produces a 2D image. Your computer's graphics processing unit (GPU) performs that process.

These notes carefully develop only what is essential to making that process happen using WebGL and the JavaScript programming language.

We begin by defining how to represent geometry.

♦ • • • ♦ • • ♦ • ♦ • ♦ • • • • •Then, how to deliver that geometry to the GPU for display.

♦ • • • • • • • • • •At this point, a minimal application may be defined.

♦ • • • • •Transformation gives us the mathematical tools to arrange geometry in a scene.

♦ • • ♦ ♦ • ♦ • ♦ • ♦ • • • • ♦ • • ♦ • • • ♦ • • • • • ∗Transformation enables a basic viewing interaction.

♦ • • • • •The graphics pipeline orchestrates the rendering process.

♦ • • • • ♦ • • • • • ♦ • • • •Light interacts with material properties giving surface color.

♦ • • • • ♦ • • • • ♦ • •Framebuffers lets us render into textures.

♦ • • • • ♦ • • • • •

Robert Kooima — *kooima@csc.lsu.edu*