Redirected from page "FrontPage"

    CS 248: Interactive Computer Graphics

Welcome Welcome Welcome

Bioshock II; Assassin's Creed II; Dragon Age: Origins. Images courtesy of


  • 3/1/12: Demo code for a particle system can be downloaded in the starter code section of the Final Project page.

  • 2/17/12: The Final Project has been announced!

  • 2/13/12: Assignment 3 has been released and is due at 11:59 on Feb 27th. Start early, and this time we really mean it. You'll be working with OpenGL and have some major tasks to handle. The starter code is really bare this time--all it does is render a blank window!

  • 2/8/12: The Assignment 2 page has been updated with new reference images to help some people out with their debugging.

  • 2/4/12: Assignment 2 has been released and is due at 11:59pm on Feb 13rd. Start early!

  • 1/23/12: Assignment 1 has been released and is due at 11:59pm on Feb 3rd. Reminder: You can use up to 3 late days per assignment. Also, you can earn late days by turning in assignments early.

  • 1/18/12: The site is finally up! If you don't see your question answered here, ask it on Piazza.

  • 1/8/12: Students can sign up for Piazza here.

Course Description

Rendering and animation for interactive computer graphics. Topics in rendering include: the graphics pipeline, rasterization, lighting and surface shading, texture mapping and its applications, graphics hardware, and rendering optimization. Topics in animation include: keyframing and interpolation, physics-based simulation, and character animation.

Course Staff


CS 248 uses Piazza as a forum for students and instructors to ask questions and share notes. Sign up for Piazza here. Please also read Piazza Policies and Instructions for important information about using Piazza.

Class Policies

Watching Online

This quarter's CS 248 class is recorded online for full-time and SCPD students. Full-time (i.e. on-campus) students should use this link and find CS248 listed under Computer Science. SCPD students should use this link.

Late Days

  • Each student starts with 3 late days. You can earn late days by turning in an assignment early (i.e. one day early submission = one extra late day).
  • You can only use up to 3 late days per assignment.
  • Late days can be used retroactively. eg. If you used 3 late days for hw1, and 2 late days for hw2, you can hand in hw3 2 days early to make up for the extra late days you used. ie. we'll just keep a running count of the total late days you've used/earned.

  • Any late days used beyond that will incur a 20% (cumulative) penalty on the grade for that assignment.

Working Together

While sharing high-level concepts and algorithms is encouraged, sharing code is not permitted.

Remember, all work submitted must be your own. If you have not done so, please review the Stanford Computer Science honor code.  Suspected violations of the honor code will be investigated and referred to the Office of Judicial Affairs.


Links will be posted when the assignment is assigned.

Computer Game Competition

The 2012 CS 248 Computer Game Competition was held on March 20, 2012. More information is available here. Videos of the winning games can be found here.








9 Jan



11 Jan



13 Jan

No review session

16 Jan

No class (MLK Day)

18 Jan

Research topics in computer graphics

20 Jan

Review session: Basic OpenGL


23 Jan

The graphics pipeline, geometric transformations


Assignment 1

25 Jan

Geometric transformations, rasterization


27 Jan

Review session: Transformations, viewing, rasterization


30 Jan

Rasterization, lighting and shading


1 Feb

Lighting and shading


3 Feb

Review session: Shadow edge issue, perspective correct interpolation, normal transformations


Assignment 2

Assignment 1

6 Feb

Texture mapping


8 Feb

Applications of texture mapping


10 Feb

Review session: Lighting and Texture Mapping


13 Feb

Rendering large environments (guest lecture, Sid Chaudhuri)


Assignment 3

Assignment 2

15 Feb

Graphics hardware (guest lecture, John Brunhaver)


17 Feb

Review session: Shaders and Framebuffer Objects


20 Feb

No class (Presidents' Day)

22 Feb

Rendering Rough Surfaces


24 Feb

Review session: Shadow, normal and environment mapping

Slides for Shadow/Normal mapping
Slides for PCF/Environment mapping

27 Feb

Fun with filters

Assignment 3

29 Feb

More filters. Depth of field.

2 Mar

Review session: Particles


5 Mar

Motion blur. Glare.

7 Mar

Ambient occlusion. Introduction to animation.

9 Mar

Review session: Depth of field, Motion blur, SSAO


12 Mar

Simulation basics.

14 Mar

Rigid body simulation.

16 Mar

Review session: KD trees


20 Mar

Computer game competition