Exemple #1
0
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);
		}
	}
}
Exemple #2
0
PipelineHelper PipelineHelper::to_framebuffer(const Viewport &view) {
    pipeline_->set_viewport(view);
    pipeline_->set_target(TextureID());
    return *this;
}