|Program 1||Program 2||Program3||Program 4|
or by appointment
In addition to learning the subject through readings, lectures, and
videos, students will gain hands-on rendering experience. Several
programming assignments build on each other as the students learn to
render images of 3D models with local and global illumination,
reflections, refractions, shadows, and more.
For the 400-level course, each student will then design and carry
out a personal programming project, focusing on some interesting aspect
of computer image generation. During the course of this project, each
student will read and present a relevant research paper to the class.
There will also be two exams, but no comprehensive final exam.
This course is designed as to be complementary to COMP 600.457: Computer Graphics. The courses do not have any strong order-dependency. However, the more programming experience a student has in coming into this course, the more prepared they will be for the programming assignments, projects, etc.
Watt A. and M. Watt, Advanced Animation and Rendering Techniques: Theory and Practice, 1992, Addison-Wesley, ISBN 0201544121.
This well-written text covers ray tracing, radiosity, volume rendering, texturing, and more.Foley, J.D., A. van Dam, S. Feiner, and J. Hughes, Computer Graphics: Principles and Practice, 2nd Edition in C, 1996, Addison-Wesley, ISBN 0201848406.
Known as the "bible" of computer graphics or the "great white book," this text serves as a great reference text on all computer graphics matters except the most cutting-edge topics.You can get these online from a number of book vendors, including Amazon (WW,FVD), Barnes and Noble (WW,FVD), etc.
On the other hand, I do require you to attend the classes consisting of paper presentations by your fellow students. This guarantees that you each have a reasonable audience for the presentation you worked so hard to prepare. I will take attendance on these days, and missing more than two of these classes will result in my directly lowering your final course grade by one position (A goes to A-, A- to B+, etc.). Don't waste these absenses, because excused absenses will be counted as well (if you have more than 2 days of dean's excused absenses during this period, then we'll talk).
For exams, the line is pretty clear: do not communicate with anyone
else or use disallowed matierials during the exams. For programming
assignments, you may find the line more fuzzy. It's okay to discuss
ideas and concepts with other people, but not to share code. Your best
bet is simply to not look at anyone else's code or communicate direct
examples from your own code. If you want to help someone debug a
programming problem, do not do it by showing them how your code looks.
Avoid stepping through someone's code with them line-by-line, because
the tendency will be to fix problems by making the code exactly like
yours, or to incorporate identical fixes into your own code. Learn
together by discussing ideas of how things should function in various
The following CS Department Integrity code also applies to this
The strength of the university depends on academic and personal
integrity. In your studies, you must be honest and truthful. Ethical
violations include cheating on exams, plagiarism, reuse of assignments,
improper use of the Internet and electronic devices, unauthorized
collaboration, alteration of graded assignments, forgery and
falsification, lying, facilitating academic dishonesty, and unfair
Academic honesty is required in all work you submit to be graded.
Except where the instructor specifies group work, you must solve all
homework and programming assignments without the help of others. For
example, you must not look at any other solutions (including program
code) to your homework problems or similar problems. However, you may
discuss assignment specifications with others to be sure you understand
what is required by the assignment.
If your instructor permits using fragments of source code
from outside sources, such as your textbook or on-line resources, you
must properly cite the source. Not citing it constitutes plagiarism.
Similarly, your group projects must list everyone who participated.
Falsifying program output or results is prohibited.
Your instructor is free to override parts of this policy for
particular assignments. To protect yourself: (1) Ask the instructor if
you are not sure what is permissible. (2) Seek help from the instructor
or TA, as you are always encouraged to do, rather than from other
students. (3) Cite any questionable sources of help you may have
Students who cheat will suffer a serious course grade penalty in addition to being reported to university officials. You must abide by JHU's Ethics Code: Report any violations you witness to the instructor. You may consult the associate dean of students and/or the chairman of the Ethics Board beforehand. For more information, see the guide on Academic Ethics for Undergraduates (http://www.advising.jhu.edu/ethics.html) and the Ethics Board web site (http://ethics.jhu.edu).
http://www.cs.jhu.edu/~cohen/RendTech2003/syllabus.htmlThis is the home page for a series of course web pages. Included in these web pages are the course schedule, lecture notes, homework information, etc. Check the pages early and often - I will try to keep the modification dates of the various pages up to date to help you track changes (I will also inform you of important changes during class or via e-mail). All lectures slides which I present using PowerPoint and the digital projector will be made available on the course web pages, so you don't have to copy them down (do take additional notes, however). Unfortunately, I cannot guarantee that the notes will be available in advance of the lecture (but for many topics, the notes from last year's slides may be quite similar). Any material which I do not present electronically will probably not be made available electronically, but you will still be responsible for learning the content.