|
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.
|