GCC Code Coverage Report


Directory: src/gate/
File: src/gate/graphics/platform/opengl_apis.h
Date: 2025-09-22 22:57:09
Exec Total Coverage
Lines: 0 104 0.0%
Functions: 0 2 0.0%
Branches: 0 6 0.0%

Line Branch Exec Source
1 /* GATE PROJECT LICENSE:
2 +----------------------------------------------------------------------------+
3 | Copyright(c) 2018-2025, Stefan Meislinger |
4 | All rights reserved. |
5 | |
6 | Redistribution and use in source and binary forms, with or without |
7 | modification, are permitted provided that the following conditions are met:|
8 | |
9 | 1. Redistributions of source code must retain the above copyright notice, |
10 | this list of conditions and the following disclaimer. |
11 | 2. Redistributions in binary form must reproduce the above copyright |
12 | notice, this list of conditions and the following disclaimer in the |
13 | documentation and/or other materials provided with the distribution. |
14 | |
15 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"|
16 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
17 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
18 | ARE DISCLAIMED.IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE |
19 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
20 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
21 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
22 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
23 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
24 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
25 | THE POSSIBILITY OF SUCH DAMAGE. |
26 +----------------------------------------------------------------------------+
27 */
28 #ifndef GATE_GRAPHICS_PLATFORM_OPENGL_APIS_H_INCLUDED
29 #define GATE_GRAPHICS_PLATFORM_OPENGL_APIS_H_INCLUDED
30
31 #include "gate/gatetypes.h"
32 #include "gate/libraries.h"
33 #include "gate/results.h"
34 #include "gate/platforms.h"
35
36 #if defined(GATE_SYS_ANDROID)
37 # include <GLES/gl.h>
38 # define GATE_OPENGL_NO_DBL 1
39 #elif defined(GATE_SYS_WINCE)
40 # include <GLES/gl.h>
41 # define GATE_OPENGL_NO_DBL 1
42 #elif defined(GATE_SYS_DARWIN)
43 # include <OpenGL/gl.h>
44 #elif defined(GATE_SYS_WASM)
45 # include <GL/gl.h>
46 # define GATE_OPENGL_APIS_DIRECT_BINDING 1
47 //# define GATE_OPENGL_NO_DBL 1
48 #else
49 # include <GL/gl.h>
50 #endif
51
52 #if defined(GATE_SYS_WIN)
53
54 # define OGLAPI WINAPI
55 # define OPENGL_LIBNAME "opengl32.dll"
56 # define OPENGL_LIBNAME_ALT "opengl32.dll"
57
58 #elif defined(GATE_SYS_ANDROID)
59 # define OGLAPI
60 # define OPENGL_LIBNAME "libGLESv1_CM.so"
61 # define OPENGL_LIBNAME_ALT "libGL.so.1.2"
62
63 #else
64
65 # define OGLAPI
66 # define OPENGL_LIBNAME "libGL.so"
67 # define OPENGL_LIBNAME_ALT "libGL.so.1"
68
69 #endif
70
71 typedef struct gate_gl_api_functions_class
72 {
73 //void (OGLAPI *glAccum) (GLenum op, GLfloat value);
74 void (OGLAPI* glAlphaFunc) (GLenum func, GLclampf ref);
75 //GLboolean(OGLAPI *glAreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences);
76 //void (OGLAPI *glArrayElement) (GLint i);
77 //void (OGLAPI *glBegin) (GLenum mode);
78 void (OGLAPI* glBindTexture) (GLenum target, GLuint texture);
79 //void (OGLAPI *glBitmap) (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap);
80 void (OGLAPI* glBlendFunc) (GLenum sfactor, GLenum dfactor);
81 //void (OGLAPI *glCallList) (GLuint list);
82 //void (OGLAPI *glCallLists) (GLsizei n, GLenum type, const GLvoid *lists);
83 void (OGLAPI* glClear) (GLbitfield mask);
84 //void (OGLAPI *glClearAccum) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
85 void (OGLAPI* glClearColor) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
86 #if defined(GATE_OPENGL_NO_DBL)
87 void (OGLAPI* glClearDepth) (GLclampf depth);
88 #else
89 void (OGLAPI* glClearDepth) (GLclampd depth);
90 #endif
91 //void (OGLAPI *glClearIndex) (GLfloat c);
92 void (OGLAPI* glClearStencil) (GLint s);
93 #if defined(GATE_OPENGL_NO_DBL)
94 void (OGLAPI* glClipPlane) (GLenum plane, const GLfloat* equation);
95 #else
96 void (OGLAPI* glClipPlane) (GLenum plane, const GLdouble* equation);
97 #endif
98 //void (OGLAPI *glColor3b) (GLbyte red, GLbyte green, GLbyte blue);
99 //void (OGLAPI *glColor3bv) (const GLbyte *v);
100 //void (OGLAPI *glColor3d) (GLdouble red, GLdouble green, GLdouble blue);
101 //void (OGLAPI *glColor3dv) (const GLdouble *v);
102 //void (OGLAPI *glColor3f) (GLfloat red, GLfloat green, GLfloat blue);
103 //void (OGLAPI *glColor3fv) (const GLfloat *v);
104 //void (OGLAPI *glColor3i) (GLint red, GLint green, GLint blue);
105 //void (OGLAPI *glColor3iv) (const GLint *v);
106 //void (OGLAPI *glColor3s) (GLshort red, GLshort green, GLshort blue);
107 //void (OGLAPI *glColor3sv) (const GLshort *v);
108 //void (OGLAPI *glColor3ub) (GLubyte red, GLubyte green, GLubyte blue);
109 //void (OGLAPI *glColor3ubv) (const GLubyte *v);
110 //void (OGLAPI *glColor3ui) (GLuint red, GLuint green, GLuint blue);
111 //void (OGLAPI *glColor3uiv) (const GLuint *v);
112 //void (OGLAPI *glColor3us) (GLushort red, GLushort green, GLushort blue);
113 //void (OGLAPI *glColor3usv) (const GLushort *v);
114 //void (OGLAPI *glColor4b) (GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha);
115 //void (OGLAPI *glColor4bv) (const GLbyte *v);
116 //void (OGLAPI *glColor4d) (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha);
117 //void (OGLAPI *glColor4dv) (const GLdouble *v);
118 void (OGLAPI* glColor4f) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
119 //void (OGLAPI *glColor4fv) (const GLfloat *v);
120 //void (OGLAPI *glColor4i) (GLint red, GLint green, GLint blue, GLint alpha);
121 //void (OGLAPI *glColor4iv) (const GLint *v);
122 //void (OGLAPI *glColor4s) (GLshort red, GLshort green, GLshort blue, GLshort alpha);
123 //void (OGLAPI *glColor4sv) (const GLshort *v);
124 void (OGLAPI* glColor4ub) (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
125 //void (OGLAPI *glColor4ubv) (const GLubyte *v);
126 //void (OGLAPI *glColor4ui) (GLuint red, GLuint green, GLuint blue, GLuint alpha);
127 //void (OGLAPI *glColor4uiv) (const GLuint *v);
128 //void (OGLAPI *glColor4us) (GLushort red, GLushort green, GLushort blue, GLushort alpha);
129 //void (OGLAPI *glColor4usv) (const GLushort *v);
130 void (OGLAPI* glColorMask) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
131 //void (OGLAPI *glColorMaterial)(GLenum face, GLenum mode);
132 void (OGLAPI* glColorPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
133 //void (OGLAPI *glCopyPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type);
134 //void (OGLAPI *glCopyTexImage1D) (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLint border);
135 void (OGLAPI* glCopyTexImage2D) (GLenum target, GLint level, GLenum internalFormat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
136 //void (OGLAPI *glCopyTexSubImage1D) (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width);
137 void (OGLAPI* glCopyTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
138 void (OGLAPI* glCullFace) (GLenum mode);
139 //void (OGLAPI *glDeleteLists) (GLuint list, GLsizei range);
140 void (OGLAPI* glDeleteTextures) (GLsizei n, const GLuint* textures);
141 void (OGLAPI* glDepthFunc) (GLenum func);
142 void (OGLAPI* glDepthMask) (GLboolean flag);
143 #if defined(GATE_OPENGL_NO_DBL)
144 void (OGLAPI* glDepthRange) (GLclampf zNear, GLclampf zFar);
145 #else
146 void (OGLAPI* glDepthRange) (GLclampd zNear, GLclampd zFar);
147 #endif
148 void (OGLAPI* glDisable) (GLenum cap);
149 void (OGLAPI* glDisableClientState) (GLenum array);
150 void (OGLAPI* glDrawArrays) (GLenum mode, GLint first, GLsizei count);
151 //void (OGLAPI *glDrawBuffer) (GLenum mode);
152 void (OGLAPI* glDrawElements) (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices);
153 //void (OGLAPI *glDrawPixels) (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
154 //void (OGLAPI *glEdgeFlag) (GLboolean flag);
155 //void (OGLAPI *glEdgeFlagPointer)(GLsizei stride, const GLvoid *pointer);
156 //void (OGLAPI *glEdgeFlagv) (const GLboolean *flag);
157 void (OGLAPI* glEnable) (GLenum cap);
158 void (OGLAPI* glEnableClientState) (GLenum array);
159 //void (OGLAPI *glEnd) (void);
160 //void (OGLAPI *glEndList) (void);
161 //void (OGLAPI *glEvalCoord1d) (GLdouble u);
162 //void (OGLAPI *glEvalCoord1dv) (const GLdouble *u);
163 //void (OGLAPI *glEvalCoord1f) (GLfloat u);
164 //void (OGLAPI *glEvalCoord1fv) (const GLfloat *u);
165 //void (OGLAPI *glEvalCoord2d) (GLdouble u, GLdouble v);
166 //void (OGLAPI *glEvalCoord2dv) (const GLdouble *u);
167 //void (OGLAPI *glEvalCoord2f) (GLfloat u, GLfloat v);
168 //void (OGLAPI *glEvalCoord2fv) (const GLfloat *u);
169 //void (OGLAPI *glEvalMesh1) (GLenum mode, GLint i1, GLint i2);
170 //void (OGLAPI *glEvalMesh2) (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2);
171 //void (OGLAPI *glEvalPoint1) (GLint i);
172 //void (OGLAPI *glEvalPoint2) (GLint i, GLint j);
173 //void (OGLAPI *glFeedbackBuffer) (GLsizei size, GLenum type, GLfloat *buffer);
174 void (OGLAPI* glFinish) (void);
175 void (OGLAPI* glFlush) (void);
176 void (OGLAPI* glFogf) (GLenum pname, GLfloat param);
177 void (OGLAPI* glFogfv) (GLenum pname, const GLfloat* params);
178 //void (OGLAPI *glFogi) (GLenum pname, GLint param);
179 //void (OGLAPI *glFogiv) (GLenum pname, const GLint *params);
180 void (OGLAPI* glFrontFace) (GLenum mode);
181 #if defined(GATE_OPENGL_NO_DBL)
182 void (OGLAPI* glFrustum) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
183 #else
184 void (OGLAPI* glFrustum) (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
185 #endif
186 //GLuint(OGLAPI *glGenLists) (GLsizei range);
187 void (OGLAPI* glGenTextures) (GLsizei n, GLuint* textures);
188 void (OGLAPI* glGetBooleanv) (GLenum pname, GLboolean* params);
189 #if defined(GATE_OPENGL_NO_DBL)
190 //void (OGLAPI* glGetClipPlane) (GLenum pname, GLfloat eqn[4]);
191 #else
192 //void (OGLAPI* glGetClipPlane) (GLenum plane, GLdouble* equation);
193 #endif
194 //void (OGLAPI *glGetDoublev) (GLenum pname, GLdouble *params);
195 GLenum(OGLAPI* glGetError) (void);
196 void (OGLAPI* glGetFloatv) (GLenum pname, GLfloat* params);
197 void (OGLAPI* glGetIntegerv) (GLenum pname, GLint* params);
198 void (OGLAPI* glGetLightfv) (GLenum light, GLenum pname, GLfloat* params);
199 //void (OGLAPI *glGetLightiv) (GLenum light, GLenum pname, GLint *params);
200 //void (OGLAPI *glGetMapdv) (GLenum target, GLenum query, GLdouble *v);
201 //void (OGLAPI *glGetMapfv) (GLenum target, GLenum query, GLfloat *v);
202 //void (OGLAPI *glGetMapiv) (GLenum target, GLenum query, GLint *v);
203 void (OGLAPI* glGetMaterialfv) (GLenum face, GLenum pname, GLfloat* params);
204 //void (OGLAPI *glGetMaterialiv)(GLenum face, GLenum pname, GLint *params);
205 //void (OGLAPI *glGetPixelMapfv)(GLenum map, GLfloat *values);
206 //void (OGLAPI *glGetPixelMapuiv)(GLenum map, GLuint *values);
207 //void (OGLAPI *glGetPixelMapusv)(GLenum map, GLushort *values);
208 void (OGLAPI* glGetPointerv) (GLenum pname, GLvoid** params);
209 //void (OGLAPI *glGetPolygonStipple) (GLubyte *mask);
210 GLubyte const* (OGLAPI* glGetString) (GLenum name);
211 void (OGLAPI* glGetTexEnvfv) (GLenum target, GLenum pname, GLfloat* params);
212 void (OGLAPI* glGetTexEnviv) (GLenum target, GLenum pname, GLint* params);
213 //void (OGLAPI *glGetTexGendv) (GLenum coord, GLenum pname, GLdouble *params);
214 //void (OGLAPI *glGetTexGenfv) (GLenum coord, GLenum pname, GLfloat *params);
215 //void (OGLAPI *glGetTexGeniv) (GLenum coord, GLenum pname, GLint *params);
216 //void (OGLAPI *glGetTexImage) (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels);
217 //void (OGLAPI *glGetTexLevelParameterfv) (GLenum target, GLint level, GLenum pname, GLfloat *params);
218 //void (OGLAPI *glGetTexLevelParameteriv) (GLenum target, GLint level, GLenum pname, GLint *params);
219 void (OGLAPI* glGetTexParameterfv) (GLenum target, GLenum pname, GLfloat* params);
220 void (OGLAPI* glGetTexParameteriv) (GLenum target, GLenum pname, GLint* params);
221 void (OGLAPI* glHint) (GLenum target, GLenum mode);
222 //void (OGLAPI *glIndexMask) (GLuint mask);
223 //void (OGLAPI *glIndexPointer) (GLenum type, GLsizei stride, const GLvoid *pointer);
224 //void (OGLAPI *glIndexd) (GLdouble c);
225 //void (OGLAPI *glIndexdv) (const GLdouble *c);
226 //void (OGLAPI *glIndexf) (GLfloat c);
227 //void (OGLAPI *glIndexfv) (const GLfloat *c);
228 //void (OGLAPI *glIndexi) (GLint c);
229 //void (OGLAPI *glIndexiv) (const GLint *c);
230 //void (OGLAPI *glIndexs) (GLshort c);
231 //void (OGLAPI *glIndexsv) (const GLshort *c);
232 //void (OGLAPI *glIndexub) (GLubyte c);
233 //void (OGLAPI *glIndexubv) (const GLubyte *c);
234 //void (OGLAPI *glInitNames) (void);
235 //void (OGLAPI *glInterleavedArrays) (GLenum format, GLsizei stride, const GLvoid *pointer);
236 GLboolean(OGLAPI* glIsEnabled) (GLenum cap);
237 //GLboolean(OGLAPI *glIsList) (GLuint list);
238 GLboolean(OGLAPI* glIsTexture) (GLuint texture);
239 void (OGLAPI* glLightModelf) (GLenum pname, GLfloat param);
240 void (OGLAPI* glLightModelfv) (GLenum pname, const GLfloat* params);
241 //void (OGLAPI *glLightModeli) (GLenum pname, GLint param);
242 //void (OGLAPI *glLightModeliv) (GLenum pname, const GLint *params);
243 void (OGLAPI* glLightf) (GLenum light, GLenum pname, GLfloat param);
244 void (OGLAPI* glLightfv) (GLenum light, GLenum pname, const GLfloat* params);
245 //void (OGLAPI *glLighti) (GLenum light, GLenum pname, GLint param);
246 //void (OGLAPI *glLightiv) (GLenum light, GLenum pname, const GLint *params);
247 //void (OGLAPI *glLineStipple) (GLint factor, GLushort pattern);
248 void (OGLAPI* glLineWidth) (GLfloat width);
249 //void (OGLAPI *glListBase) (GLuint base);
250 void (OGLAPI* glLoadIdentity) (void);
251 //void (OGLAPI *glLoadMatrixd) (const GLdouble *m);
252 void (OGLAPI* glLoadMatrixf) (const GLfloat* m);
253 //void (OGLAPI *glLoadName) (GLuint name);
254 //void (OGLAPI* glLogicOp) (GLenum opcode);
255 //void (OGLAPI *glMap1d) (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points);
256 //void (OGLAPI *glMap1f) (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points);
257 //void (OGLAPI *glMap2d) (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points);
258 //void (OGLAPI *glMap2f) (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points);
259 //void (OGLAPI *glMapGrid1d) (GLint un, GLdouble u1, GLdouble u2);
260 //void (OGLAPI *glMapGrid1f) (GLint un, GLfloat u1, GLfloat u2);
261 //void (OGLAPI *glMapGrid2d) (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2);
262 //void (OGLAPI *glMapGrid2f) (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2);
263 void (OGLAPI* glMaterialf) (GLenum face, GLenum pname, GLfloat param);
264 void (OGLAPI* glMaterialfv) (GLenum face, GLenum pname, const GLfloat* params);
265 //void (OGLAPI *glMateriali) (GLenum face, GLenum pname, GLint param);
266 //void (OGLAPI *glMaterialiv) (GLenum face, GLenum pname, const GLint *params);
267 void (OGLAPI* glMatrixMode) (GLenum mode);
268 //void (OGLAPI *glMultMatrixd) (const GLdouble *m);
269 void (OGLAPI* glMultMatrixf) (const GLfloat* m);
270 //void (OGLAPI *glNewList) (GLuint list, GLenum mode);
271 //void (OGLAPI *glNormal3b) (GLbyte nx, GLbyte ny, GLbyte nz);
272 //void (OGLAPI *glNormal3bv) (const GLbyte *v);
273 //void (OGLAPI *glNormal3d) (GLdouble nx, GLdouble ny, GLdouble nz);
274 //void (OGLAPI *glNormal3dv) (const GLdouble *v);
275 void (OGLAPI* glNormal3f) (GLfloat nx, GLfloat ny, GLfloat nz);
276 //void (OGLAPI *glNormal3fv) (const GLfloat *v);
277 //void (OGLAPI *glNormal3i) (GLint nx, GLint ny, GLint nz);
278 //void (OGLAPI *glNormal3iv) (const GLint *v);
279 //void (OGLAPI *glNormal3s) (GLshort nx, GLshort ny, GLshort nz);
280 //void (OGLAPI *glNormal3sv) (const GLshort *v);
281 void (OGLAPI* glNormalPointer) (GLenum type, GLsizei stride, const GLvoid* pointer);
282 #if defined(GATE_OPENGL_NO_DBL)
283 void (OGLAPI* glOrtho) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
284 #else
285 void (OGLAPI* glOrtho) (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar);
286 #endif
287 //void (OGLAPI *glPassThrough) (GLfloat token);
288 //void (OGLAPI *glPixelMapfv) (GLenum map, GLsizei mapsize, const GLfloat *values);
289 //void (OGLAPI *glPixelMapuiv) (GLenum map, GLsizei mapsize, const GLuint *values);
290 //void (OGLAPI *glPixelMapusv) (GLenum map, GLsizei mapsize, const GLushort *values);
291 //void (OGLAPI *glPixelStoref) (GLenum pname, GLfloat param);
292 void (OGLAPI* glPixelStorei) (GLenum pname, GLint param);
293 //void (OGLAPI *glPixelTransferf) (GLenum pname, GLfloat param);
294 //void (OGLAPI *glPixelTransferi) (GLenum pname, GLint param);
295 //void (OGLAPI *glPixelZoom) (GLfloat xfactor, GLfloat yfactor);
296 void (OGLAPI* glPointSize) (GLfloat size);
297 //void (OGLAPI *glPolygonMode) (GLenum face, GLenum mode);
298 void (OGLAPI* glPolygonOffset) (GLfloat factor, GLfloat units);
299 //void (OGLAPI *glPolygonStipple) (const GLubyte *mask);
300 //void (OGLAPI *glPopAttrib) (void);
301 //void (OGLAPI *glPopClientAttrib)(void);
302 void (OGLAPI* glPopMatrix) (void);
303 //void (OGLAPI *glPopName) (void);
304 //void (OGLAPI *glPrioritizeTextures) (GLsizei n, const GLuint *textures, const GLclampf *priorities);
305 //void (OGLAPI *glPushAttrib) (GLbitfield mask);
306 //void (OGLAPI *glPushClientAttrib)(GLbitfield mask);
307 void (OGLAPI* glPushMatrix) (void);
308 //void (OGLAPI *glPushName) (GLuint name);
309 //void (OGLAPI *glRasterPos2d) (GLdouble x, GLdouble y);
310 //void (OGLAPI *glRasterPos2dv) (const GLdouble *v);
311 //void (OGLAPI *glRasterPos2f) (GLfloat x, GLfloat y);
312 //void (OGLAPI *glRasterPos2fv) (const GLfloat *v);
313 //void (OGLAPI *glRasterPos2i) (GLint x, GLint y);
314 //void (OGLAPI *glRasterPos2iv) (const GLint *v);
315 //void (OGLAPI *glRasterPos2s) (GLshort x, GLshort y);
316 //void (OGLAPI *glRasterPos2sv) (const GLshort *v);
317 //void (OGLAPI *glRasterPos3d) (GLdouble x, GLdouble y, GLdouble z);
318 //void (OGLAPI *glRasterPos3dv) (const GLdouble *v);
319 //void (OGLAPI *glRasterPos3f) (GLfloat x, GLfloat y, GLfloat z);
320 //void (OGLAPI *glRasterPos3fv) (const GLfloat *v);
321 //void (OGLAPI *glRasterPos3i) (GLint x, GLint y, GLint z);
322 //void (OGLAPI *glRasterPos3iv) (const GLint *v);
323 //void (OGLAPI *glRasterPos3s) (GLshort x, GLshort y, GLshort z);
324 //void (OGLAPI *glRasterPos3sv) (const GLshort *v);
325 //void (OGLAPI *glRasterPos4d) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
326 //void (OGLAPI *glRasterPos4dv) (const GLdouble *v);
327 //void (OGLAPI *glRasterPos4f) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
328 //void (OGLAPI *glRasterPos4fv) (const GLfloat *v);
329 //void (OGLAPI *glRasterPos4i) (GLint x, GLint y, GLint z, GLint w);
330 //void (OGLAPI *glRasterPos4iv) (const GLint *v);
331 //void (OGLAPI *glRasterPos4s) (GLshort x, GLshort y, GLshort z, GLshort w);
332 //void (OGLAPI *glRasterPos4sv) (const GLshort *v);
333 //void (OGLAPI *glReadBuffer) (GLenum mode);
334 void (OGLAPI* glReadPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels);
335 //void (OGLAPI *glRectd) (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2);
336 //void (OGLAPI *glRectdv) (const GLdouble *v1, const GLdouble *v2);
337 //void (OGLAPI *glRectf) (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2);
338 //void (OGLAPI *glRectfv) (const GLfloat *v1, const GLfloat *v2);
339 //void (OGLAPI *glRecti) (GLint x1, GLint y1, GLint x2, GLint y2);
340 //void (OGLAPI *glRectiv) (const GLint *v1, const GLint *v2);
341 //void (OGLAPI *glRects) (GLshort x1, GLshort y1, GLshort x2, GLshort y2);
342 //void (OGLAPI *glRectsv) (const GLshort *v1, const GLshort *v2);
343 //GLint(OGLAPI *glRenderMode) (GLenum mode);
344 //void (OGLAPI *glRotated) (GLdouble angle, GLdouble x, GLdouble y, GLdouble z);
345 void (OGLAPI* glRotatef) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
346 //void (OGLAPI *glScaled) (GLdouble x, GLdouble y, GLdouble z);
347 void (OGLAPI* glScalef) (GLfloat x, GLfloat y, GLfloat z);
348 void (OGLAPI* glScissor) (GLint x, GLint y, GLsizei width, GLsizei height);
349 //void (OGLAPI *glSelectBuffer) (GLsizei size, GLuint *buffer);
350 void (OGLAPI* glShadeModel) (GLenum mode);
351 void (OGLAPI* glStencilFunc) (GLenum func, GLint ref, GLuint mask);
352 void (OGLAPI* glStencilMask) (GLuint mask);
353 void (OGLAPI* glStencilOp) (GLenum fail, GLenum zfail, GLenum zpass);
354 //void (OGLAPI *glTexCoord1d) (GLdouble s);
355 //void (OGLAPI *glTexCoord1dv) (const GLdouble *v);
356 //void (OGLAPI *glTexCoord1f) (GLfloat s);
357 //void (OGLAPI *glTexCoord1fv) (const GLfloat *v);
358 //void (OGLAPI *glTexCoord1i) (GLint s);
359 //void (OGLAPI *glTexCoord1iv) (const GLint *v);
360 //void (OGLAPI *glTexCoord1s) (GLshort s);
361 //void (OGLAPI *glTexCoord1sv) (const GLshort *v);
362 //void (OGLAPI *glTexCoord2d) (GLdouble s, GLdouble t);
363 //void (OGLAPI *glTexCoord2dv) (const GLdouble *v);
364 //void (OGLAPI *glTexCoord2f) (GLfloat s, GLfloat t);
365 //void (OGLAPI *glTexCoord2fv) (const GLfloat *v);
366 //void (OGLAPI *glTexCoord2i) (GLint s, GLint t);
367 //void (OGLAPI *glTexCoord2iv) (const GLint *v);
368 //void (OGLAPI *glTexCoord2s) (GLshort s, GLshort t);
369 //void (OGLAPI *glTexCoord2sv) (const GLshort *v);
370 //void (OGLAPI *glTexCoord3d) (GLdouble s, GLdouble t, GLdouble r);
371 //void (OGLAPI *glTexCoord3dv) (const GLdouble *v);
372 //void (OGLAPI *glTexCoord3f) (GLfloat s, GLfloat t, GLfloat r);
373 //void (OGLAPI *glTexCoord3fv) (const GLfloat *v);
374 //void (OGLAPI *glTexCoord3i) (GLint s, GLint t, GLint r);
375 //void (OGLAPI *glTexCoord3iv) (const GLint *v);
376 //void (OGLAPI *glTexCoord3s) (GLshort s, GLshort t, GLshort r);
377 //void (OGLAPI *glTexCoord3sv) (const GLshort *v);
378 //void (OGLAPI *glTexCoord4d) (GLdouble s, GLdouble t, GLdouble r, GLdouble q);
379 //void (OGLAPI *glTexCoord4dv) (const GLdouble *v);
380 //void (OGLAPI *glTexCoord4f) (GLfloat s, GLfloat t, GLfloat r, GLfloat q);
381 //void (OGLAPI *glTexCoord4fv) (const GLfloat *v);
382 //void (OGLAPI *glTexCoord4i) (GLint s, GLint t, GLint r, GLint q);
383 //void (OGLAPI *glTexCoord4iv) (const GLint *v);
384 //void (OGLAPI *glTexCoord4s) (GLshort s, GLshort t, GLshort r, GLshort q);
385 //void (OGLAPI *glTexCoord4sv) (const GLshort *v);
386 void (OGLAPI* glTexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
387 void (OGLAPI* glTexEnvf) (GLenum target, GLenum pname, GLfloat param);
388 void (OGLAPI* glTexEnvfv) (GLenum target, GLenum pname, const GLfloat* params);
389 void (OGLAPI* glTexEnvi) (GLenum target, GLenum pname, GLint param);
390 void (OGLAPI* glTexEnviv) (GLenum target, GLenum pname, const GLint* params);
391 //void (OGLAPI *glTexGend) (GLenum coord, GLenum pname, GLdouble param);
392 //void (OGLAPI *glTexGendv) (GLenum coord, GLenum pname, const GLdouble *params);
393 //void (OGLAPI *glTexGenf) (GLenum coord, GLenum pname, GLfloat param);
394 //void (OGLAPI *glTexGenfv) (GLenum coord, GLenum pname, const GLfloat *params);
395 //void (OGLAPI *glTexGeni) (GLenum coord, GLenum pname, GLint param);
396 //void (OGLAPI *glTexGeniv) (GLenum coord, GLenum pname, const GLint *params);
397 //void (OGLAPI *glTexImage1D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
398 void (OGLAPI* glTexImage2D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels);
399 void (OGLAPI* glTexParameterf) (GLenum target, GLenum pname, GLfloat param);
400 void (OGLAPI* glTexParameterfv) (GLenum target, GLenum pname, const GLfloat* params);
401 void (OGLAPI* glTexParameteri) (GLenum target, GLenum pname, GLint param);
402 void (OGLAPI* glTexParameteriv) (GLenum target, GLenum pname, const GLint* params);
403 //void (OGLAPI *glTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels);
404 void (OGLAPI* glTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels);
405 //void (OGLAPI *glTranslated) (GLdouble x, GLdouble y, GLdouble z);
406 void (OGLAPI* glTranslatef) (GLfloat x, GLfloat y, GLfloat z);
407 //void (OGLAPI *glVertex2d) (GLdouble x, GLdouble y);
408 //void (OGLAPI *glVertex2dv) (const GLdouble *v);
409 //void (OGLAPI *glVertex2f) (GLfloat x, GLfloat y);
410 //void (OGLAPI *glVertex2fv) (const GLfloat *v);
411 //void (OGLAPI *glVertex2i) (GLint x, GLint y);
412 //void (OGLAPI *glVertex2iv) (const GLint *v);
413 //void (OGLAPI *glVertex2s) (GLshort x, GLshort y);
414 //void (OGLAPI *glVertex2sv) (const GLshort *v);
415 //void (OGLAPI *glVertex3d) (GLdouble x, GLdouble y, GLdouble z);
416 //void (OGLAPI *glVertex3dv) (const GLdouble *v);
417 //void (OGLAPI *glVertex3f) (GLfloat x, GLfloat y, GLfloat z);
418 //void (OGLAPI *glVertex3fv) (const GLfloat *v);
419 //void (OGLAPI *glVertex3i) (GLint x, GLint y, GLint z);
420 //void (OGLAPI *glVertex3iv) (const GLint *v);
421 //void (OGLAPI *glVertex3s) (GLshort x, GLshort y, GLshort z);
422 //void (OGLAPI *glVertex3sv) (const GLshort *v);
423 //void (OGLAPI *glVertex4d) (GLdouble x, GLdouble y, GLdouble z, GLdouble w);
424 //void (OGLAPI *glVertex4dv) (const GLdouble *v);
425 //void (OGLAPI *glVertex4f) (GLfloat x, GLfloat y, GLfloat z, GLfloat w);
426 //void (OGLAPI *glVertex4fv) (const GLfloat *v);
427 //void (OGLAPI *glVertex4i) (GLint x, GLint y, GLint z, GLint w);
428 //void (OGLAPI *glVertex4iv) (const GLint *v);
429 //void (OGLAPI *glVertex4s) (GLshort x, GLshort y, GLshort z, GLshort w);
430 //void (OGLAPI *glVertex4sv) (const GLshort *v);
431 void (OGLAPI* glVertexPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid* pointer);
432 void (OGLAPI* glViewport) (GLint x, GLint y, GLsizei width, GLsizei height);
433
434 } gate_gl_api_functions_t;
435
436
437 static gate_gl_api_functions_t gate_gl_api = GATE_INIT_EMPTY;
438
439 #if defined(GATE_OPENGL_APIS_DIRECT_BINDING)
440 # define LOAD_NATIVE_GL_FUNCTION(func_name, func_ptr_address) *func_ptr_address = & func_name
441 #else
442 # define LOAD_NATIVE_GL_FUNCTION(func_name, func_ptr_address) gate_library_get_function_name(opengl_lib_handle, #func_name, func_ptr_address)
443 #endif
444
445 ✗ static void load_native_gl_functions(gate_library_t opengl_lib_handle, gate_gl_api_functions_t* ptr_code)
446 {
447 ✗ gate_gl_api_functions_t code = GATE_INIT_EMPTY;
448
449 //LOAD_NATIVE_GL_FUNCTION(glAccum, &code.glAccum);
450 ✗ LOAD_NATIVE_GL_FUNCTION(glAlphaFunc, &code.glAlphaFunc);
451 //LOAD_NATIVE_GL_FUNCTION(glAreTexturesResident, &code.glAreTexturesResident);
452 //LOAD_NATIVE_GL_FUNCTION(glArrayElement, &code.glArrayElement);
453 //LOAD_NATIVE_GL_FUNCTION(glBegin, &code.glBegin);
454 ✗ LOAD_NATIVE_GL_FUNCTION(glBindTexture, &code.glBindTexture);
455 //LOAD_NATIVE_GL_FUNCTION(glBitmap, &code.glBitmap);
456 ✗ LOAD_NATIVE_GL_FUNCTION(glBlendFunc, &code.glBlendFunc);
457 //LOAD_NATIVE_GL_FUNCTION(glCallList, &code.glCallList);
458 //LOAD_NATIVE_GL_FUNCTION(glCallLists, &code.glCallLists);
459 ✗ LOAD_NATIVE_GL_FUNCTION(glClear, &code.glClear);
460 //LOAD_NATIVE_GL_FUNCTION(glClearAccum, &code.glClearAccum);
461 ✗ LOAD_NATIVE_GL_FUNCTION(glClearColor, &code.glClearColor);
462 #if defined(GATE_OPENGL_NO_DBL)
463 LOAD_NATIVE_GL_FUNCTION(glClearDepthf, &code.glClearDepth);
464 #else
465 ✗ LOAD_NATIVE_GL_FUNCTION(glClearDepth, &code.glClearDepth);
466 #endif
467 //LOAD_NATIVE_GL_FUNCTION(glClearIndex, &code.glClearIndex);
468 ✗ LOAD_NATIVE_GL_FUNCTION(glClearStencil, &code.glClearStencil);
469 #if defined(GATE_OPENGL_NO_DBL)
470 LOAD_NATIVE_GL_FUNCTION(glClipPlanef, &code.glClipPlane);
471 #else
472 ✗ LOAD_NATIVE_GL_FUNCTION(glClipPlane, &code.glClipPlane);
473 #endif
474 //LOAD_NATIVE_GL_FUNCTION(glColor3b, &code.glColor3b);
475 //LOAD_NATIVE_GL_FUNCTION(glColor3bv, &code.glColor3bv);
476 //LOAD_NATIVE_GL_FUNCTION(glColor3d, &code.glColor3d);
477 //LOAD_NATIVE_GL_FUNCTION(glColor3dv, &code.glColor3dv);
478 //LOAD_NATIVE_GL_FUNCTION(glColor3f, &code.glColor3f);
479 //LOAD_NATIVE_GL_FUNCTION(glColor3fv, &code.glColor3fv);
480 //LOAD_NATIVE_GL_FUNCTION(glColor3i, &code.glColor3i);
481 //LOAD_NATIVE_GL_FUNCTION(glColor3iv, &code.glColor3iv);
482 //LOAD_NATIVE_GL_FUNCTION(glColor3s, &code.glColor3s);
483 //LOAD_NATIVE_GL_FUNCTION(glColor3sv, &code.glColor3sv);
484 //LOAD_NATIVE_GL_FUNCTION(glColor3ub, &code.glColor3ub);
485 //LOAD_NATIVE_GL_FUNCTION(glColor3ubv, &code.glColor3ubv);
486 //LOAD_NATIVE_GL_FUNCTION(glColor3ui, &code.glColor3ui);
487 //LOAD_NATIVE_GL_FUNCTION(glColor3uiv, &code.glColor3uiv);
488 //LOAD_NATIVE_GL_FUNCTION(glColor3us, &code.glColor3us);
489 //LOAD_NATIVE_GL_FUNCTION(glColor3usv, &code.glColor3usv);
490 //LOAD_NATIVE_GL_FUNCTION(glColor4b, &code.glColor4b);
491 //LOAD_NATIVE_GL_FUNCTION(glColor4bv, &code.glColor4bv);
492 //LOAD_NATIVE_GL_FUNCTION(glColor4d, &code.glColor4d);
493 //LOAD_NATIVE_GL_FUNCTION(glColor4dv, &code.glColor4dv);
494 ✗ LOAD_NATIVE_GL_FUNCTION(glColor4f, &code.glColor4f);
495 //LOAD_NATIVE_GL_FUNCTION(glColor4fv, &code.glColor4fv);
496 //LOAD_NATIVE_GL_FUNCTION(glColor4i, &code.glColor4i);
497 //LOAD_NATIVE_GL_FUNCTION(glColor4iv, &code.glColor4iv);
498 //LOAD_NATIVE_GL_FUNCTION(glColor4s, &code.glColor4s);
499 //LOAD_NATIVE_GL_FUNCTION(glColor4sv, &code.glColor4sv);
500 ✗ LOAD_NATIVE_GL_FUNCTION(glColor4ub, &code.glColor4ub);
501 //LOAD_NATIVE_GL_FUNCTION(glColor4ubv, &code.glColor4ubv);
502 //LOAD_NATIVE_GL_FUNCTION(glColor4ui, &code.glColor4ui);
503 //LOAD_NATIVE_GL_FUNCTION(glColor4uiv, &code.glColor4uiv);
504 //LOAD_NATIVE_GL_FUNCTION(glColor4us, &code.glColor4us);
505 //LOAD_NATIVE_GL_FUNCTION(glColor4usv, &code.glColor4usv);
506 ✗ LOAD_NATIVE_GL_FUNCTION(glColorMask, &code.glColorMask);
507 //LOAD_NATIVE_GL_FUNCTION(glColorMaterial, &code.glColorMaterial);
508 ✗ LOAD_NATIVE_GL_FUNCTION(glColorPointer, &code.glColorPointer);
509 //LOAD_NATIVE_GL_FUNCTION(glCopyPixels, &code.glCopyPixels);
510 //LOAD_NATIVE_GL_FUNCTION(glCopyTexImage1D, &code.glCopyTexImage1D);
511 ✗ LOAD_NATIVE_GL_FUNCTION(glCopyTexImage2D, &code.glCopyTexImage2D);
512 //LOAD_NATIVE_GL_FUNCTION(glCopyTexSubImage1D, &code.glCopyTexSubImage1D);
513 ✗ LOAD_NATIVE_GL_FUNCTION(glCopyTexSubImage2D, &code.glCopyTexSubImage2D);
514 ✗ LOAD_NATIVE_GL_FUNCTION(glCullFace, &code.glCullFace);
515 //LOAD_NATIVE_GL_FUNCTION(glDeleteLists, &code.glDeleteLists);
516 ✗ LOAD_NATIVE_GL_FUNCTION(glDeleteTextures, &code.glDeleteTextures);
517 ✗ LOAD_NATIVE_GL_FUNCTION(glDepthFunc, &code.glDepthFunc);
518 ✗ LOAD_NATIVE_GL_FUNCTION(glDepthMask, &code.glDepthMask);
519 #if defined(GATE_OPENGL_NO_DBL)
520 LOAD_NATIVE_GL_FUNCTION(glDepthRangef, &code.glDepthRange);
521 #else
522 ✗ LOAD_NATIVE_GL_FUNCTION(glDepthRange, &code.glDepthRange);
523 #endif
524 ✗ LOAD_NATIVE_GL_FUNCTION(glDisable, &code.glDisable);
525 ✗ LOAD_NATIVE_GL_FUNCTION(glDisableClientState, &code.glDisableClientState);
526 ✗ LOAD_NATIVE_GL_FUNCTION(glDrawArrays, &code.glDrawArrays);
527 //LOAD_NATIVE_GL_FUNCTION(glDrawBuffer, &code.glDrawBuffer);
528 ✗ LOAD_NATIVE_GL_FUNCTION(glDrawElements, &code.glDrawElements);
529 //LOAD_NATIVE_GL_FUNCTION(glDrawPixels, &code.glDrawPixels);
530 //LOAD_NATIVE_GL_FUNCTION(glEdgeFlag, &code.glEdgeFlag);
531 //LOAD_NATIVE_GL_FUNCTION(glEdgeFlagPointer, &code.glEdgeFlagPointer);
532 //LOAD_NATIVE_GL_FUNCTION(glEdgeFlagv, &code.glEdgeFlagv);
533 ✗ LOAD_NATIVE_GL_FUNCTION(glEnable, &code.glEnable);
534 ✗ LOAD_NATIVE_GL_FUNCTION(glEnableClientState, &code.glEnableClientState);
535 //LOAD_NATIVE_GL_FUNCTION(glEnd, &code.glEnd);
536 //LOAD_NATIVE_GL_FUNCTION(glEndList, &code.glEndList);
537 //LOAD_NATIVE_GL_FUNCTION(glEvalCoord1d, &code.glEvalCoord1d);
538 //LOAD_NATIVE_GL_FUNCTION(glEvalCoord1dv, &code.glEvalCoord1dv);
539 //LOAD_NATIVE_GL_FUNCTION(glEvalCoord1f, &code.glEvalCoord1f);
540 //LOAD_NATIVE_GL_FUNCTION(glEvalCoord1fv, &code.glEvalCoord1fv);
541 //LOAD_NATIVE_GL_FUNCTION(glEvalCoord2d, &code.glEvalCoord2d);
542 //LOAD_NATIVE_GL_FUNCTION(glEvalCoord2dv, &code.glEvalCoord2dv);
543 //LOAD_NATIVE_GL_FUNCTION(glEvalCoord2f, &code.glEvalCoord2f);
544 //LOAD_NATIVE_GL_FUNCTION(glEvalCoord2fv, &code.glEvalCoord2fv);
545 //LOAD_NATIVE_GL_FUNCTION(glEvalMesh1, &code.glEvalMesh1);
546 //LOAD_NATIVE_GL_FUNCTION(glEvalMesh2, &code.glEvalMesh2);
547 //LOAD_NATIVE_GL_FUNCTION(glEvalPoint1, &code.glEvalPoint1);
548 //LOAD_NATIVE_GL_FUNCTION(glEvalPoint2, &code.glEvalPoint2);
549 //LOAD_NATIVE_GL_FUNCTION(glFeedbackBuffer, &code.glFeedbackBuffer);
550 ✗ LOAD_NATIVE_GL_FUNCTION(glFinish, &code.glFinish);
551 ✗ LOAD_NATIVE_GL_FUNCTION(glFlush, &code.glFlush);
552 ✗ LOAD_NATIVE_GL_FUNCTION(glFogf, &code.glFogf);
553 ✗ LOAD_NATIVE_GL_FUNCTION(glFogfv, &code.glFogfv);
554 //LOAD_NATIVE_GL_FUNCTION(glFogi, &code.glFogi);
555 //LOAD_NATIVE_GL_FUNCTION(glFogiv, &code.glFogiv);
556 ✗ LOAD_NATIVE_GL_FUNCTION(glFrontFace, &code.glFrontFace);
557 #if defined(GATE_OPENGL_NO_DBL)
558 LOAD_NATIVE_GL_FUNCTION(glFrustumf, &code.glFrustum);
559 #else
560 ✗ LOAD_NATIVE_GL_FUNCTION(glFrustum, &code.glFrustum);
561 #endif
562 //LOAD_NATIVE_GL_FUNCTION(glGenLists, &code.glGenLists);
563 ✗ LOAD_NATIVE_GL_FUNCTION(glGenTextures, &code.glGenTextures);
564 ✗ LOAD_NATIVE_GL_FUNCTION(glGetBooleanv, &code.glGetBooleanv);
565 #if defined(GATE_OPENGL_NO_DBL)
566 //LOAD_NATIVE_GL_FUNCTION(glGetClipPlanef, &code.glGetClipPlane);
567 #else
568 //LOAD_NATIVE_GL_FUNCTION(glGetClipPlane, &code.glGetClipPlane);
569 #endif
570 //LOAD_NATIVE_GL_FUNCTION(glGetDoublev, &code.glGetDoublev);
571 ✗ LOAD_NATIVE_GL_FUNCTION(glGetError, &code.glGetError);
572 ✗ LOAD_NATIVE_GL_FUNCTION(glGetFloatv, &code.glGetFloatv);
573 ✗ LOAD_NATIVE_GL_FUNCTION(glGetIntegerv, &code.glGetIntegerv);
574 ✗ LOAD_NATIVE_GL_FUNCTION(glGetLightfv, &code.glGetLightfv);
575 //LOAD_NATIVE_GL_FUNCTION(glGetLightiv, &code.glGetLightiv);
576 //LOAD_NATIVE_GL_FUNCTION(glGetMapdv, &code.glGetMapdv);
577 //LOAD_NATIVE_GL_FUNCTION(glGetMapfv, &code.glGetMapfv);
578 //LOAD_NATIVE_GL_FUNCTION(glGetMapiv, &code.glGetMapiv);
579 ✗ LOAD_NATIVE_GL_FUNCTION(glGetMaterialfv, &code.glGetMaterialfv);
580 //LOAD_NATIVE_GL_FUNCTION(glGetMaterialiv, &code.glGetMaterialiv);
581 //LOAD_NATIVE_GL_FUNCTION(glGetPixelMapfv, &code.glGetPixelMapfv);
582 //LOAD_NATIVE_GL_FUNCTION(glGetPixelMapuiv, &code.glGetPixelMapuiv);
583 //LOAD_NATIVE_GL_FUNCTION(glGetPixelMapusv, &code.glGetPixelMapusv);
584 ✗ LOAD_NATIVE_GL_FUNCTION(glGetPointerv, &code.glGetPointerv);
585 //LOAD_NATIVE_GL_FUNCTION(glGetPolygonStipple, &code.glGetPolygonStipple);
586 ✗ LOAD_NATIVE_GL_FUNCTION(glGetString, &code.glGetString);
587 ✗ LOAD_NATIVE_GL_FUNCTION(glGetTexEnvfv, &code.glGetTexEnvfv);
588 ✗ LOAD_NATIVE_GL_FUNCTION(glGetTexEnviv, &code.glGetTexEnviv);
589 //LOAD_NATIVE_GL_FUNCTION(glGetTexGendv, &code.glGetTexGendv);
590 //LOAD_NATIVE_GL_FUNCTION(glGetTexGenfv, &code.glGetTexGenfv);
591 //LOAD_NATIVE_GL_FUNCTION(glGetTexGeniv, &code.glGetTexGeniv);
592 //LOAD_NATIVE_GL_FUNCTION(glGetTexImage, &code.glGetTexImage);
593 //LOAD_NATIVE_GL_FUNCTION(glGetTexLevelParameterfv, &code.glGetTexLevelParameterfv);
594 //LOAD_NATIVE_GL_FUNCTION(glGetTexLevelParameteriv, &code.glGetTexLevelParameteriv);
595 ✗ LOAD_NATIVE_GL_FUNCTION(glGetTexParameterfv, &code.glGetTexParameterfv);
596 ✗ LOAD_NATIVE_GL_FUNCTION(glGetTexParameteriv, &code.glGetTexParameteriv);
597 ✗ LOAD_NATIVE_GL_FUNCTION(glHint, &code.glHint);
598 //LOAD_NATIVE_GL_FUNCTION(glIndexMask, &code.glIndexMask);
599 //LOAD_NATIVE_GL_FUNCTION(glIndexPointer, &code.glIndexPointer);
600 //LOAD_NATIVE_GL_FUNCTION(glIndexd, &code.glIndexd);
601 //LOAD_NATIVE_GL_FUNCTION(glIndexdv, &code.glIndexdv);
602 //LOAD_NATIVE_GL_FUNCTION(glIndexf, &code.glIndexf);
603 //LOAD_NATIVE_GL_FUNCTION(glIndexfv, &code.glIndexfv);
604 //LOAD_NATIVE_GL_FUNCTION(glIndexi, &code.glIndexi);
605 //LOAD_NATIVE_GL_FUNCTION(glIndexiv, &code.glIndexiv);
606 //LOAD_NATIVE_GL_FUNCTION(glIndexs, &code.glIndexs);
607 //LOAD_NATIVE_GL_FUNCTION(glIndexsv, &code.glIndexsv);
608 //LOAD_NATIVE_GL_FUNCTION(glIndexub, &code.glIndexub);
609 //LOAD_NATIVE_GL_FUNCTION(glIndexubv, &code.glIndexubv);
610 //LOAD_NATIVE_GL_FUNCTION(glInitNames, &code.glInitNames);
611 //LOAD_NATIVE_GL_FUNCTION(glInterleavedArrays, &code.glInterleavedArrays);
612 ✗ LOAD_NATIVE_GL_FUNCTION(glIsEnabled, &code.glIsEnabled);
613 //LOAD_NATIVE_GL_FUNCTION(glIsList, &code.glIsList);
614 ✗ LOAD_NATIVE_GL_FUNCTION(glIsTexture, &code.glIsTexture);
615 ✗ LOAD_NATIVE_GL_FUNCTION(glLightModelf, &code.glLightModelf);
616 ✗ LOAD_NATIVE_GL_FUNCTION(glLightModelfv, &code.glLightModelfv);
617 //LOAD_NATIVE_GL_FUNCTION(glLightModeli, &code.glLightModeli);
618 //LOAD_NATIVE_GL_FUNCTION(glLightModeliv, &code.glLightModeliv);
619 ✗ LOAD_NATIVE_GL_FUNCTION(glLightf, &code.glLightf);
620 ✗ LOAD_NATIVE_GL_FUNCTION(glLightfv, &code.glLightfv);
621 //LOAD_NATIVE_GL_FUNCTION(glLighti, &code.glLighti);
622 //LOAD_NATIVE_GL_FUNCTION(glLightiv, &code.glLightiv);
623 //LOAD_NATIVE_GL_FUNCTION(glLineStipple, &code.glLineStipple);
624 ✗ LOAD_NATIVE_GL_FUNCTION(glLineWidth, &code.glLineWidth);
625 //LOAD_NATIVE_GL_FUNCTION(glListBase, &code.glListBase);
626 ✗ LOAD_NATIVE_GL_FUNCTION(glLoadIdentity, &code.glLoadIdentity);
627 //LOAD_NATIVE_GL_FUNCTION(glLoadMatrixd, &code.glLoadMatrixd);
628 ✗ LOAD_NATIVE_GL_FUNCTION(glLoadMatrixf, &code.glLoadMatrixf);
629 //LOAD_NATIVE_GL_FUNCTION(glLoadName, &code.glLoadName);
630 //LOAD_NATIVE_GL_FUNCTION(glLogicOp, &code.glLogicOp);
631 //LOAD_NATIVE_GL_FUNCTION(glMap1d, &code.glMap1d);
632 //LOAD_NATIVE_GL_FUNCTION(glMap1f, &code.glMap1f);
633 //LOAD_NATIVE_GL_FUNCTION(glMap2d, &code.glMap2d);
634 //LOAD_NATIVE_GL_FUNCTION(glMap2f, &code.glMap2f);
635 //LOAD_NATIVE_GL_FUNCTION(glMapGrid1d, &code.glMapGrid1d);
636 //LOAD_NATIVE_GL_FUNCTION(glMapGrid1f, &code.glMapGrid1f);
637 //LOAD_NATIVE_GL_FUNCTION(glMapGrid2d, &code.glMapGrid2d);
638 //LOAD_NATIVE_GL_FUNCTION(glMapGrid2f, &code.glMapGrid2f);
639 ✗ LOAD_NATIVE_GL_FUNCTION(glMaterialf, &code.glMaterialf);
640 ✗ LOAD_NATIVE_GL_FUNCTION(glMaterialfv, &code.glMaterialfv);
641 //LOAD_NATIVE_GL_FUNCTION(glMateriali, &code.glMateriali);
642 //LOAD_NATIVE_GL_FUNCTION(glMaterialiv, &code.glMaterialiv);
643 ✗ LOAD_NATIVE_GL_FUNCTION(glMatrixMode, &code.glMatrixMode);
644 //LOAD_NATIVE_GL_FUNCTION(glMultMatrixd, &code.glMultMatrixd);
645 ✗ LOAD_NATIVE_GL_FUNCTION(glMultMatrixf, &code.glMultMatrixf);
646 //LOAD_NATIVE_GL_FUNCTION(glNewList, &code.glNewList);
647 //LOAD_NATIVE_GL_FUNCTION(glNormal3b, &code.glNormal3b);
648 //LOAD_NATIVE_GL_FUNCTION(glNormal3bv, &code.glNormal3bv);
649 //LOAD_NATIVE_GL_FUNCTION(glNormal3d, &code.glNormal3d);
650 //LOAD_NATIVE_GL_FUNCTION(glNormal3dv, &code.glNormal3dv);
651 ✗ LOAD_NATIVE_GL_FUNCTION(glNormal3f, &code.glNormal3f);
652 //LOAD_NATIVE_GL_FUNCTION(glNormal3fv, &code.glNormal3fv);
653 //LOAD_NATIVE_GL_FUNCTION(glNormal3i, &code.glNormal3i);
654 //LOAD_NATIVE_GL_FUNCTION(glNormal3iv, &code.glNormal3iv);
655 //LOAD_NATIVE_GL_FUNCTION(glNormal3s, &code.glNormal3s);
656 //LOAD_NATIVE_GL_FUNCTION(glNormal3sv, &code.glNormal3sv);
657 ✗ LOAD_NATIVE_GL_FUNCTION(glNormalPointer, &code.glNormalPointer);
658 #if defined(GATE_OPENGL_NO_DBL)
659 LOAD_NATIVE_GL_FUNCTION(glOrthof, &code.glOrtho);
660 #else
661 ✗ LOAD_NATIVE_GL_FUNCTION(glOrtho, &code.glOrtho);
662 #endif
663 //LOAD_NATIVE_GL_FUNCTION(glPassThrough, &code.glPassThrough);
664 //LOAD_NATIVE_GL_FUNCTION(glPixelMapfv, &code.glPixelMapfv);
665 //LOAD_NATIVE_GL_FUNCTION(glPixelMapuiv, &code.glPixelMapuiv);
666 //LOAD_NATIVE_GL_FUNCTION(glPixelMapusv, &code.glPixelMapusv);
667 //LOAD_NATIVE_GL_FUNCTION(glPixelStoref, &code.glPixelStoref);
668 ✗ LOAD_NATIVE_GL_FUNCTION(glPixelStorei, &code.glPixelStorei);
669 //LOAD_NATIVE_GL_FUNCTION(glPixelTransferf, &code.glPixelTransferf);
670 //LOAD_NATIVE_GL_FUNCTION(glPixelTransferi, &code.glPixelTransferi);
671 //LOAD_NATIVE_GL_FUNCTION(glPixelZoom, &code.glPixelZoom);
672 ✗ LOAD_NATIVE_GL_FUNCTION(glPointSize, &code.glPointSize);
673 //LOAD_NATIVE_GL_FUNCTION(glPolygonMode, &code.glPolygonMode);
674 ✗ LOAD_NATIVE_GL_FUNCTION(glPolygonOffset, &code.glPolygonOffset);
675 //LOAD_NATIVE_GL_FUNCTION(glPolygonStipple, &code.glPolygonStipple);
676 //LOAD_NATIVE_GL_FUNCTION(glPopAttrib, &code.glPopAttrib);
677 //LOAD_NATIVE_GL_FUNCTION(glPopClientAttrib, &code.glPopClientAttrib);
678 ✗ LOAD_NATIVE_GL_FUNCTION(glPopMatrix, &code.glPopMatrix);
679 //LOAD_NATIVE_GL_FUNCTION(glPopName, &code.glPopName);
680 //LOAD_NATIVE_GL_FUNCTION(glPrioritizeTextures, &code.glPrioritizeTextures);
681 //LOAD_NATIVE_GL_FUNCTION(glPushAttrib, &code.glPushAttrib);
682 //LOAD_NATIVE_GL_FUNCTION(glPushClientAttrib, &code.glPushClientAttrib);
683 ✗ LOAD_NATIVE_GL_FUNCTION(glPushMatrix, &code.glPushMatrix);
684 //LOAD_NATIVE_GL_FUNCTION(glPushName, &code.glPushName);
685 //LOAD_NATIVE_GL_FUNCTION(glRasterPos2d, &code.glRasterPos2d);
686 //LOAD_NATIVE_GL_FUNCTION(glRasterPos2dv, &code.glRasterPos2dv);
687 //LOAD_NATIVE_GL_FUNCTION(glRasterPos2f, &code.glRasterPos2f);
688 //LOAD_NATIVE_GL_FUNCTION(glRasterPos2fv, &code.glRasterPos2fv);
689 //LOAD_NATIVE_GL_FUNCTION(glRasterPos2i, &code.glRasterPos2i);
690 //LOAD_NATIVE_GL_FUNCTION(glRasterPos2iv, &code.glRasterPos2iv);
691 //LOAD_NATIVE_GL_FUNCTION(glRasterPos2s, &code.glRasterPos2s);
692 //LOAD_NATIVE_GL_FUNCTION(glRasterPos2sv, &code.glRasterPos2sv);
693 //LOAD_NATIVE_GL_FUNCTION(glRasterPos3d, &code.glRasterPos3d);
694 //LOAD_NATIVE_GL_FUNCTION(glRasterPos3dv, &code.glRasterPos3dv);
695 //LOAD_NATIVE_GL_FUNCTION(glRasterPos3f, &code.glRasterPos3f);
696 //LOAD_NATIVE_GL_FUNCTION(glRasterPos3fv, &code.glRasterPos3fv);
697 //LOAD_NATIVE_GL_FUNCTION(glRasterPos3i, &code.glRasterPos3i);
698 //LOAD_NATIVE_GL_FUNCTION(glRasterPos3iv, &code.glRasterPos3iv);
699 //LOAD_NATIVE_GL_FUNCTION(glRasterPos3s, &code.glRasterPos3s);
700 //LOAD_NATIVE_GL_FUNCTION(glRasterPos3sv, &code.glRasterPos3sv);
701 //LOAD_NATIVE_GL_FUNCTION(glRasterPos4d, &code.glRasterPos4d);
702 //LOAD_NATIVE_GL_FUNCTION(glRasterPos4dv, &code.glRasterPos4dv);
703 //LOAD_NATIVE_GL_FUNCTION(glRasterPos4f, &code.glRasterPos4f);
704 //LOAD_NATIVE_GL_FUNCTION(glRasterPos4fv, &code.glRasterPos4fv);
705 //LOAD_NATIVE_GL_FUNCTION(glRasterPos4i, &code.glRasterPos4i);
706 //LOAD_NATIVE_GL_FUNCTION(glRasterPos4iv, &code.glRasterPos4iv);
707 //LOAD_NATIVE_GL_FUNCTION(glRasterPos4s, &code.glRasterPos4s);
708 //LOAD_NATIVE_GL_FUNCTION(glRasterPos4sv, &code.glRasterPos4sv);
709 //LOAD_NATIVE_GL_FUNCTION(glReadBuffer, &code.glReadBuffer);
710 ✗ LOAD_NATIVE_GL_FUNCTION(glReadPixels, &code.glReadPixels);
711 //LOAD_NATIVE_GL_FUNCTION(glRectd, &code.glRectd);
712 //LOAD_NATIVE_GL_FUNCTION(glRectdv, &code.glRectdv);
713 //LOAD_NATIVE_GL_FUNCTION(glRectf, &code.glRectf);
714 //LOAD_NATIVE_GL_FUNCTION(glRectfv, &code.glRectfv);
715 //LOAD_NATIVE_GL_FUNCTION(glRecti, &code.glRecti);
716 //LOAD_NATIVE_GL_FUNCTION(glRectiv, &code.glRectiv);
717 //LOAD_NATIVE_GL_FUNCTION(glRects, &code.glRects);
718 //LOAD_NATIVE_GL_FUNCTION(glRectsv, &code.glRectsv);
719 //LOAD_NATIVE_GL_FUNCTION(glRenderMode, &code.glRenderMode);
720 //LOAD_NATIVE_GL_FUNCTION(glRotated, &code.glRotated);
721 ✗ LOAD_NATIVE_GL_FUNCTION(glRotatef, &code.glRotatef);
722 //LOAD_NATIVE_GL_FUNCTION(glScaled, &code.glScaled);
723 ✗ LOAD_NATIVE_GL_FUNCTION(glScalef, &code.glScalef);
724 ✗ LOAD_NATIVE_GL_FUNCTION(glScissor, &code.glScissor);
725 //LOAD_NATIVE_GL_FUNCTION(glSelectBuffer, &code.glSelectBuffer);
726 ✗ LOAD_NATIVE_GL_FUNCTION(glShadeModel, &code.glShadeModel);
727 ✗ LOAD_NATIVE_GL_FUNCTION(glStencilFunc, &code.glStencilFunc);
728 ✗ LOAD_NATIVE_GL_FUNCTION(glStencilMask, &code.glStencilMask);
729 ✗ LOAD_NATIVE_GL_FUNCTION(glStencilOp, &code.glStencilOp);
730 //LOAD_NATIVE_GL_FUNCTION(glTexCoord1d, &code.glTexCoord1d);
731 //LOAD_NATIVE_GL_FUNCTION(glTexCoord1dv, &code.glTexCoord1dv);
732 //LOAD_NATIVE_GL_FUNCTION(glTexCoord1f, &code.glTexCoord1f);
733 //LOAD_NATIVE_GL_FUNCTION(glTexCoord1fv, &code.glTexCoord1fv);
734 //LOAD_NATIVE_GL_FUNCTION(glTexCoord1i, &code.glTexCoord1i);
735 //LOAD_NATIVE_GL_FUNCTION(glTexCoord1iv, &code.glTexCoord1iv);
736 //LOAD_NATIVE_GL_FUNCTION(glTexCoord1s, &code.glTexCoord1s);
737 //LOAD_NATIVE_GL_FUNCTION(glTexCoord1sv, &code.glTexCoord1sv);
738 //LOAD_NATIVE_GL_FUNCTION(glTexCoord2d, &code.glTexCoord2d);
739 //LOAD_NATIVE_GL_FUNCTION(glTexCoord2dv, &code.glTexCoord2dv);
740 //LOAD_NATIVE_GL_FUNCTION(glTexCoord2f, &code.glTexCoord2f);
741 //LOAD_NATIVE_GL_FUNCTION(glTexCoord2fv, &code.glTexCoord2fv);
742 //LOAD_NATIVE_GL_FUNCTION(glTexCoord2i, &code.glTexCoord2i);
743 //LOAD_NATIVE_GL_FUNCTION(glTexCoord2iv, &code.glTexCoord2iv);
744 //LOAD_NATIVE_GL_FUNCTION(glTexCoord2s, &code.glTexCoord2s);
745 //LOAD_NATIVE_GL_FUNCTION(glTexCoord2sv, &code.glTexCoord2sv);
746 //LOAD_NATIVE_GL_FUNCTION(glTexCoord3d, &code.glTexCoord3d);
747 //LOAD_NATIVE_GL_FUNCTION(glTexCoord3dv, &code.glTexCoord3dv);
748 //LOAD_NATIVE_GL_FUNCTION(glTexCoord3f, &code.glTexCoord3f);
749 //LOAD_NATIVE_GL_FUNCTION(glTexCoord3fv, &code.glTexCoord3fv);
750 //LOAD_NATIVE_GL_FUNCTION(glTexCoord3i, &code.glTexCoord3i);
751 //LOAD_NATIVE_GL_FUNCTION(glTexCoord3iv, &code.glTexCoord3iv);
752 //LOAD_NATIVE_GL_FUNCTION(glTexCoord3s, &code.glTexCoord3s);
753 //LOAD_NATIVE_GL_FUNCTION(glTexCoord3sv, &code.glTexCoord3sv);
754 //LOAD_NATIVE_GL_FUNCTION(glTexCoord4d, &code.glTexCoord4d);
755 //LOAD_NATIVE_GL_FUNCTION(glTexCoord4dv, &code.glTexCoord4dv);
756 //LOAD_NATIVE_GL_FUNCTION(glTexCoord4f, &code.glTexCoord4f);
757 //LOAD_NATIVE_GL_FUNCTION(glTexCoord4fv, &code.glTexCoord4fv);
758 //LOAD_NATIVE_GL_FUNCTION(glTexCoord4i, &code.glTexCoord4i);
759 //LOAD_NATIVE_GL_FUNCTION(glTexCoord4iv, &code.glTexCoord4iv);
760 //LOAD_NATIVE_GL_FUNCTION(glTexCoord4s, &code.glTexCoord4s);
761 //LOAD_NATIVE_GL_FUNCTION(glTexCoord4sv, &code.glTexCoord4sv);
762 ✗ LOAD_NATIVE_GL_FUNCTION(glTexCoordPointer, &code.glTexCoordPointer);
763 ✗ LOAD_NATIVE_GL_FUNCTION(glTexEnvf, &code.glTexEnvf);
764 ✗ LOAD_NATIVE_GL_FUNCTION(glTexEnvfv, &code.glTexEnvfv);
765 ✗ LOAD_NATIVE_GL_FUNCTION(glTexEnvi, &code.glTexEnvi);
766 ✗ LOAD_NATIVE_GL_FUNCTION(glTexEnviv, &code.glTexEnviv);
767 //LOAD_NATIVE_GL_FUNCTION(glTexGend, &code.glTexGend);
768 //LOAD_NATIVE_GL_FUNCTION(glTexGendv, &code.glTexGendv);
769 //LOAD_NATIVE_GL_FUNCTION(glTexGenf, &code.glTexGenf);
770 //LOAD_NATIVE_GL_FUNCTION(glTexGenfv, &code.glTexGenfv);
771 //LOAD_NATIVE_GL_FUNCTION(glTexGeni, &code.glTexGeni);
772 //LOAD_NATIVE_GL_FUNCTION(glTexGeniv, &code.glTexGeniv);
773 //LOAD_NATIVE_GL_FUNCTION(glTexImage1D, &code.glTexImage1D);
774 ✗ LOAD_NATIVE_GL_FUNCTION(glTexImage2D, &code.glTexImage2D);
775 ✗ LOAD_NATIVE_GL_FUNCTION(glTexParameterf, &code.glTexParameterf);
776 ✗ LOAD_NATIVE_GL_FUNCTION(glTexParameterfv, &code.glTexParameterfv);
777 ✗ LOAD_NATIVE_GL_FUNCTION(glTexParameteri, &code.glTexParameteri);
778 ✗ LOAD_NATIVE_GL_FUNCTION(glTexParameteriv, &code.glTexParameteriv);
779 //LOAD_NATIVE_GL_FUNCTION(glTexSubImage1D, &code.glTexSubImage1D);
780 ✗ LOAD_NATIVE_GL_FUNCTION(glTexSubImage2D, &code.glTexSubImage2D);
781 //LOAD_NATIVE_GL_FUNCTION(glTranslated, &code.glTranslated);
782 ✗ LOAD_NATIVE_GL_FUNCTION(glTranslatef, &code.glTranslatef);
783 //LOAD_NATIVE_GL_FUNCTION(glVertex2d, &code.glVertex2d);
784 //LOAD_NATIVE_GL_FUNCTION(glVertex2dv, &code.glVertex2dv);
785 //LOAD_NATIVE_GL_FUNCTION(glVertex2f, &code.glVertex2f);
786 //LOAD_NATIVE_GL_FUNCTION(glVertex2fv, &code.glVertex2fv);
787 //LOAD_NATIVE_GL_FUNCTION(glVertex2i, &code.glVertex2i);
788 //LOAD_NATIVE_GL_FUNCTION(glVertex2iv, &code.glVertex2iv);
789 //LOAD_NATIVE_GL_FUNCTION(glVertex2s, &code.glVertex2s);
790 //LOAD_NATIVE_GL_FUNCTION(glVertex2sv, &code.glVertex2sv);
791 //LOAD_NATIVE_GL_FUNCTION(glVertex3d, &code.glVertex3d);
792 //LOAD_NATIVE_GL_FUNCTION(glVertex3dv, &code.glVertex3dv);
793 //LOAD_NATIVE_GL_FUNCTION(glVertex3f, &code.glVertex3f);
794 //LOAD_NATIVE_GL_FUNCTION(glVertex3fv, &code.glVertex3fv);
795 //LOAD_NATIVE_GL_FUNCTION(glVertex3i, &code.glVertex3i);
796 //LOAD_NATIVE_GL_FUNCTION(glVertex3iv, &code.glVertex3iv);
797 //LOAD_NATIVE_GL_FUNCTION(glVertex3s, &code.glVertex3s);
798 //LOAD_NATIVE_GL_FUNCTION(glVertex3sv, &code.glVertex3sv);
799 //LOAD_NATIVE_GL_FUNCTION(glVertex4d, &code.glVertex4d);
800 //LOAD_NATIVE_GL_FUNCTION(glVertex4dv, &code.glVertex4dv);
801 //LOAD_NATIVE_GL_FUNCTION(glVertex4f, &code.glVertex4f);
802 //LOAD_NATIVE_GL_FUNCTION(glVertex4fv, &code.glVertex4fv);
803 //LOAD_NATIVE_GL_FUNCTION(glVertex4i, &code.glVertex4i);
804 //LOAD_NATIVE_GL_FUNCTION(glVertex4iv, &code.glVertex4iv);
805 //LOAD_NATIVE_GL_FUNCTION(glVertex4s, &code.glVertex4s);
806 //LOAD_NATIVE_GL_FUNCTION(glVertex4sv, &code.glVertex4sv);
807 ✗ LOAD_NATIVE_GL_FUNCTION(glVertexPointer, &code.glVertexPointer);
808 ✗ LOAD_NATIVE_GL_FUNCTION(glViewport, &code.glViewport);
809
810 ✗ gate_mem_copy(ptr_code, &code, sizeof(gate_gl_api_functions_t));
811 ✗ }
812
813 ✗ static gate_result_t gate_gl_api_load_functions()
814 {
815 static volatile bool opengl_lib_loaded = false;
816 static gate_library_t opengl_lib_handle = NULL;
817 static gate_string_t const opengl_lib_name = GATE_STRING_INIT_STATIC(OPENGL_LIBNAME);
818 static gate_string_t const opengl_lib_name_alt = GATE_STRING_INIT_STATIC(OPENGL_LIBNAME_ALT);
819 ✗ gate_result_t ret = GATE_RESULT_FAILED;
820
821 ✗ if (opengl_lib_loaded)
822 {
823 ✗ ret = GATE_RESULT_OK;
824 }
825 else
826 {
827 do
828 {
829 #if !defined(GATE_OPENGL_APIS_DIRECT_BINDING)
830 ✗ ret = gate_library_open(&opengl_lib_name, &opengl_lib_handle, GATE_LIBRARY_FLAG_DEFAULT);
831 ✗ if (GATE_FAILED(ret))
832 {
833 ✗ ret = gate_library_open(&opengl_lib_name_alt, &opengl_lib_handle, GATE_LIBRARY_FLAG_DEFAULT);
834 }
835 ✗ GATE_BREAK_IF_FAILED(ret);
836 #endif
837
838 ✗ load_native_gl_functions(opengl_lib_handle, &gate_gl_api);
839
840 ✗ opengl_lib_loaded = true;
841 ✗ ret = GATE_RESULT_OK;
842 } while (0);
843 }
844 ✗ return ret;
845 }
846
847
848
849 #endif
850