

#ifndef TANGO_GL_RENDERER_POLYGON_H
#define TANGO_GL_RENDERER_POLYGON_H

#include <stdlib.h>
#include <vector>
#include <math.h>

#include "tango-gl-renderer/drawable_object.h"
#include "tango-gl-renderer/gl_util.h"

class Polygon : public DrawableObject {
 public:
  Polygon();
  Polygon(const Polygon& other) = delete;
  Polygon& operator=(const Polygon&) = delete;
  ~Polygon();

  void SetAlpha(const float alpha);
  void Render(const glm::mat4& projection_mat, const glm::mat4& view_mat) const;

 private:
  float alpha_;
  unsigned int indices_count;
  GLuint shader_program_;
  GLuint attrib_vertices_;
  GLuint uniform_color_;
  GLuint uniform_mvp_mat_;
};

#endif  // TANGO_GL_RENDERER_POLYGON_H
