CS 33400 Fundamentals of Computer Graphics

-general information-

 




Administrative affairs

·                    Instructor: Voicu Popescu, popescu@purdue.edu

-         Office hour: by appointment, LWSN 3179

·                    Teaching assistant: Paul Rosen, rosen@purdue.edu

·        Office hour: Thursdays 3:00-4:00pm, LWSN 3151


Emergency preparedness

·        In the event of a major campus emergency, course requirements, deadlines and grading percentages are subject to changes that may be necessitated by a revised semester calendar or other circumstances.  All changes to this course will be posted on this website. During an emergency this website will continue to serve as a means for communication between instructors and students and for disseminating course materials and assignments.


Lectures

·        Basics

·        Triangle rasterization

·        The planar pinhole camera

·        Rasterization parameter interpolation

·        Basic shading and lighting

·        Texture mapping

·        Environment mapping

·        Projective texture mapping

·        Projected scene impostors for high-quality reflections at interactive rates

·        Hardware rendering

·        Code


Assignments

·        A1

·        A2

·        A3

·        A4

·        A5

·        A6

·        A7

·        A8

·        A9

·        A10

 

You are allowed to develop in any environment you want (Windows/VS vs. Linux/Eclipse).  We recommend Windows and Visual Studio 8.0, since that is what you will turn in.  You are also allowed to use any windowing toolkit you'd like (FLTK, GLUI, SDL), but FLTK is recommended.

Your actual submission must...

 


Prerequisites


Syllabus

We will spend the semester studying and implementing interactive 3D graphics techniques. The syllabus has three parts.

·                    Basics

o   Vectors, matrices, transformations

o   Basic analytical geometry (e.g. points, lines, segments, planes, triangles, intersections)

o   Camera models, projection, navigation

·                    Classic feed-forward rendering

o   Rasterization

o   Screen space and model space interpolation

o   Basic shading

o   Texture mapping, projective texture mapping

o   Shadow mapping

o   Environment mapping

o   Antialising

o   GPU programming

·                    Advanced rendering techniques (a subset of the following topics, time permitting)

o   Ray tracing

o   Geometric modeling

o   Image-based rendering

o   Automated scene modeling (e.g. stereo, structured light, laser range finding)

o   Computational photography

o   Camera model design

 


Required (but Fun) Work


Cheating policy


Course material



Voicu Popescu, spring 2010