CREDITS: 3

**TA**: **To be announced later!!!**

**TA OFFICE HOURS:
tentatively Tuesday and Thursday 4-5:30pm**

**1. ****Provide graduate students a comprehensive
knowledge on computer graphics concepts, theory, algorithms, techniques, and
applications for modeling, simulation, rendering, animation, human-computer interactions,
and other key elements of visual computing.**

**2. ****Demonstrate
the significance of these mathematical and computational tools and graphics
algorithms in visual computing and relevant areas.**

**3. ****Emphasize
a "hands-on" approach to both the better understanding of graphics
concept/theory/algorithms and the effective use of graphics techniques in
various applications.**

**1. ****Mathematical skills: fundamental knowledge
on calculus, linear algebra, analytic geometry, etc. (Basic mathematical
training at the undergraduate level). **

**2. ****Computer science background: programming
skills, basic graphics/visualization courses or knowledge at the undergraduate
level. **

**3. ****Essentially, you will need to have an
undergraduate education in computer science or engineering with basic knowledge
on graphics/visualization. **

**4. ****You will need to speak to the instructor if
you are not sure about your background knowledge and course prerequisites.**

**1. ****Computer Graphics with OpenGL, Fourth
Edition, Donald Hearn, M. Pauline Baker, and Warren R. Carithers,
Prentice Hall, 2011. (This is the required textbook for this course!) **

**2. ****OpenGL Programming Guide, 4th Edition: The
Official Guide to Learning OpenGL, Version 1.4, Addison-Wesley, 2004. **

**3. ****OpenGL Reference Manual, 4th Edition: The
Official Reference Document to OpenGL, Version 1.4, Addison-Wesley, 2004. **

OTHER RELEVANT JOURNALS:

1. Computer Graphics (Proceedings of ACM SIGGRAPH)

2. IEEE Computer Graphics and Applications

3. ACM Transactions on Graphics

4. IEEE Transactions on Visualization and Computer Graphics

5. Computer-Aided Design

6. Computer Aided Geometric Design

7. Computer Graphics Forum (Eurographics Journal)

8. The Visual Computer

9. Graphical Models

10. and others!

LECTURES:

**Primary material of this
course will come from the recommended reference books listed above.
Additionally, material from recent articles or other 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 lecturing notes
closely! **

GRADING SCHEMES:

NO MIDTERM TESTS! NO FINAL EXAMS!
100% ON PAPER READING/PRESENTATIONS AND PROJECTS (INCLUDING ONE TAKE-HOME
EXAM)!

·
**Paper reading and technical report for literature review
(total four papers, throughout the semester, deadline Monday November 20 at
2:30pm): 10%**

**·
****Paper presentation on two papers (October 23 and 24, Monday
and Tuesday): 10%**

·
**Take-home written exam (November 27, Monday, 8pm): 15%**

·
**Class attendance and asking questions during office hours:
5%**

·
**Course project: 60%**

·
**Extra, bonus points: 10% (additional paper reading,
additional functionalities on your final projects, etc.)**

The work submitted should be your own! Late submission will be penalized 25% 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 (Please refer to CEAS Procedures and Guidelines Governing Academic Dishonesty (1/81) for details).

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

All graduate students should have access to the Grad PC Lab (located in Rm.1239). The version of OpenGL in the Grad PC Lab is V1.1, the same as the TransLab. If you don't have access to the lab, please talk to the instructor and email to root requesting the (grad) course account.

·
**One-page project proposal (Proposal submission deadline:
September 27, Wednesday, at 2:30pm) : 5%**

·
**Mid-term demo with preliminary results (Mid-term demo
deadline: November 1, Wednesday) : 12%**

·
**A working system + software codes (Deadline: December 8,
Friday, 8am): 35%**

**·
****Final project report (4-6 pages, deadline: December 8,
Friday, 8am): 3%**

·
**Oral presentation and final demo (Deadline: at the end of
the semester, tentatively set to be on December 8-10): 5%**

Paper Reading, Technical Report
for Literature Review, and Paper Presentation:

·
**Paper reading (total four papers throughout the semester)**

·
**Technical report for paper review (deadline November 20,
Monday, at 2:30pm, 3-5 pages)**

·
**Paper presentation: October 20-21, Monday and Tuesday**

FOR YOUR CONVENIENCE, I ALSO KEEP
LECTURE NOTES FROM PREVIOUS YEARS!!!

**Computer Graphics Introduction
and Course Overview**

**Fundamental
Elements of Computer Graphics and Visualization: A Brief Technical Review**

**Computer Graphics
Rendering Pipeline**

**The
Basic Attributes of Camera Coordinate System**

**Graphics
Hardware and Display Devices**

**Graphics
Primitive Drawing and Clipping Operations**

**Computer Graphics Viewing Pipeline (Revisit Matrix Operations)**

**Subdivision-based Shape Modeling and Applications**

**A Brief Introduction to Radial Basis
Functions and Their Applications in Computer Graphics**

**Graphics Illumination and Shading Models**

COMPUTER FACILITIES:

The programming assignments will make use of Unix and PC facilities at Department of Computer Science. In particular, all graduate students should have access to the Grad PC Lab (located in Rm.1239). The version of OpenGL in the Grad Lab is V1.1, the same as the TransLab. If you don't have access to the Lab, please talk to the instructor and email to root requesting the (grad) course accounts. Students with access to PCs at home and/or their own laptops with the compatible computing environment will likely be able to work on some or all of the assignments and the course project at home and/or give demos from their laptops.

OPENGL PROGRAMMING GUIDE AND
ENVIRONMENTS:

In previous years, NT Transaction labs both upstairs and downstairs (in Computer Science Building) were available for CSE530 students, however, this year students in CSE530 will have to move to Grad PC Lab to conduct programming assignments and course projects. Meanwhile, if you can access Transaction Lab, you should be able to access some OpenGL examples (which should help you get familiar with OpenGLin case you knew little about it before) stored in its file system. Most of OpenGL examples appeared in various reference books are available on-line, generally speaking. The system manager of our Transaction lab has kindly managed to download OpenGL examples from several publically-available websites and put them under appropriate directories in order to help students to access OpenGL examples electronically and easily. Please note that, these examples are located in H:\cse328\pkg directory (this is because that the instructor also teaches CSE328 every fall semester). In general, they come from different sources. In particular, the directory: "H:\cse328\pkg\Opengl examples\Edward Angel second edition" contains all the examples and source codes that have been downloaded from Edward Angel (who is the author of a book entitled : Interactive Computer Graphics A Top Down Approach with OpenGL Second Edition)'s web site (the ftp site is ftp.cs.unm.edu under pub/angel/BOOK in case you are interested in getting more information regarding his book and examples in the first edition, etc.); the directory: "H:\cse328\pkg\Opengl examples\sgi\opengl11" contains OpenGL examples and source codes appeared in the book (OpenGL Programming Guide Version 1.1); the directory: "H:\cse328\pkg\Opengl examples\sgi\opengl12" contains OpenGL examples and source codes appeared in the book (OpenGL Programming Guide Version 1.2). The ftp site of SGI OpenGL examples is ftp://sgigate.sgi.com/pub/opengl/, in case you are interested in getting more information. In previous years, examples were also available in `H:\CSE530\OpenGL Examples'. These examples contain source codes which have been downloaded from Edward Angel (who is the author of a book entitled : Interactive Computer Graphics A Top Down Approach with OpenGL)'s web site. But, the directory is most like moved to elsewhere. Note that, the instructor has talked to our system manager to see if it is possible to also copy the OpenGL source codes from the above directories to the appropriate places in our Grad. PC Lab soon. Please stay tuned about this matter. I will update the links as soon as possible.

Please note that, the current OpenGL version in the NT translab is V1.1 only! 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://reality.sgi.com/opengl/glut3/gluts.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 important information about Version 1.1 are available at http://www.sgi.com/Technology/openGL. Other detailed information about OpenGL and its technical resources (including programming books) can also be found from SGI OpenGL home website

body>