Intro Graphics Assignment 5

Non-Photorealistic Rendering
Due: Friday, 10 November 2006 by 5:00:00 a.m.


Overview

This assignment will introduce you to some simple Non-Photorealistic (NPR) rendering techniques. Your renders might look something like this (from www.paulsprojects.net):

or this (from The Legend of Zelda: The Windwaker):

Required Features

Getting Started

Some skeleton code is here.

Most of the functions you should have to manipulate for the basic NPR rendering should be contained within the student.h and student.cpp files. You will need to modify other files, but these are a good place to start. Feel free to modify this skeleton any way you see fit.

To find the silhouette edges, it is recommended that you create an array of "edges", each of which contains the two vertices which comprise the edge, and the two triangles which lay on either side. You should then selectively render the edges which you determine to be silhouettes (as defined above) as thick lines over top of the previously rendered model.

Using the Interface

Extra Credit

Modify your cel-shading code so that triangles are rendered with an appropriate cross-hatched texture instead of simply being vertex shaded. You may use the textures provided (xhatch1.bmp-xhatch4.bmp) or some method of your own. 20 pts

Submission

The usual: write a readme page describing what you did, and include that page in a hw5.zip, along with all of your source code.  It is your responsibility to make sure that the zip file is complete. We are not going to fix compile errors or fill in missing pieces of assignments.

The homework can be submitted here.