Try vertex array object again, add specular map