From f859945e062d35a431ed1c3e934db15bf391b3e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Ka=CC=88fer?= Date: Tue, 15 Apr 2014 13:22:32 -0400 Subject: [PATCH] fix clipping --- src/renderer/painter.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/renderer/painter.cpp b/src/renderer/painter.cpp index fb2cd0e34..71b1e362a 100644 --- a/src/renderer/painter.cpp +++ b/src/renderer/painter.cpp @@ -130,7 +130,7 @@ void Painter::drawClippingMask(const mat4& matrix, uint8_t clip_id) { plainShader->setColor(style.computed.background.color); plainShader->setOpacity(style.computed.background.opacity); - glStencilFunc(GL_ALWAYS, 1, 0xFF); + glStencilFunc(GL_ALWAYS, clip_id, 0xFF); glDrawArrays(GL_TRIANGLES, 0, (GLsizei)tileStencilBuffer.index()); } @@ -161,6 +161,7 @@ void Painter::render(const Tile& tile) { frameHistory.record(transform.getNormalizedZoom()); matrix = tile.matrix; + glStencilFunc(GL_EQUAL, tile.clip_id, 0xFF); renderLayers(tile.data, style.layers);