BU CAS CS 580

Advanced Computer Graphics

Fall 1997

Programming Assignment 4

Due before 11:00AM on Tuesday, November 11

In this assignment you will learn about procedural texture mapping methods. You will develop a number of basic procedural texture mapping functions and compose them together to simulate marble, wood, clouds, and fire.


The Code You Write

Implement functions for noise, snoise, fractal noise, and turbulance as described in class and in the supplemental reading. Then complete option A or option B.

Option A: Use these functions to build modules that can generate realistic solid marble and textures (in color). Write code to display marble and wood applied to 3-D shaded polygonal models. Your wood model should exploit your noise and/or turbulance functions to create more visually realistic grain patterns.

Option B: Use these functions to build modules that can generate realistic clouds and fire (in color). Write code to display clouds and fire using polygonal models and alpha channel, or develop density display routines as described in class.

Optional Part

For extra credit, extend your system to animate solid textures; e.g., moving marble, whisping clouds, billowing smoke, or dancing fire. Generate a movie file showing your animation.

Helpful Hints

Ken Musgrave's Procedural Methods for Computer Graphics course home page
Ftp site for source code from Texturing and Modeling: A Procedural Approach

What You Turn In

Create an HTML document "p4.html" that describes your project. In the first part of the report, write a paragraph that describes how your modules work. Also include psuedo-code and equations for the texture mapping procedures you composed to generate marble, wood, clouds, or fire. The detail you give should be sufficient for someone else to implement your system.

Include output images from your system. Generate three different images showing how changing the texture procedure parameters yields different results for each of your two texture modules. You should submit six images total.

Finally, include your source files, program executable, and Makefile. Please be sure to tell me what computer platform (e.g., PC, SGI) your tool runs on.

Submit your complete HTML document, separate source files, and images using the submit program on CGL.

The report you write should be clear and to the point. The code you submit should be well-structured and clearly documented. For hints on good style, see the CS480 coding guidelines.



Page Created: Oct 26,1997      
Last Modified: Oct 27,1997
Maintained by: Stan Sclaroff