including basic support for bump mapping