Final Project under Professor Zoë Wood
CSC 572 (Fall 2008)
The goal of this project was to apply a normal map to a simplified mesh using shaders. Source code for the program was written in C, using both the OpenGL and CG libraries.
The progam is able to display three different images of a T-Rex: A simplified mesh, the mesh with a normal map textured onto it, and finally the normal mapped mesh.
The main purpose of this project was to learn how to use shaders and normal map so that I could determine an error metric signifying whether a normal map looks good on a mesh. Therefore, my future work in graphics and on my Master's thesis will be based around this premise. The first step in accomplishing this is directly comparing a high resolution model to a simplified mesh that is normal mapped. Each model's frame data can be captured under the same lighting and translation positions and their pixels can be directly compared resulting in a percentage on how well the models match at that particular position. The next step would be to compare the normal that is being applied to each pixel to the normal of the face that contains that pixel. If the angle between the pixel normal and the normal of simplified mesh face is outside a particular range, that pixel could be colored specifically to indicate that the normal will not map correctly to that specific face. Finally, the goal would be to integrate this error metric into a simplifier, so that a complex mesh could be simplified specifically so that it will display the best possible normal map.
Executable File - .rar file that contains an executable and its required support files