#include "config.h"
+#include <vector>
+
#include <SDL/SDL_opengl.h>
#include <moof/math.hh>
OPENGL_GENERIC_FUNC(void, Rect, V4);
+inline void glMaterial(GLenum face, GLenum pname, moof::scalar s)
+{
+ glMaterialf(face, pname, float(s));
+}
+
+inline void glMaterial(GLenum face, GLenum pname, const moof::vector4& v)
+{
+#if USE_DOUBLE_PRECISION
+ float f[] = {v[0], v[1], v[2], v[3]};
+ glMaterialfv(face, pname, f);
+#else
+ glMaterialfv(face, pname, v.data());
+#endif
+}
+
+inline void glVertexPointer(const std::vector<moof::vector3>& v)
+{
+ glVertexPointer(3, GL_SCALAR, 0, v[0].data());
+}
+inline void glTexCoordPointer(const std::vector<moof::vector2>& v)
+{
+ glTexCoordPointer(2, GL_SCALAR, 0, v[0].data());
+}
+
+inline void glDrawElements(GLenum type, const std::vector<GLuint>& v)
+{
+ glDrawElements(type, v.size(), GL_UNSIGNED_INT, &v[0]);
+}
+
+
#if USE_DOUBLE_PRECISION
inline void glGetScalar(GLenum a, GLscalar* b) { glGetDoublev(a, b); }
#else