summaryrefslogtreecommitdiff
path: root/src/renderer/painter_fill.cpp
diff options
context:
space:
mode:
authorLauren Budorick <lauren@mapbox.com>2014-08-04 17:24:22 -0700
committerLauren Budorick <lauren@mapbox.com>2014-08-11 12:12:43 -0700
commitdf925fe0e5429085f0f443f4be1326c0616f6acc (patch)
treea502590190ef6898ddbbd468cf2afb03ea55a4d3 /src/renderer/painter_fill.cpp
parent7a98ad4cf949dd1279719bf926bd08da0133210f (diff)
downloadqtlocation-mapboxgl-df925fe0e5429085f0f443f4be1326c0616f6acc.tar.gz
nonworking prerendering attempts
Diffstat (limited to 'src/renderer/painter_fill.cpp')
-rw-r--r--src/renderer/painter_fill.cpp53
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);
}