CS5243 Assignments (still under repaired)

_____________________________________________________________________  

Skeleton Codes (Staring Point - will be referenced by some of the assignments)

Three versions of OpenGL programming skeleton codes are provided here:

1. GLUT based.  It is the same as what you learned in the pre-requisite course CS3241 Computer Graphics and used in many text books such as Interactive Computer Graphics by Edward Angel.  Basic user input events processing for keyboard, mouse and menu attached to a mouse button are provided.

2. Win32 based.  It is used in many OpenGL programs running under Windows.  Apart from the basic user input events processing, more advanced GUI features are available.

The choice of different programming platform is mainly a tradeoff of GUI features and complexity.  The standard C/C++ and OpenGL functions your learnt in CS3241 are still the same. Please download freeglut.dll from http://sourceforge.net/projects/freeglut/ or glut32.dll from http://www.xmission.com/~nate/glut.html if you need it. During the course of the development, you will need to process images.  You can use Corona (an image input/output library that can read, write, and manipulate image files).  Below are the compilations of all the necessary libraries for your convenience:
* dll.zip  -- put all these files into C:\WINDOWS\system32
* lib.zip  -- put all these files in C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\lib
                  (or the corresponding place where you put your Visual Studio
* h.zip  -- put all these files in C:\Program Files\Microsoft Visual Studio .NET 2003\GL\
                  (or the corresponding place where you put your Visual Studio)

Another library of interest is Cg Toolkit http://developer.nvidia.com/object/cg_toolkit.html. Though we do not have assignment on using it, it could be interesting to play with it (if you have a graphics card that supports it). 

NOTE:

1. Should you have problems in getting the sample codes to compile, it may be because some libraries are missing in your machine.

2. You are not to use any other open source to do your assignments. (On the other hand, as for project, we can negotiate on what system to use.) 

3. Please submit your work through ivle. No late submission will be accepted.

    (i) Please zip up all your programs, project files, .lib, .h, .dll, data files, etc. (basically the whole working directory as long as it does not exceed the size limit of around 15M) to submit as 1 file -- I would expect that when I download your submission and unzip it in my machine, I can immediately compile and run it with no problem -- penalty will be imposed if this is not strictly followed.

    (ii) Besides the above, please include a brief report (at most a page) in the zip to explain, for example, the details of the implemented algorithms, and any observations during and after the implementation, and very importantly, indications of codes which are not original. 

____________________________________________________________________  

ASSIGNMENT #1: The Rule of the Game

Due: ?? August 07, 11:59pm

See last page of Lecture #1

_______________________________________________________________

ASSIGNMENT #2: Object Representation

Due: ?? Aug/Sept 07, 11:59pm

See last page of Lecture #2. Reference: Free 3D Models

______________________________________________________________

ASSIGNMENT #3: Object Visibility

Due:

See last page of Lecture #3.

_______________________________________________________________

ASSIGNMENT #4: Level of Details

Due:

See last page of Lecture #4

_______________________________________________________________

ASSIGNMENT #5: Collision Detection

Due:

See last page of Lecture #5

_______________________________________________________________

Prepared by Tan Tiow Seng 2007.