diff options
author | Molly Lloyd <molly@mapbox.com> | 2018-01-17 09:27:17 -0800 |
---|---|---|
committer | Molly Lloyd <molly@mapbox.com> | 2018-01-18 18:10:10 -0800 |
commit | 0910ccf0c1e5123f06b4256b3ea6b7e70afa440e (patch) | |
tree | ac72dc256975680fb43f3924067c72981285fffa | |
parent | 155d235b8429d703a3f3877a0fb0630661d0b78c (diff) | |
download | qtlocation-mapboxgl-0910ccf0c1e5123f06b4256b3ea6b7e70afa440e.tar.gz |
remove hardcoded tilesizes and allow for @2x tile requests
-rw-r--r-- | src/mbgl/programs/hillshade_prepare_program.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/renderer/layers/render_hillshade_layer.cpp | 5 | ||||
-rw-r--r-- | src/mbgl/renderer/sources/render_raster_dem_source.cpp | 2 | ||||
-rw-r--r-- | src/mbgl/util/mapbox.cpp | 2 |
4 files changed, 6 insertions, 5 deletions
diff --git a/src/mbgl/programs/hillshade_prepare_program.hpp b/src/mbgl/programs/hillshade_prepare_program.hpp index 5fc0c86a0e..0f31a22df5 100644 --- a/src/mbgl/programs/hillshade_prepare_program.hpp +++ b/src/mbgl/programs/hillshade_prepare_program.hpp @@ -9,7 +9,7 @@ namespace mbgl { namespace uniforms { -MBGL_DEFINE_UNIFORM_VECTOR(float, 2, u_dimension); +MBGL_DEFINE_UNIFORM_VECTOR(uint16_t, 2, u_dimension); } // namespace uniforms class HillshadePrepareProgram : public Program< diff --git a/src/mbgl/renderer/layers/render_hillshade_layer.cpp b/src/mbgl/renderer/layers/render_hillshade_layer.cpp index 11567a8ba5..1ab152e6a6 100644 --- a/src/mbgl/renderer/layers/render_hillshade_layer.cpp +++ b/src/mbgl/renderer/layers/render_hillshade_layer.cpp @@ -97,7 +97,8 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource*) { if (!bucket.hasData()) continue; if (!bucket.isPrepared() && parameters.pass == RenderPass::Pass3D) { - OffscreenTexture view(parameters.context, { 256, 256 }); + const uint16_t tilesize = bucket.getDEMData().level.dim; + OffscreenTexture view(parameters.context, { tilesize, tilesize }); view.bind(); parameters.context.bindTexture(*bucket.dem, 0, gl::TextureFilter::Nearest, gl::TextureMipMap::No, gl::TextureWrap::Clamp, gl::TextureWrap::Clamp); @@ -115,7 +116,7 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource*) { parameters.colorModeForRenderPass(), HillshadePrepareProgram::UniformValues { uniforms::u_matrix::Value { mat }, - uniforms::u_dimension::Value { {{512, 512 }} }, + uniforms::u_dimension::Value { {{uint16_t(tilesize * 2), uint16_t(tilesize * 2) }} }, uniforms::u_zoom::Value{ float(tile.id.canonical.z) }, uniforms::u_image::Value{ 0 } }, diff --git a/src/mbgl/renderer/sources/render_raster_dem_source.cpp b/src/mbgl/renderer/sources/render_raster_dem_source.cpp index 3a004ec595..ff394bac8e 100644 --- a/src/mbgl/renderer/sources/render_raster_dem_source.cpp +++ b/src/mbgl/renderer/sources/render_raster_dem_source.cpp @@ -77,7 +77,7 @@ void RenderRasterDEMSource::onTileChanged(Tile& tile){ if (tile.isRenderable() && demtile.neighboringTiles != DEMTileNeighbors::Complete) { const CanonicalTileID canonical = tile.id.canonical; - const uint dim = std::pow(2, canonical.z); + const uint16_t dim = std::pow(2, canonical.z); const uint32_t px = (canonical.x - 1 + dim) % dim; const int pxw = canonical.x == 0 ? tile.id.wrap - 1 : tile.id.wrap; const uint32_t nx = (canonical.x + 1 + dim) % dim; diff --git a/src/mbgl/util/mapbox.cpp b/src/mbgl/util/mapbox.cpp index 802b527a26..cdd51a293d 100644 --- a/src/mbgl/util/mapbox.cpp +++ b/src/mbgl/util/mapbox.cpp @@ -133,7 +133,7 @@ canonicalizeTileURL(const std::string& str, const style::SourceType type, const std::string result = "mapbox://tiles/"; result.append(str, path.directory.first + versionLen, path.directory.second - versionLen); result.append(str, path.filename.first, path.filename.second); - if (type == style::SourceType::Raster) { + if (type == style::SourceType::Raster || type == style::SourceType::RasterDEM) { result += tileSize == util::tileSize ? "@2x" : "{ratio}"; } |