Syllabus for CS510: Computer Graphics --- Spring '97
Course Description
In CS510, the focus is on computer graphics techniques for the
generation of realistic images using techniques for defining surfaces
and for calculating lighting and shading effects. Students will write
programs to render 3D objects using techniques ranging from simple
flat shading to complex ray-shading. User-interface design with
X-windows will be introduced. We will also briefly discuss
programming with the OpenGL graphics library and Java.
Important Information
- Meets: M/W/F, 9:00-9:50 AM, 100 USC.
- Taught by: Chuck Anderson,
anderson@cs.colostate.edu
- Phone: 970-491-7491. FAX: 970-491-2466
- Office Hours: 225 USC, M/W/F, 2:00--3:00 PM, or by appointment
- Text:
- Foley, van Dam, Feiner, Hughes, and Phillips
Introduction to Computer Graphics
(Addison-Wesley, 1994), ISBN 0-201-60921-5
- Errata list for the textbook
Course Prerequisites
The prerequisite for this course is CS410, Introduction to
Computer Graphics. You should be able to work easily with concepts
from CS410 such as 3D homogeneous coordinate transformations, complex
models, 3D viewing and clipping, polygon filling, perspective viewing,
and Bezier and B-Spline curves.
If, instead of CS410, you have taken a similar course at another
university (or if it's been a while since you took CS410), you may
wish to obtain a copy of the CS410 course notes to review any material
which may have been covered differently or not covered in your
graphics course. You may be able to borrow the notes from another
student. If you need a copy of the notes, let the instructor know.
Additional copies can be made, which you would purchase at the
Research Services Print Shop in 104 USC for a cost of about four
dollars.
If you have not taken CS410 or the equivalent, you will probably have
considerable difficulty in this course. I strongly recommend
that you take CS410 first. It is offered this semester at the same
times and days as CS510.
Important Dates
Here are some important dates. Others will be announced in
class as the semester progresses.
On-Campus Students
- Jan 22: First Class
- Feb 26: Semester Project Proposals Due
- Mar 10-14: Spring Break
- Mar 21: Midterm Exam
- May 5: Semester Project Reports Due
- May 12: Final Exam, 7:00--9:00 AM
SURGE Students
- Mar 10: Semester Project Proposals Due
- Apri 4: Midterm Exam due
- May 19: Semester Project Reports Due
- May 26: Final Exam due
Grading
Various components of the class are described in the following
sections. Grades will be based on the following items, weighted as
follows:
- 45% for Lab Assignments
- 30% for Semester Project
- 10% for Midterm Exam
- 15% for Final Exam
Lab Assignments
There will be give lab assignments in the course to give you
experience in implementing some of the computer graphics algorithms
discussed in class. You will implement lighting, shading, and hidden
surface algorithms, including a ray-tracing algorithm.
All lab assignments must be done individually, not in groups. See the
Computer Science Department's Student Information
sheet for guidelines on helping other students or seeking help from other
students with assignments.
Semester Project
This course will require the completion of a semester project. Each project
will require a written report and a class presentation. Presentations will be
late in the semester; a schedule will be announced in class. If you are
taking the class through SURGE, you may elect to attend class to present your
report, otherwise your project grade will be based on your written report
only.
Two types of semester projects are possible:
- You may survey recent computer graphics
research literature about a particular topic.
Your paper (and presentation) will summarize and analyze
several research papers concerning your topic.
- You may write a program which implements a graphics algorithm
other than one of those implemented in a class assignment.
You may work individually or in a team of up to three people.
All members of a team will receive the same project grade.
Choice of topic must be discussed with and approved by the instructor. By
February 24th (March 10th for SURGE students), you must turn in a two-page or
more proposal on what you are doing for your semester project. This proposal
must include a set of at least three milestones, each with a date by when you
plan to complete the milestone.
The final written reports are due May 5th (May 19th for SURGE students). See
the list of handouts for a LaTeX and Postscript
version of an outline of the report. The outline also discusses how the
projects will be graded.
Attendance and Class Participation
Attendance at all sessions is highly recommended; some classes will
cover material that is not in the book. Information in announcements
made in class may not be available through other channels.
Exams
There will be two exams, a midterm and a final.
The final exam will primarily pertain to the material
covered after the midterm exam, with some topics from the first half
of the semester.
Hardware and Software
Unless you are taking the class through SURGE, all lab assignments must be
written in C or C++, and must compile and execute correctly on Computer
Science Department computer systems. All assignments will require the
submission of source code. SURGE students must submit source code and
executables on MS-DOS format floppy disk or through electronic mail. Any
exceptions require prior approval by the instructor.
On-campus students may use other computers (personal computers, etc.)
to develop and debug your lab programs, but the final product must
compile and execute on Computer Science Department computer systems.
Note that different systems almost always have some incompatibilities,
so caution should be used in adopting this approach.
SURGE
This course is offered on-campus and also through the SURGE program,
which provides courses on video tape for off-campus students. If you
are taking CS510 through SURGE, exam dates and deadlines for lab
assignments will normally be about two weeks after the deadline for
on-campus students. This will allow time for receipt of video tapes
and return of assignments. The deadline specified for SURGE
assignments is the date by which the assignment must be postmarked
(for U.S. Mail) or received (FAX or e-mail). For FAX submittal,
be sure that my name and department (Computer Science) are on the
cover sheet, and be sure that your writing is dark enough so that it
is legible on the FAX copy.
In order to complete the lab assignments, you will need access to a
computer with a graphics display capable of displaying gray scale
images with at least 64 gray levels. A graphical input device such as
a mouse, track ball, tablet, etc., is desirable but not required. A
graphics workstation or terminal with the X11 window system will be
the easiest to use, but a reasonably-fast (486 or faster) personal computer
will be adequate.
You will also need some way to electronically submit
images for your lab assignments. This may be done by modem or network
login to the CSU computer systems, by electronic mail, or by sending a
diskette in MS-DOS format through normal mail.
Note to on-campus students: The SURGE video tapes of lectures
are available for viewing in the Computer Science Department labs (3rd
floor, USC). Check with the lab assistant for tape availability;
tapes generally become available several days after the lecture, and
are kept for a couple weeks before reuse.
On-line Information
All required information, handouts, and code is available on-line at
http://www.cs.colostate.edu/~cs510. If you are unable to access
this, let the instructor know immediately. Other arrangements can be made for
you to receive the necessary material.
The newsgroup csu.cs.510 is available for our use. If you want
to ask a question of the class, find a study partner, let others know about a
particularly interesting web site you have found, or any other thing you want
to share with the class, you are welcome to post a note to this newsgroup. I
will also be posting notes regarding any changes to the schedule.
Due Dates, Rescheduling, and Late Policy
If you are unable to take an exam at the scheduled time, you must notify me as
soon as possible. Rescheduling of exams, homeworks, lab assignments, etc.,
will be possible only in exceptional circumstances. Guidelines can be found
in the attached Computer Science Department's Student Information
Student Information Sheet. See the sections Attendance Policy and
University Calendar and Incomplete Grade Policy.
For lab assignments, the due date will be noted on the assignment sheet;
assignments are due at the start of the class period on the due
date. Assignments turned in after the start of the class in which they are
due will be considered late. Unless otherwise specified, late assignments
will be penalized by 5% every day they are late. The day count increases
every weekday at 4:00PM. (Weekend days don't count!)
Here is a tentative schedule for the semester. The order of
topics will probably remain the same, but the dates may shift.
Each entry contains a date, a list of topics, and possibily
a reading assignment from the Foley, et al., text
book.
- Jan 22-24: Class overview. X Windows.
- Jan 27-31: Java. Tcl/Tk.
- Feb 3-7: CS510 GUI. Lab 0. Lab 1. 3D-to-2D
review. (Chapter 6)
- Feb 10-14: Ruled surfaces. Quadrics. Laying a mesh onto a
surface. (Sections 10.4, 9.1, 9.4)
- Feb 17-21: Realism. Depth buffer. (Sections 12 - 13.1.6, 13.2, 13.3)
- Feb 24-28: Illumination models. Lab 2. Polygon fill with depth
buffer. (Sections 14.1.1 - 14.1.3)
- Mar 3-7: Polygon Fill. Guest lectures by Dr. Beveridge and Dr. Alciatore.
- Mar 10-14: SPRING BREAK
- Mar 17-21: Retina. Smooth shading. (Sections 14.2.1 - 14.2.6)
MIDTERM EXAM.
- Mar 24-28: Smooth Curves. (Sections 9.2.1 - 9.2.8) LAB 3.
- Mar 31-Apr 4: Smooth surfaces. Color models. (Sections 9.3, 11.2,
11.3)
- Apr 7-11: Color in X. Pixmap format. Texture mapping. (Section 14.3)
- Mar 14-18: Ray tracing. Lab4. (Sections 13.4, 14.5 - 14.7)
- Apr 21-25: Constructive Solid Geometry (Section 10.7). Papers on ray tracing.
- Apr 28-May 2: Radiosity. (Sections 14.8 - 14.9.3). In-class
project presentations.
- May 5-9: In-class project presentations. Review for final exam.
- May 12, Final Exam. 7:00-- 9:00 AM
anderson@cs.colostate.edu
Copyright © 1997 Chuck Anderson