Logistics
  Grading Policy
  Syllabus
  Links
  Announcements
  Course Folder
  
  Labs:
 
   
  0. Warmup
  1. Line
  2. Triangle
  3. Modeling
  4. Viewing
  5. Lighting
  6. Texturing+PBO
  7. Ray Tracing
  8. Shadows+FBO
  9. Subdivision
  
  PAs:
 
   
  1. Rasterization
  2. Scene, Camera, Lights!
  3. Buffers, Textures, Shaders
  4. Animation
 
  Image Gallery:

PA1: F15, F14, W13,          W12, W10

PA2: F15, S10, W10

PA3: F15, F14, W13

PA4: S10, W10

  
  HWs:
 
   
  HW1
  HW2
 

Don't see the menu?

Course Notes

OpenGL (ES) APIs Table
Building OpenGL/GLUT Programs
Building OpenGL/GLFW Apps
Command-line Options and Third-party Libraries
 
OpenGL ES 2.0 Graphics Programming for Android - JAVA
OpenGL ES 3.1 Graphics Programming for Android - Native

OpenGL

Khronos Developers Library
OpenGL Extensions Core Availability

Approaching Zero (→ 0) Driver Overhead (AZDO)
OpenGL NVIDIA Command-list: AZDO by Tristan Lorach at Best of GTC at SIGGRAPH 2015 (video)
AZDO at GDC2014 (video)

Tutorials
Song Ho Ahn's OpenGL Tutorials and OpenGL Projection Matrix
Tom Dalling's Modern OpenGL Tutorials
Lighthouse3D Core GLSL Tutorials including geometry shader
OGLdev OpenGL Tutorials
RasterTek OpenGL 4.0 Tutorials for Windows
OpenGL 3.3+ Tutorials
OpenGL Geometry Shader tutorial
OpenGL Tesselation Shader tutorial
OpenGL Compute Shader tutorial
OpenGL and OpenGL ES sample code

OpenGL ES
Learning OpenGL ES (on Android)
OpenGL ES 2.0 for iPhone tutorials
NeHe OpenGL Tutorials (on iOS)
OpenGL ES Tutorials

Older Tutorials and Resources:
Ozone3D OpenGL & D3D 8.0 Tutorials
Hplus Graphics
Jerome Jouvie's OpenGL Tutorials and Lessons for Java.
Paul's Projects and Tutorials
Lighthouse 3D Tutorials, incl. GLUT and GLSL
TyphoonLabs' OpenGL Shading Language tutorials
Old Redbook covering OpenGL 1.1
Old Bluebook covering OpenGL 1.1 and GLU reference pages

Vulkan

OpenGL - Latest Articles and Reviews on AnandTech
Vulkan - Graphics and compute belong together
More on Vulkan and SPIR-V at GDC2015
An Overview of Next-Generation Graphics APIs at SIGGRAPH 2015
Vulkan on NVIDIA GPUs by Piers Daniell at Best of GTC at SIGGRAPH 2015 (video)
Vulkan Tutorial
Mantle - Latest Articles and Reviews on AnandTech

Apple's Metal

Thirty Days of Metal
Some Thoughts on Appleā€™s Metal API
Metal - Latest Articles and Reviews on AnandTech

Microsoft's Direct3D

Direct3D 12
Windows on Github
Direct3D - Latest Articles and Reviews on AnandTech
The DirectX 12 Performance Preview: AMD, NVIDIA, & Star Swarm
Exploring DirectX 12: 3DMark API Overhead Feature Test
GeForce + Radeon: Previewing DirectX 12 Multi-Adapter with Ashes of the Singularity

Direct3D 11
Microsoft Windows 8 D3D Tutorial
DirectXTutorial Direct3D 9 and 11 up to 11.2
RasterTek DirectX Tutorials Direct3D 10 and 11 (12 to come)
Microsoft Direct3D 11 tutorials

DirectXMath
HLSL

Direct3D 10 and earlier
Blythe, D., "The Direct3D 10 System," Proc. ACM SIGGRAPH, 2006, and the accompanying presentation
The Direct3D Graphics Pipeline up to Direct3D 9.0
Direct3D 9 doc tree reading signposts
Ozone3D OpenGL & D3D 8.0 Tutorials
Drunken Hyena D3D8 Tutorials

WebGPU

Intro to WebGPU
From WebGL to WebGPU

Other articles, tutorials, books

SIGGRAPH 2009 courses not available in the above archive
Real-Time Rendering
GPU Gems
Merry, B., "Performance Tunig for Tile-Based Architectures," in OpenGL Insights, eds. Cozzi, P. and Riccio, C., CRC Press, 2012
nvidia's documentation
Eberly
Cg Tutorial
Object/Object Intersection Page
Color Mixing
Tone Mapping
Perlin Noise
Convolution Tutorial
Poynton's and Gamma FAQ
Void, Quaternions, 2003
Zorin et al.'s Subdivision GDC01 tutorial and code
Prusiniewicz, Algorithmic Beauty of Plants
Reynold's NPR site
Comet's 3D modeling, texturing, lighting, animation
GameDev.net
Game Developer Magazine
IT Hare's Programming Guide for Video-Gamers (thanks to Adam and Ally Fuller)
A STEM Student's Guide: Learning to Code and Design Video Games (thanks to Amelia and LouAnne Taylor)
The Technology Behind Virtual Reality: Coding and Design (thanks to Katie and Yazmin Casal)

Demoes and Interactive Tutorials

Austin's geometric explanation of SVD
Kalman, D., "A Singularly Valuable Decomposition: The SVD of a Matrix," The College Mathematics Journal, 27:2-23, 1996
Digital Image Processing Interactive Tutorials
BSP Trees Demo (old version)
Color Space Conversion
Michael Bach's 84 Optical Illusions
Refraction
Algebraic Surfaces
Curve Interpolation
Zymon's BRDF browser

Tools

GUI Toolkits
GLFW
OpenGL Related Toolkits and APIs
GLUT-like Windowing, GUI, and Media Control toolkits
The GUI Toolkit/Framework Page (old)
PUI

Shader development:
Nvidia's FX Composer

Javascript/WebGL scenegraphs:
three.js
SceneGraph.js
babylon.js
Non-WebGL x3dom

Scenegraphs/Game engine:
Unity Technologies' unity
Epic Games' Unreal Engine
OGRE3D (wiki) and CEGUI

Rendering engine:
POV-Ray
Arbaro: tree generation for povray
Radiance
Pixie: opensource Renderman
Sunflow
OpenQVis

glm: OpenGL Mathematics a header-only C++ math library based on GLSL specs
Computational Geometry Algorithms Library
OpenMesh: polygonal mesh data structure
Open Dynamics Engine: rigid body dynamics simulation

Encoding formats:
glTF
Collada (wiki)
X3D (Book and Resources)
X3D tutorials
File Formats
GD library
FreeImage

Data Sets

Stanford Data Archives
Debevec's Light Probe Image Gallery

Computer Vision Information Pages