diff options
author | Lauren Budorick <lauren@mapbox.com> | 2014-08-04 17:24:22 -0700 |
---|---|---|
committer | Lauren Budorick <lauren@mapbox.com> | 2014-08-11 12:12:43 -0700 |
commit | df925fe0e5429085f0f443f4be1326c0616f6acc (patch) | |
tree | a502590190ef6898ddbbd468cf2afb03ea55a4d3 /src/renderer/painter_fill.cpp | |
parent | 7a98ad4cf949dd1279719bf926bd08da0133210f (diff) | |
download | qtlocation-mapboxgl-df925fe0e5429085f0f443f4be1326c0616f6acc.tar.gz |
nonworking prerendering attempts
Diffstat (limited to 'src/renderer/painter_fill.cpp')
-rw-r--r-- | src/renderer/painter_fill.cpp | 53 |
1 files changed, 2 insertions, 51 deletions
diff --git a/src/renderer/painter_fill.cpp b/src/renderer/painter_fill.cpp index 29d77e05d9..d0bfcad83d 100644 --- a/src/renderer/painter_fill.cpp +++ b/src/renderer/painter_fill.cpp @@ -149,56 +149,7 @@ void Painter::renderFill(FillBucket& bucket, const FillProperties& properties, c void Painter::renderFill(FillBucket& bucket, std::shared_ptr<StyleLayer> layer_desc, const Tile::ID& id) { // Abort early. if (!bucket.hasData()) return; - const FillProperties &properties = layer_desc->getProperties<FillProperties>(); - - if (layer_desc->rasterize && layer_desc->rasterize->isEnabled(id.z)) { - if (pass == Translucent) { - const RasterizedProperties rasterize = layer_desc->rasterize->get(id.z); - // Buffer value around the 0..4096 extent that will be drawn into the 256x256 pixel - // texture. We later scale the texture so that the actual bounds will align with this - // tile's bounds. The reason we do this is so that the - if (!bucket.prerendered) { - bucket.prerendered = std::make_unique<PrerenderedTexture>(rasterize); - bucket.prerendered->bindFramebuffer(); - - preparePrerender(*bucket.prerendered); - - const FillProperties modifiedProperties = [&]{ - FillProperties modifiedProperties = properties; - modifiedProperties.opacity = 1; - return modifiedProperties; - }(); - - // When drawing the fill, we want to draw a buffer around too, so we - // essentially downscale everyting, and then upscale it later when rendering. - const int buffer = rasterize.buffer * 4096.0f; - const mat4 vtxMatrix = [&]{ - mat4 vtxMatrix; - matrix::ortho(vtxMatrix, -buffer, 4096 + buffer, -4096 - buffer, buffer, 0, 1); - matrix::translate(vtxMatrix, vtxMatrix, 0, -4096, 0); - return vtxMatrix; - }(); - - setOpaque(); - renderFill(bucket, modifiedProperties, id, vtxMatrix); - - setTranslucent(); - renderFill(bucket, modifiedProperties, id, vtxMatrix); - - if (rasterize.blur > 0) { - bucket.prerendered->blur(*this, rasterize.blur); - } - - // RESET STATE - bucket.prerendered->unbindFramebuffer(); - finishPrerender(*bucket.prerendered); - } - - renderPrerenderedTexture(*bucket.prerendered, properties); - } - } else { - const mat4 &vtxMatrix = translatedMatrix(properties.translate, id, properties.translateAnchor); - renderFill(bucket, properties, id, vtxMatrix); - } + const mat4 &vtxMatrix = translatedMatrix(properties.translate, id, properties.translateAnchor); + renderFill(bucket, properties, id, vtxMatrix); } |