CMSC 635/491: Advanced Computer Graphics

Tu Th 4:00-5:15, ITE 231

Instructor: Dr. Marc Olano (
Office/lab hours: ENG 005a; TuTh 2:30-3:30

Prerequisite: CMSC 435/634 or consent of instructor

Text: Real-Time Rendering, Tomas Akenine-Möller, Eric Haines and Naty Hoffman, AK Peters 2008. Recommended.
Additional papers will be handed out or made available for download throughout the semester.


Advanced image synthesis including graphics pipelines, shading, texturing, illumination, anti-aliasing, perception, image accuracy, image-based rendering, and non-photorealistic rendering. Through readings in the text and papers, students will learn classic and new techniques in computer graphics. Students will be lead through all phases of graphics research, development, dissemination, review and presentation in their final project, with certain phases repeated and reinforced through other class experiences. The assigned projects help students gain graphics development experience. The in-class paper presentations provide practice in technical presentation. The final project includes phases of literature review, idea formation, formal proposal, development, paper-writing, peer review and presentation.

Grading and Due Dates

491 635 Description Date
10% 10% Readings: Read & write questions Each week
10% 10% Two Paper Presentations
• Select Presentations Feb 3
• Present Varies
10% 10% Assn 1 Feb 17
10% 10% Assn 2 Mar 10
10%   Assn 3 Mar 31
10%   Assn 4 Apr 21
10%   Assn 5 May 11


Individual Project
Select Area Feb 3
Annotated Bibliography Feb 24
Initial Proposal Mar 17
Revised Proposal Mar 31
Progress Report Apr 12/14
Project & Paper Complete May 2
Presentation May 3-12
5% Reviews May 12
25% 25% Final Exam May 17

Assignments are to be submitted electronically by 11:59 PM the day listed. In-class presentations are individually scheduled.

Academic Honesty

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook, the Faculty Handbook, or the UMBC Policies section of the UMBC Directory [or for graduate courses, the Graduate School web site].

All assignments and exams are expected to be your individual work. You may discuss assignments with anyone, but any code must be your own individual work. These rules are relaxed slightly for the individual project. This project is intended to be representative of a small research project. As such, you may use existing code or libraries for prior work rather than reimplement these yourself, but your own research component must be your own code and clearly identified.

In all cases, any help you receive (excluding course staff, lectures and text) must be documented, including allowed discussions, other texts, papers, web pages, etc. Include a comment at the start of each assignment write-up documenting all sources you used and what you got from each. If you used no outside sources, say so. Failure to include this comment will result in your program being returned ungraded.


Papers are required reading, and should be read before the first date listed below for each topic. Turn in one insightful question about each paper at the beginning of the first class when we cover that topic. Corresponding chapters in the book are optional, but will probably help you to understand the papers.

Tentative Schedule

The schedule listed here may change over the course of the semester. Check the course web page for the latest version. If you think you might like to do a final project on one of the later topics, let me know and I will move that topic earlier in the semester. As a corollary, pick your presentation paper based on your interest, not on where it appears in this schedule.

Unless otherwise noted, due dates are 11:59 PM on Thursday of the week indicated.

Date Topic Due
Jan 27 Overview; Presenting
Feb 1/3 Ray Tracing All: Select Presentations & 635:Project Area
Feb 8/10 Procedural Shading
Feb 15/17 Graphics Hardware All: Assn 1
Feb 22/24 Sampling & Antialiasing 635:Bibliography
Mar 1/3 Texturing
Mar 8/10 Shadows All: Assn 2
Mar 15/17 Volume Rendering 635:Initial Proposal
Mar 29/31 Illumination 491:Assn 3, 635:Revised Proposal
Apr 5/8 Global Illumination
Apr 12/14 Progress Reports 635:Progress Reports
Apr 19/21 Surface Effects 491:Assn 4
Apr 26/28 Texture Synthesis
May 3/5 Project Presentations 635:Project & Paper Complete (Due Monday)
May 10/12 Project Presentations 491:Assn 5, All:Reviews
May 17 Final Exam, 3:30-5:30

Class Resources

This syllabus is a snapshot of the class web page ( Important announcements and updates will be made to this page throughout the semester. I will announce at the beginning of class if I make a significant change or addition, and date stamps of the latest several changes will appear on top of the page.

There is also a class email list for announcements and public student questions: Your classmates will get this email, so you should not use the list for private or grade-related comments, but feel free to use it as a means to ask public questions of me or your fellow students. If you are enrolled in the course as of Tuesday, January 25th, you should be pre-subscribed using your address. The list will only accept mail from subscribed addresses. If you are not pre-subscribed or would prefer to send and receive email from another address (can be outside UMBC), let me know and I will change it.

Final Projects