diff options
author | Lauren Budorick <lauren@mapbox.com> | 2017-04-27 15:56:55 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-04-27 15:56:55 -0700 |
commit | f6e79d70735361438655f279c8699a786d25458c (patch) | |
tree | cc01ae7aba097bae4aa84beb12ac6b8f34f4d51a /src/mbgl/renderer/painter.hpp | |
parent | 839ad87f37a4880804fb4c79157d998ac59954b5 (diff) | |
download | qtlocation-mapboxgl-f6e79d70735361438655f279c8699a786d25458c.tar.gz |
[core] Render fill-extrusion layers (#8431)
Diffstat (limited to 'src/mbgl/renderer/painter.hpp')
-rw-r--r-- | src/mbgl/renderer/painter.hpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mbgl/renderer/painter.hpp b/src/mbgl/renderer/painter.hpp index 9c6dd4505f..7706d2d451 100644 --- a/src/mbgl/renderer/painter.hpp +++ b/src/mbgl/renderer/painter.hpp @@ -12,6 +12,7 @@ #include <mbgl/programs/debug_program.hpp> #include <mbgl/programs/program_parameters.hpp> #include <mbgl/programs/fill_program.hpp> +#include <mbgl/programs/extrusion_texture_program.hpp> #include <mbgl/programs/raster_program.hpp> #include <mbgl/style/style.hpp> @@ -37,12 +38,14 @@ class Tile; class DebugBucket; class FillBucket; +class FillExtrusionBucket; class LineBucket; class CircleBucket; class SymbolBucket; class RasterBucket; class RenderFillLayer; +class RenderFillExtrusionLayer; class RenderLineLayer; class RenderCircleLayer; class RenderSymbolLayer; @@ -82,6 +85,7 @@ public: void renderClippingMask(const UnwrappedTileID&, const ClipID&); void renderTileDebug(const RenderTile&); void renderFill(PaintParameters&, FillBucket&, const RenderFillLayer&, const RenderTile&); + void renderFillExtrusion(PaintParameters&, FillExtrusionBucket&, const RenderFillExtrusionLayer&, const RenderTile&); void renderLine(PaintParameters&, LineBucket&, const RenderLineLayer&, const RenderTile&); void renderCircle(PaintParameters&, CircleBucket&, const RenderCircleLayer&, const RenderTile&); void renderSymbol(PaintParameters&, SymbolBucket&, const RenderSymbolLayer&, const RenderTile&); @@ -126,6 +130,7 @@ private: gl::Context& context; mat4 projMatrix; + mat4 nearClippedProjMatrix; std::array<float, 2> pixelsToGLUnits; @@ -152,6 +157,8 @@ private: GlyphAtlas* glyphAtlas = nullptr; LineAtlas* lineAtlas = nullptr; + style::EvaluatedLight evaluatedLight; + FrameHistory frameHistory; std::unique_ptr<Programs> programs; @@ -161,13 +168,15 @@ private: gl::VertexBuffer<FillLayoutVertex> tileVertexBuffer; gl::VertexBuffer<RasterLayoutVertex> rasterVertexBuffer; + gl::VertexBuffer<ExtrusionTextureLayoutVertex> extrusionTextureVertexBuffer; - gl::IndexBuffer<gl::Triangles> tileTriangleIndexBuffer; + gl::IndexBuffer<gl::Triangles> quadTriangleIndexBuffer; gl::IndexBuffer<gl::LineStrip> tileBorderIndexBuffer; gl::SegmentVector<FillAttributes> tileTriangleSegments; gl::SegmentVector<DebugAttributes> tileBorderSegments; gl::SegmentVector<RasterAttributes> rasterSegments; + gl::SegmentVector<ExtrusionTextureAttributes> extrusionTextureSegments; }; } // namespace mbgl |