*/
#include "graphics.h"
-#include "../debug.h"
+#include "debug.h"
#include <GL/gl.h>
#include <GL/glu.h>
#include <SDL/SDL.h>
#include <cmath>
-#include "../mathw.h"
+#include "mathw.h"
#include <iostream>
using std::cerr;
/// ***** Private Method Headers *****
void glDrawCircle(int);
+void glDrawPolygon( const std::vector<Vector2>& points );
void sdlInit();
void glInit();
{
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
- glTranslatef(pos.x, pos.y, -1);
+ glTranslatef(pos.m_fX, pos.m_fY, -1);
glScalef(radius, radius, radius);
if(color != NULL)
glDrawCircle(32);
}
+void graphics::drawPolygon
+(
+ const std::vector<Vector2>& points,
+ const float* color
+)
+{
+ glMatrixMode(GL_MODELVIEW);
+ glLoadIdentity();
+
+ if(color != NULL)
+ glColor3fv(color);
+
+ glDrawPolygon(points);
+}
+
/// ***** Private Methods *****
void glDrawCircle(int pieces)
glEnd();
}
+void glDrawPolygon( const std::vector<Vector2>& points )
+{
+ glBegin(GL_POLYGON);
+ for(unsigned int n = 0; n < points.size(); n++)
+ {
+ const Vector2& vec = points.at(n);
+
+ glVertex3f(vec.m_fX, vec.m_fY, 0);
+ }
+ glEnd();
+}
+
void sdlInit()
{
if(SDL_Init(SDL_INIT_VIDEO) < 0)