Regular Grid Acceleration, Transparency and Texture Mapping

Part 1: Transparency

I've given you the BTDF and PerfectTransmitter classes. Follow the directions given in chapter 27 (especially on pages 572-575) and modify your Whitted ray tracer so it can render transparent objects. You will need to create a Transparent material (see Listings 27.03 and 27.04.

Turn in a rendering of Figure 27.13 with three different max depths (0, 1, and one other max depth). You will need texture maps to get an image that matches those in the textbook.


Part 2: Texture Mapping

I've given you the Texture, ImageTexture, Image, Mapping and SphericalMap classes. You will need to implement:

You should produce and turn in images 29.4, 29.12(b) and 29.13.


Part 3: Regular Grid Acceleration

This is the tricky part of the homework. You will need the BBox and Grid classes. The BBox class belongs in the raytracer.utility package, whereas the Grid class is in the raytracer.GeometricObjects package.

You will then need to modify all the GeometricObject classes so that they have a getBoundingBox method.

To test your code, you should try the test cases suggested in Section 22.4. Render the scenes TWICE: once with the grid and once without the grid. Don't forget to test your grid with reflective, transparent objects with shadows.

Run BuildCh22PageOneImage and turn in your image. Also turn in the hall of mirrors (Figure 24.18 on page 510).


Last modified: Thu Mar 10 13:08:21 MST 2011