diff options
Diffstat (limited to 'src/mbgl/renderer/painter_fill.cpp')
-rw-r--r-- | src/mbgl/renderer/painter_fill.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/mbgl/renderer/painter_fill.cpp b/src/mbgl/renderer/painter_fill.cpp index 44ae1919a0..cd54645c2b 100644 --- a/src/mbgl/renderer/painter_fill.cpp +++ b/src/mbgl/renderer/painter_fill.cpp @@ -44,7 +44,7 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI // Because we're drawing top-to-bottom, and we update the stencil mask // befrom, we have to draw the outline first (!) if (outline && pass == RenderPass::Translucent) { - config.program = outlineShader->program; + config.program = outlineShader->getID(); outlineShader->u_matrix = vtxMatrix; config.lineWidth = 2.0f; // This is always fixed and does not depend on the pixelRatio! @@ -56,7 +56,7 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI static_cast<float>(frame.framebufferSize[1]) }}; setDepthSublayer(0); - bucket.drawVertices(*outlineShader); + bucket.drawVertices(*outlineShader, glObjectStore); } if (pattern) { @@ -78,7 +78,7 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI 1.0f / ((*posB).size[0] * factor * properties.pattern.value.toScale), 1.0f / ((*posB).size[1] * factor * properties.pattern.value.toScale)); - config.program = patternShader->program; + config.program = patternShader->getID(); patternShader->u_matrix = vtxMatrix; patternShader->u_pattern_tl_a = (*posA).tl; patternShader->u_pattern_br_a = (*posA).br; @@ -111,11 +111,11 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI patternShader->u_offset_b = std::array<float, 2>{{offsetBx, offsetBy}}; MBGL_CHECK_ERROR(glActiveTexture(GL_TEXTURE0)); - spriteAtlas->bind(true); + spriteAtlas->bind(true, glObjectStore); // Draw the actual triangles into the color & stencil buffer. setDepthSublayer(0); - bucket.drawElements(*patternShader); + bucket.drawElements(*patternShader, glObjectStore); } } else { @@ -125,20 +125,20 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI // fragments or when it's translucent and we're drawing translucent // fragments // Draw filling rectangle. - config.program = plainShader->program; + config.program = plainShader->getID(); plainShader->u_matrix = vtxMatrix; plainShader->u_color = fill_color; // Draw the actual triangles into the color & stencil buffer. setDepthSublayer(1); - bucket.drawElements(*plainShader); + bucket.drawElements(*plainShader, glObjectStore); } } // Because we're drawing top-to-bottom, and we update the stencil mask // below, we have to draw the outline first (!) if (fringeline && pass == RenderPass::Translucent) { - config.program = outlineShader->program; + config.program = outlineShader->getID(); outlineShader->u_matrix = vtxMatrix; config.lineWidth = 2.0f; // This is always fixed and does not depend on the pixelRatio! @@ -151,6 +151,6 @@ void Painter::renderFill(FillBucket& bucket, const FillLayer& layer, const TileI }}; setDepthSublayer(2); - bucket.drawVertices(*outlineShader); + bucket.drawVertices(*outlineShader, glObjectStore); } } |