⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aeegl.h

📁 Brew 中使用的 OpenGL ES Extension源码。可以在Brew中开发 OpenGL 的程序
💻 H
📖 第 1 页 / 共 5 页
字号:
#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 + -