to run: 1. go to mp3handin/418/mp3 2. export LD_LIBRARY_PATH=.:`cd ../../libsmf;pwd` 3. ./pot (it is compiled under 64 bit ubuntu) to compile: 1. go to mp3handin/418/mp3 2. make clean && make Features with corresponding key: '1': pure texture mapping with lighting based on OpenGL API (default, cannot be switched back after loading shaders) '2': pure environment mapping based on OpenGL API (cannot be switched back after loading shaders) '3': texture + bump mapping + environment mapping + lighting (GLSL) '4': toggle lighting (GLSL) '5': toggle environment mapping (GLSL) '6': toggle bump mapping (lighting must be on) (GLSL) source: 1. newmat is a open source matrix library 2. libsmf is the library I wrote to read in mesh files