CSE328 Fundamentals of Computer Graphics: Assignment Zero (SPRING SEMESTER 2007)

Assignment Zero (0%) is a reading assignment in general. Please note that although there is a programming part in this assignment (see (7) below), the programming task is very simple and straightforward, you should be able to handle it very easily. The goal of this assignment is to prepare you better for the upcoming programming assignments which require rather extensive programming work in OpenGL. It comprises the following seven components:

(1) Read Chapter 1 of Computer Graphics with OpenGL (our required textbook) and Chapter 1 of OpenGL Programming Guide, get familiar with various graphics application fields, and understand the basic structure and functionalities of OpenGL programming environment.

(2) Read Chapter 2 of Computer Graphics with OpenGL (our required textbook) and get familiar with graphics hardware system and architecture, as well as a large variety of graphics concepts including (but not limited to) video display devices, CRTs, rasterization, frame buffer, resolution, image refreshing, color, coordinate system, and others that were covered in my lectures. Please pay special attention to Section 2.9 which gives you a brief introduction to OpenGL including basic OpenGL syntax, related libraries, header files, OpenGL Utility Toolkit (GLUT), window-display management, and other basic concepts. In particular, at the end of Section 2.9, there is a complete OpenGL program which you can use as a template for you to practice on OpenGL programming. 

(3) Read Chapter 12 of Computer Graphics with OpenGL and get familiar with color theory, properties of light, different color models, as well as color applications. 

(4) Read the following sections of Chapter 3: Sections 3.1, 3.2, 3.3, 3.4, 3.5, 3.8, 3.9, 3.10, 3.11, 3.14, and 3.15 (excluding the concept of plane equations and polygon orientation). It is strongly recommended that you also read the remaining parts of Chapter 3 (i.e., Section 3.16 and beyond) because it gives a more extensive coverage on OpenGL knowledge and example programs. It is very important for you to get familiar with the algorithms of line drawing and curve drawing. Please pay special attention to the mid-point algorithm for line drawing and its generalization to the drawing of conic sections (e.g., circle and ellipse).

(5) After you get your course account (if you still do not have your account, please see Professor Hong Qin in his office hours as soon as possible, alternatively, please also email to ntadmin@cs.sunysb.edu who are in charge of issuing students' accounts in the Transaction Lab), immediately start to try out your account and get familiar with the OpenGL environment in our Transaction lab. Please refer to the TA's help page that details the compiling instructions as well as the info. at the website of our Transaction lab. if you have problems about the environment. Seek necessary helps by carefully reviewing on-line materials documented in and linked from our course website and the TA' website regarding FAQs and other relevant information of OpenGL programming skills.

(6) Read the following sections of Chapter 4: Sections 4.1, 4.2, 4.3, 4.10, 4.11, 4.12, and 4.13.

(7) Write a short OpenGL program to draw (a) a set of line segments, and (b) a polygon. Please note that you CAN borrow any sample examples from Chapter 2, Chapter 3, Chapter 4, or from any other sources! In particular, for example you can refer to the C codes documented on pages 80, 95, 98-99, 108-109, 116-117, 155-156, 161-168 of Computer Graphics with OpenGL, or OpenGL Programming Guide, or any other reference books which present OpenGL example programs!