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 any 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 curved surfaces. We will learn OpenGL (DirectX is similar) and GLUT, with brief surveys of advanced topics.
- This course satisfies the project requirement.
REQUIRED TEXTBOOK :
"Real-Time Rendering" 3rd Edition (earlier editions unacceptable) by Tomas Akenine-Möller, Eric Haines, and Naty Hoffman. 1045 pages, from A.K. Peters Ltd., ISBN 978-1-56881-424-7, 2008
IMPORTANT: go to the book’s website: http://www.realtimerendering.com/ , search "now how much would you pay?" to find best deals, e-books, rentals, etc.
--OpenGL: A Primer, 3rd Edition, by Edward Angel, (c) 2008 Addison-Wesley, 304 pp.
--OpenGL SuperBible, 5th Edition, by Richard S. Wright et al., (c) 2011 Addison-Wesley, 988 pp.
--OpenGL Reference Manual, (“Blue Book”), OpenGL Programming Guide (“Red Book”) 3rd ed. or later; free 1st ed: http://www.opengl.org/documentation/blue_book_1.0/ or …/red_book_1.0;
OpenGL.org website; full of goodies!
COURSE GOALS: Comfort and ease in programming any desired interactive 2D or 3D shapes using OpenGL.
PREREQUISITES: EECS 311 or permission from instructor
DETAILED COURSE TOPICS: OpenGL/GLUT basics, 2D/3D vector transforms, shape description, traversing the tree of transformations, Viewing and camera matrices, lighting, shading and texture, smoothing: antialiasing, curves and surfaces: Bezier, B-splines, and NURBS.
HOMEWORK ASSIGNMENTS: In-class exercises; recommended problems from book.
LABORATORY PROJECTS: Four guided and collaborative programming projects using CodeBlocks (free multi-platform C/C++
integrated softwe. devel. environment—works on Windows, Macs, Linux, Unix, etc.). If you have your own computer, please use it; if it’s a laptop, please bring it to class. If you don’t, you may use any PC instructional lab (e.g. MG-28, basement of Tech, Library lab, Kresge…).
GRADES: projects with in-class demo and report; 4 quizzes+class participation; No Midterm or Final Exam