void TextureCache::invalidateTexture(Alg::MapTreeNode *node) { QString id = _mapTree->getID(node); remove(id); { Lookup::iterator it = _firstLevel.find(TextureID(node->level(), node->row(), node->column())); if ( it != _firstLevel.end() ) _firstLevel.erase(it); } { // Remove node from texture cache Storage::iterator it = _storage.find(node); if ( it != _storage.end() ) { if ( _lastTile[0] == it.value().get() ) _lastTile[0] = NULL; if ( _lastTile[1] == it.value().get() ) _lastTile[1] = NULL; Texture *tex = it.value().get(); // Update storage size _storedBytes -= tex->numBytes(); _storage.erase(it); } } }
PipelineHelper PipelineHelper::to_framebuffer(const Viewport &view) { pipeline_->set_viewport(view); pipeline_->set_target(TextureID()); return *this; }