summaryrefslogtreecommitdiff
path: root/src/mbgl/renderer/circle_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/circle_bucket.hpp
parentac8a74ebccb85f83c40b9fccfeb11dc2cb3c79e4 (diff)
downloadqtlocation-mapboxgl-7a3bef091e7390fa57bf33f1a704c893768b5625.tar.gz
[core] Refactor Buffer
Diffstat (limited to 'src/mbgl/renderer/circle_bucket.hpp')
-rw-r--r--src/mbgl/renderer/circle_bucket.hpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/mbgl/renderer/circle_bucket.hpp b/src/mbgl/renderer/circle_bucket.hpp
index 9e9357d77f..5f4f357d2f 100644
--- a/src/mbgl/renderer/circle_bucket.hpp
+++ b/src/mbgl/renderer/circle_bucket.hpp
@@ -3,17 +3,16 @@
#include <mbgl/renderer/bucket.hpp>
#include <mbgl/map/mode.hpp>
#include <mbgl/tile/geometry_tile_data.hpp>
-#include <mbgl/geometry/elements_buffer.hpp>
-#include <mbgl/geometry/circle_buffer.hpp>
+#include <mbgl/gl/vertex_buffer.hpp>
+#include <mbgl/gl/index_buffer.hpp>
+#include <mbgl/gl/element_group.hpp>
+#include <mbgl/shader/circle_vertex.hpp>
namespace mbgl {
-class CircleVertexBuffer;
class CircleShader;
class CircleBucket : public Bucket {
- using TriangleGroup = ElementGroup<3>;
-
public:
CircleBucket(const MapMode);
~CircleBucket() override;
@@ -28,10 +27,14 @@ public:
void drawCircles(CircleShader&, gl::Context&);
private:
- CircleVertexBuffer vertexBuffer_;
- TriangleElementsBuffer elementsBuffer_;
+ std::vector<CircleVertex> vertices;
+ std::vector<gl::Triangle> triangles;
+
+ using TriangleGroup = gl::ElementGroup<3>;
+ std::vector<std::unique_ptr<TriangleGroup>> triangleGroups;
- std::vector<std::unique_ptr<TriangleGroup>> triangleGroups_;
+ optional<gl::VertexBuffer<CircleVertex>> vertexBuffer;
+ optional<gl::IndexBuffer<gl::Triangle>> indexBuffer;
const MapMode mode;
};