X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FOpenGL.hh;h=e74f6010b584b7ab646b2d0b3391bd1ea9dd8cdb;hp=6db55ce98f6314f89ece1a0fc5056a2772824dcd;hb=fcb40aa40c6a13ca0e0962b35973ac4574779574;hpb=16d1a05b0777e97a45c48e2874aa4e5cc791282e diff --git a/src/Moof/OpenGL.hh b/src/Moof/OpenGL.hh index 6db55ce..e74f601 100644 --- a/src/Moof/OpenGL.hh +++ b/src/Moof/OpenGL.hh @@ -31,40 +31,126 @@ #include - -/* Define to 1 if you want to use double precision floating-point numbers. */ -#define USE_DOUBLE_PRECISION 1 +#if HAVE_CONFIG_H +#include "config.h" +#endif #if USE_DOUBLE_PRECISION typedef GLdouble GLscalar; #define GL_SCALAR GL_DOUBLE +#define SCALAR(D) (D) + +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 +#define SCALAR(F) (F##f) + +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 -extern void (*glLoadMatrix)(const GLscalar*); -extern void (*glMultMatrix)(const GLscalar*); - -extern void (*glColor3)(GLscalar, GLscalar, GLscalar); -extern void (*glColor4)(GLscalar, GLscalar, GLscalar, GLscalar); -extern void (*glColor3v)(const GLscalar*); -extern void (*glColor4v)(const GLscalar*); - -extern void (*glVertex2)(GLscalar, GLscalar); -extern void (*glVertex3)(GLscalar, GLscalar, GLscalar); -extern void (*glVertex4)(GLscalar, GLscalar, GLscalar, GLscalar); -extern void (*glVertex2v)(const GLscalar*); -extern void (*glVertex3v)(const GLscalar*); -extern void (*glVertex4v)(const GLscalar*); - - #endif // _MOOF_OPENGL_HH_ /** vim: set ts=4 sw=4 tw=80: *************************************************/