summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/symbol_bucket.hpp
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2016-09-26 12:53:32 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2016-10-05 10:52:19 -0700
commit7a3bef091e7390fa57bf33f1a704c893768b5625 (patch)
treeaf798d879923fd45e763f5dc5449b7e8419aa192 /src/mbgl/renderer/symbol_bucket.hpp
parentac8a74ebccb85f83c40b9fccfeb11dc2cb3c79e4 (diff)
downloadqtlocation-mapboxgl-7a3bef091e7390fa57bf33f1a704c893768b5625.tar.gz
[core] Refactor Buffer
Diffstat (limited to 'src/mbgl/renderer/symbol_bucket.hpp')
-rw-r--r--src/mbgl/renderer/symbol_bucket.hpp35
1 files changed, 23 insertions, 12 deletions
diff --git a/src/mbgl/renderer/symbol_bucket.hpp b/src/mbgl/renderer/symbol_bucket.hpp
index 87c8250d55..36511e964f 100644
--- a/src/mbgl/renderer/symbol_bucket.hpp
+++ b/src/mbgl/renderer/symbol_bucket.hpp
@@ -2,10 +2,11 @@
#include <mbgl/renderer/bucket.hpp>
#include <mbgl/map/mode.hpp>
-#include <mbgl/geometry/elements_buffer.hpp>
-#include <mbgl/geometry/text_buffer.hpp>
-#include <mbgl/geometry/icon_buffer.hpp>
-#include <mbgl/geometry/collision_box_buffer.hpp>
+#include <mbgl/gl/element_group.hpp>
+#include <mbgl/gl/vertex_buffer.hpp>
+#include <mbgl/gl/index_buffer.hpp>
+#include <mbgl/shader/texture_rect_vertex.hpp>
+#include <mbgl/shader/collision_box_vertex.hpp>
#include <mbgl/text/glyph_range.hpp>
#include <mbgl/style/layers/symbol_layer_properties.hpp>
@@ -46,25 +47,35 @@ public:
private:
friend class SymbolLayout;
- typedef ElementGroup<2> TextElementGroup;
- typedef ElementGroup<4> IconElementGroup;
- typedef ElementGroup<1> CollisionBoxElementGroup;
+ typedef gl::ElementGroup<2> TextElementGroup;
+ typedef gl::ElementGroup<4> IconElementGroup;
+ typedef gl::ElementGroup<1> CollisionBoxElementGroup;
struct TextBuffer {
- TextVertexBuffer vertices;
- TriangleElementsBuffer triangles;
+ std::vector<TextureRectVertex> vertices;
+ std::vector<gl::Triangle> triangles;
std::vector<std::unique_ptr<TextElementGroup>> groups;
+
+ optional<gl::VertexBuffer<TextureRectVertex>> vertexBuffer;
+ optional<gl::IndexBuffer<gl::Triangle>> indexBuffer;
} text;
struct IconBuffer {
- IconVertexBuffer vertices;
- TriangleElementsBuffer triangles;
+ std::vector<TextureRectVertex> vertices;
+ std::vector<gl::Triangle> triangles;
std::vector<std::unique_ptr<IconElementGroup>> groups;
+
+ optional<gl::VertexBuffer<TextureRectVertex>> vertexBuffer;
+ optional<gl::IndexBuffer<gl::Triangle>> indexBuffer;
} icon;
struct CollisionBoxBuffer {
- CollisionBoxVertexBuffer vertices;
+ std::vector<CollisionBoxVertex> vertices;
+ std::vector<gl::Line> lines;
std::vector<std::unique_ptr<CollisionBoxElementGroup>> groups;
+
+ optional<gl::VertexBuffer<CollisionBoxVertex>> vertexBuffer;
+ optional<gl::IndexBuffer<gl::Line>> indexBuffer;
} collisionBox;
};