summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 4f93722)
raw | patch | inline | side by side (parent: 4f93722)
author | mittorn <mittorn@sibmail.com> | |
Fri, 3 Jun 2016 13:45:43 +0000 (19:45 +0600) | ||
committer | mittorn <mittorn@sibmail.com> | |
Fri, 3 Jun 2016 13:45:43 +0000 (19:45 +0600) |
GL/gl_entries.in | patch | blob | history | |
GL/glesinterface.h | patch | blob | history | |
eglwrap.cpp | patch | blob | history | |
funcnames.h | [new file with mode: 0644] | patch | blob |
nanoWrap.cpp | patch | blob | history | |
nanogl.cpp | patch | blob | history |
diff --git a/GL/gl_entries.in b/GL/gl_entries.in
index 9ca48a81c5391d7f64e7ef1825c13f786999ee3b..57d7a87d7932c94c42fa6af87d3ea6016b0ea216 100644 (file)
--- a/GL/gl_entries.in
+++ b/GL/gl_entries.in
GL_ENTRY(int,eglReleaseTexImage,int dpy, int surface, int buffer)
GL_ENTRY(int,eglSurfaceAttrib,int dpy, int surface, int attribute, int value)
-
+#ifdef USE_CORE_PROFILE
+ GL_ENTRY(void,glOrtho,double left, double right, double bottom, double top, double zNear, double zFar)
+ GL_ENTRY(void,glDepthRange,double zNear, double zFar)
+#endif
diff --git a/GL/glesinterface.h b/GL/glesinterface.h
index e8d42daea83648b32b6ca58e4ed672bca8a0aaf8..47fd58480230abf8ff2d45e6f07f7f01c71badd0 100644 (file)
--- a/GL/glesinterface.h
+++ b/GL/glesinterface.h
#define S
#endif
+#ifdef _WIN32
+#include <windows.h> //APIENTRY
+#endif
+#ifndef APIENTRY
+#ifdef _MSC_VER
+#define APIENTRY WINAPI
+#else
+#define APIENTRY
+#endif
+#endif
+
struct GlESInterface
{
int (*eglChooseConfig) (int dpy, const int *attrib_list, int *configs, int config_size, int *num_config) S;
int (*eglTerminate) (int dpy) S;
int (*eglWaitGL) (void) S;
int (*eglWaitNative) (int engine) S;
- void (*glActiveTexture) (unsigned int texture) S;
- void (*glAlphaFunc) (unsigned int func, float ref) S;
- void (*glAlphaFuncx) (unsigned int func, int ref) S;
- void (*glBindTexture) (unsigned int target, unsigned int texture) S;
- void (*glBlendFunc) (unsigned int sfactor, unsigned int dfactor) S;
- void (*glClear) (unsigned int mask) S;
- void (*glClearColor) (float red, float green, float blue, float alpha) S;
- void (*glClearColorx) (int red, int green, int blue, int alpha) S;
- void (*glClearDepthf) (float depth) S;
- void (*glClearDepthx) (int depth) S;
- void (*glClearStencil) (int s) S;
- void (*glClientActiveTexture) (unsigned int texture) S;
- void (*glColor4f) (float red, float green, float blue, float alpha) S;
- void (*glColor4x) (int red, int green, int blue, int alpha) S;
- void (*glColorMask) (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha) S;
- void (*glColorPointer) (int size, unsigned int type, int stride, const void *pointer) S;
- void (*glCompressedTexImage2D) (unsigned int target, int level, unsigned int internalformat, int width, int height, int border, int imageSize, const void *data) S;
- void (*glCompressedTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, int imageSize, const void *data) S;
- void (*glCopyTexImage2D) (unsigned int target, int level, unsigned int internalformat, int x, int y, int width, int height, int border) S;
- void (*glCopyTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) S;
- void (*glCullFace) (unsigned int mode) S;
- void (*glDeleteTextures) (int n, const unsigned int *textures) S;
- void (*glDepthFunc) (unsigned int func) S;
- void (*glDepthMask) (unsigned char flag) S;
- void (*glDepthRangef) (float zNear, float zFar) S;
- void (*glDepthRangex) (int zNear, int zFar) S;
- void (*glDisable) (unsigned int cap) S;
- void (*glDisableClientState) (unsigned int array) S;
- void (*glDrawArrays) (unsigned int mode, int first, int count) S;
- void (*glDrawElements) (unsigned int mode, int count, unsigned int type, const void *indices) S;
- void (*glEnable) (unsigned int cap) S;
- void (*glEnableClientState) (unsigned int array) S;
- void (*glFinish) (void) S;
- void (*glFlush) (void) S;
- void (*glFogf) (unsigned int pname, float param) S;
- void (*glFogfv) (unsigned int pname, const float *params) S;
- void (*glFogx) (unsigned int pname, int param) S;
- void (*glFogxv) (unsigned int pname, const int *params) S;
- void (*glFrontFace) (unsigned int mode) S;
- void (*glFrustumf) (float left, float right, float bottom, float top, float zNear, float zFar) S;
- void (*glFrustumx) (int left, int right, int bottom, int top, int zNear, int zFar) S;
- void (*glGenTextures) (int n, unsigned int *textures) S;
- unsigned int (*glGetError) (void) S;
- void (*glGetIntegerv) (unsigned int pname, int *params) S;
- const unsigned char * (*glGetString) (unsigned int name) S;
- void (*glHint) (unsigned int target, unsigned int mode) S;
- void (*glLightModelf) (unsigned int pname, float param) S;
- void (*glLightModelfv) (unsigned int pname, const float *params) S;
- void (*glLightModelx) (unsigned int pname, int param) S;
- void (*glLightModelxv) (unsigned int pname, const int *params) S;
- void (*glLightf) (unsigned int light, unsigned int pname, float param) S;
- void (*glLightfv) (unsigned int light, unsigned int pname, const float *params) S;
- void (*glLightx) (unsigned int light, unsigned int pname, int param) S;
- void (*glLightxv) (unsigned int light, unsigned int pname, const int *params) S;
- void (*glLineWidth) (float width) S;
- void (*glLineWidthx) (int width) S;
- void (*glLoadIdentity) (void) S;
- void (*glLoadMatrixf) (const float *m) S;
- void (*glLoadMatrixx) (const int *m) S;
- void (*glLogicOp) (unsigned int opcode) S;
- void (*glMaterialf) (unsigned int face, unsigned int pname, float param) S;
- void (*glMaterialfv) (unsigned int face, unsigned int pname, const float *params) S;
- void (*glMaterialx) (unsigned int face, unsigned int pname, int param) S;
- void (*glMaterialxv) (unsigned int face, unsigned int pname, const int *params) S;
- void (*glMatrixMode) (unsigned int mode) S;
- void (*glMultMatrixf) (const float *m) S;
- void (*glMultMatrixx) (const int *m) S;
- void (*glMultiTexCoord4f) (unsigned int target, float s, float t, float r, float q) S;
- void (*glMultiTexCoord4x) (unsigned int target, int s, int t, int r, int q) S;
- void (*glNormal3f) (float nx, float ny, float nz) S;
- void (*glNormal3x) (int nx, int ny, int nz) S;
- void (*glNormalPointer) (unsigned int type, int stride, const void *pointer) S;
- void (*glOrthof) (float left, float right, float bottom, float top, float zNear, float zFar) S;
- void (*glOrthox) (int left, int right, int bottom, int top, int zNear, int zFar) S;
- void (*glPixelStorei) (unsigned int pname, int param) S;
- void (*glPointSize) (float size) S;
- void (*glPointSizex) (int size) S;
- void (*glPolygonOffset) (float factor, float units) S;
- void (*glPolygonOffsetx) (int factor, int units) S;
- void (*glPopMatrix) (void) S;
- void (*glPushMatrix) (void) S;
- unsigned int (*glQueryMatrixxOES) (int mantissa[16], int exponent[16]) S;
- void (*glReadPixels) (int x, int y, int width, int height, unsigned int format, unsigned int type, void *pixels) S;
- void (*glRotatef) (float angle, float x, float y, float z) S;
- void (*glRotatex) (int angle, int x, int y, int z) S;
- void (*glSampleCoverage) (float value, unsigned char invert) S;
- void (*glSampleCoveragex) (int value, unsigned char invert) S;
- void (*glScalef) (float x, float y, float z) S;
- void (*glScalex) (int x, int y, int z) S;
- void (*glScissor) (int x, int y, int width, int height) S;
- void (*glShadeModel) (unsigned int mode) S;
- void (*glStencilFunc) (unsigned int func, int ref, unsigned int mask) S;
- void (*glStencilMask) (unsigned int mask) S;
- void (*glStencilOp) (unsigned int fail, unsigned int zfail, unsigned int zpass) S;
- void (*glTexCoordPointer) (int size, unsigned int type, int stride, const void *pointer) S;
- void (*glTexEnvf) (unsigned int target, unsigned int pname, float param) S;
- void (*glTexEnvfv) (unsigned int target, unsigned int pname, const float *params) S;
- void (*glTexEnvx) (unsigned int target, unsigned int pname, int param) S;
- void (*glTexEnvxv) (unsigned int target, unsigned int pname, const int *params) S;
- void (*glTexImage2D) (unsigned int target, int level, int internalformat, int width, int height, int border, unsigned int format, unsigned int type, const void *pixels) S;
- void (*glTexParameterf) (unsigned int target, unsigned int pname, float param) S;
- void (*glTexParameterx) (unsigned int target, unsigned int pname, int param) S;
- void (*glTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, unsigned int type, const void *pixels) S;
- void (*glTranslatef) (float x, float y, float z) S;
- void (*glTranslatex) (int x, int y, int z) S;
- void (*glVertexPointer) (int size, unsigned int type, int stride, const void *pointer) S;
- void (*glViewport) (int x, int y, int width, int height) S;
+ void ( APIENTRY *glActiveTexture) (unsigned int texture) S;
+ void ( APIENTRY *glAlphaFunc) (unsigned int func, float ref) S;
+ void ( APIENTRY *glAlphaFuncx) (unsigned int func, int ref) S;
+ void ( APIENTRY *glBindTexture) (unsigned int target, unsigned int texture) S;
+ void ( APIENTRY *glBlendFunc) (unsigned int sfactor, unsigned int dfactor) S;
+ void ( APIENTRY *glClear) (unsigned int mask) S;
+ void ( APIENTRY *glClearColor) (float red, float green, float blue, float alpha) S;
+ void ( APIENTRY *glClearColorx) (int red, int green, int blue, int alpha) S;
+ void ( APIENTRY *glClearDepthf) (float depth) S;
+ void ( APIENTRY *glClearDepthx) (int depth) S;
+ void ( APIENTRY *glClearStencil) (int s) S;
+ void ( APIENTRY *glClientActiveTexture) (unsigned int texture) S;
+ void ( APIENTRY *glColor4f) (float red, float green, float blue, float alpha) S;
+ void ( APIENTRY *glColor4x) (int red, int green, int blue, int alpha) S;
+ void ( APIENTRY *glColorMask) (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha) S;
+ void ( APIENTRY *glColorPointer) (int size, unsigned int type, int stride, const void *pointer) S;
+ void ( APIENTRY *glCompressedTexImage2D) (unsigned int target, int level, unsigned int internalformat, int width, int height, int border, int imageSize, const void *data) S;
+ void ( APIENTRY *glCompressedTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, int imageSize, const void *data) S;
+ void ( APIENTRY *glCopyTexImage2D) (unsigned int target, int level, unsigned int internalformat, int x, int y, int width, int height, int border) S;
+ void ( APIENTRY *glCopyTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) S;
+ void ( APIENTRY *glCullFace) (unsigned int mode) S;
+ void ( APIENTRY *glDeleteTextures) (int n, const unsigned int *textures) S;
+ void ( APIENTRY *glDepthFunc) (unsigned int func) S;
+ void ( APIENTRY *glDepthMask) (unsigned char flag) S;
+ void ( APIENTRY *glDepthRangef) (float zNear, float zFar) S;
+ void ( APIENTRY *glDepthRangex) (int zNear, int zFar) S;
+ void ( APIENTRY *glDisable) (unsigned int cap) S;
+ void ( APIENTRY *glDisableClientState) (unsigned int array) S;
+ void ( APIENTRY *glDrawArrays) (unsigned int mode, int first, int count) S;
+ void ( APIENTRY *glDrawElements) (unsigned int mode, int count, unsigned int type, const void *indices) S;
+ void ( APIENTRY *glEnable) (unsigned int cap) S;
+ void ( APIENTRY *glEnableClientState) (unsigned int array) S;
+ void ( APIENTRY *glFinish) (void) S;
+ void ( APIENTRY *glFlush) (void) S;
+ void ( APIENTRY *glFogf) (unsigned int pname, float param) S;
+ void ( APIENTRY *glFogfv) (unsigned int pname, const float *params) S;
+ void ( APIENTRY *glFogx) (unsigned int pname, int param) S;
+ void ( APIENTRY *glFogxv) (unsigned int pname, const int *params) S;
+ void ( APIENTRY *glFrontFace) (unsigned int mode) S;
+ void ( APIENTRY *glFrustumf) (float left, float right, float bottom, float top, float zNear, float zFar) S;
+ void ( APIENTRY *glFrustumx) (int left, int right, int bottom, int top, int zNear, int zFar) S;
+ void ( APIENTRY *glGenTextures) (int n, unsigned int *textures) S;
+ unsigned int ( APIENTRY *glGetError) (void) S;
+ void ( APIENTRY *glGetIntegerv) (unsigned int pname, int *params) S;
+ const unsigned char * ( APIENTRY *glGetString) (unsigned int name) S;
+ void ( APIENTRY *glHint) (unsigned int target, unsigned int mode) S;
+ void ( APIENTRY *glLightModelf) (unsigned int pname, float param) S;
+ void ( APIENTRY *glLightModelfv) (unsigned int pname, const float *params) S;
+ void ( APIENTRY *glLightModelx) (unsigned int pname, int param) S;
+ void ( APIENTRY *glLightModelxv) (unsigned int pname, const int *params) S;
+ void ( APIENTRY *glLightf) (unsigned int light, unsigned int pname, float param) S;
+ void ( APIENTRY *glLightfv) (unsigned int light, unsigned int pname, const float *params) S;
+ void ( APIENTRY *glLightx) (unsigned int light, unsigned int pname, int param) S;
+ void ( APIENTRY *glLightxv) (unsigned int light, unsigned int pname, const int *params) S;
+ void ( APIENTRY *glLineWidth) (float width) S;
+ void ( APIENTRY *glLineWidthx) (int width) S;
+ void ( APIENTRY *glLoadIdentity) (void) S;
+ void ( APIENTRY *glLoadMatrixf) (const float *m) S;
+ void ( APIENTRY *glLoadMatrixx) (const int *m) S;
+ void ( APIENTRY *glLogicOp) (unsigned int opcode) S;
+ void ( APIENTRY *glMaterialf) (unsigned int face, unsigned int pname, float param) S;
+ void ( APIENTRY *glMaterialfv) (unsigned int face, unsigned int pname, const float *params) S;
+ void ( APIENTRY *glMaterialx) (unsigned int face, unsigned int pname, int param) S;
+ void ( APIENTRY *glMaterialxv) (unsigned int face, unsigned int pname, const int *params) S;
+ void ( APIENTRY *glMatrixMode) (unsigned int mode) S;
+ void ( APIENTRY *glMultMatrixf) (const float *m) S;
+ void ( APIENTRY *glMultMatrixx) (const int *m) S;
+ void ( APIENTRY *glMultiTexCoord4f) (unsigned int target, float s, float t, float r, float q) S;
+ void ( APIENTRY *glMultiTexCoord4x) (unsigned int target, int s, int t, int r, int q) S;
+ void ( APIENTRY *glNormal3f) (float nx, float ny, float nz) S;
+ void ( APIENTRY *glNormal3x) (int nx, int ny, int nz) S;
+ void ( APIENTRY *glNormalPointer) (unsigned int type, int stride, const void *pointer) S;
+ void ( APIENTRY *glOrthof) (float left, float right, float bottom, float top, float zNear, float zFar) S;
+ void ( APIENTRY *glOrthox) (int left, int right, int bottom, int top, int zNear, int zFar) S;
+ void ( APIENTRY *glPixelStorei) (unsigned int pname, int param) S;
+ void ( APIENTRY *glPointSize) (float size) S;
+ void ( APIENTRY *glPointSizex) (int size) S;
+ void ( APIENTRY *glPolygonOffset) (float factor, float units) S;
+ void ( APIENTRY *glPolygonOffsetx) (int factor, int units) S;
+ void ( APIENTRY *glPopMatrix) (void) S;
+ void ( APIENTRY *glPushMatrix) (void) S;
+ unsigned int ( APIENTRY *glQueryMatrixxOES) (int mantissa[16], int exponent[16]) S;
+ void ( APIENTRY *glReadPixels) (int x, int y, int width, int height, unsigned int format, unsigned int type, void *pixels) S;
+ void ( APIENTRY *glRotatef) (float angle, float x, float y, float z) S;
+ void ( APIENTRY *glRotatex) (int angle, int x, int y, int z) S;
+ void ( APIENTRY *glSampleCoverage) (float value, unsigned char invert) S;
+ void ( APIENTRY *glSampleCoveragex) (int value, unsigned char invert) S;
+ void ( APIENTRY *glScalef) (float x, float y, float z) S;
+ void ( APIENTRY *glScalex) (int x, int y, int z) S;
+ void ( APIENTRY *glScissor) (int x, int y, int width, int height) S;
+ void ( APIENTRY *glShadeModel) (unsigned int mode) S;
+ void ( APIENTRY *glStencilFunc) (unsigned int func, int ref, unsigned int mask) S;
+ void ( APIENTRY *glStencilMask) (unsigned int mask) S;
+ void ( APIENTRY *glStencilOp) (unsigned int fail, unsigned int zfail, unsigned int zpass) S;
+ void ( APIENTRY *glTexCoordPointer) (int size, unsigned int type, int stride, const void *pointer) S;
+ void ( APIENTRY *glTexEnvf) (unsigned int target, unsigned int pname, float param) S;
+ void ( APIENTRY *glTexEnvfv) (unsigned int target, unsigned int pname, const float *params) S;
+ void ( APIENTRY *glTexEnvx) (unsigned int target, unsigned int pname, int param) S;
+ void ( APIENTRY *glTexEnvxv) (unsigned int target, unsigned int pname, const int *params) S;
+ void ( APIENTRY *glTexImage2D) (unsigned int target, int level, int internalformat, int width, int height, int border, unsigned int format, unsigned int type, const void *pixels) S;
+ void ( APIENTRY *glTexParameterf) (unsigned int target, unsigned int pname, float param) S;
+ void ( APIENTRY *glTexParameterx) (unsigned int target, unsigned int pname, int param) S;
+ void ( APIENTRY *glTexSubImage2D) (unsigned int target, int level, int xoffset, int yoffset, int width, int height, unsigned int format, unsigned int type, const void *pixels) S;
+ void ( APIENTRY *glTranslatef) (float x, float y, float z) S;
+ void ( APIENTRY *glTranslatex) (int x, int y, int z) S;
+ void ( APIENTRY *glVertexPointer) (int size, unsigned int type, int stride, const void *pointer) S;
+ void ( APIENTRY *glViewport) (int x, int y, int width, int height) S;
int (*eglSwapInterval) (int dpy, int interval) S;
- void (*glBindBuffer) (unsigned int target, unsigned int buffer) S;
- void (*glBufferData) (unsigned int target, int size, const void *data, unsigned int usage) S;
- void (*glBufferSubData) (unsigned int target, int offset,int size, const void *data) S;
- void (*glClipPlanef) (unsigned int plane, const float *equation) S;
- void (*glClipPlanex) (unsigned int plane, const int *equation) S;
- void (*glColor4ub) (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha) S;
- void (*glDeleteBuffers) (int n, const unsigned int *buffers) S;
- void (*glGenBuffers) (int n, unsigned int *buffers) S;
- void (*glGetBooleanv) (unsigned int pname, unsigned char *params) S;
- void (*glGetBufferParameteriv) (unsigned int target, unsigned int pname, int *params) S;
- void (*glGetClipPlanef) (unsigned int pname, float eqn[4]) S;
- void (*glGetClipPlanex) (unsigned int pname, int eqn[4]) S;
- void (*glGetFixedv) (unsigned int pname, int *params) S;
- void (*glGetFloatv) (unsigned int pname, float *params) S;
- void (*glGetLightfv) (unsigned int light, unsigned int pname, float *params) S;
- void (*glGetLightxv) (unsigned int light, unsigned int pname, int *params) S;
- void (*glGetMaterialfv) (unsigned int face, unsigned int pname, float *params) S;
- void (*glGetMaterialxv) (unsigned int face, unsigned int pname, int *params) S;
- void (*glGetPointerv) (unsigned int pname, void **params) S;
- void (*glGetTexEnvfv) (unsigned int env, unsigned int pname, float *params) S;
- void (*glGetTexEnviv) (unsigned int env, unsigned int pname, int *params) S;
- void (*glGetTexEnvxv) (unsigned int env, unsigned int pname, int *params) S;
- void (*glGetTexParameterfv) (unsigned int target, unsigned int pname, float *params) S;
- void (*glGetTexParameteriv) (unsigned int target, unsigned int pname, int *params) S;
- void (*glGetTexParameterxv) (unsigned int target, unsigned int pname, int *params) S;
- unsigned char (*glIsBuffer) (unsigned int buffer) S;
- unsigned char (*glIsEnabled) (unsigned int cap) S;
- unsigned char (*glIsTexture) (unsigned int texture) S;
- void (*glPointParameterf) (unsigned int pname, float param) S;
- void (*glPointParameterfv) (unsigned int pname, const float *params) S;
- void (*glPointParameterx) (unsigned int pname, int param) S;
- void (*glPointParameterxv) (unsigned int pname, const int *params) S;
- void (*glPointSizePointerOES) (unsigned int type, int stride, const void *pointer) S;
- void (*glTexEnvi) (unsigned int target, unsigned int pname, int param) S;
- void (*glTexEnviv) (unsigned int target, unsigned int pname, const int *params) S;
- void (*glTexParameterfv) (unsigned int target, unsigned int pname, const float *params) S;
- void (*glTexParameteri) (unsigned int target, unsigned int pname, int param) S;
- void (*glTexParameteriv) (unsigned int target, unsigned int pname, const int *params) S;
- void (*glTexParameterxv) (unsigned int target, unsigned int pname, const int *params) S;
+ void ( APIENTRY *glBindBuffer) (unsigned int target, unsigned int buffer) S;
+ void ( APIENTRY *glBufferData) (unsigned int target, int size, const void *data, unsigned int usage) S;
+ void ( APIENTRY *glBufferSubData) (unsigned int target, int offset,int size, const void *data) S;
+ void ( APIENTRY *glClipPlanef) (unsigned int plane, const float *equation) S;
+ void ( APIENTRY *glClipPlanex) (unsigned int plane, const int *equation) S;
+ void ( APIENTRY *glColor4ub) (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha) S;
+ void ( APIENTRY *glDeleteBuffers) (int n, const unsigned int *buffers) S;
+ void ( APIENTRY *glGenBuffers) (int n, unsigned int *buffers) S;
+ void ( APIENTRY *glGetBooleanv) (unsigned int pname, unsigned char *params) S;
+ void ( APIENTRY *glGetBufferParameteriv) (unsigned int target, unsigned int pname, int *params) S;
+ void ( APIENTRY *glGetClipPlanef) (unsigned int pname, float eqn[4]) S;
+ void ( APIENTRY *glGetClipPlanex) (unsigned int pname, int eqn[4]) S;
+ void ( APIENTRY *glGetFixedv) (unsigned int pname, int *params) S;
+ void ( APIENTRY *glGetFloatv) (unsigned int pname, float *params) S;
+ void ( APIENTRY *glGetLightfv) (unsigned int light, unsigned int pname, float *params) S;
+ void ( APIENTRY *glGetLightxv) (unsigned int light, unsigned int pname, int *params) S;
+ void ( APIENTRY *glGetMaterialfv) (unsigned int face, unsigned int pname, float *params) S;
+ void ( APIENTRY *glGetMaterialxv) (unsigned int face, unsigned int pname, int *params) S;
+ void ( APIENTRY *glGetPointerv) (unsigned int pname, void **params) S;
+ void ( APIENTRY *glGetTexEnvfv) (unsigned int env, unsigned int pname, float *params) S;
+ void ( APIENTRY *glGetTexEnviv) (unsigned int env, unsigned int pname, int *params) S;
+ void ( APIENTRY *glGetTexEnvxv) (unsigned int env, unsigned int pname, int *params) S;
+ void ( APIENTRY *glGetTexParameterfv) (unsigned int target, unsigned int pname, float *params) S;
+ void ( APIENTRY *glGetTexParameteriv) (unsigned int target, unsigned int pname, int *params) S;
+ void ( APIENTRY *glGetTexParameterxv) (unsigned int target, unsigned int pname, int *params) S;
+ unsigned char ( APIENTRY *glIsBuffer) (unsigned int buffer) S;
+ unsigned char ( APIENTRY *glIsEnabled) (unsigned int cap) S;
+ unsigned char ( APIENTRY *glIsTexture) (unsigned int texture) S;
+ void ( APIENTRY *glPointParameterf) (unsigned int pname, float param) S;
+ void ( APIENTRY *glPointParameterfv) (unsigned int pname, const float *params) S;
+ void ( APIENTRY *glPointParameterx) (unsigned int pname, int param) S;
+ void ( APIENTRY *glPointParameterxv) (unsigned int pname, const int *params) S;
+ void ( APIENTRY *glPointSizePointerOES) (unsigned int type, int stride, const void *pointer) S;
+ void ( APIENTRY *glTexEnvi) (unsigned int target, unsigned int pname, int param) S;
+ void ( APIENTRY *glTexEnviv) (unsigned int target, unsigned int pname, const int *params) S;
+ void ( APIENTRY *glTexParameterfv) (unsigned int target, unsigned int pname, const float *params) S;
+ void ( APIENTRY *glTexParameteri) (unsigned int target, unsigned int pname, int param) S;
+ void ( APIENTRY *glTexParameteriv) (unsigned int target, unsigned int pname, const int *params) S;
+ void ( APIENTRY *glTexParameterxv) (unsigned int target, unsigned int pname, const int *params) S;
int (*eglBindTexImage) (int dpy, int surface, int buffer) S;
int (*eglReleaseTexImage) (int dpy, int surface, int buffer) S;
int (*eglSurfaceAttrib) (int dpy, int surface, int attribute, int value) S;
+#ifdef USE_CORE_PROFILE
+ void ( APIENTRY *glOrtho) (double left, double right, double bottom, double top, double zNear, double zFar) S;
+ void ( APIENTRY *glDepthRange) (double zNear, double zFar) S;
+#endif
+
};
#if !defined (__WINS__)
#if defined(__TARGET_FPU_VFP)
diff --git a/eglwrap.cpp b/eglwrap.cpp
index 0e6bd208514f5a779a13cb5e69427636e8d8262d..7237c5be7278fa2f76a552c1de06dca73c1f7a64 100644 (file)
--- a/eglwrap.cpp
+++ b/eglwrap.cpp
extern "C++" GlESInterface* glEsImpl;
extern "C++" void FlushOnStateChange();
-void gl_unimplemented();
+void APIENTRY gl_unimplemented(GLenum none);
EGLint eglGetError (void)
{
diff --git a/funcnames.h b/funcnames.h
--- /dev/null
+++ b/funcnames.h
@@ -0,0 +1,186 @@
+ "eglChooseConfig",\r
+ "eglCopyBuffers",\r
+ "eglCreateContext",\r
+ "eglCreatePbufferSurface",\r
+ "eglCreatePixmapSurface",\r
+ "eglCreateWindowSurface",\r
+ "eglDestroyContext",\r
+ "eglDestroySurface",\r
+ "eglGetConfigAttrib",\r
+ "eglGetConfigs",\r
+ "eglGetCurrentContext",\r
+ "eglGetCurrentDisplay",\r
+ "eglGetCurrentSurface",\r
+ "eglGetDisplay",\r
+ "eglGetError",\r
+\r
+ "eglGetProcAddress",\r
+\r
+ "eglInitialize",\r
+ "eglMakeCurrent",\r
+ "eglQueryContext",\r
+ "eglQueryString",\r
+ "eglQuerySurface",\r
+ "eglSwapBuffers",\r
+ "eglTerminate",\r
+ "eglWaitGL",\r
+ "eglWaitNative",\r
+\r
+\r
+ "glActiveTexture",\r
+ "glAlphaFunc",\r
+ "glAlphaFuncx",\r
+ "glBindTexture",\r
+ "glBlendFunc",\r
+ "glClear",\r
+ "glClearColor",\r
+ "glClearColorx",\r
+ "glClearDepthf",\r
+ "glClearDepthx",\r
+ "glClearStencil",\r
+ "glClientActiveTexture",\r
+ "glColor4f",\r
+ "glColor4x",\r
+ "glColorMask",\r
+ "glColorPointer",\r
+ "glCompressedTexImage2D",\r
+ "glCompressedTexSubImage2D",\r
+ "glCopyTexImage2D",\r
+ "glCopyTexSubImage2D",\r
+ "glCullFace",\r
+ "glDeleteTextures",\r
+ "glDepthFunc",\r
+ "glDepthMask",\r
+ "glDepthRangef",\r
+ "glDepthRangex",\r
+ "glDisable",\r
+ "glDisableClientState",\r
+ "glDrawArrays",\r
+ "glDrawElements",\r
+ "glEnable",\r
+ "glEnableClientState",\r
+ "glFinish",\r
+ "glFlush",\r
+ "glFogf",\r
+ "glFogfv",\r
+ "glFogx",\r
+ "glFogxv",\r
+ "glFrontFace",\r
+ "glFrustumf",\r
+ "glFrustumx",\r
+ "glGenTextures",\r
+ "glGetError",\r
+ "glGetIntegerv",\r
+ "glGetString",\r
+ "glHint",\r
+ "glLightModelf",\r
+ "glLightModelfv",\r
+ "glLightModelx",\r
+ "glLightModelxv",\r
+ "glLightf",\r
+ "glLightfv",\r
+ "glLightx",\r
+ "glLightxv",\r
+ "glLineWidth",\r
+ "glLineWidthx",\r
+ "glLoadIdentity",\r
+ "glLoadMatrixf",\r
+ "glLoadMatrixx",\r
+ "glLogicOp",\r
+ "glMaterialf",\r
+ "glMaterialfv",\r
+ "glMaterialx",\r
+ "glMaterialxv",\r
+ "glMatrixMode",\r
+ "glMultMatrixf",\r
+ "glMultMatrixx",\r
+ "glMultiTexCoord4f",\r
+ "glMultiTexCoord4x",\r
+ "glNormal3f",\r
+ "glNormal3x",\r
+ "glNormalPointer",\r
+ "glOrthof",\r
+ "glOrthox",\r
+ "glPixelStorei",\r
+ "glPointSize",\r
+ "glPointSizex",\r
+ "glPolygonOffset",\r
+ "glPolygonOffsetx",\r
+ "glPopMatrix",\r
+ "glPushMatrix",\r
+ "glQueryMatrixxOES",\r
+ "glReadPixels",\r
+ "glRotatef",\r
+ "glRotatex",\r
+ "glSampleCoverage",\r
+ "glSampleCoveragex",\r
+ "glScalef",\r
+ "glScalex",\r
+ "glScissor",\r
+ "glShadeModel",\r
+ "glStencilFunc",\r
+ "glStencilMask",\r
+ "glStencilOp",\r
+ "glTexCoordPointer",\r
+ "glTexEnvf",\r
+ "glTexEnvfv",\r
+ "glTexEnvx",\r
+ "glTexEnvxv",\r
+ "glTexImage2D",\r
+ "glTexParameterf",\r
+ "glTexParameterx",\r
+ "glTexSubImage2D",\r
+ "glTranslatef",\r
+ "glTranslatex",\r
+ "glVertexPointer",\r
+ "glViewport",\r
+ "eglSwapInterval",\r
+ "glBindBuffer",\r
+ "glBufferData",\r
+ "glBufferSubData",\r
+ "glClipPlanef",\r
+ "glClipPlanex",\r
+ "glColor4ub",\r
+ "glDeleteBuffers",\r
+ "glGenBuffers",\r
+ "glGetBooleanv",\r
+ "glGetBufferParameteriv",\r
+ "glGetClipPlanef",\r
+ "glGetClipPlanex",\r
+ "glGetFixedv",\r
+ "glGetFloatv",\r
+ "glGetLightfv",\r
+ "glGetLightxv",\r
+ "glGetMaterialfv",\r
+ "glGetMaterialxv",\r
+ "glGetPointerv",\r
+ "glGetTexEnvfv",\r
+ "glGetTexEnviv",\r
+ "glGetTexEnvxv",\r
+ "glGetTexParameterfv",\r
+ "glGetTexParameteriv",\r
+ "glGetTexParameterxv",\r
+ "glIsBuffer",\r
+ "glIsEnabled",\r
+ "glIsTexture",\r
+ "glPointParameterf",\r
+ "glPointParameterfv",\r
+ "glPointParameterx",\r
+ "glPointParameterxv",\r
+ "glPointSizePointerOES",\r
+ "glTexEnvi",\r
+ "glTexEnviv",\r
+ "glTexParameterfv",\r
+ "glTexParameteri",\r
+ "glTexParameteriv",\r
+ "glTexParameterxv",\r
+\r
+\r
+ "eglBindTexImage",\r
+ "eglReleaseTexImage",\r
+ "eglSurfaceAttrib",\r
+\r
+#ifdef USE_CORE_PROFILE\r
+ "glOrtho",\r
+ "glDepthRange",\r
+#endif\r
diff --git a/nanoWrap.cpp b/nanoWrap.cpp
index a30a009de2421771b32292914fa1ae480c96ed7a..c13aea311d72a7f902275de277d4f156227a7039 100644 (file)
--- a/nanoWrap.cpp
+++ b/nanoWrap.cpp
if (delayedttmuchange)
{
delayedttmuchange = GL_FALSE;
+#ifndef USE_CORE_PROFILE
glEsImpl->glActiveTexture(delayedtmutarget);
+#endif
}
if (!vertexCount)
void glOrtho (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar)
{
FlushOnStateChange();
+#ifdef USE_CORE_PROFILE
+ glEsImpl->glOrtho(left,right,bottom,top, zNear,zFar);
+#else
glEsImpl->glOrthof(left,right,bottom,top, zNear,zFar);
+#endif
}
void glMatrixMode (GLenum mode)
nanoglState.depth_range_far = zFar;
}
FlushOnStateChange();
+#ifdef USE_CORE_PROFILE
+ glEsImpl->glDepthRange(zNear, zFar);
+#else
glEsImpl->glDepthRangef(zNear, zFar);
+#endif
}
void glDepthFunc (GLenum func)
diff --git a/nanogl.cpp b/nanogl.cpp
index 11bd1eac4faf162e8d1bd5e9063deaee398499f1..bd699da41c968ebe4af9455963bb0afac9e2b35a 100644 (file)
--- a/nanogl.cpp
+++ b/nanogl.cpp
#include <stdio.h>
#include <stdlib.h>
-#include <dlfcn.h>
+
//#include <cutils/log.h>
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG,__VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN, LOG_TAG,__VA_ARGS__)
#else
+#ifndef _MSC_VER
+#define LOGI(...) printf("I: "__VA_ARGS__);printf("\n")
+#define LOGD(...) if(DEBUG_NANO) {printf("D: "__VA_ARGS__);printf("\n");}
+#define LOGE(...) printf("E: "__VA_ARGS__);printf("\n")
+#define LOGW(...) printf("W: "__VA_ARGS__);printf("\n")
+#else
+#define LOGI printf
+#define LOGD printf
+#define LOGE printf
+#define LOGW printf
-#define LOGI(...) printf("I: "__VA_ARGS__)
-#define LOGD(...) if(DEBUG_NANO) printf("D: "__VA_ARGS__)
-#define LOGE(...) printf("E: "__VA_ARGS__)
-#define LOGW(...) printf("W: "__VA_ARGS__)
+#endif
+#endif
+#ifdef _WIN32
+#include <windows.h>
+#define dlopen(x,y) LoadLibraryA(x)
+#define dlsym(x,y) (void*)GetProcAddress((HINSTANCE)x,y)
+#define dlclose(x) FreeLibrary((HINSTANCE)x)
+#else
+#include <dlfcn.h>
#endif
-#define GL_ENTRY(_r, _api, ...) #_api,
+//#define GL_ENTRY(_r, _api, ...) #_api,
static char const * const gl_names[] = {
- #include "gl_entries.in"
+ #include "funcnames.h"
NULL
};
extern void InitGLStructs();
-void gl_unimplemented() {
- LOGE ("Called unimplemented OpenGL ES API\n");
+void APIENTRY gl_unimplemented(GLenum none) {
+#ifndef USE_CORE_PROFILE
+ LOGE ("Called unimplemented OpenGL ES API\n");
+#endif
}
void *nanoGL_GetProcAddress(const char *name)
@@ -112,6 +129,19 @@ static int CreateGlEsInterface( const char * name, void * lib, void * lib1, void
f = dlsym(lib, *api); // try libGLESxx_CM.so
+#ifdef USE_CORE_PROFILE
+ // Hack: try ARB and EXT suffix
+ if (f == NULL) {
+ char namearb[256];
+ snprintf( namearb, 256, "%sARB", *api );
+ f = dlsym( lib, namearb );
+ }
+ if (f == NULL) {
+ char namearb[256];
+ snprintf( namearb, 256, "%sEXT", *api );
+ f = dlsym( lib, namearb );
+ }
+#endif
if (f == NULL) {
LOGW( "<%s> not found in %s. Trying libEGL.so.", *api, name); //driver);
@@ -139,7 +169,7 @@ static int CreateGlEsInterface( const char * name, void * lib, void * lib1, void
*ptr++ = f;
api++;
- }
+ }
return 1;
}
/**
* Init
*/
+#ifdef _WIN32
+int nanoGL_Init()
+{
+ const char * lib1 = "opengl32.dll"; // Has both gl* & egl* funcs SDK < 1.5
+ const char * lib2 = "opengl32.dll"; // Only gl* funcs SDK >= 1.5
+ const char * lib3 = "opengl32.dll"; // Only egl* funcs SDK >= 1.5
+ const char * driver;
+
+ // load lib
+ LOGI("nanoGL: Init loading driver %s\n", lib1);
+ //LOG (ANDROID_LOG_DEBUG, LOG_TAG, "nanoGL: Init loading driver %s\n", lib1);
+
+ if ( ! loadDriver(lib1) )
+ {
+ LOGE("Failed to load driver %s. Trying %s\n", lib1, lib2);
+
+ if ( ! loadDriver(lib2) ) {
+ LOGE ("Failed to load %s.\n", lib2);
+ return 0;
+ }
+ else
+ driver = lib2;
+ }
+ else
+ driver = lib1;
+
+ void * eglLib;
+
+ //if ( strcmp(driver, lib2) == 0 ) {
+ LOGD ("**** Will Load EGL subs from %s ****", lib3);
+
+ eglLib = dlopen(lib3, RTLD_NOW | RTLD_LOCAL);
+
+ if ( ! eglLib ) {
+ LOGE ( "Failed to load %s", lib3);
+ }
+ //}
+
+ // Load API gl* for 1.5+ else egl* gl*
+ //if (CreateGlEsInterface(driver, glesLib, eglLib, NULL) == -1)
+ if ( !CreateGlEsInterface(driver, glesLib, eglLib, (void *) gl_unimplemented) == -1)
+ {
+ // release lib
+ LOGE ( "CreateGlEsInterface failed.");
+
+ dlclose(glesLib);
+ return 0;
+ }
+
+ // Init nanoGL
+ InitGLStructs();
+ return 1;
+}
+#else
int nanoGL_Init()
{
const char * lib1 = "libGLESv1_CM.so"; // Has both gl* & egl* funcs SDK < 1.5
InitGLStructs();
return 1;
}
-
+#endif
void nanoGL_Destroy()
{
LOGD ("nanoGL_Destroy");
if (glEsImpl) {
- free( glEsImpl);
+ free( glEsImpl);
glEsImpl = NULL;
}
// release lib
dlclose(glesLib);
}
-
+