X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FOpenGL.hh;fp=src%2FMoof%2FOpenGL.hh;h=0000000000000000000000000000000000000000;hp=05d8317caefa4b001f3bdf67a23072945aaa82dc;hb=831f04d4bc19a390415ac0bbac4331c7a65509bc;hpb=299af4f2047e767e5d79501c26444473bda64c64 diff --git a/src/Moof/OpenGL.hh b/src/Moof/OpenGL.hh deleted file mode 100644 index 05d8317..0000000 --- a/src/Moof/OpenGL.hh +++ /dev/null @@ -1,112 +0,0 @@ - -/*] Copyright (c) 2009-2010, Charles McGarvey [************************** -**] All rights reserved. -* -* vi:ts=4 sw=4 tw=75 -* -* Distributable under the terms and conditions of the 2-clause BSD license; -* see the file COPYING for a complete text of the license. -* -**************************************************************************/ - -#ifndef _MOOF_OPENGL_HH_ -#define _MOOF_OPENGL_HH_ - -#include - -#include - -#if HAVE_CONFIG_H -#include "config.h" -#endif - - -// generic function arguments - -#define ARGS_P const GLscalar* p -#define PASS_P p - -#define ARGS_M const Mf::Matrix4& m -#define PASS_M m.data() - -// ordinal function arguments - -#define ARGS_S2 GLscalar a, GLscalar b -#define PASS_S2 a, b -#define ARGS_S3 GLscalar a, GLscalar b, GLscalar c -#define PASS_S3 a, b, c -#define ARGS_S4 GLscalar a, GLscalar b, GLscalar c, GLscalar d -#define PASS_S4 a, b, c, d - -#define ARGS_P2 const Mf::Vector2& p -#define PASS_P2 p.data() -#define ARGS_P3 const Mf::Vector3& p -#define PASS_P3 p.data() -#define ARGS_P4 const Mf::Vector4& p -#define PASS_P4 p.data() - -#define ARGS_V2 const Mf::Vector2& v -#define PASS_V2 v[0], v[1] -#define ARGS_V3 const Mf::Vector3& v -#define PASS_V3 v[0], v[1], v[2] -#define ARGS_V4 const Mf::Vector4& v -#define PASS_V4 v[0], v[1], v[2], v[3] - - -#if USE_DOUBLE_PRECISION - -#define OPENGL_GENERIC_FUNC(R, N, L) \ - inline R gl##N(ARGS_##L) { gl##N##d(PASS_##L); }// - -#define OPENGL_ORDINAL_FUNC(R, N, K) \ - inline R gl##N(ARGS_##S##K) { gl##N##K##d(PASS_##S##K); } \ - inline R gl##N(ARGS_##P##K) { gl##N##K##d##v(PASS_##P##K); }// - -#else - -#define OPENGL_GENERIC_FUNC(R, N, L) \ - inline R gl##N(ARGS_##L) { gl##N##f(PASS_##L); }// - -#define OPENGL_ORDINAL_FUNC(R, N, K) \ - inline R gl##N(ARGS_##S##K) { gl##N##K##f(PASS_##S##K); } \ - inline R gl##N(ARGS_##P##K) { gl##N##K##f##v(PASS_##P##K); }// - -#endif - - -OPENGL_GENERIC_FUNC(void, LoadMatrix, P); -OPENGL_GENERIC_FUNC(void, LoadMatrix, M); -OPENGL_GENERIC_FUNC(void, MultMatrix, P); -OPENGL_GENERIC_FUNC(void, MultMatrix, M); - -OPENGL_GENERIC_FUNC(void, Scale, S3); -OPENGL_GENERIC_FUNC(void, Scale, V3); -OPENGL_GENERIC_FUNC(void, Rotate, S4); -OPENGL_GENERIC_FUNC(void, Rotate, V4); -OPENGL_GENERIC_FUNC(void, Translate, S3); -OPENGL_GENERIC_FUNC(void, Translate, V3); - -OPENGL_ORDINAL_FUNC(void, Color, 3); -OPENGL_ORDINAL_FUNC(void, Color, 4); - -OPENGL_ORDINAL_FUNC(void, Vertex, 2); -OPENGL_ORDINAL_FUNC(void, Vertex, 3); -OPENGL_ORDINAL_FUNC(void, Vertex, 4); - -OPENGL_ORDINAL_FUNC(void, TexCoord, 2); -OPENGL_ORDINAL_FUNC(void, TexCoord, 3); -OPENGL_ORDINAL_FUNC(void, TexCoord, 4); - -OPENGL_GENERIC_FUNC(void, Rect, S4); -OPENGL_GENERIC_FUNC(void, Rect, V4); - - -#if USE_DOUBLE_PRECISION -inline void glGetScalar(GLenum a, GLscalar* b) { glGetDoublev(a, b); } -#else -inline void glGetScalar(GLenum a, GLscalar* b) { glGetFloatv(a, b); } -#endif - - -#endif // _MOOF_OPENGL_HH_ -