📄 aeegl.h
字号:
#ifndef AEEGL_H
#define AEEGL_H
/*=================================================================================
FILE: AEEGL.h
SERVICES: OpenGL-ES and EGL graphics interfaces.
DESCRIPTION: This file should be included in all BREW OpenGL-ES 1.0 applications. Both
the BREW interface for IGL and IEGL are defined in this file.
Note: ALL standard OpenGL-ES 1.0 and EGL APIs are available, this file
is provide as a standard Brew header file. Please refer to the
OpenGL-ES 1.0 BREW sample application as a reference on how to use the
standard OpenGL-ES and EGL APIs.
Copyright (c) 2003 QUALCOMM Incorporated.
All Rights Reserved.
QUALCOMM Proprietary/GTDR
=================================================================================*/
/*-------------------------------------------------------------------------------*
* I N C L U D E F I L E S *
*-------------------------------------------------------------------------------*/
#include <AEE.h>
#include <GLES/gl.h>
#include <GLES/egl.h>
/*-------------------------------------------------------------------------------*
* M A C R O S *
*-------------------------------------------------------------------------------*/
#ifdef OGLES_USE_COMMON_PROFILE
#define AEECLSID_GL 0x010234aa //| OpenGLES 1.0 Common spec
#define AEECLSID_GLES_CL 0x01014bc3 //| OpenGLES 1.0 Common-Lite spec
#else
#define AEECLSID_GL 0x01014bc3 //| OpenGLES 1.0 Common-Lite spec
#endif
#define AEECLSID_EGL 0x01014bc4 //| EGL 1.0 spec
/*-------------------------------------------------------------------------------*
* E N U M T Y P E S *
*-------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------*
* S T R U C T T Y P E S *
*-------------------------------------------------------------------------------*/
typedef struct _OPENGLES IGL;
typedef struct _EGL IEGL;
/*===============================================================================*
* *
* OpenGLES I N T E R F A C E *
* *
*===============================================================================*/
AEEINTERFACE (IGL)
{
INHERIT_IQueryInterface (IGL);
void (*glActiveTexture) (GLenum texture);
void (*glAlphaFuncx) (GLenum func, GLclampx ref);
void (*glBindTexture) (GLenum target, GLuint texture);
void (*glBlendFunc) (GLenum sfactor, GLenum dfactor);
void (*glClear) (GLbitfield mask);
void (*glClearColorx) (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
void (*glClearDepthx) (GLclampx depth);
void (*glClearStencil) (GLint s);
void (*glClientActiveTexture) (GLenum texture);
void (*glColor4x) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
void (*glColorMask) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
void (*glColorPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
void (*glCompressedTexImage2D) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
void (*glCompressedTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
void (*glCopyTexImage2D) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
void (*glCopyTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
void (*glCullFace) (GLenum mode);
void (*glDeleteTextures) (GLsizei n, const GLuint *textures);
void (*glDepthFunc) (GLenum func);
void (*glDepthMask) (GLboolean flag);
void (*glDepthRangex) (GLclampx zNear, GLclampx zFar);
void (*glDisable) (GLenum cap);
void (*glDisableClientState) (GLenum array);
void (*glDrawArrays) (GLenum mode, GLint first, GLsizei count);
void (*glDrawElements) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
void (*glEnable) (GLenum cap);
void (*glEnableClientState) (GLenum array);
void (*glFinish) (void);
void (*glFlush) (void);
void (*glFogx) (GLenum pname, GLfixed param);
void (*glFogxv) (GLenum pname, const GLfixed *params);
void (*glFrontFace) (GLenum mode);
void (*glFrustumx) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
void (*glGenTextures) (GLsizei n, GLuint *textures);
GLenum (*glGetError) ();
void (*glGetIntegerv) (GLenum pname, GLint *params);
const GLubyte * (*glGetString) (GLenum name);
void (*glHint) (GLenum target, GLenum mode);
void (*glLightModelx) (GLenum pname, GLfixed param);
void (*glLightModelxv) (GLenum pname, const GLfixed *params);
void (*glLightx) (GLenum light, GLenum pname, GLfixed param);
void (*glLightxv) (GLenum light, GLenum pname, const GLfixed *params);
void (*glLineWidthx) (GLfixed width);
void (*glLoadIdentity) (void);
void (*glLoadMatrixx) (const GLfixed *m);
void (*glLogicOp) (GLenum opcode);
void (*glMaterialx) (GLenum face, GLenum pname, GLfixed param);
void (*glMaterialxv) (GLenum face, GLenum pname, const GLfixed *params);
void (*glMatrixMode) (GLenum mode);
void (*glMultMatrixx) (const GLfixed *m);
void (*glMultiTexCoord4x) (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
void (*glNormal3x) (GLfixed nx, GLfixed ny, GLfixed nz);
void (*glNormalPointer) (GLenum type, GLsizei stride, const GLvoid *pointer);
void (*glOrthox) (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
void (*glPixelStorei) (GLenum pname, GLint param);
void (*glPointSizex) (GLfixed size);
void (*glPolygonOffsetx) (GLfixed factor, GLfixed units);
void (*glPopMatrix) (void);
void (*glPushMatrix) (void);
void (*glReadPixels) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
void (*glRotatex) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
void (*glSampleCoveragex) (GLclampx value, GLboolean invert);
void (*glScalex) (GLfixed x, GLfixed y, GLfixed z);
void (*glScissor) (GLint x, GLint y, GLsizei width, GLsizei height);
void (*glShadeModel) (GLenum mode);
void (*glStencilFunc) (GLenum func, GLint ref, GLuint mask);
void (*glStencilMask) (GLuint mask);
void (*glStencilOp) (GLenum fail, GLenum zfail, GLenum zpass);
void (*glTexCoordPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
void (*glTexEnvx) (GLenum target, GLenum pname, GLfixed param);
void (*glTexEnvxv) (GLenum target, GLenum pname, const GLfixed *params);
void (*glTexImage2D) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
void (*glTexParameterx) (GLenum target, GLenum pname, GLfixed param);
void (*glTexSubImage2D) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
void (*glTranslatex) (GLfixed x, GLfixed y, GLfixed z);
void (*glVertexPointer) (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
void (*glViewport) (GLint x, GLint y, GLsizei width, GLsizei height);
#ifdef OGLES_USE_COMMON_PROFILE
void (*glAlphaFunc) (GLenum func, GLclampf ref);
void (*glClearColor) (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
void (*glClearDepthf) (GLclampf depth);
void (*glColor4f) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
void (*glDepthRangef) (GLclampf zNear, GLclampf zFar);
void (*glFogf) (GLenum pname, GLfloat param);
void (*glFogfv) (GLenum pname, const GLfloat *params);
void (*glFrustumf) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
void (*glLightf) (GLenum light, GLenum pname, GLfloat param);
void (*glLightfv) (GLenum light, GLenum pname, const GLfloat *params);
void (*glLightModelf) (GLenum pname, GLfloat param);
void (*glLightModelfv) (GLenum pname, const GLfloat *params);
void (*glLineWidth) (GLfloat width);
void (*glLoadMatrixf) (const GLfloat *m);
void (*glMaterialf) (GLenum face, GLenum pname, GLfloat param);
void (*glMaterialfv) (GLenum face, GLenum pname, const GLfloat *params);
void (*glMultiTexCoord4f) (GLenum texture, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
void (*glMultMatrixf) (const GLfloat *m);
void (*glNormal3f) (GLfloat nx, GLfloat ny, GLfloat nz);
void (*glOrthof) (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
void (*glPointSize) (GLfloat size);
void (*glPolygonOffset) (GLfloat factor, GLfloat units);
void (*glRotatef) (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
void (*glSampleCoverage) (GLclampf value, GLboolean invert);
void (*glScalef) (GLfloat x, GLfloat y, GLfloat z);
void (*glTexEnvf) (GLenum target, GLenum pname, GLfloat param);
void (*glTexEnvfv) (GLenum target, GLenum pname, const GLfloat *params);
void (*glTexParameterf) (GLenum target, GLenum pname, GLfloat param);
void (*glTranslatef) (GLfloat x, GLfloat y, GLfloat z);
/* ATI ONLY NOT IN SPEC */
void (*glTexParameterfv) (GLenum target, GLenum pname, const GLfloat *params);
void (*glTexParameterxv) (GLenum target, GLenum pname, const GLfixed *params);
#endif
};
/*-------------------------------------------------------------------------------*
* A C C E S S M A C R O S *
*-------------------------------------------------------------------------------*/
#define IGL_AddRef(p) AEEGETPVTBL(p,IGL)->AddRef(p)
#define IGL_Release(p) AEEGETPVTBL(p,IGL)->Release(p)
#define IGL_QueryInterface(p,a,b) AEEGETPVTBL(p,IGL)->QueryInterface(p,a,b)
#define IGL_glActiveTexture(p,a) AEEGETPVTBL(p,IGL)->glActiveTexture(a)
#define IGL_glAlphaFuncx(p,a,b) AEEGETPVTBL(p,IGL)->glAlphaFuncx(a,b)
#define IGL_glBindTexture(p,a,b) AEEGETPVTBL(p,IGL)->glBindTexture(a,b)
#define IGL_glBlendFunc(p,a,b) AEEGETPVTBL(p,IGL)->glBlendFunc(a,b)
#define IGL_glClear(p,a) AEEGETPVTBL(p,IGL)->glClear(a)
#define IGL_glClearColorx(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glClearColorx(a,b,c,d)
#define IGL_glClearDepthx(p,a) AEEGETPVTBL(p,IGL)->glClearDepthx(a)
#define IGL_glClearStencil(p,a) AEEGETPVTBL(p,IGL)->glClearStencil(a)
#define IGL_glClientActiveTexture(p,a) AEEGETPVTBL(p,IGL)->glClientActiveTexture(a)
#define IGL_glColor4x(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glColor4x(a,b,c,d)
#define IGL_glColorMask(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glColorMask(a,b,c,d)
#define IGL_glColorPointer(p, a,b,c,d) AEEGETPVTBL(p,IGL)->glColorPointer(a,b,c,d)
#define IGL_glCompressedTexImage2D(p,a,b,c,d,e,f,g,h) AEEGETPVTBL(p,IGL)->glCompressedTexImage2D(a,b,c,d,e,f,g,h)
#define IGL_glCompressedTexSubImage2D(p,a,b,c,d,e,f,g,h,i) AEEGETPVTBL(p,IGL)->glCompressedTexSubImage2D(a,b,c,d,e,f,g,h,i)
#define IGL_glCopyTexImage2D(p,a,b,c,d,e,f,g,h) AEEGETPVTBL(p,IGL)->glCopyTexImage2D(a,b,c,d,e,f,g,h)
#define IGL_glCopyTexSubImage2D(p,a,b,c,d,e,f,g,h) AEEGETPVTBL(p,IGL)->glCopyTexSubImage2D(a,b,c,d,e,f,g,h)
#define IGL_glCullFace(p,a) AEEGETPVTBL(p,IGL)->glCullFace(a)
#define IGL_glDeleteTextures(p,a,b) AEEGETPVTBL(p,IGL)->glDeleteTextures(a,b)
#define IGL_glDepthFunc(p,a) AEEGETPVTBL(p,IGL)->glDepthFunc(a)
#define IGL_glDepthMask(p,a) AEEGETPVTBL(p,IGL)->glDepthMask(a)
#define IGL_glDepthRangex(p,a,b) AEEGETPVTBL(p,IGL)->glDepthRangex(a,b)
#define IGL_glDisable(p,a) AEEGETPVTBL(p,IGL)->glDisable(a)
#define IGL_glDisableClientState(p,a) AEEGETPVTBL(p,IGL)->glDisableClientState(a)
#define IGL_glDrawArrays(p,a,b,c) AEEGETPVTBL(p,IGL)->glDrawArrays(a,b,c)
#define IGL_glDrawElements(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glDrawElements(a,b,c,d)
#define IGL_glEnable(p,a) AEEGETPVTBL(p,IGL)->glEnable(a)
#define IGL_glEnableClientState(p,a) AEEGETPVTBL(p,IGL)->glEnableClientState(a)
#define IGL_glFinish(p) AEEGETPVTBL(p,IGL)->glFinish()
#define IGL_glFlush(p) AEEGETPVTBL(p,IGL)->glFlush()
#define IGL_glFogx(p,a,b) AEEGETPVTBL(p,IGL)->glFogx(a,b)
#define IGL_glFogxv(p,a,b) AEEGETPVTBL(p,IGL)->glFogxv(a,b)
#define IGL_glFrontFace(p,a) AEEGETPVTBL(p,IGL)->glFrontFace(a)
#define IGL_glFrustumx(p,a,b,c,d,e,f) AEEGETPVTBL(p,IGL)->glFrustumx(a,b,c,d,e,f)
#define IGL_glGenTextures(p,a,b) AEEGETPVTBL(p,IGL)->glGenTextures(a,b)
#define IGL_glGetError(p) AEEGETPVTBL(p,IGL)->glGetError()
#define IGL_glGetIntegerv(p,a,b) AEEGETPVTBL(p,IGL)->glGetIntegerv(a,b)
#define IGL_glGetString(p,a) AEEGETPVTBL(p,IGL)->glGetString(a)
#define IGL_glHint(p,a,b) AEEGETPVTBL(p,IGL)->glHint(a,b)
#define IGL_glLightModelx(p,a,b) AEEGETPVTBL(p,IGL)->glLightModelx(a,b)
#define IGL_glLightModelxv(p,a,b) AEEGETPVTBL(p,IGL)->glLightModelxv(a,b)
#define IGL_glLightx(p,a,b,c) AEEGETPVTBL(p,IGL)->glLightx(a,b,c)
#define IGL_glLightxv(p,a,b,c) AEEGETPVTBL(p,IGL)->glLightxv(a,b,c)
#define IGL_glLineWidthx(p,a) AEEGETPVTBL(p,IGL)->glLineWidthx(a)
#define IGL_glLoadIdentity(p) AEEGETPVTBL(p,IGL)->glLoadIdentity()
#define IGL_glLoadMatrixx(p,a) AEEGETPVTBL(p,IGL)->glLoadMatrixx(a)
#define IGL_glLogicOp(p,a) AEEGETPVTBL(p,IGL)->glLogicOp(a)
#define IGL_glMaterialx(p,a,b,c) AEEGETPVTBL(p,IGL)->glMaterialx(a,b,c)
#define IGL_glMaterialxv(p,a,b,c) AEEGETPVTBL(p,IGL)->glMaterialxv(a,b,c)
#define IGL_glMatrixMode(p,a) AEEGETPVTBL(p,IGL)->glMatrixMode(a)
#define IGL_glMultMatrixx(p,a) AEEGETPVTBL(p,IGL)->glMultMatrixx(a)
#define IGL_glMultiTexCoord4x(p,a,b,c,d,e) AEEGETPVTBL(p,IGL)->glMultiTexCoord4x(a,b,c,d,e)
#define IGL_glNormal3x(p,a,b,c) AEEGETPVTBL(p,IGL)->glNormal3x(a,b,c)
#define IGL_glNormalPointer(p,a,b,c) AEEGETPVTBL(p,IGL)->glNormalPointer(a,b,c)
#define IGL_glOrthox(p,a,b,c,d,e,f) AEEGETPVTBL(p,IGL)->glOrthox(a,b,c,d,e,f)
#define IGL_glPixelStorei(p,a,b) AEEGETPVTBL(p,IGL)->glPixelStorei(a,b)
#define IGL_glPointSizex(p,a) AEEGETPVTBL(p,IGL)->glPointSizex(a)
#define IGL_glPolygonOffsetx(p,a,b) AEEGETPVTBL(p,IGL)->glPolygonOffsetx(a,b)
#define IGL_glPopMatrix(p) AEEGETPVTBL(p,IGL)->glPopMatrix()
#define IGL_glPushMatrix(p) AEEGETPVTBL(p,IGL)->glPushMatrix()
#define IGL_glReadPixels(p,a,b,c,d,e,f,g) AEEGETPVTBL(p,IGL)->glReadPixels(a,b,c,d,e,f,g)
#define IGL_glRotatex(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glRotatex(a,b,c,d)
#define IGL_glSampleCoveragex(p,a,b) AEEGETPVTBL(p,IGL)->glSampleCoveragex(a,b)
#define IGL_glScalex(p,a,b,c) AEEGETPVTBL(p,IGL)->glScalex(a,b,c)
#define IGL_glScissor(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glScissor(a,b,c,d)
#define IGL_glShadeModel(p,a) AEEGETPVTBL(p,IGL)->glShadeModel(a)
#define IGL_glStencilFunc(p,a,b,c) AEEGETPVTBL(p,IGL)->glStencilFunc(a,b,c)
#define IGL_glStencilMask(p,a) AEEGETPVTBL(p,IGL)->glStencilMask(a)
#define IGL_glStencilOp(p,a,b,c) AEEGETPVTBL(p,IGL)->glStencilOp(a,b,c)
#define IGL_glTexCoordPointer(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glTexCoordPointer(a,b,c,d)
#define IGL_glTexEnvx(p,a,b,c) AEEGETPVTBL(p,IGL)->glTexEnvx(a,b,c)
#define IGL_glTexEnvxv(p,a,b,c) AEEGETPVTBL(p,IGL)->glTexEnvxv(a,b,c)
#define IGL_glTexImage2D(p,a,b,c,d,e,f,g,h,i) AEEGETPVTBL(p,IGL)->glTexImage2D(a,b,c,d,e,f,g,h,i)
#define IGL_glTexParameterx(p,a,b,c) AEEGETPVTBL(p,IGL)->glTexParameterx(a,b,c)
#define IGL_glTexSubImage2D(p,a,b,c,d,e,f,g,h,i) AEEGETPVTBL(p,IGL)->glTexSubImage2D(a,b,c,d,e,f,g,h,i)
#define IGL_glTranslatex(p,a,b,c) AEEGETPVTBL(p,IGL)->glTranslatex(a,b,c)
#define IGL_glVertexPointer(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glVertexPointer(a,b,c,d)
#define IGL_glViewport(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glViewport(a,b,c,d)
#ifdef OGLES_USE_COMMON_PROFILE
#define IGL_glAlphaFunc(p,a,b) AEEGETPVTBL(p,IGL)->glAlphaFunc(a,b)
#define IGL_glClearColor(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glClearColor(a,b,c,d)
#define IGL_glClearDepthf(p,a) AEEGETPVTBL(p,IGL)->glClearDepthf(a)
#define IGL_glColor4f(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glColor4f(a,b,c,d)
#define IGL_glDepthRangef(p,a,b) AEEGETPVTBL(p,IGL)->glDepthRangef(a,b)
#define IGL_glFogf(p,a,b) AEEGETPVTBL(p,IGL)->glFogf(a,b)
#define IGL_glFogfv(p,a,b) AEEGETPVTBL(p,IGL)->glFogfv(a,b)
#define IGL_glFrustumf(p,a,b,c,d,e,f) AEEGETPVTBL(p,IGL)->glFrustumf(a,b,c,d,e,f)
#define IGL_glLightf(p,a,b,c) AEEGETPVTBL(p,IGL)->glLightf(a,b,c)
#define IGL_glLightfv(p,a,b,c) AEEGETPVTBL(p,IGL)->glLightfv(a,b,c)
#define IGL_glLightModelf(p,a,b) AEEGETPVTBL(p,IGL)->glLightModelf(a,b)
#define IGL_glLightModelfv(p,a,b) AEEGETPVTBL(p,IGL)->glLightModelfv(a,b)
#define IGL_glLineWidth(p,a) AEEGETPVTBL(p,IGL)->glLineWidth(a)
#define IGL_glLoadMatrixf(p,a) AEEGETPVTBL(p,IGL)->glLoadMatrixf(a)
#define IGL_glMaterialf(p,a,b,c) AEEGETPVTBL(p,IGL)->glMaterialf(a,b,c)
#define IGL_glMaterialfv(p,a,b,c) AEEGETPVTBL(p,IGL)->glMaterialfv(a,b,c)
#define IGL_glMultiTexCoord4f(p,a,b,c,d,e) AEEGETPVTBL(p,IGL)->glMultiTexCoord4f(a,b,c,d,e)
#define IGL_glMultMatrixf(p,a) AEEGETPVTBL(p,IGL)->glMultMatrixf(a)
#define IGL_glNormal3f(p,a,b,c) AEEGETPVTBL(p,IGL)->glNormal3f(a,b,c)
#define IGL_glOrthof(p,a,b,c,d,e,f) AEEGETPVTBL(p,IGL)->glOrthof(a,b,c,d,e,f)
#define IGL_glPointSize(p,a) AEEGETPVTBL(p,IGL)->glPointSize(a)
#define IGL_glPolygonOffset(p,a,b) AEEGETPVTBL(p,IGL)->glPolygonOffset(a,b)
#define IGL_glRotatef(p,a,b,c,d) AEEGETPVTBL(p,IGL)->glRotatef(a,b,c,d)
#define IGL_glSampleCoverage(p,a,b) AEEGETPVTBL(p,IGL)->glSampleCoverage(a,b)
#define IGL_glScalef(p,a,b,c) AEEGETPVTBL(p,IGL)->glScalef(a,b,c)
#define IGL_glTexEnvf(p,a,b,c) AEEGETPVTBL(p,IGL)->glTexEnvf(a,b,c)
#define IGL_glTexEnvfv(p,a,b,c) AEEGETPVTBL(p,IGL)->glTexEnvfv(a,b,c)
#define IGL_glTexParameterf(p,a,b,c) AEEGETPVTBL(p,IGL)->glTexParameterf(a,b,c)
#define IGL_glTranslatef(p,a,b,c) AEEGETPVTBL(p,IGL)->glTranslatef(a,b,c)
/* ATI ONLY NOT IN SPEC */
#define IGL_glTexParameterfv(p,a,b,c) AEEGETPVTBL(p,IGL)->glTexParameterfv(a,b,c)
#define IGL_glTexParameterxv(p,a,b,c) AEEGETPVTBL(p,IGL)->glTexParameterxv(a,b,c)
#endif
/*===============================================================================*
* *
* EGL I N T E R F A C E *
* *
*===============================================================================*/
AEEINTERFACE(IEGL)
{
INHERIT_IQueryInterface(IEGL);
EGLint (*eglGetError) (void);
EGLDisplay (*eglGetDisplay) (NativeDisplayType display);
EGLBoolean (*eglInitialize) (EGLDisplay dpy, EGLint *major, EGLint *minor);
EGLBoolean (*eglTerminate) (EGLDisplay dpy);
const char * (*eglQueryString) (EGLDisplay dpy, EGLint name);
void (* (*eglGetProcAddress) (const char *procname))();
EGLBoolean (*eglGetConfigs) (EGLDisplay dpy, EGLConfig *configs, EGLint config_size, EGLint *num_config);
EGLBoolean (*eglChooseConfig) (EGLDisplay dpy, const EGLint *attrib_list, EGLConfig *configs, EGLint config_size, EGLint *num_config);
EGLBoolean (*eglGetConfigAttrib) (EGLDisplay dpy, EGLConfig config, EGLint attribute, EGLint *value);
EGLSurface (*eglCreateWindowSurface) (EGLDisplay dpy, EGLConfig config, NativeWindowType window, const EGLint *attrib_list);
EGLSurface (*eglCreatePixmapSurface) (EGLDisplay dpy, EGLConfig config, NativePixmapType pixmap, const EGLint *attrib_list);
EGLSurface (*eglCreatePbufferSurface) (EGLDisplay dpy, EGLConfig config, const EGLint *attrib_list);
EGLBoolean (*eglDestroySurface) (EGLDisplay dpy, EGLSurface surface);
EGLBoolean (*eglQuerySurface) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, EGLint *value);
EGLContext (*eglCreateContext) (EGLDisplay dpy, EGLConfig config, EGLContext share_list, const EGLint *attrib_list);
EGLBoolean (*eglDestroyContext) (EGLDisplay dpy, EGLContext ctx);
EGLBoolean (*eglMakeCurrent) (EGLDisplay dpy, EGLSurface draw, EGLSurface read, EGLContext ctx);
EGLContext (*eglGetCurrentContext) (void);
EGLSurface (*eglGetCurrentSurface) (EGLint readdraw);
EGLDisplay (*eglGetCurrentDisplay) (void);
EGLBoolean (*eglQueryContext) (EGLDisplay dpy, EGLContext ctx, EGLint attribute, EGLint *value);
EGLBoolean (*eglWaitGL) (void);
EGLBoolean (*eglWaitNative) (EGLint engine);
EGLBoolean (*eglSwapBuffers) (EGLDisplay dpy, EGLSurface draw);
EGLBoolean (*eglCopyBuffers) (EGLDisplay dpy, EGLSurface surface, NativePixmapType target);
};
/*-------------------------------------------------------------------------------*
* A C C E S S M A C R O S *
*-------------------------------------------------------------------------------*/
#define IEGL_AddRef(p) AEEGETPVTBL(p,IEGL)->AddRef(p)
#define IEGL_Release(p) AEEGETPVTBL(p,IEGL)->Release(p)
#define IEGL_QueryInterface(p,a,b) AEEGETPVTBL(p,IEGL)->QueryInterface(p,a,b)
#define IEGL_eglGetError(p) AEEGETPVTBL(p,IEGL)->eglGetError()
#define IEGL_eglGetDisplay(p,a) AEEGETPVTBL(p,IEGL)->eglGetDisplay(a)
#define IEGL_eglInitialize(p,a,b,c) AEEGETPVTBL(p,IEGL)->eglInitialize(a,b,c)
#define IEGL_eglTerminate(p,a) AEEGETPVTBL(p,IEGL)->eglTerminate(a)
#define IEGL_eglQueryString(p,a,b) AEEGETPVTBL(p,IEGL)->eglQueryString(a,b)
#define IEGL_eglGetProcAddress(p,a) AEEGETPVTBL(p,IEGL)->eglGetProcAddress(a)
#define IEGL_eglGetConfigs(p,a,b,c,d) AEEGETPVTBL(p,IEGL)->eglGetConfigs(a,b,c,d)
#define IEGL_eglChooseConfig(p,a,b,c,d,e) AEEGETPVTBL(p,IEGL)->eglChooseConfig(a,b,c,d,e)
#define IEGL_eglGetConfigAttrib(p,a,b,c,d) AEEGETPVTBL(p,IEGL)->eglGetConfigAttrib(a,b,c,d)
#define IEGL_eglCreateWindowSurface(p,a,b,c,d) AEEGETPVTBL(p,IEGL)->eglCreateWindowSurface(a,b,c,d)
#define IEGL_eglCreatePixmapSurface(p,a,b,c,d) AEEGETPVTBL(p,IEGL)->eglCreatePixmapSurface(a,b,c,d)
#define IEGL_eglCreatePbufferSurface(p,a,b,c) AEEGETPVTBL(p,IEGL)->eglCreatePbufferSurface(a,b,c)
#define IEGL_eglDestroySurface(p,a,b) AEEGETPVTBL(p,IEGL)->eglDestroySurface(a,b)
#define IEGL_eglQuerySurface(p,a,b,c,d) AEEGETPVTBL(p,IEGL)->eglQuerySurface(a,b,c,d)
#define IEGL_eglCreateContext(p,a,b,c,d) AEEGETPVTBL(p,IEGL)->eglCreateContext(a,b,c,d)
#define IEGL_eglDestroyContext(p,a,b) AEEGETPVTBL(p,IEGL)->eglDestroyContext(a,b)
#define IEGL_eglMakeCurrent(p,a,b,c,d) AEEGETPVTBL(p,IEGL)->eglMakeCurrent(a,b,c,d)
#define IEGL_eglGetCurrentContext(p) AEEGETPVTBL(p,IEGL)->eglGetCurrentContext()
#define IEGL_eglGetCurrentSurface(p,a) AEEGETPVTBL(p,IEGL)->eglGetCurrentSurface(a)
#define IEGL_eglGetCurrentDisplay(p) AEEGETPVTBL(p,IEGL)->eglGetCurrentDisplay()
#define IEGL_eglQueryContext(p,a,b,c,d) AEEGETPVTBL(p,IEGL)->eglQueryContext(a,b,c,d)
#define IEGL_eglWaitGL(p) AEEGETPVTBL(p,IEGL)->eglWaitGL()
#define IEGL_eglWaitNative(p,a) AEEGETPVTBL(p,IEGL)->eglWaitNative(a)
#define IEGL_eglSwapBuffers(p,a,b) AEEGETPVTBL(p,IEGL)->eglSwapBuffers(a,b)
#define IEGL_eglCopyBuffers(p,a,b,c) AEEGETPVTBL(p,IEGL)->eglCopyBuffers(a,b,c)
#endif // AEEGL_H
/*=====================================================================
DATA STRUCTURE DOCUMENTATION
=======================================================================
GLenum
Description:
GLenum is an OpenGLES defined type. See the Khronos website at
===a href="http://www.khronos.org">www.khronos.org
===/a>
for details.
Definition:
See gl.h on the Khronos website.
See Also:
===a href="http://www.khronos.org">www.khronos.org
===/a>
=======================================================================
GLboolean
Description:
GLboolean is an OpenGLES defined type. See the Khronos website at
===a href="http://www.khronos.org">www.khronos.org
===/a>
for details.
Definition:
See gl.h on the Khronos website.
See Also:
===a href="http://www.khronos.org">www.khronos.org
===/a>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -