diff options
Diffstat (limited to 'src/mbgl/renderer/render_layer.hpp')
-rw-r--r-- | src/mbgl/renderer/render_layer.hpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/mbgl/renderer/render_layer.hpp b/src/mbgl/renderer/render_layer.hpp index 8d17e318f2..04753fc674 100644 --- a/src/mbgl/renderer/render_layer.hpp +++ b/src/mbgl/renderer/render_layer.hpp @@ -86,7 +86,10 @@ public: ImageDependencies&) const { return nullptr; } - void setRenderTiles(std::vector<std::reference_wrapper<RenderTile>>); + + using RenderTiles = std::vector<std::reference_wrapper<RenderTile>>; + void setRenderTiles(RenderTiles, const TransformState&); + // Private implementation Immutable<style::Layer::Impl> baseImpl; void setImpl(Immutable<style::Layer::Impl>); @@ -98,6 +101,12 @@ protected: // in the console to inform the developer. void checkRenderability(const PaintParameters&, uint32_t activeBindingCount); + // Code specific to RenderTiles sorting / filtering + virtual RenderTiles filterRenderTiles(RenderTiles) const; + virtual void sortRenderTiles(const TransformState&); + using FilterFunctionPtr = bool (*)(RenderTile&); + RenderTiles filterRenderTiles(RenderTiles, FilterFunctionPtr) const; + protected: // renderTiles are exposed directly to CrossTileSymbolIndex and Placement so they // can update opacities in the symbol buckets immediately before rendering @@ -111,7 +120,7 @@ protected: RenderPass passes = RenderPass::None; private: - // Some layers may not render correctly on some hardware when the vertex attribute limit of + // Some layers may not render correctly on some hardware when the vertex attribute limit of // that GPU is exceeded. More attributes are used when adding many data driven paint properties // to a layer. bool hasRenderFailures = false; |