]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/OpenGL.hh
improved new vorbisfile compatibility
[chaz/yoink] / src / Moof / OpenGL.hh
index 0e793f6ded9c6db37b4954db0f47856b4064567c..a5ae3a043f75100208d026fa386ab47d2fdd9878 100644 (file)
 
 #include <SDL/SDL_opengl.h>
 
+
+/* Define to 1 if you want to use double precision floating-point numbers. */
+//#define USE_DOUBLE_PRECISION 1 
+
+
+#if USE_DOUBLE_PRECISION
+
+typedef GLdouble       GLscalar;
+#define GL_SCALAR      GL_DOUBLE
+
+inline void glGetScalarv(GLenum a, GLscalar* b) { glGetDoublev(a, b); }
+
+inline void glLoadMatrix(const GLscalar* a) { glLoadMatrixd(a); }
+inline void glMultMatrix(const GLscalar* a) { glMultMatrixd(a); }
+
+inline void glScale(GLscalar a, GLscalar b, GLscalar c) { glScaled(a, b, c); }
+inline void glRotate(GLscalar a, GLscalar b, GLscalar c, GLscalar d) { glRotated(a, b, c, d); }
+inline void glTranslate(GLscalar a, GLscalar b, GLscalar c) { glTranslated(a, b, c); }
+
+inline void glColor3(GLscalar a, GLscalar b, GLscalar c) { glColor3d(a, b, c); }
+inline void glColor4(GLscalar a, GLscalar b, GLscalar c, GLscalar d) { glColor4d(a, b, c, d); }
+inline void glColor3v(const GLscalar *a) { glColor3dv(a); }
+inline void glColor4v(const GLscalar *a) { glColor4dv(a); }
+
+inline void glVertex2(GLscalar a, GLscalar b) { glVertex2d(a, b); }
+inline void glVertex3(GLscalar a, GLscalar b, GLscalar c) { glVertex3d(a, b, c); }
+inline void glVertex4(GLscalar a, GLscalar b, GLscalar c, GLscalar d) { glVertex4d(a, b, c, d); }
+inline void glVertex2v(const GLscalar* a) { glVertex2dv(a); }
+inline void glVertex3v(const GLscalar* a) { glVertex3dv(a); }
+inline void glVertex4v(const GLscalar* a) { glVertex4dv(a); }
+
+inline void glTexCoord2(GLscalar a, GLscalar b) { glTexCoord2d(a, b); } 
+inline void glTexCoord3(GLscalar a, GLscalar b, GLscalar c) { glTexCoord3d(a, b, c); }
+inline void glTexCoord4(GLscalar a, GLscalar b, GLscalar c, GLscalar d) { glTexCoord4d(a, b, c, d); }
+inline void glTexCoord2v(const GLscalar* a) { glTexCoord2dv(a); }
+inline void glTexCoord3v(const GLscalar* a) { glTexCoord3dv(a); }
+inline void glTexCoord4v(const GLscalar* a) { glTexCoord4dv(a); }
+
+#else
+
+typedef GLfloat                GLscalar;
+#define GL_SCALAR      GL_FLOAT
+
+inline void glGetScalarv(GLenum a, GLscalar* b) { glGetFloatv(a, b); }
+
+inline void glLoadMatrix(const GLscalar* a) { glLoadMatrixf(a); }
+inline void glMultMatrix(const GLscalar* a) { glMultMatrixf(a); }
+
+inline void glScale(GLscalar a, GLscalar b, GLscalar c) { glScalef(a, b, c); }
+inline void glRotate(GLscalar a, GLscalar b, GLscalar c, GLscalar d) { glRotatef(a, b, c, d); }
+inline void glTranslate(GLscalar a, GLscalar b, GLscalar c) { glTranslatef(a, b, c); }
+
+inline void glColor3(GLscalar a, GLscalar b, GLscalar c) { glColor3f(a, b, c); }
+inline void glColor4(GLscalar a, GLscalar b, GLscalar c, GLscalar d) { glColor4f(a, b, c, d); }
+inline void glColor3v(const GLscalar *a) { glColor3fv(a); }
+inline void glColor4v(const GLscalar *a) { glColor4fv(a); }
+
+inline void glVertex2(GLscalar a, GLscalar b) { glVertex2f(a, b); }
+inline void glVertex3(GLscalar a, GLscalar b, GLscalar c) { glVertex3f(a, b, c); }
+inline void glVertex4(GLscalar a, GLscalar b, GLscalar c, GLscalar d) { glVertex4f(a, b, c, d); }
+inline void glVertex2v(const GLscalar* a) { glVertex2fv(a); }
+inline void glVertex3v(const GLscalar* a) { glVertex3fv(a); }
+inline void glVertex4v(const GLscalar* a) { glVertex4fv(a); }
+
+inline void glTexCoord2(GLscalar a, GLscalar b) { glTexCoord2f(a, b); } 
+inline void glTexCoord3(GLscalar a, GLscalar b, GLscalar c) { glTexCoord3f(a, b, c); }
+inline void glTexCoord4(GLscalar a, GLscalar b, GLscalar c, GLscalar d) { glTexCoord4f(a, b, c, d); }
+inline void glTexCoord2v(const GLscalar* a) { glTexCoord2fv(a); }
+inline void glTexCoord3v(const GLscalar* a) { glTexCoord3fv(a); }
+inline void glTexCoord4v(const GLscalar* a) { glTexCoord4fv(a); }
+
+#endif
+
+
 #endif // _MOOF_OPENGL_HH_
 
 /** vim: set ts=4 sw=4 tw=80: *************************************************/
This page took 0.019041 seconds and 4 git commands to generate.