semi - reverting to get it working, then will re-implement bump mapping.