diff options
Diffstat (limited to 'src/mbgl/renderer/painter_debug.cpp')
-rw-r--r-- | src/mbgl/renderer/painter_debug.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/mbgl/renderer/painter_debug.cpp b/src/mbgl/renderer/painter_debug.cpp index d6b1aec73c..575bffe53f 100644 --- a/src/mbgl/renderer/painter_debug.cpp +++ b/src/mbgl/renderer/painter_debug.cpp @@ -1,7 +1,7 @@ #include <mbgl/renderer/painter.hpp> #include <mbgl/renderer/debug_bucket.hpp> -#include <mbgl/map/tile.hpp> -#include <mbgl/map/tile_data.hpp> +#include <mbgl/tile/tile.hpp> +#include <mbgl/tile/tile_data.hpp> #include <mbgl/map/map_data.hpp> #include <mbgl/shader/plain_shader.hpp> #include <mbgl/util/string.hpp> @@ -15,7 +15,9 @@ void Painter::renderTileDebug(const Tile& tile) { if (data.getDebug() != MapDebugOptions::NoDebug) { prepareTile(tile); renderDebugText(*tile.data, tile.matrix); - renderDebugFrame(tile.matrix); + if (data.getDebug() & MapDebugOptions::TileBorders) { + renderDebugFrame(tile.matrix); + } } } @@ -31,24 +33,24 @@ void Painter::renderDebugText(TileData& tileData, const mat4 &matrix) { tileData.debugBucket = std::make_unique<DebugBucket>(tileData.id, tileData.getState(), tileData.modified, tileData.expires, data.getDebug()); } - config.program = plainShader->program; + config.program = plainShader->getID(); plainShader->u_matrix = matrix; // Draw white outline plainShader->u_color = {{ 1.0f, 1.0f, 1.0f, 1.0f }}; config.lineWidth = 4.0f * data.pixelRatio; - tileData.debugBucket->drawLines(*plainShader); + tileData.debugBucket->drawLines(*plainShader, glObjectStore); #ifndef GL_ES_VERSION_2_0 // Draw line "end caps" MBGL_CHECK_ERROR(glPointSize(2)); - tileData.debugBucket->drawPoints(*plainShader); + tileData.debugBucket->drawPoints(*plainShader, glObjectStore); #endif // Draw black text. plainShader->u_color = {{ 0.0f, 0.0f, 0.0f, 1.0f }}; config.lineWidth = 2.0f * data.pixelRatio; - tileData.debugBucket->drawLines(*plainShader); + tileData.debugBucket->drawLines(*plainShader, glObjectStore); config.depthFunc.reset(); config.depthTest = GL_TRUE; @@ -64,11 +66,11 @@ void Painter::renderDebugFrame(const mat4 &matrix) { config.stencilOp.reset(); config.stencilTest = GL_TRUE; - config.program = plainShader->program; + config.program = plainShader->getID(); plainShader->u_matrix = matrix; // draw tile outline - tileBorderArray.bind(*plainShader, tileBorderBuffer, BUFFER_OFFSET_0); + tileBorderArray.bind(*plainShader, tileBorderBuffer, BUFFER_OFFSET_0, glObjectStore); plainShader->u_color = {{ 1.0f, 0.0f, 0.0f, 1.0f }}; config.lineWidth = 4.0f * data.pixelRatio; MBGL_CHECK_ERROR(glDrawArrays(GL_LINE_STRIP, 0, (GLsizei)tileBorderBuffer.index())); |