Texture Mapping - According to Alan Watt (3D Computer Graphics, section 7.3), "Texture mapping was one of the first developments towards making images of three-dimensional objects more interesting and apparently more complex."

In general, texture mapping is the process of "painting" a picture onto a surface in a scene. Because the image has already been rendered/drawn, it can be extremely complex - but the cost of tex-mapping complex images is exactly the same as tex-mapping simple image. The use of texture-mapping allows fairly simple shapes to be given a very realistic appearance. For example, planar walls can have stone textures mapped onto them for a very convincing image of three-dimensional stone walls (check out your favorite 3D computer game for an excellent example of tex-mapping in action).

This applet lets you texture map your favorite image on to a surface of your choosing and then lets you view the result from different perspectives. Note that higher resolution images will yield better results when viewed from a small distance (because the area of the surface being viewed does not change, higher resolution images provide more data for the applet to use). To see an example of this quality degradation, try walking up to a wall in your favorite 3D game and observe the way the wall seems to get blocky (assuming you don't have a video card that has tex-mapping hardware).

The applet's interface uses viewing system II of Watt (section 3.3) because it has only three parameters (I added the fourth, rotation, for completeness). Internally, the applet uses viewing system III (section 3.4) with perspective transformation (section 3.7) to set things up before it ray-traces the scene (chapter 8).

The camera is always centered on the mapping surface, but you can adjust the following viewing parameters:
• Distance - The distance between the camera and the viewing surface.
• Theta - The horizontal angle the camera makes with the viewing surface. - First transform.
• Phi - The vertical angle the camera makes with the viewing surface. - Second transform.
• Rotation - The amount of "tilt" the camera has (like tilting your head left/right). - Third transform.

 This applet requires Java

A Few Interesting Images To Try:
Type (or copy) these URLs into the "Image location" box and hit Enter.
• BRUCE.GIF
• A010.JPG - (From Texture Land)
• O013.JPG
• O030.JPG
• O034.JPG
• O035.JPG
Note: Due to Java security restrictions, most web browsers will allow this applet to access only those images hosted by the same site as the applet. But there are plenty of interesting images around, so go exploring!

A project description is available.