texture no longer depends on image module.