+#include "gl.h"
+#include "primitivetype.h"
+#include "primitivetype_backend.h"
+
+using namespace std;
+
+namespace Msp {
+namespace GL {
+
+unsigned get_gl_primitive_type(PrimitiveType pt)
+{
+ switch(pt)
+ {
+ case POINTS: return GL_POINTS;
+ case LINES: return GL_LINES;
+ case LINE_STRIP: return GL_LINE_STRIP;
+ case LINE_LOOP: return GL_LINE_LOOP;
+ case TRIANGLES: return GL_TRIANGLES;
+ case TRIANGLE_STRIP: return GL_TRIANGLE_STRIP;
+ case TRIANGLE_FAN: return GL_TRIANGLE_FAN;
+ default: throw invalid_argument("get_gl_primitive_type");
+ }
+}
+
+} // namespace GL
+} // namespace Msp