#ifndef MBGL_RENDERER_CIRCLE_BUCKET #define MBGL_RENDERER_CIRCLE_BUCKET #include #include #include #include namespace mbgl { class CircleVertexBuffer; class CircleShader; class CircleBucket : public Bucket { using TriangleGroup = ElementGroup<3>; public: CircleBucket(); ~CircleBucket() override; void upload(gl::GLObjectStore&) override; void render(Painter&, const StyleLayer&, const TileID&, const mat4&) override; bool hasData() const override; void addGeometry(const GeometryCollection&); void drawCircles(CircleShader&, gl::GLObjectStore&); private: CircleVertexBuffer vertexBuffer_; TriangleElementsBuffer elementsBuffer_; std::vector> triangleGroups_; }; } // namespace mbgl #endif // MBGL_RENDERER_CIRCLE_BUCKET