add specular component
fixed shape updates for GPU-side textures; removed redundant bind/unbind calls