Advanced Computer Graphics

School of Software Engineering, Tongji University

Computer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware. The development of computer graphics has made computers easier to interact with, and better for understanding and interpreting many types of data. Developments in computer graphics have had a profound impact on many types of media and have revolutionized animation, movies and the video game industry.

Computer graphics is widespread today. The Computer imagery is found on television, in newspapers, for example in weather reports, or for example in all kinds of medical investigation and surgical procedures. A well-constructed graph can present complex statistics in a form that is easier to understand and interpret. In the media "such graphs are used to illustrate papers, reports, thesis", and other presentation material.

Many powerful tools have been developed to visualize data. Computer generated imagery can be categorized into several different types: 2D, 3D, and animated graphics. As technology has improved, 3D computer graphics have become more common, but 2D computer graphics are still widely used. Computer graphics has emerged as a sub-field of computer science which studies methods for digitally synthesizing and manipulating visual content. Over the past decade, other specialized fields have been developed like information visualization, and scientific visualization more concerned with "the visualization of three dimensional phenomena (architectural, meteorological, medical, biological, etc.), where the emphasis is on realistic renderings of volumes, surfaces, illumination sources, and so forth, perhaps with a dynamic (time) component".

From Wikipedia, the free encyclopedia
  1. (Mar. 23) Course page is online.
  2. (May 8) Grades of Assignment 1 are available. Here is an example for reference.
  3. (May 8) Some reading materials of OpenGL are available. (OpenGL Tutorial, Jordahl Setup)
  4. (Jun. 4) Grades of Assignment 2 are available. Here are some examples for reference.
  5. (Jun. 4) Requirements for the Final Projects are available.
  6. (Jul. 5) Final Grades are available. NEW
Dr. Shuang LIANG
Room 314, JiShi Building
Teaching Assistant
Qichun Wang
Room 316, JiShi Building
  • 15:25-17:00, Tuesday
Room 319, JiShi Building, Jiading Campus
Office Hours
16:00-17:00, Friday

Course Schedule

# Contents Slides
1 Introduction [pdf]
2 3D Modeling [pdf]
3 Mesh [pdf]
4 Color [pdf]
5 Basic Rendering [pdf]
6 Texture Mapping [pdf]


The purpose of the project is to enable the students to get some hands-on experience in the design, implementation and evaluation of computer graphics by applying them to real-world problems. You are encouraged to relate your research interests and research topics for the project. You can use your own data for your project topic, or download data sets from open data resources. In either case, you should get prior approaval before starting your project.

You are free to use any programming language and any opensource toolkit. You can write the codes yourself or use any code that is available in the public domain. In case you use somebody else's code, you are required to properly cite its source and know the details of the algorithms that the code implements.

You are required to work in groups of two or three, and submit a project proposal, a final report written in a conference paper format, and make a presentation during the mid-term and final weeks. When preparing your report, please use the IEEE conference format. Tentative schedule of the project is as follows:

  • Project proposal: Submit a 1-2 page proposal that describes the problem you would like to tackle, objective of the study, background of the problem, related work, etc. Also provide a short list of related references. (This could contribute to the "introduction" part of your final report)
  • Mid-term progress presentation: Make a 15 minute presentation about your progress with the project, such as the propposed algorithms, hardware/software tools and data that you plan to utilize, and the evaluation strategies that you plan to use. Also provide plans for the rest of the semester. A mid-term progress report is not compulsory, but encouraged and will be bonused. (This could contribute to the "methodology" part of your final report)
  • Final report: Submit a readable and well-organized report that provides proper motivation for the task, proper citation and discussion of related literature, proper explanation of the details of the approach and implementation strategies, proper performance evaluation, and detailed discussion of the results. Highlight your contributions and conclusions. Also submit well-documented software with your report.
  • Presentation: Make a 20 minute presentation of your work to the class. The presenter should not be the same as that of the mid-term progress presentation. Each student is expected to attend all presentations. Each team member should also provide a written description of her/his own contributions to the project.


Computer Graphics with OpenGL

D. Hearn and M.P. Baker
3rd edition, Prentice Hall, 2003

For junior- to graduate-level courses in computer graphics. Assuming no background in computer graphics, this junior- to graduate-level course presents basic principles for the design, use, and understanding of computer graphics systems and applications. The authors, authorities in their field, offer an integrated approach to two-dimensional and three-dimensional graphics topics. A comprehensive explanation of the popular OpenGL programming package, along with C++ programming examples illustrates applications of the various functions in the OpenGL basic library and the related GLU and GLUT packages.