]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/OpenGL.hh
starting to move to a generic state structure
[chaz/yoink] / src / Moof / OpenGL.hh
index 6db55ce98f6314f89ece1a0fc5056a2772824dcd..e74f6010b584b7ab646b2d0b3391bd1ea9dd8cdb 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 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: *************************************************/
This page took 0.018956 seconds and 4 git commands to generate.