Assignment  0. Due date: XXXX

The goals of this assignment are to familiarize yourself with the OpenGL commands of the rendering pipeline. If you have not taken a Computer Graphics course before, please take this chance to get familiar with OpenGL programming in C/C++. You need to refer to the red book for more guidance in the beginning. You are welcome to my office hours for additional help. Good luck!

  1. Read a obj mesh file containing a geometric model represented as triangle meshes and display it centered in the display window. The obj mesh file format is described here. A sample obj file can be downloaded here.

  2. Define a virtual camera in a 3D virtual scene, specifying its position, orientation and field of view.

  3. Render an object using points, wireframe and surface representations.

  4. Using your graphical user interface (GUI), together with the mouse and keyboard, interactively perform the following tasks:

bullet

Translate the model / camera in X, Y and Z directions.

bullet

Rotate the model / camera around X, Y, and Z axes.

bullet

Rotate the model /camera according to the moving direction and distance of the mouse.

bullet

Zoom in and zoom out view of the model.

bullet

Change the field of view of the camera – both horizontal and vertical.

bullet

Change the values of the near and far clipping plane.