Intro Graphics Assignment 5
Non-Photorealistic Techniques
Due: October 27, 2005


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 web page describing what you did, including your entry for the art contest.

Your web page should contain a link to a .zip file that contains ALL of the source code that your TA will need to build your assignment. 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.

Please e-mail a link to your submission to the TA. Never, NEVER e-mail the TA anything except a URL when submitting. In particular, do NOT e-mail your .zip file or any images as attachments.