CATALOG DESCRIPTION: First in a 3-course series to teach fundamental ideas underlying all forms of computer-assisted picture-making. Teaches you to write simple programs that make collections of interactive 2D/3D shapes with simple lighting and textured surfaces. You will learn by doing, with four projects that teach: 1) Shape descriptions; points, lines, polys, and trees of transformations; 2) Viewing: how to make a 3D camera that computes a picture 3) lighting and shading; 4) textures and buffer tricks. We will use 'WebGL' to write 3D graphics programs that run in HTML-5 browsers such as Chrome. We will learn GLSL to write shaders in OpenGL (DirectX is similar), with brief surveys of advanced topics.

  • This course satisfies the project requirement.


"WebGL Programming Guide: Interactive 3D Graphics Programming with WebGL (OpenGL)" By Kouichi Matsuda and Rodger Lea. (First edition) Addison-Wesley, © 2013 Pearson Education, Inc. (Paperback or Kindle E-book – either is OK)

"OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3 (8th Edition)" !CAREFUL! EARLIER EDITIONS UNACCEPTABLE! By Dave Shreiner, Graham Sellers, John M. Kessenich, Bill M. Licea-Kane. Addison-Wesley, © 2013 Pearson Education, Inc. (Paperback or Kindle E-Book – either is OK)


"Mathematics for 3D Game Programming and Computer Graphics" (3rd Edition) !CAREFUL! EARLIER EDITIONS UNACCEPTABLE! By Eric Lengyel Cengage Learning, ©2012 Course Technology (Paperback or Kindle E-Book – either is OK) (Also used in "Intermediate Graphics" course)

"Real-Time Rendering" (survey of techniques; little/no implementation help) by Tomas Akenine-Möller, Eric Haines, and Naty Hoffman. 1045 pages, from A.K. Peters Ltd., ISBN 978-1-56881-424-7, 2008 (Hardback or Kindle E-book - either is OK)

"OpenGL SuperBible" (6th Edition) by Graham Seller, Richard S. Wright, Jr., and Nicholas Haemel Addison-Wesley (c) 2014 Pearson Education, Inc. (Paperback or Kindle E-Book - either is OK)

COURSE COORDINATOR: Jack Tumblin, Rm 3-341, Ford Engineering Design Center, 2133 Sheridan Road, Evanston IL 60208., Office: 847 467 2129

COURSE GOALS: Comfort and ease in programming any desired interactive 2D or 3D shapes using OpenGL.

PREREQUISITES: EECS 214 or permission from instructor

DETAILED COURSE TOPICS: OpenGL/WebGL basics, Buffers and Pass-thru shaders; 2D/3D vector transforms, shape description, traversing the tree of transformations, Viewing and camera matrices, lighting, shading and texture, smoothing: antialiasing, buffer-to-buffer rendering.

HOMEWORK ASSIGNMENTS: In-class exercises; recommended problems from book.

LABORATORY PROJECTS: Four guided and collaborative programming projects using Chrome web-browser and 'NetBeans' IDE for JavaScript (free, downloadable; runs on Windows, Macs, Linux, Unix, etc.).  You will need to use your own computer; if it’s a laptop, please bring it to class to try out programming examples.

GRADES: projects with in-class demo and report; 4 quizzes+class participation; No Midterm or Final Exam.