The applet on this page does Bump Mapping using the programmable pipe-line on modern graphics cards. Bump mapping has been described as a nasty hack. We do bump mapping by perturbing the normal in the shading calculation by a value we pull out of a texture. This has the effect of making the surface look bumpy. Because it is just a shading trick, there are artifacts. Such as the silohuette will be unchanged by the bumps. Regardless, Bump mapping produces a much more life-like look for a relatively small computational cost (as opposed say actually modifying the vertices of the surface to get the bumps).
The above applet might not load because it uses Cg. If you have this problem, and you probably will. Run the policytool, it is in the java.home\bin directory (like C:\program files\java\j2re_1.4.3_02\bin). Open your local policy file (you might not have one initially), on linux it is ($HOME/.java.policy) on windows it could be either (C:\Documents and Settings\($USER)\.java.policy) or more likey (C:\Documents and Settings\($USER)\Application Data\Sun\Java\security\java.policy). Anyway, load it up and "Add Policy Entry".
Code Base: http://www.nondot.org/~kungfoomaster/-
SignedBy: (blank)
Then "Add Permission"
Permission: java.lang.RuntimePermission
Target Name: loadLibrary.jogl_cg (select loadLibrary.<library name> then change it)
Click OK then save the file and quit. Restart your browser and it should work.