1#include "FloatRasterSource.h"
3#include "Foundation/Logging/Logger.h"
4#include "Foundation/Memory/MemoryBuffer.h"
10Cogs::Core::TerrainProvider::FloatRasterSource::~FloatRasterSource()
15bool Cogs::Core::TerrainProvider::FloatRasterSource::init(
const FloatConfig& conf, std::unique_ptr<ICache>&& icache)
19 BaseConfig base = conf;
20 if (base.textureFormat == Cogs::TextureFormat::Unknown) {
21 base.textureFormat = Cogs::TextureFormat::R32_FLOAT;
23 else if (base.textureFormat != Cogs::TextureFormat::R32_FLOAT) {
24 LOG_ERROR(logger,
"Illegal texture format");
27 return BaseRasterSource::init(base, std::move(icache));
30void Cogs::Core::TerrainProvider::FloatRasterSource::getConfig(FloatConfig& conf)
const
32 BaseRasterSource::getConfig(conf);
36void Cogs::Core::TerrainProvider::FloatRasterSource::requestTile(Request* req)
38 size_t N = size_t(tiling.width) * size_t(tiling.height);
43 LOG_DEBUG(logger,
"Building tile %u.%u.%u",
id.level,
id.i,
id.j);
45 auto* ptr =
static_cast<float*
>(contents.data());
46 for (
size_t i = 0; i < N; i++) {
49 addTile(contents, MimeType::F32, req, StringView());
Log implementation class.
constexpr Log getLogger(const char(&name)[LEN]) noexcept