CS123: Introduction to Computer Graphics

Resources

CS123

Book

Support Code

Support Code Documentation
Documentation of C++ classes in support code

Demos

Exploratories
Use these applets to explore different concepts related to the course.

Documents

Scenefile definition
A document containing a description of the scenefile definition.
Linear Algebra
Review the linear algebra concepts needed for the course with theses slides.
GDB Lab
A short tutorial on using GDB.
Open GL handout
A short introduction to Open GL.

C++

C minicourse
Slides that briefly introduce C.
C++ minicourse
Slides that briefly introduce C++.
Java to C++ tutorial
This tutorial will help you transition from Java to C++.

General

WPF

WPF
Site for learning about WPF (Windows Presentation Foundation).
WPF
WPF Lab slides.
KAXAML standalone application
(Windows-only). Lightweight XAML editor

C++

STL Documentation
Official C++ Standard Template Library Documentation
STL Tutorial - Part 1
Concise three-part STL tutorial, courtesy of the University of British Columbia's CS490.
STL Tutorial - Part 2
Concise three-part STL tutorial, courtesy of the University of British Columbia's CS490.
STL Tutorial - Part 3
Concise three-part STL tutorial, courtesy of the University of British Columbia's CS490.
Boost C++ Libraries
Extremely well-written, advanced C++ libraries

OpenGL

The Red Book (OpenGL Programming Guide)
The all-inclusive, definitive OpenGL programming guide. Contains everything you could want to know about OpenGL, though is huge and can be hard to wade through
The Blue Book (OpenGL Reference Manual)
Reference for using OpenGL without going into as much depth as The Red Book
NeHe OpenGL Tutorials
Over 45 of the best OpenGL tutorials around, including beginner, intermediate, and advanced content
OpenGL Programming on the Mac
Mac-specific OpenGL documentation and techniques; a lot of the information is also generally applicable to OpenGL on other platforms
GLUT API
OpenGL Utility Toolkit for windowing
Nate Robins OpenGL Tutorials
Provides some OpenGL learning applications that depict OpenGL concepts in an intuitive and graphical manner.
OpenGL Quick Reference
OpenGL quick reference guide (a little bit out of date, but a great quick-reference for beginners) by Dave Mount (University of Maryland)

GLSL

GLSL Quick Reference
Concise two page reference for GLSL
Lighthouse3D GLSL Tutorials
Great GLSL tutorial
Clockworkcoders GLSL Tutorials
Collection of GLSL tutorials
Nvidia's Developer Site
Contains lots of great tools, papers, and demos focusing mainly on shaders (GLSL, cg, and HLSL. Many of the papers and demos are advanced.
OpenGL GLSL API Man Pages
Links to all OpenGL entrypoints for dealing with GLSL
GLSL Example Shaders
Example GLSL shaders from The Orange Book

Tutorials

NeHe OpenGL Tutorials
Over 45 of the best OpenGL tutorials around, including beginner, intermediate, and advanced content
Lighthouse3D GLSL Tutorials
Great GLSL tutorial
Clockworkcoders GLSL Tutorials
Collection of GLSL tutorials
Fundza CG Tutorials
Collection of well-written shader tutorials, focusing on how to write Renderman (SL) shaders
Nvidia's Developer Site
Contains lots of great tools, papers, and demos focusing mainly on shaders (GLSL, cg, and HLSL. Many of the papers and demos are advanced.
Nvidia's Cg Tutorial
The best place to learn the Cg shading language. Topics covered are also very much applicable to GLSL and HLSL

Research

Siggraph Papers Archive
Siggraph is the premier venue for advanced Computer Graphics research. Tim Rowley has aggregated a large archive of papers and resources from the Siggraph and Eurographics conferences dating back for almost a decade.
Pixar paper archive
Papers written by Pixar peeps

Advanced

GPU Gems II Online Book
Nvidia's advanced book on high-performance graphics techniques
GPU Gems I Online Book
Nvidia's advanced book on high-performance graphics techniques
GPGPU
General Purpose GPU Usage Homepage
Parallax Occlusion Mapping
Easy-to-follow description of parallax occlusion mapping, a recent technique for simulating accurate shading of highly detailed geometry with low memory/computation overhead.
Software Optimization Resources
Advanced low level programming optimization guides. Extremely well written and up-to-date.

Misc

Photosynth
(Windows-only). Program from Microsoft Research which stitches pictures together to create an immersive 3D experience
Gamasutra Game Development
Lots of articles on game development

Links to Links

GameDev Articles and Resources
Wide variety of articles related to game development
Princeton Advanced Graphics Class
Very nice list of links in many different areas, though some are a bit outdated