CS 445/645: Introduction to Computer Graphics

Assignment #4, Part 1

Goal: Model, paint, and render a 3-D character using Teddy, Chameleon, and OpenGL

URL: http://www.cs.virginia.edu/~gfx/Courses/2000/intro.fall01/Exercises/assignment4-1.htm

Assigned: Tuesday, October 30th, 2001

Due: Wednesday, November 7th, 2001 at Midnight

Relevant reading/files/software:

Synopsis: The goal of this two part assignment is to generate three-dimensional models with interesting color and texturing. For this first part, you will use a program called Teddy to create a three-dimensional model. Teddy allows you to save the model in OBJ format. You must then use Chameleon to load the OBJ model you created with Teddy and you must paint it.  Finally, you will adapt the starter OpenGL code from assignments 2 and 3 to load the OBJ and  BMP files generated by Chameleon and to display the textured model in a window. An additional 10% in points will be awarded to whomever creates (more than one person in case of ties) the best model/texture.

Specifics: This really isn't supposed to be a hard assignment.  Using Teddy and Chameleon should be easy, though you may encounter bugs with both programs.  Just work around them and build your OBJ and BMP files.  A former UVa CS undergrad named Dennis Cosgrove helped write Chameleon.  Teddy is a great program that was recognized as one of the two best papers at Siggraph 1999.  Teddy is great because of the intuitive interface it provides for creating 3D models.  When you think about the complicated 3-D operations your are performing via a 2-D window, it's pretty impressive.  I recommend reading their Siggraph paper, which can be found on the Teddy web page.  Make sure the Teddy model you build demonstrates the use of Extrusion and Bend.

The coding portion of this assignment should be easy as well.  I suggest starting with the code from Assignment 3 and add texture map functionality by following the example in Assignment 2.  Your program must accept two command line arguments, the first is the name of the .obj file and the second is the name of the .bmp file.  Your program need not do anything with clipping planes; you can throw that part of the code away.  Your program must allow the user to rotate the model and zoom into the model.  You may change the lighting if you wish.

OBJ Files:

Points:

Collaboration/Web Resources:  You may use the web to help you with this assignment.  As per the earlier assignments, you can talk to your classmates about your work, but you cannot look at each other's code or work side-by-side to generate your code.

Turning in the assignment: