WebGL Troubleshooting

See this page for some troubleshooting info if the demos and exercises do not work for you.

Developing Javascript locally

We recommend JSHint - a tool to detect errors and potential problems in JavaScript code and can be used to enforce coding conventions.

Check out its Installation instructions and recommendations of code editors that support JSHint as a plugin.

CS291 Syllabus (tentative)

Unit 1: Introduction

Motivation and a trip down the graphics pipeline, laying out the fundamental processes

Unit 2: Points, Vectors, and Meshes

The basics of 3D geometry definition

Unit 3: Colors and Materials

Color representation, material computations, transparency

Unit 4: Transforms

Translation, scale, rotate and how to properly combine all these

Unit 5: Matrices

Transform representation and how to fully control these

Unit 6: Lights and Cameras

Directional and point light sources, spotlights, shadows, and how the camera is defined

Unit 7: Textures and Reflections

Color and opacity textures, along with reflection and normal mapping

Unit 8: Shader Programming

An introduction to programming vertex and pixel shaders

Unit 9: Interaction and Animation

How to select and make objects move