All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gles2_funcptrs.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8 
9 /* remove these where already defined as typedefs (GCC 4 complains of duplicate definitions) */
10 typedef void (GL_APIENTRY* PFNGLTEXIMAGE1DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
11 typedef void (GL_APIENTRY* PFNGLTEXIMAGE3DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
12 typedef void (GL_APIENTRY* PFNGLCOMPRESSEDTEXIMAGE1DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const GLvoid *data);
13 typedef void (GL_APIENTRY* PFNGLCOMPRESSEDTEXIMAGE3DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid *data);
14 
15 /* remove these where already defined as functions */
16 extern PFNGLTEXIMAGE1DPROC glTexImage1D;
17 extern PFNGLTEXIMAGE3DPROC glTexImage3D;
18 extern PFNGLCOMPRESSEDTEXIMAGE1DPROC glCompressedTexImage1D;
19 extern PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D;
20 
21 /* and these */
22 #define DECLARE_GL_FUNCPTRS \
23  PFNGLTEXIMAGE1DPROC glTexImage1D = 0; \
24  PFNGLTEXIMAGE3DPROC glTexImage3D = 0; \
25  PFNGLCOMPRESSEDTEXIMAGE1DPROC glCompressedTexImage1D = 0; \
26  PFNGLCOMPRESSEDTEXIMAGE3DPROC glCompressedTexImage3D = 0;
27 
28 /* remove this if you use GLEW and already have this */
29 extern int GLEW_OES_compressed_ETC1_RGB8_texture;
30 
31 /* and make this macro empty */
32 #define DECLARE_GL_EXTGLOBALS \
33  int GLEW_OES_compressed_ETC1_RGB8_texture = 0;
34 
35 #ifdef __cplusplus
36 }
37 #endif
38