X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FOpenGL.hh;h=a5ae3a043f75100208d026fa386ab47d2fdd9878;hp=0e793f6ded9c6db37b4954db0f47856b4064567c;hb=7e898e8ec0ff716e2fc722b883a626a6c346f107;hpb=c2321281bf12a7efaedde930422c7ddbc92080d4 diff --git a/src/Moof/OpenGL.hh b/src/Moof/OpenGL.hh index 0e793f6..a5ae3a0 100644 --- a/src/Moof/OpenGL.hh +++ b/src/Moof/OpenGL.hh @@ -31,6 +31,80 @@ #include + +/* 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: *************************************************/