Copyright © 2015 Hao Li

CSCI 420: Computer Graphics FS 2015

Administrative                                                                          Map

Course Overview

Schedule

Prerequisites

Grading

This course is an introduction to three-dimensional computer graphics. Students will learn both theory of 3D computer graphics, and how to program it efficiently using OpenGL. Topics include 2D and 3D transformations, Bézier and B-Spline curves for geometric modeling, interactive 3D graphics programing, computer animation, kinematics, and rendering including ray tracing, shading, and lighting. There will be an emphasis on the mathematical and geometric aspects of computer graphics, This course is regularly offered every semester (the instructor may vary as well as the content). There will be 3 hours of lecture (by instructor), and 1 hour of discussion (by instructor or TA) every week.

This page will be frequently updated with the latest slides, exercises, and additional reading materials. Also, this course will be dynamic as it is being improved during the semester.

Lecture URL

Exercises / Q&A


Type





Class number

Hours

Days

Room

http://cs420.hao-li.com

http://blackboard.usc.edu


Lecture, 4 units





001-30230R

11:00 am - 12:20 pm

Tuesday, Thursday

TTH 212 (Mark Taper Hall)

3501 Trousdale Pkwy

Instructor

Office

Office hours

Email

TA

Office

Office hours

Email

Prof. Dr. Hao Li

SAL 244

Tue 2:00 PM - 3:00 PM

hao.li@usc.edu

Kyle Olszewski

GFS 204

Mon 5:00 PM - 7:00 PM

olszewsk@usc.edu

Date



Tue Aug 25, 2015


Thu Aug 27, 2015


Tue Sep 01, 2015


Thu Sep 03, 2015


Tue Sep 08, 2015


Thu Sep 10, 2015


Tue Sep 15, 2015


Thu Sep 17, 2015


Tue Sep 22, 2015


Thu Sep 24, 2015


Tue Sep 29, 2015


Thu Oct 01, 2015


Tue Oct 06, 2015


Thu Oct 08, 2015


Tue Oct 13, 2015


Thu Oct 15, 2015


Tue Oct 20, 2015


Thu Oct 22, 2015


Tue Oct 27, 2015


Thu Oct 29, 2015


Tue Nov 03, 2015


Thu Nov 05, 2015


Tue Nov 10, 2015


Thu Nov 12, 2015


Tue Nov 17, 2015


Thu Nov 19, 2015


Tue Nov 24, 2015


Thu Nov 26, 2015


Tue Dec 01, 2015


Thu Dec 03, 2015


Tue Dec 08, 2015


Thu Dec 10, 2015


Tue Dec 15, 2015


Hoooray!

Topic



Introduction


Basic Graphics Programming


Input and Interaction


Transformations


Viewing and Projection


Hierarchical Modeling


Polygonal Meshes, Curves, & Surfaces


Splines


Lighting and Shading (Cosimo)


Shading in OpenGL


Texture Mapping


Bump Mapping & Clipping


Rasterization


Ray Tracing


Geometric Queries


Programmable Graphics Hardware (Kyle)


Review for Midterm


Midterm Exam


Spatial Data Structures (Kyle)


No Class


Global Illumination


Animation Principles


Quaternion and Rotations


Guest: Javier Von Der Pahlen (Activision)


Computer Animation


Physically Based Simulation I


Physically Based Simulation II


No Class (Thanksgiving)


I/O Technologies & VR


No Class (Study Days)


No Class (Study Days)


No Class (Study Days)


Final Exam, at TTH 212, 8AM-9AM

1


  1. While this course is self-contained, students should have solid background in linear algebra, C/C++ programming, and

  2. CSCI 104L: Data Structures and Object Oriented Design

  3. MATH 225: Linear Algebra and Linear Differential Equations

Course Material

  1. This course is based on the following textbooks:




  1. Resources:







  1. Supplemental books:









  1. Prerequisite-related Resources:

Statement for Students with Disabilities

Any student requesting academic accommodations based on a disability is required to register with Disability Services and Programs (DSP) each semester. A letter of verification for approved accommodations can be obtained from DSP. Please be sure the letter is delivered to me (or to TA) as early in the semester as possible. DSP is located in STU 301 and is open 8:30 a.m.–5:00 p.m., Monday through Friday. The phone number for DSP is (213) 740-0776.

Statement on Academic Integrity

USC seeks to maintain an optimal learning environment, mkay?. General principles of academic honesty include the concept of respect for the intellectual property of others, the expectation that individual work will be submitted unless otherwise allowed by an instructor, and the obligations both to protect one’s own academic work from misuse by others as well as to avoid using another’s work as one’s own mkay? All students are expected to understand and abide by these principles. Scampus, the Student Guidebook, contains the Student Conduct Code in Section 11.00, while the recommended sanctions are located in Appendix A: http://www.usc.edu/dept/publications/SCAMPUS/gov/. Students will be referred to the Office of Student Judicial Affairs and Community Standards for further review, should there be any suspicion of academic dishonesty. The Review process can be found at: http://www.usc.edu/student-affairs/SJACS/, mkay?

Emergency Preparedness/Course Continuity in a Crisis

Ahahahaha! In case of a declared emergency if travel to campus is not feasible, USC executive leadership will announce an electronic way for instructors to teach students in their residence halls or homes using a combination of Blackboard, teleconferencing, and other technologies (LOL!).


Please activate your course in Blackboard with access to the course syllabus. Whether or not you use Blackboard regularly, these preparations will be crucial in an emergency. USC's Blackboard learning management system and support information is available at blackboard.usc.edu.

For Those Who Want to Dive Deeper

If you are curious and interested in doing more research related to Computer Graphics and Computer Vision.

  1. You may want to browse interesting research papers in the top avenues in graphics (Siggraph, Siggraph Asia, ACM TOG, Eurographics) and computer vision (CVPR, ICCV, ECCV), as well as some more specialized but equally excellent conferences (SGP, SCA, 3DV).

  1. Assignments: 50% = 16% + 17% + 17%

  2. Mid-terms exam: 20%

  3. Final exam: 30%

Good news everyone! All assignments must be completed to pass the course. The assignments have bonus credits.

Late Policy

  1. Programming assignments should be turned in by midnight on the day they are due. A total of three late days may be taken during the semester on programming assignments. For example, you can use one late day on the second assignment, and two on the third assignment. All days are counted, including any weekends and holidays, as follows:
    Less than 24 hours late = 1 late day, 24-48 hours late = 2 late days, 48-72 hours late = 3 late days, and so on.

  2. The flexibility provided by the late days is intended to get you through the time where all your classes just happen to have assignments due on the same day. Beyond the three late days, there will be a penalty of 10% of the value of the assignment / day. Exceptions will be granted only under most dire circumstances and must be discussed with and approved by the instructor at least one week in advance.

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Or call Dr. Bregler:

16

Lecture

001-30053R

12:30 pm - 1:20 pm

Thursday

TTH 212 (Mark Taper Hall)

3501 Trousdale Pkwy

Discussion

Class number

Hours

Days

Room

17

  1. Edward Angel: Interactive Computer Graphics: A Top-Down Approach Using OpenGL, Fifth edtition, Published: Addison Wesley, ISBN: 9780321535863

  2. Dave Shreiner: OpenGL Programming Guide: The Official Guide to Learning OpenGL, Versions 3.0 and 3.1, Seventh edition, Publisher: Addison-Wesley Professional, ISBN: 9780321552624

  1. Textbook support by the author, Edward Angel

  2. Real-Time Rendering Resources

  3. OpenGL homepage: www.opengl.org

  4. OpenGL Red Book online, Version 1.1

  5. OpenGL SDK documentation on www.opengl.org

  6. OpenGL tutors for windows by Nate Robins

  1. Real-Time Rendering. Thomas Akenine-Möller and Eric Haines. 2nd edition, AK Peters, 2002. ISBN 1-56881-182-9.

  2. Computer Graphics: Principles and Practice. James D. Foley, Andries van Dam, Steven K. Feiner, and John F. Hughes. 2nd edition in C, Addison-Wesley, 1996. ISBN 0201848406.

  3. Fundamentals of Computer Graphics. Peter Shirley, Steve Marschner. 3rd edition, A K Peters, 2009. ISBN 1568814690.

  4. An Introduction to Ray Tracing. Andrew S. Glassner, editor, Academic Press, 1989. ISBN 0-12-286160-4.

  5. Advanced Animation and Rendering Techniques, Theory and Practice. Alan Watt and Mark Watt, ACM Press and Addison-Wesley, 1992. ISBN 0-201-54412-1.

  1. (Math for graphics) Appendices B and C of the course textbook (Angel)

  2. (Math for graphics) Chapter 2, "Miscellaneous Math" of Shirley and Marschner, Fundamentals of Computer Graphics

  3. Introduction to Linear Algebra. Gilbert Strang. Wellesley-Cambridge Press, 1998. ISBN 0-9614088-5-5.

  4. Calculus: Early Transcendentals. James Stewart. Fourth edition, Brooks/Cole Publishing Company, 1999. ISBN 0-534-36298-2.

  5. Khan Academy, free math instructional videos

  6. The C Programming Language. Brian W. Kernighan and Dennis M. Ritchie. Second edition, Prentice Hall, 1988. ISBN 0-13-110362-8 (paperback).

Grader

Email

Lizhi Fan

lizhifan@usc.edu

Ronald Yu

ronaldyu@usc.edu

Acknowledgment

I would like to thank Jernej Barbič and Sathyanaraya Raghavachary for providing the lecture material. This lecture is based on the computer graphics courses taught by Frank Pfenning and Jessica Hodgins from CMU. This course has also been influenced by computer graphics courses at Cornell, MIT, UC Berkeley,  EPFL, and Stanford.

TA

Office

Office hours

Email

Lingyu Wei

GFS 212

Tue 3:00 PM - 5:00 PM

lingyu.wei@usc.edu

[Knöppel et al. 2015]

Sumukh Lagadamane-Shivashankara

lagadama@usc.edu