TextureResource::TextureResource(const std::string& filename, bool mipmaps, GLint wrap, bool external) : Resource(filename) {

    this->mipmaps   = mipmaps;
    this->wrap     = wrap;

    data      = 0;
    format    = 0;
    textureid = 0;
    target    = GL_TEXTURE_2D;

    //if doesnt have an absolute path, look in resource dir
    if(!external && !(filename.size() > 2 && filename[1] == ':') && !(filename.size() > 1 && filename[0] == '/')) {
        this->filename = texturemanager.getDir() + filename;
    } else {
        this->filename = filename;
    }

    setDefaultFiltering();
}