nuclear@11: /* nuclear@11: SaneGL - a small library to bring back sanity to OpenGL ES 2.x nuclear@11: Copyright (C) 2011-2013 John Tsiombikas nuclear@11: nuclear@11: This program is free software: you can redistribute it and/or modify nuclear@11: it under the terms of the GNU General Public License as published by nuclear@11: the Free Software Foundation, either version 3 of the License, or nuclear@11: (at your option) any later version. nuclear@11: nuclear@11: This program is distributed in the hope that it will be useful, nuclear@11: but WITHOUT ANY WARRANTY; without even the implied warranty of nuclear@11: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the nuclear@11: GNU General Public License for more details. nuclear@11: nuclear@11: You should have received a copy of the GNU General Public License nuclear@11: along with this program. If not, see . nuclear@11: */ nuclear@11: nuclear@11: #ifndef SANEGL_H_ nuclear@11: #define SANEGL_H_ nuclear@11: nuclear@11: #include "opengl.h" nuclear@11: nuclear@11: #ifndef GL_MODELVIEW nuclear@11: #define GL_MODELVIEW 0x1700 nuclear@11: #endif nuclear@11: #ifndef GL_PROJECTION nuclear@11: #define GL_PROJECTION 0x1701 nuclear@11: #endif nuclear@11: #ifndef GL_TEXTURE nuclear@11: #define GL_TEXTURE 0x1702 nuclear@11: #endif nuclear@11: nuclear@11: #ifndef GL_POINTS nuclear@11: #define GL_POINTS 0 nuclear@11: #endif nuclear@11: #ifndef GL_LINES nuclear@11: #define GL_LINES 1 nuclear@11: #endif nuclear@11: #ifndef GL_TRIANGLES nuclear@11: #define GL_TRIANGLES 4 nuclear@11: #endif nuclear@11: #ifndef GL_QUADS nuclear@11: #define GL_QUADS 7 nuclear@11: #endif nuclear@11: nuclear@11: /* glGet stuff */ nuclear@11: #ifndef GL_VIEWPORT nuclear@11: #define GL_VIEWPORT 0x0BA2 nuclear@11: #endif nuclear@11: #ifndef GL_MODELVIEW_MATRIX nuclear@11: #define GL_MODELVIEW_MATRIX 0x0BA6 nuclear@11: #endif nuclear@11: #ifndef GL_PROJECTION_MATRIX nuclear@11: #define GL_PROJECTION_MATRIX 0x0BA7 nuclear@11: #endif nuclear@11: nuclear@11: #ifdef GLDEF nuclear@11: nuclear@11: #define glEnable gl_enable nuclear@11: #define glDisable gl_disable nuclear@11: nuclear@11: #define glMatrixMode gl_matrix_mode nuclear@11: #define glPushMatrix gl_push_matrix nuclear@11: #define glPopMatrix gl_pop_matrix nuclear@11: #define glLoadIdentity gl_load_identity nuclear@11: #define glLoadMatrixf gl_load_matrixf nuclear@11: #define glLoadMatrixd gl_load_matrixd nuclear@11: #define glMultMatrixf gl_mult_matrixf nuclear@11: #define glMultMatrixd gl_mult_matrixd nuclear@11: #define glTranslatef gl_translatef nuclear@11: #define glRotatef gl_rotatef nuclear@11: #define glScalef gl_scalef nuclear@11: #define glOrtho gl_ortho nuclear@11: #define glFrustum gl_frustum nuclear@11: #define gluPerspective glu_perspective nuclear@11: #define gluUnProject glu_un_project nuclear@11: nuclear@11: #define glBegin gl_begin nuclear@11: #define glEnd gl_end nuclear@11: #define glVertex2f gl_vertex2f nuclear@11: #define glVertex3f gl_vertex3f nuclear@11: #define glVertex4f gl_vertex4f nuclear@11: #define glNormal3f gl_normal3f nuclear@11: #define glColor3f gl_color3f nuclear@11: #define glColor4f gl_color4f nuclear@11: #define glTexCoord1f gl_texcoord1f nuclear@11: #define glTexCoord2f gl_texcoord2f nuclear@11: #define glVertexAttrib2f gl_vertex_attrib2f nuclear@11: #define glVertexAttrib3f gl_vertex_attrib3f nuclear@11: #define glVertexAttrib4f gl_vertex_attrib4f nuclear@11: nuclear@11: #define glGetFloatv gl_get_floatv nuclear@11: #define glGetDoublev gl_get_doublev nuclear@11: #endif nuclear@11: nuclear@11: #ifdef __cplusplus nuclear@11: extern "C" { nuclear@11: #endif nuclear@11: nuclear@11: void gl_enable(int state); nuclear@11: void gl_disable(int state); nuclear@11: nuclear@11: /* matrix stuff */ nuclear@11: void gl_matrix_mode(int mmode); nuclear@11: void gl_push_matrix(void); nuclear@11: void gl_pop_matrix(void); nuclear@11: void gl_load_identity(void); nuclear@11: void gl_load_matrixf(const float *mat); nuclear@11: void gl_load_matrixd(const double *mat); nuclear@11: void gl_mult_matrixf(const float *mat); nuclear@11: void gl_mult_matrixd(const double *mat); nuclear@11: void gl_translatef(float x, float y, float z); nuclear@11: void gl_rotatef(float angle, float x, float y, float z); nuclear@11: void gl_scalef(float x, float y, float z); nuclear@11: void gl_ortho(float left, float right, float bottom, float top, float near, float far); nuclear@11: void gl_frustum(float left, float right, float bottom, float top, float near, float far); nuclear@11: void glu_perspective(float vfov, float aspect, float near, float far); nuclear@11: int glu_un_project(double winx, double winy, double winz, nuclear@11: const double *model, const double *proj, const int *viewp, nuclear@11: double *objx, double *objy, double *objz); nuclear@11: nuclear@11: void gl_apply_xform(unsigned int prog); nuclear@11: nuclear@11: nuclear@11: /* immediate mode rendering */ nuclear@11: void gl_begin(int prim); nuclear@11: void gl_end(void); nuclear@11: nuclear@11: void gl_vertex2f(float x, float y); nuclear@11: void gl_vertex3f(float x, float y, float z); nuclear@11: void gl_vertex4f(float x, float y, float z, float w); nuclear@11: nuclear@11: void gl_normal3f(float x, float y, float z); nuclear@11: nuclear@11: void gl_color3f(float r, float g, float b); nuclear@11: void gl_color4f(float r, float g, float b, float a); nuclear@11: nuclear@11: void gl_texcoord1f(float s); nuclear@11: void gl_texcoord2f(float s, float t); nuclear@11: nuclear@11: void gl_vertex_attrib2f(int loc, float x, float y); nuclear@11: void gl_vertex_attrib3f(int loc, float x, float y, float z); nuclear@11: void gl_vertex_attrib4f(int loc, float x, float y, float z, float w); nuclear@11: nuclear@11: /* state retrieval */ nuclear@11: void gl_get_floatv(int what, float *res); nuclear@11: void gl_get_doublev(int what, double *res); nuclear@11: nuclear@11: #ifdef __cplusplus nuclear@11: } nuclear@11: #endif nuclear@11: nuclear@11: #endif /* SANEGL_H_ */