diff options
Diffstat (limited to 'src/mbgl/renderer/debug_bucket.cpp')
-rw-r--r-- | src/mbgl/renderer/debug_bucket.cpp | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/mbgl/renderer/debug_bucket.cpp b/src/mbgl/renderer/debug_bucket.cpp new file mode 100644 index 0000000000..f089374564 --- /dev/null +++ b/src/mbgl/renderer/debug_bucket.cpp @@ -0,0 +1,32 @@ +#include <mbgl/renderer/debug_bucket.hpp> +#include <mbgl/renderer/painter.hpp> + +#include <mbgl/platform/gl.hpp> + +#include <cassert> + +struct geometry_too_long_exception : std::exception {}; + +using namespace mbgl; + +DebugBucket::DebugBucket(DebugFontBuffer& fontBuffer_) + : fontBuffer(fontBuffer_) { +} + +void DebugBucket::render(Painter& painter, util::ptr<StyleLayer> /*layer_desc*/, const Tile::ID& /*id*/, const mat4 &matrix) { + painter.renderDebugText(*this, matrix); +} + +bool DebugBucket::hasData() const { + return fontBuffer.index() > 0; +} + +void DebugBucket::drawLines(PlainShader& shader) { + array.bind(shader, fontBuffer, BUFFER_OFFSET(0)); + glDrawArrays(GL_LINES, 0, (GLsizei)(fontBuffer.index())); +} + +void DebugBucket::drawPoints(PlainShader& shader) { + array.bind(shader, fontBuffer, BUFFER_OFFSET(0)); + glDrawArrays(GL_POINTS, 0, (GLsizei)(fontBuffer.index())); +} |