Undergraduate Computer Graphics

ECS 175
Computer Graphics

CRN #93803

Inside a virtual spaceship, by student Matt Hibbs.

Professor: Nina Amenta
Lecture: MWF 10:00-10:50, 166 Chemistry
Lab Hours: Wds 2-4, in 71 Kemper

Teaching Assistant: Zehra Shah, zshah "at" ucdavis.edu
Discussion Section: Fri 3:10-4:00 166 Chemistry
Lab Hours: Thurs 1-3, 71 Kemper

Writing computer graphics code was pretty easy for a while, but in recent years the hardware has gotten so complicated that writing the software has gotten quite difficult again. On the bright side, it means that in this course you will get a real systems-level understanding of interactive computer graphics (how video games work), from hardware through graphic design. We'll use a version of the "Modern OpenGL" API, roughly the part of OpenGL 2 which is shared with OpenGL 3.

  • Syllabus
  • Course Description
  • Lectures and reading




    The textbook is:

    Fundamentals of Computer Graphics, 3rd Edition (2nd Edition would be fine too)
    Peter Shirley, et. al.
    A K Peters, Ltd., 2005

    You may also want to buy:

    OpenGL ES 2.0 Programming Guide
    Aaftab Munshi, Dan Ginsburg, Dave Shreiner
    Addison-Wesley Professional

    This is the book for the embedded systems OpenGL (eg. on phones), and although we are not using OpenGL ES it is essentially the same as the subset of OpenGL that we are using, without any extraneous stuff. WebGL (for applications embedded in a browser) is also very similar. Basically we will use the commands described in BOTH the OpenGL 2.1 reference page AND the OpenGL 3.3 reference page.


    Online Resources

    There are many Web pages about OpenGL, but it is hard to know which to use since different versions of OpenGL are very different from each other - OpenGL 4 has little in common with OpenGL 1.