diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2016-10-03 11:48:50 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2016-10-05 10:52:19 -0700 |
commit | 9cf57e7142f0e7b599de0f851cd6178d5a6a4c25 (patch) | |
tree | 185fbfaf15cc55a996731060b92bb24c87ad4378 /src/mbgl/renderer/line_bucket.hpp | |
parent | e4310aa87489c2db52d7ff65f71e51cc6c9700b6 (diff) | |
download | qtlocation-mapboxgl-9cf57e7142f0e7b599de0f851cd6178d5a6a4c25.tar.gz |
[core] Make ElementGroup safer
Template on shader types, rather than count. This allows the compiler to enforce using the correct VAO for the shader and PaintMode. This fixes OverdrawMode with circle layers.
While here, avoid using unique_ptrs for groups. Instead, ensure ElementGroup is movable.
Diffstat (limited to 'src/mbgl/renderer/line_bucket.hpp')
-rw-r--r-- | src/mbgl/renderer/line_bucket.hpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/mbgl/renderer/line_bucket.hpp b/src/mbgl/renderer/line_bucket.hpp index 8cb73c1d27..ca07c345da 100644 --- a/src/mbgl/renderer/line_bucket.hpp +++ b/src/mbgl/renderer/line_bucket.hpp @@ -1,8 +1,8 @@ #pragma once #include <mbgl/renderer/bucket.hpp> +#include <mbgl/renderer/element_group.hpp> #include <mbgl/tile/geometry_tile_data.hpp> -#include <mbgl/gl/element_group.hpp> #include <mbgl/gl/vertex_buffer.hpp> #include <mbgl/gl/index_buffer.hpp> #include <mbgl/shader/line_vertex.hpp> @@ -53,8 +53,7 @@ private: std::vector<LineVertex> vertices; std::vector<gl::Triangle> triangles; - using TriangleGroup = gl::ElementGroup<6>; - std::vector<std::unique_ptr<TriangleGroup>> triangleGroups; + std::vector<ElementGroup<LineShader, LineSDFShader, LinepatternShader>> groups; optional<gl::VertexBuffer<LineVertex>> vertexBuffer; optional<gl::IndexBuffer<gl::Triangle>> indexBuffer; |