summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMolly Lloyd <molly@mapbox.com>2018-01-17 18:02:37 -0800
committerMolly Lloyd <molly@mapbox.com>2018-01-18 18:10:10 -0800
commitfe8b130900d4281b03ef68e3a92e60dffac0b65e (patch)
tree1d2566c198759d12e13eee29939b91839d73fa9a
parent0910ccf0c1e5123f06b4256b3ea6b7e70afa440e (diff)
downloadqtlocation-mapboxgl-fe8b130900d4281b03ef68e3a92e60dffac0b65e.tar.gz
address review comments
-rw-r--r--src/mbgl/geometry/dem_data.cpp6
-rw-r--r--src/mbgl/geometry/dem_data.hpp4
-rw-r--r--src/mbgl/renderer/layers/render_hillshade_layer.cpp11
-rw-r--r--src/mbgl/renderer/layers/render_raster_layer.cpp1
-rw-r--r--src/mbgl/renderer/renderer_impl.cpp2
-rw-r--r--src/mbgl/tile/raster_dem_tile.hpp2
6 files changed, 14 insertions, 12 deletions
diff --git a/src/mbgl/geometry/dem_data.cpp b/src/mbgl/geometry/dem_data.cpp
index d0629cacdb..da326e8999 100644
--- a/src/mbgl/geometry/dem_data.cpp
+++ b/src/mbgl/geometry/dem_data.cpp
@@ -3,9 +3,11 @@
namespace mbgl {
-DEMData::DEMData(PremultipliedImage& image):
+DEMData::DEMData(const PremultipliedImage& image):
level(image.size.height, std::max<int32_t>(std::ceil(image.size.height / 2), 1)){
- assert(image.size.height == image.size.width);
+ if (image.size.height != image.size.width){
+ throw std::runtime_error("raster-dem tiles must be square.");
+ }
for (int32_t y = 0; y < level.dim; y++) {
for (int32_t x = 0; x < level.dim; x++) {
diff --git a/src/mbgl/geometry/dem_data.hpp b/src/mbgl/geometry/dem_data.hpp
index 33781a2f21..e59fbfedf2 100644
--- a/src/mbgl/geometry/dem_data.hpp
+++ b/src/mbgl/geometry/dem_data.hpp
@@ -45,11 +45,11 @@ public:
PremultipliedImage image;
};
- DEMData(PremultipliedImage& image);
+ DEMData(const PremultipliedImage& image);
void backfillBorder(const DEMData& borderTileData, int8_t dx, int8_t dy);
bool isLoaded() const {
return loaded;
- };
+ }
Level level;
private:
bool loaded = false;
diff --git a/src/mbgl/renderer/layers/render_hillshade_layer.cpp b/src/mbgl/renderer/layers/render_hillshade_layer.cpp
index 1ab152e6a6..29b48b8c4b 100644
--- a/src/mbgl/renderer/layers/render_hillshade_layer.cpp
+++ b/src/mbgl/renderer/layers/render_hillshade_layer.cpp
@@ -89,13 +89,18 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource*) {
);
};
+ mat4 mat;
+ matrix::ortho(mat, 0, util::EXTENT, -util::EXTENT, 0, 0, 1);
+ matrix::translate(mat, mat, 0, -util::EXTENT, 0);
for (const RenderTile& tile : renderTiles) {
assert(dynamic_cast<HillshadeBucket*>(tile.tile.getBucket(*baseImpl)));
HillshadeBucket& bucket = *reinterpret_cast<HillshadeBucket*>(tile.tile.getBucket(*baseImpl));
- if (!bucket.hasData())
+ if (!bucket.hasData()){
continue;
+ }
+
if (!bucket.isPrepared() && parameters.pass == RenderPass::Pass3D) {
const uint16_t tilesize = bucket.getDEMData().level.dim;
OffscreenTexture view(parameters.context, { tilesize, tilesize });
@@ -103,10 +108,6 @@ void RenderHillshadeLayer::render(PaintParameters& parameters, RenderSource*) {
parameters.context.bindTexture(*bucket.dem, 0, gl::TextureFilter::Nearest, gl::TextureMipMap::No, gl::TextureWrap::Clamp, gl::TextureWrap::Clamp);
const Properties<>::PossiblyEvaluated properties;
-
- mat4 mat;
- matrix::ortho(mat, 0, util::EXTENT, -util::EXTENT, 0, 0, 1);
- matrix::translate(mat, mat, 0, -util::EXTENT, 0);
parameters.programs.hillshadePrepare.draw(
parameters.context,
diff --git a/src/mbgl/renderer/layers/render_raster_layer.cpp b/src/mbgl/renderer/layers/render_raster_layer.cpp
index e2a9c9f25f..06616d90e5 100644
--- a/src/mbgl/renderer/layers/render_raster_layer.cpp
+++ b/src/mbgl/renderer/layers/render_raster_layer.cpp
@@ -153,4 +153,3 @@ void RenderRasterLayer::render(PaintParameters& parameters, RenderSource* source
}
} // namespace mbgl
-
diff --git a/src/mbgl/renderer/renderer_impl.cpp b/src/mbgl/renderer/renderer_impl.cpp
index 580815744b..5a42151834 100644
--- a/src/mbgl/renderer/renderer_impl.cpp
+++ b/src/mbgl/renderer/renderer_impl.cpp
@@ -290,7 +290,7 @@ void Renderer::Impl::render(const UpdateParameters& updateParameters) {
RenderLayer* layer = getRenderLayer(layerImpl->id);
assert(layer);
- if ((!parameters.staticData.has3D && layer->is<RenderFillExtrusionLayer>()) || (!parameters.staticData.has3D && layer->is<RenderHillshadeLayer>())) {
+ if (!parameters.staticData.has3D && (layer->is<RenderFillExtrusionLayer>() || layer->is<RenderHillshadeLayer>())) {
parameters.staticData.has3D = true;
}
diff --git a/src/mbgl/tile/raster_dem_tile.hpp b/src/mbgl/tile/raster_dem_tile.hpp
index ec256b0a17..68f8a91e00 100644
--- a/src/mbgl/tile/raster_dem_tile.hpp
+++ b/src/mbgl/tile/raster_dem_tile.hpp
@@ -11,7 +11,7 @@ class Tileset;
class TileParameters;
class HillshadeBucket;
-enum class DEMTileNeighbors : unsigned char {
+enum class DEMTileNeighbors : uint8_t {
// 0b00000000
Empty = 0 << 1,