Assignement Zero

Please review and study the following resources over the winter break. These resources are listed in the suggested order.

3Blue1Brown: Essence of Linear Algebra

Watch the Essence of Linear Algebra series on 3Blue1Brown’s Youtube channel. This is about 3 hours of content. Don’t worry about getting everything 100%. Just watch for the main concepts.

Essence of Linear Algebra

Making Stuff Look Good in Video Games: Shaders

Making Stuff Look Good is a great YouTube channel about graphics programming in videogames. In this class we’ll focus on making images with shaders alone at first, but usually shaders are only one component used to render a scene. These videos show how shaders typically fit into the larger context in a video game. These videos show shader programming in Unity, and some of the setup details will be different than we’ll see in WebGL. The videos even a different shader language: HLSL vs GLSL. Fortunately, those details don’t really matter much, the high level concepts are the same across environments. This is about 1 hour of content. Again, Don’t worry about getting everything 100%. Just watch for the main concepts. Watch the following videos, and any others you think look interesting.

Shaders 101   Shaders 102   Pokemon Case Study   Harthstone Case Study

Book of Shaders

Read AND STUDY the published portions of (chapters below). Experiment with the live examples. Explore linked resources. Look up words you don’t know, etc.

Getting Started   Algorithmic Drawing   Generative Designs


GLSL is the shader language used in OpenGL environments. WebGL 1.0 environments use GLSL 1.00.17. The full spec is fairly dense and about 100 pages. It might be worth skimming the whole thing, but in particular you should review these parts: 4.1, 4.3, 4.4, 4.5, 7, 8. Don’t worry about understanding this 100%, you can always come back to the spec if you need later.

OpenGL ES Shading Language Spec