Programming Assignment #9 – GraphicsTown Part III : Advanced Texturing

by Eftychios Sifakis on April 14, 2017

Due: Sunday, April 23 (see the class late policy on the Syllabus)

Synopsis: You will add more advanced texturing effects to your GraphicsTown, in order to try out the ideas discussed in class.

Learning Objectives:
The goal of this project is to give you experience creating implementing more advanced visual effects using interactive graphics tricks.

Evaluation: We will grade on the scale explained in the Syllabus for turning a working version of the graphics town project that shows off the minimum required new features. We will give extra points for doing more than the minimum, or for creating particularly interesting things in the basic assignment.

Handin: Submit your code through Canvas [Link]


By now you should be familiar with the Graphics Town Project, as in the past weeks you have been adding more interesting objects and textures. This week you will continue to add things – just this time, they’ll be fancier things.

Technically, you can add effects to the objects that you made last week – but the idea is that you keep adding more and more stuff so that the project becomes more and more interesting.

The objective for this week is to implement advanced appearance effects, by using the capability to manipulate textures for purposes more than just attaching a color texture to surfaces.  You are required to implement two such effects. Examples include:

  1. Skybox
  2. Projector textures / Light Maps
  3. Specular maps (check out the example here)
  4. Decal texture (using multi-texture)
  5. Bump mapping (normal mapping) to make a surface look “non-smooth”
  6. An intuitive use of two-pass (or multi-pass) rendering. You might try to fake a mirror (somewhat difficult), or include a closed-circuit-TV screen somewhere in your environment that shows how a camera somewhere in your scene views the world — just a couple of ideas; feel free to use your imagination.
  7. Pre-Computed Environment map to make reflections / fancy lighting environment
  8. Dynamic Environment map to make reflections of the actual scene
  9. Shadow maps (and other tricks to make shadows)

The last two (dynamic environment maps and shadow maps) require implementing multi-pass – which will be tricky given the graphics town framework. But if you pull it off, you will be rewarded. But it will be hard. Really hard.

Doing environment maps with a pre-rendered environment (like a skybox) is a much more reasonable thing to try. If you choose to do a skybox, make sure you do it correctly (a box that moves with the camera, rather than one that is just far away).

To get a satisfactory grade you have to show two add-ons from the list above. If you implement more than the required add-ons (or if you implement them with a notable degree of sophistication) you will be rewarded accordingly in your score.


Previous post:

Next post: