CAP 4720: Computer Graphics
Fall 2008


Instructor:

Juraj Obert

 

email: jobert@cs.ucf.edu
phone: 407 823 2638

TA:

tbd

email: tbd

Pre-requisite:

C/C++ programming, COP3530 (or new COP3503) and MAC 2147

Course Home Page:

http://graphics.cs.ucf.edu/cap4720/fall2008  

Meeting Times and Place:

Tuesdays and Thursdays 4:30 PM to 5:45 PM in HEC# 111

Office Hours:

Tuesdays and Thursdays: 6:00 PM to 7:15 PM at HEC# 213 (Computer Graphics Lab)

Extra hours by appointment.

Textbook :

Interactive Computer Graphics (5th edition)
by Edward Angel, Addison Wesley

ISBN-13: 978-0-321-53586-3

ISBN-10: 0-321-53586-3

Topics:

The following topics are to be viewed as general guidelines. The list is not final and will be adjusted if necessary.

 

  • Graphics Systems, Graphics Pipeline (Chapter 1)
  • Modeling and Transformations (Chapter 4, 5)
  • Rasterization and Visibility (Chapter 7)
  • Lighting and Programmable Shaders (Chapter 6, 9)
  • Interaction (Chapter 3)
  • Animation (not much in the textbook, I will provide additional material on this page when the time comes)
  • Post-processing techniques (again, not covered in the textbook, resources will be provided here)
  • Case studies (guest lectures by people from EA Tiburon)

 

In addition to previous topics, the following are minor areas that will have to be covered in one way or another:

           

  • Math for Computer Graphics (matrices, vectors, geometry, numerical methods, etc…)
  • GPU architecture
  • Graphics API (OpenGL)
  • Shading languages (GLSL for this class, but concepts applicable to Cg/HLSL too)
  • Shader authoring (FX Composer, RenderMonkey)
  • Data structures in Computer Graphics

 

 

NOTE:

 

  • The second set of topics will be interleaved with the first one. The reason for this is that the first set is a high-level walk through all necessary stages used in any computer graphics application. The second set are topics that everybody just needs to know, i.e. tools used in the production pipeline. We will cover these as necessary.

 

  • I will do my best to include guest lectures by people from EA. This is to motivate you and show you where computer graphics can take you if you decide to pursue it.

 

  • Class attendance is highly recommended, because not all topics are covered in the textbook.

                                                           

Resources for the class:

http://www.opengl.org/

http://www.lighthouse3d.com/opengl/

http://developer.nvidia.com/object/all_docs_by_date.html
http://www.gpgpu.org/
http://developer.nvidia.com/
http://www.ati.com/developer/

Policies

·        Evaluation: The progress of the student will be evaluated through regular assignments (programming and non-programming), and exams.

·        There will be two small quizzes (or tests, we’ll see), one midterm exam and one final exam.

·        Total Points : 100

o       1st quiz: 5 Points

o       2nd quiz: 5 Points

o       Midterm exam: 20 Points

o       Final Exam: 20 Points

o       Programming assignments: 50 Points

o       *Bonus* Non-mandatory project: 10 Points

·        Points to grade conversion:

o       A: 85–100, A-: 83–85

o       B+: 80–83, B: 75–80, B-:73–75

o       C+: 70–73, C: 65–70, C-: 63–65

o       D+: 60–63, D: 55–60, D-:50–55

o       F: below 50.

 

Programming Assignments

·        The number of programming assignments will be 5-7.

 

·        Assignments must be uploaded to WebCourses by deadline.

 

·        Grading for assignments:

 

o       Assignment submitted before deadline: 0% penalty

o       Assignment submitted within 1 day after deadline: 20% penalty

o       Assignment submitted within 2 days after deadline: 30% penalty

o       Assignment submitted within 3 days after deadline: 50% penalty

o       Assignment submitted after 3 days of deadline: 100% penalty

 

The TA (or me) will be looking at code quality, so make sure your code is readable and presentable to other people too. Include comments.

 

·        All programming assignments must be done in C/C++ (no exceptions). Some programming assignments may be accompanied with certain documentation/written work. This will be specified when each assignment is introduced in class.

 

·        All assignments (that apply) will be done using OpenGL and GLSL. If you want to use DirectX and HLSL or Cg, come talk to me first.

 

·        If you use Windows platform for development, make sure you code compiles on 32-bit Windows XP (you can always come to the lab and test your code on our computers). If you use MAC OS, you will have to come turn in your work in person and bring your own computer to prove that it works. Unfortunately, there are no MACs in the computer graphics lab. I discourage you from using LINUX/UNIX, because GPU drivers are not working the way they should be. In any case, if you’re using something else that Windows, come talk to me first.

 

·        If you use Visual Studio, you must include the entire project and solution files. If you use any other compiler, you must include instructions on how to compile your program.

 

·        The graphics API OpenGL will be taught in the class. OpenGL and DirectX are two equally important graphics APIs. Student will be allowed to use either OpenGL or DirectX as for their assignments. However, learning DirectX will be the student's own responsibility. Perks of DirectX: very up-to-date, excellent utility kit that lets you do lots of thinks (such as loading 3D models) with a single function call. Cons: Initial setup is complex and takes time getting used to.

 

·        The GPU programming language GLSL will be taught in the class. GLSL (OpenGL), HLSL (DirectX) or Cg (OpenGL or DirectX) are three equally popular GPU programming languages. Student will be allowed to use any of these shading languages. However, learning anything other than GLSL will be the student's responsibility.

 

 

Calendar

 

Tuesday           Aug 26             4:30pm             Introduction to CG, applications, games, movies…

Thursday          Aug 28             4:30pm

 

Tuesday           Sep 2              4:30pm

Thursday          Sep 4              4:30pm

 

Tuesday           Sep 9              4:30pm

Thursday          Sep 11            4:30pm

 

Tuesday           Sep 16            4:30pm

Thursday        Sep 18            4:30pm            First small quiz

 

Tuesday           Sep 23            4:30pm

Thursday          Sep 25            4:30pm

 

Tuesday           Sep 30            4:30pm

Thursday          Oct 2              4:30pm

 

Tuesday           Oct 7              4:30pm

Thursday        Oct 9              4:30pm            MIDTERM EXAM

 

Tuesday           Oct 14            4:30pm             MIDTERM RESULTS

Thursday          Oct 16            4:30pm             LAST CLASS BEFORE WITHDRAWAL DEADLINE

 

Tuesday           Oct 21            4:30pm

Thursday          Oct 23            4:30pm

 

Tuesday           Oct 28            4:30pm

Thursday          Oct 30            4:30pm

 

Tuesday           Nov 4             4:30pm

Thursday        Nov 6             4:30pm            Second small quiz

 

Tuesday           Nov 11            4:30pm             HOLIDAY, Veterans Day

Thursday          Nov 13            4:30pm

 

Tuesday           Nov 18            4:30pm

Thursday          Nov 20            4:30pm

 

Tuesday           Nov 25            4:30pm

Thursday          Nov 27            4:30pm             HOLIDAY, Thanksgiving

 

Tuesday           Dec 2              4:30pm             FINAL REVIEW

Thursday          Dec 4              4:30pm             FINAL REVIEW

 

Thursday        Dec 11            4:00pm            FINAL EXAM