CS 466  Computer Graphics Practicum (complements CS 465)

Fall 2007

This webpage covers programming assignments and class-to-class information for CS 466.

Wed 8/29/2007

Introduction to CS 466
Wed 9/5/2007

Wed 9/12/2007
No class (complete Ray I programming assignment)
Wed 9/19/2007
From [DeRose et al. 1998]
Wed 9/26/2007

Introduction to OpenGL rendering.
Wed 10/3/2007
465 prelim exam
Wed 10/10/2007

Subdivision Zoo

Mesh-related Pre-Submission (due Sun Nov 18)

You are required to submit a preliminary version of the final project up to but not including the subdivision algorithm. Please submit source code and a brief write-up describing your mesh data structure implementation that includes:
  • OBJ file format parser capable of parsing either triangle or quad meshes, and that works on the test OBJ files above.
    • You can also find plenty of free OBJ models online, e.g., TurboSquid.
  • Mesh adjacency datastructure that works with the (tri or quad) test meshes.
  • Render the mesh datastructure's contents to illustrate that the mesh has been constructed properly using OpenGL.
    • Use display lists to make rendering interactive.
    • Use smooth shading using per-vertex normals computed from either the subdivision scheme, e.g., Loop limit-surface normals, or using traditional face-averaged normals.
  • Export your (subdivided) mesh in the msh format to support ray-traced rendering in your RayII assignment.  The msh format is described in the RayII handout as follows:
    • The msh mesh file contains text as follows, one word or number per line:
      • The number of vertices in the mesh.
      • The number of triangles in the mesh.
      • The keyword vertices
      • The 3D coordinates of the vertices, ordered by vertex number: x0, y0, z0, x1, y1, z1, . . ..
      • The keyword triangles
      • Three integer vertex indices per triangle.
      • (Optional) The keyword texcoords, followed by u and v coordinates for each vertex.
      • (Optional) The keyword normals, followed by x, y, and z components of a normal vector for each vertex.
    • Code that reads the msh format is in the Mesh class of the Model assignment framework.
    • Example msh files are provided in the RayII test scenes.  A simple example is bunny500.msh
  • Submit your pre-submission materials via CMS for CS 466.

3am on Thurs Dec 13 Hard CMS Due Date: 3am on Thurs Dec 13 (yes, that's 3hrs after Wed Dec 12 midnight)