INSTRUCTOR: PROFESSOR HONG QIN (qin AT cs DOT stonybrook DOT edu, or qin AT cs DOT sunysb DOT edu, NEW Computer Science Building Rm. 151, 631-632-8450)

LECTURE INFORMATION: MONDAY and WEDNESDAY 2:30pm - 3:50pm, OLD Computer Science Building, Seminar Room (Room 2311)

OFFICE HOURS: MONDAY and WEDNESDAY 12:50pm - 2:20pm, or by appointment!


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.


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!


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!



·         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.

Course Project (60%):

·         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


Computer Graphics Introduction and Course Overview

Graphics Computing Overview

Geometric Transformation and Graphics Viewing

Graphics Examples (in OpenGL)

From World Coordinate System To Screen Coordinate System

Cameras and Geometric Coordinate Systems

Graphics Clipping

Computer Graphics Hardware and Display Devices

Surface Graphics vs. Volume Graphics

Parametric Curves

Parametric Surfaces

Splines and Applications

Implicit Surfaces

Subdivision Surfaces

Solid Modeling

Local Illumination and Graphics Rendering

Texture Mapping Techniques

Procedural Modeling Fundamentals

Various Procedural Modeling Techniques

Radial Basis Functions and Applications

Ray Tracing

Geometry-driven Deformation and Free-form Deformation

Computer Animation: Concepts, Theory, and Techniques

Hidden Surface Removal

A Brief Introduction to Differential Geometry









Computer Graphics Introduction and Course Overview

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

Computer Graphics Rendering Pipeline

2D and 3D Transformations

The Basic Attributes of Camera Coordinate System

Graphics Hardware and Display Devices

Graphics Primitive Drawing and Clipping Operations

Parametric Curves

Parametric Surfaces

Computer Graphics Viewing Pipeline (Revisit Matrix Operations)

Subdivision-based Shape Modeling and Applications

Implicit Surface Modeling

Solid Modeling Overview

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

Graphics Illumination and Shading Models

Technical Writing Overview




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.


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