CSC6870: Computer Graphics II (Winter 2008)

INSTRUCTOR: Professor Jing Hua (), 458 State Hall

CREDITS: 3

LECTURES: Tuesday & Thursday, 4:30PM - 5:50PM, 217 State Hall

OFFICE HOURS: Tuesday & Thursday, 3:00PM - 4:30PM, or by appointment

TEACHING ASSISTANT: Kevin Lai, Email: az9823 AT wayne DOT edu

                                               (Office hours: M: 4:00-5:00PM and W: 6:00-7:00PM at Science and Engineering Library)

Prerequisite: Computer Graphics I

horizontal rule

ANNOUNCEMENTS

 

COURSE NOTES & READING

        6870/Notes/csc6870-01-introduction.pdf  Preliminaries: (Reading Chapter 1.1, 1.2, 1.3)

        6870/Notes/csc6870-02-transformation-viewing.pdf

        6870/Notes/csc6870-03-illumination-and-shading.pdf

        6870/Notes/csc6870-04-geometric-modeling.pdf

        6870/Notes/csc6870-05-Bezier-curves.pdf

        6870/Notes/csc6870-06-B-splines-and-nurbs.pdf

        6870/Notes/csc6870-07-surfaces.pdf

        6870/Notes/csc6870-08-Vis-introduction.pdf

        6870/Notes/csc6870-09-fundamental_algorithms.pdf

        6870/Notes/csc6870-10-volumerendering.pdf

        6870/Notes/csc6870-11-volume_rendering_hardware.pdf

        6870/Notes/csc6870-12-advanced_CG_and_volren.pdf

        6870/Notes/csc6870-13-vector_field_visualization.pdf

        ... ...

ASSIGNMENTS

         Assignment 0: 0% (warm up)

         Assignment 1

         Assignment 2

REQUIRED TEXTBOOK

  1. 3D Computer Graphics by Alan Watt, 3rd Edition, Addison Wesley, 2000, ISBN 0-201-39855-9

RECOMMENDED (OPTIONAL) TEXTBOOKS

  1. Computer Graphics: Principles and Practice by Foley, van Dam, Feiner, and Hughes, 2nd Ed., Addison-Wesley, 1995
  2. OpenGL Programming Guide, 4th Edition: The Official Guide to Learning OpenGL, Version 1.4, Addison-Wesley, 2004.

LECTURES

Primary material of this course will come from the required textbook. In addition, material from recent articles or relevant reference books will be presented. Numerous slides and video tapes on graphics will be shown. Students are advised to attend the class and follow the lecture notes closely.

GRADING SCHEMES

This course emphasizes a "hands-on'' approach to both the better understanding of graphics theory/algorithms and the effective use of graphics techniques. Each student is required to complete assignments. The assignments involve both analytic problems as well as programming projects using parts of graphics packages. The programming projects will be done in C/C++ and OpenGL. You are expected to have knowledge about C/C++ in this course. The assignments are counted as 50% of the final grade. The other 50% of the final grade will be based on class attendance and performance (10%) and a course project (40%). No written exams!

The work submitted should be your own. Late assignments will be penalized 10% per day. Furthermore, because a primary goal of the course is to teach professionalism, any academic dishonesty (e.g., plagiarism) will be viewed as a serious academic offense, thus as an evidence that the above goal has not been achieved and will be grounds for receiving a grade of "F".

Machine failure should not be a reason to delay assignment due dates unless there is a major catastrophe, which will be announced by the instructor. Considering the possibility that machine failure may happen and then contention for machines will occur, my advice to all of you is that you please start the projects as early as possible.

OTHER ANNOUNCEMENTS

Some special events such as graphics video demonstration and visitors' research presentation in graphics may be held during this semester. The instructor will make announcements here when such events happen.

Other important announcements relevant to this course such as the change of assignment due dates or exam dates will also be posted here whenever necessary.

COMPUTER FACILITIES

The programming assignments will make use of Unix and PC facilities. More information about computer facilities that you can use will be updated shortly.

OPENGL PROGRAMMING GUIDE AND ENVIRONMENTS:

Most of OpenGL examples appeared in various reference books are available on-line. There are many websites that can help you to be familiar with OpenGL programming techniques in particular and computer graphics technology in general. One great place for all sorts of general information is the Official OpenGL Web Site: http://www.opengl.org. This Website contains software, documentation, FAQs, and news! It is a good place to start any search for answers to your OpenGL questions. Please note that the two OpenGL programming books (A. Programming Guide; B. Reference Manual) contain many sample examples of OpenGL. These sample codes along with Mark Kilgard's OpenGL Utility Toolkit (GLUT) can be obtained freely via anonymous ftp (file-transfer protocol): ftp://sgigate.sgi.com/pub/opengl/opengl12.tar.Z or ftp://sgigate.sgi.com/pub/opengl/opengl12.zip, depending on which decompression/extraction tools you are currently using in your computer. For the Windows/NT/X version of GLUT, you can check out the following Web page for the details: http://www.xmission.com/~nate/glut.html. In addition, Nate Robins of University of Utah has written a suite of tutorial programs that demonstrate fundamental OpenGL programming concepts and techniques. You can get the source code for these tutorials at: http://www.cs.utah/edu/~narobins/opengl.html. The above Websites mostly contain information regarding OpenGL Version 1.2. For OpenGL Version 1.1, the source code samples can be found via anonymous ftp too: ftp://sgigate.sgi.com/pub/opengl/opengl/opengl1_1.tar.Z, to uncompress and extract the files from this tar archive, please use the following commands: umcompress opengl1_1.tar, tar xf opengl1_1.tar. Other detailed information about OpenGL and its technical resources (including programming books) can also be found from SGI OpenGL home website.

More detailed OpenGL compiling instructions will be updated shortly.

SPECIAL NOTES

If you have any specific concern regarding this course, you are welcome to talk with me in person.

ACADEMIC HONESTY

Copying source code from another student in this class or obtaining a solution from some other source will lead to an automatic failure for this course and to a disciplinary action. Allowing another student to copy one's work will be treated as an act of academic dishonesty, leading to the same penalty as copying. You should learn how to protect your data. Failure to do so is also unprofessional and it may expose you to the danger that someone will copy your homework and will submit it as his or her own (see above). In this case, you may be given a score of 0 for the assignment or project in question (and the other party will get a failure).