http://dvon.github.io/cgbk/

Lessons prepared for CIS 487 Interactive 3D Graphics, January 2016.

This lesson, along with the next one, is meant to teach you how to use JavaScript effectively, assuming you’ve learned basic object-oriented programming in a language like Java.

Continuing on from the previous lesson, this lesson shows how to create objects with members that act like public or private, instance or class members would in a typical object-oriented programming language.

In this lesson you’ll learn the basic structure of a WebGL program: HTML + JavaScript + vertex and fragment shaders written in the OpenGL shading language.

This lesson introduces transformations—mathematical operations applied to every vertex in the scene—to get from one coordinate system to another.

In this lesson, matrix multiplication will be used (first mathematically, then in JavaScript code) to implement the scaling and translation transformations introduced in the previous lesson.

This lesson adds rotation transformations, around the $x$, $y$ and $z$ axes, to the scaling and translation transformations covered in the previous two lessons. Also, the depth test is used to make it possible for near objects to be drawn before far objects, but still show up in front.

(Still working on this one…)