3D Graphics and Rendering
Neumann PHE-402 213-740-0877
Teaching Assistant: TBA
Prerequisites: C++ programming skills
Familiarity with VC C++ development
No specific course prerequisite. Some computer graphics or image processing course or experience is recommended. OpenGL, Direct3D, Java3D, backgrounds are very helpful for term projects
Textbook: 3D Computer Graphics by Alan Watt (recommended / not required)
A reference book on OpenGL is recommended for help with term projects
Course Web site: USC Blackboard System https://totale.usc.edu/
Research Publications: (examples of forums related to the class)
ACM SIGGRAPH: Computer Graphics
IEEE Computer Graphics and Applications
ACM Interactive 3D Graphics
This course explores topics related to 3D computer graphics rendering. It assumes that students possess an understanding of digital images, programming, and basic linear algebra.
The course focuses on rendering algorithms and the development of graphics libraries; it is not a course on 3D geometric modeling, the use of commercial tools (such as Maya), or animation. We will explore how images are produced once a model has been created or acquired. Topics include: the 3D rendering pipeline, rasterization techniques, lighting, color, hidden surface removal, textures, volume rendering, photo realism, graphics hardware, and virtual environments.
Textbooks are used for reference. Recent and seminal publications will be referenced when appropriate to get an understanding of the research frontiers. Copies of recommended papers will be available from the class web site. Video/DVDs may be used to illustrate concepts and results.
The course is based on the belief that computer graphics is best learned by doing. There are no written exams. Grades are based on the homework programming assignments and a final term-programming project. Homework assignments focus on producing the components of a 3D graphics library. The term project is expected to take most of the 2nd half of the semester to complete and should explore a new research concept or a novel extension to a research publication. A one-page proposal abstract is required by mid-semester for approval by the instructor, and a 4-5 page report describing the complete project is required at the end of the semester. All the projects are presented and demonstrated in the final days of class.
You are encouraged to talk among yourselves about the assignments and projects; however you must turn in your own work. Files that are clearly the same, or slightly altered copies of each other, will receive zero credit and the USC Office of Student Judicial Affairs and Community Standards will be notified. Protect yourself by making your work unreadable by others.
See http://www.usc.edu/student-affairs/SJACS/nonacademicreview.html for details of the USC student conduct code.
Home Work Assignments (approximate sequence – subject to change)
Compile and run for setup
Triangle renderer with Z-buffer and constant color
Lighting and shading
Procedural and image textures
Accumulation buffer anti-aliasing
Project (due at end of semester)