projects
/
physics.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
hacks that make a polygon draw
[physics.git]
/
src
/
graphics
/
graphics.cpp
diff --git
a/src/graphics/graphics.cpp
b/src/graphics/graphics.cpp
index
537cdc8
..
d89db8a
100644
(file)
--- a/
src/graphics/graphics.cpp
+++ b/
src/graphics/graphics.cpp
@@
-34,6
+34,7
@@
using std::endl;
/// ***** Private Method Headers *****
void glDrawCircle(int);
/// ***** Private Method Headers *****
void glDrawCircle(int);
+void glDrawPolygon( const std::vector<Vector2>& points );
void sdlInit();
void glInit();
void sdlInit();
void glInit();
@@
-65,6
+66,21
@@
void graphics::drawCircle(float radius, const Vector2& pos, const float* color)
glDrawCircle(32);
}
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)
/// ***** Private Methods *****
void glDrawCircle(int pieces)
@@
-81,6
+97,18
@@
void glDrawCircle(int pieces)
glEnd();
}
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.x, vec.y, 0);
+ }
+ glEnd();
+}
+
void sdlInit()
{
if(SDL_Init(SDL_INIT_VIDEO) < 0)
void sdlInit()
{
if(SDL_Init(SDL_INIT_VIDEO) < 0)