rm rasterize_properties, should be close to working...doesn't work
This commit is contained in:
@@ -649,63 +649,29 @@ void Map::renderLayers(std::shared_ptr<StyleLayerGroup> group) {
|
||||
}
|
||||
|
||||
void Map::renderLayer(std::shared_ptr<StyleLayer> layer_desc, RenderPass pass) {
|
||||
if (layer_desc->layers) {
|
||||
if (layer_desc->type == StyleLayerType::Raster) {
|
||||
const RasterProperties &properties = layer_desc->getProperties<RasterProperties>();
|
||||
|
||||
// const RasterizedProperties rasterize = layer_desc->getProperties<RasterProperties>();
|
||||
//
|
||||
// auto prerendered = std::make_unique<PrerenderedTexture>(rasterize);
|
||||
// prerendered->bindFramebuffer();
|
||||
//
|
||||
// painter.preparePrerender(*prerendered);
|
||||
//
|
||||
// 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;
|
||||
// }();
|
||||
//
|
||||
// painter.setOpaque();
|
||||
// renderLayers(layer_desc->layers);
|
||||
// painter.setTranslucent();
|
||||
// renderLayers(layer_desc->layers);
|
||||
//
|
||||
// if (rasterize.blur > 0) {
|
||||
// prerendered->blur(painter, rasterize.blur);
|
||||
// }
|
||||
//
|
||||
// prerendered->unbindFramebuffer();
|
||||
// painter.finishPrerender(*prerendered);
|
||||
//
|
||||
// painter.renderPrerenderedTexture(*prerendered, rasterize);
|
||||
|
||||
} else {
|
||||
// This is a layer group. We render them during our translucent render pass.
|
||||
if (pass == Translucent) {
|
||||
const CompositeProperties &properties = layer_desc->getProperties<CompositeProperties>();
|
||||
if (properties.isVisible()) {
|
||||
gl::group group(std::string("group: ") + layer_desc->id);
|
||||
if (layer_desc->layers && layer_desc->type != StyleLayerType::Raster) {
|
||||
// This is a layer group. We render them during our translucent render pass.
|
||||
if (pass == Translucent) {
|
||||
const CompositeProperties &properties = layer_desc->getProperties<CompositeProperties>();
|
||||
if (properties.isVisible()) {
|
||||
gl::group group(std::string("group: ") + layer_desc->id);
|
||||
|
||||
if (debug::renderTree) {
|
||||
std::cout << std::string(indent++ * 4, ' ') << "+ " << layer_desc->id
|
||||
<< " (Composite) {" << std::endl;
|
||||
}
|
||||
if (debug::renderTree) {
|
||||
std::cout << std::string(indent++ * 4, ' ') << "+ " << layer_desc->id
|
||||
<< " (Composite) {" << std::endl;
|
||||
}
|
||||
|
||||
painter.pushFramebuffer();
|
||||
painter.pushFramebuffer();
|
||||
|
||||
renderLayers(layer_desc->layers);
|
||||
renderLayers(layer_desc->layers);
|
||||
|
||||
GLuint texture = painter.popFramebuffer();
|
||||
GLuint texture = painter.popFramebuffer();
|
||||
|
||||
// Render the previous texture onto the screen.
|
||||
painter.drawComposite(texture, properties);
|
||||
// Render the previous texture onto the screen.
|
||||
painter.drawComposite(texture, properties);
|
||||
|
||||
if (debug::renderTree) {
|
||||
std::cout << std::string(--indent * 4, ' ') << "}" << std::endl;
|
||||
}
|
||||
if (debug::renderTree) {
|
||||
std::cout << std::string(--indent * 4, ' ') << "}" << std::endl;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@ using namespace mbgl;
|
||||
|
||||
RasterTileData::RasterTileData(Tile::ID id, Map &map, const SourceInfo &source)
|
||||
: TileData(id, map, source),
|
||||
bucket(map.getTexturepool()) {
|
||||
bucket(map.getTexturepool(), properties) {
|
||||
}
|
||||
|
||||
RasterTileData::~RasterTileData() {
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <mbgl/geometry/glyph_atlas.hpp>
|
||||
#include <mbgl/text/glyph_store.hpp>
|
||||
#include <mbgl/text/glyph.hpp>
|
||||
#include <mbgl/map/map.hpp>
|
||||
|
||||
#include <mbgl/util/std.hpp>
|
||||
#include <mbgl/util/utf.hpp>
|
||||
@@ -44,6 +45,7 @@ TileParser::TileParser(const std::string &data, VectorTileData &tile,
|
||||
spriteAtlas(spriteAtlas),
|
||||
sprite(sprite),
|
||||
collision(tile.id.z, 4096, tile.source.tile_size, tile.depth) {
|
||||
// placement(tile.id.z, tile.id.z >= tile.source.max_zoom ? tile.source.max_zoom - tile.id.z : 1) { // TODO : i'm guessing remove this in the rebase?
|
||||
}
|
||||
|
||||
void TileParser::parse() {
|
||||
@@ -116,7 +118,7 @@ std::unique_ptr<Bucket> TileParser::createBucket(std::shared_ptr<StyleBucket> bu
|
||||
}
|
||||
} else if (bucket_desc->render.is<StyleBucketRaster>()) {
|
||||
// Assume this is a prerendered raster layer -- TODO more thorough checking here??
|
||||
return createRasterBucket(layer, bucket_desc->filter, bucket_desc->render.get<StyleBucketRaster>());
|
||||
return createRasterBucket(texturePool, bucket_desc->render.get<StyleBucketRaster>());
|
||||
} else {
|
||||
// The layer specified in the bucket does not exist. Do nothing.
|
||||
if (debug::tileParseWarnings) {
|
||||
@@ -152,9 +154,8 @@ std::unique_ptr<Bucket> TileParser::createFillBucket(const VectorTileLayer& laye
|
||||
return obsolete() ? nullptr : std::move(bucket);
|
||||
}
|
||||
|
||||
std::unique_ptr<Bucket> TileParser::createRasterBucket(const VectorTileLayer& layer, const FilterExpression &filter, const StyleBucketRaster &raster) {
|
||||
std::unique_ptr<RasterBucket> bucket = std::make_unique<RasterBucket>(raster);
|
||||
// addBucketFeatures(bucket, layer, filter);
|
||||
std::unique_ptr<Bucket> TileParser::createRasterBucket(const std::shared_ptr<Texturepool> &texturepool, const StyleBucketRaster &raster) {
|
||||
std::unique_ptr<RasterBucket> bucket = std::make_unique<RasterBucket>(texturepool, raster);
|
||||
return obsolete() ? nullptr : std::move(bucket);
|
||||
}
|
||||
|
||||
|
||||
@@ -58,9 +58,6 @@ void VectorTileData::render(Painter &painter, std::shared_ptr<StyleLayer> layer_
|
||||
if (databucket_it != buckets.end()) {
|
||||
assert(databucket_it->second);
|
||||
databucket_it->second->render(painter, layer_desc, id);
|
||||
} else if (layer_desc->type == StyleLayerType::Raster && layer_desc->layers) {
|
||||
// HELP
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user