8#ifndef META_OCEAN_RENDERING_GLES_DYNAMIC_LIBRARY_H
9#define META_OCEAN_RENDERING_GLES_DYNAMIC_LIBRARY_H
13#ifdef OCEAN_RENDERING_GLES_USE_DYNAMIC_LIBRARY
15#define GL_GLEXT_PROTOTYPES
17#if defined(OCEAN_PLATFORM_BUILD_LINUX)
28#define glActiveTexture(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glActiveTexture_(a)
29#define glAttachShader(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glAttachShader_(a, b)
30#define glBindBuffer(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glBindBuffer_(a, b)
31#define glBindFramebuffer(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glBindFramebuffer_(a, b)
32#define glBindVertexArray(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glBindVertexArray_(a)
33#define glBufferData(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glBufferData_(a, b, c, d)
34#define glCheckFramebufferStatus(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glCheckFramebufferStatus_(a)
35#define glClearDepthf(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glClearDepthf_(a)
36#define glCompileShader(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glCompileShader_(a)
37#define glCompressedTexImage2D(a, b, c, d, e, f, g, h) Rendering::GLESceneGraph::GLESDynamicLibrary::glCompressedTexImage2D_(a, b, c, d, e, f, g, h)
38#define glCreateProgram() Rendering::GLESceneGraph::GLESDynamicLibrary::glCreateProgram_()
39#define glCreateShader(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glCreateShader_(a)
40#define glDebugMessageCallback(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDebugMessageCallback_(a, b)
41#define glDeleteBuffers(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteBuffers_(a, b)
42#define glDeleteFramebuffers(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteFramebuffers_(a, b)
43#define glDeleteProgram(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteProgram_(a)
44#define glDeleteShader(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteShader_(a)
45#define glDeleteTextures(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteTextures_(a, b)
46#define glDeleteVertexArrays(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteVertexArrays_(a, b)
47#define glDetachShader(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDetachShader_(a, b)
48#define glDrawArrays(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glDrawArrays_(a, b, c)
49#define glDrawElements(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glDrawElements_(a, b, c, d)
50#define glEnableVertexAttribArray(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glEnableVertexAttribArray_(a)
51#define glFramebufferTexture2D(a, b, c, d, e) Rendering::GLESceneGraph::GLESDynamicLibrary::glFramebufferTexture2D_(a, b, c, d, e)
52#define glGenBuffers(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenBuffers_(a, b)
53#define glGenerateMipmap(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenerateMipmap_(a)
54#define glGenFramebuffers(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenFramebuffers_(a, b)
55#define glGenTextures(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenTextures_(a, b)
56#define glGenVertexArrays(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenVertexArrays_(a, b)
57#define glGetAttribLocation(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetAttribLocation_(a, b)
58#define glGetProgramInfoLog(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetProgramInfoLog_(a, b, c, d)
59#define glGetProgramiv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetProgramiv_(a, b, c)
60#define glGetShaderInfoLog(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetShaderInfoLog_(a, b, c, d)
61#define glGetShaderiv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetShaderiv_(a, b, c)
62#define glGetStringi(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetStringi_(a, b)
63#define glGetUniformLocation(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetUniformLocation_(a, b)
64#define glIsProgram(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glIsProgram_(a)
65#define glLinkProgram(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glLinkProgram_(a)
66#define glReleaseShaderCompiler() Rendering::GLESceneGraph::GLESDynamicLibrary::glReleaseShaderCompiler_()
67#define glShaderSource(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glShaderSource_(a, b, c, d)
68#define glTexImage2DMultisample(a, b, c, d, e, f) Rendering::GLESceneGraph::GLESDynamicLibrary::glTexImage2DMultisample_(a, b, c, d, e, f)
69#define glUniform1f(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform1f_(a, b)
70#define glUniform1i(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform1i_(a, b)
71#define glUniform1ui(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform1ui_(a, b)
72#define glUniform2f(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform2f_(a, b, c)
73#define glUniform2fv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform2fv_(a, b, c)
74#define glUniform3f(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform3f_(a, b, c, d)
75#define glUniform3fv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform3fv_(a, b, c)
76#define glUniform4f(a, b, c, d, e) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform4f_(a, b, c, d, e)
77#define glUniform4fv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform4fv_(a, b, c)
78#define glUniform1fv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform1fv_(a, b, c)
79#define glUniformMatrix3fv(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniformMatrix3fv_(a, b, c, d)
80#define glUniformMatrix4fv(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniformMatrix4fv_(a, b, c, d)
81#define glUseProgram(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glUseProgram_(a)
82#define glVertexAttribPointer(a, b, c, d, e, f) Rendering::GLESceneGraph::GLESDynamicLibrary::glVertexAttribPointer_(a, b, c, d, e, f)
83#define glVertexAttribIPointer(a, b, c, d, e) Rendering::GLESceneGraph::GLESDynamicLibrary::glVertexAttribIPointer_(a, b, c, d, e)
88namespace GLESceneGraph
99 using DebugCallbackFunction = void (*)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length,
const GLchar* message,
const void* userParam);
150 using glUniform4fFunction = void (__stdcall *)(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
180 template <
typename T>
This class stores the OpenGL function pointers for OpenGL 2.0+ functions.
Definition GLESDynamicLibrary.h:96
static glBindBufferFunction glBindBuffer_
Definition GLESDynamicLibrary.h:187
void(__stdcall *)(GLsizei, GLuint *) glGenBuffersFunction
Definition GLESDynamicLibrary.h:125
void(__stdcall *)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean) glTexImage2DMultisampleFunction
Definition GLESDynamicLibrary.h:141
static glLinkProgramFunction glLinkProgram_
Definition GLESDynamicLibrary.h:222
static glDebugMessageCallbackFunction glDebugMessageCallback_
Definition GLESDynamicLibrary.h:197
static glUniform1iFunction glUniform1i_
Definition GLESDynamicLibrary.h:228
void(__stdcall *)(GLuint index) glEnableVertexAttribArrayFunction
Definition GLESDynamicLibrary.h:123
void(__stdcall *)(GLclampf) glClearDepthfFunction
Definition GLESDynamicLibrary.h:108
static void initializeFunction(T &function, const char *functionName)
Initializes a function pointer.
void(__stdcall *)(GLuint, GLsizei, GLsizei *, char *) glGetShaderInfoLogFunction
Definition GLESDynamicLibrary.h:133
static glGetAttribLocationFunction glGetAttribLocation_
Definition GLESDynamicLibrary.h:214
void(__stdcall *)(GLuint) glCompileShaderFunction
Definition GLESDynamicLibrary.h:109
static glGetStringiFunction glGetStringi_
Definition GLESDynamicLibrary.h:219
static glDeleteVertexArraysFunction glDeleteVertexArrays_
Definition GLESDynamicLibrary.h:203
void(__stdcall *)(GLuint, GLint, GLenum, GLsizei, const void *) glVertexAttribIPointerFunction
Definition GLESDynamicLibrary.h:156
static glDrawArraysFunction glDrawArrays_
Definition GLESDynamicLibrary.h:205
static glClearDepthfFunction glClearDepthf_
Definition GLESDynamicLibrary.h:192
static glBindVertexArrayFunction glBindVertexArray_
Definition GLESDynamicLibrary.h:189
static glFramebufferTexture2DFunction glFramebufferTexture2D_
Definition GLESDynamicLibrary.h:208
void(__stdcall *)(GLint location, GLsizei count, const GLfloat *v) glUniform4fvFunction
Definition GLESDynamicLibrary.h:151
static glShaderSourceFunction glShaderSource_
Definition GLESDynamicLibrary.h:224
void(__stdcall *)(GLenum, GLsizei, GLenum, const void *) glDrawElementsFunction
Definition GLESDynamicLibrary.h:122
void(__stdcall *)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level) glFramebufferTexture2DFunction
Definition GLESDynamicLibrary.h:124
static glCompileShaderFunction glCompileShader_
Definition GLESDynamicLibrary.h:193
void(__stdcall *)(GLint, GLfloat, GLfloat) glUniform2fFunction
Definition GLESDynamicLibrary.h:146
int(__stdcall *)(GLuint, const char *) glGetAttribLocationFunction
Definition GLESDynamicLibrary.h:130
static glUniform4fvFunction glUniform4fv_
Definition GLESDynamicLibrary.h:235
void(__stdcall *)(GLint, GLsizei, const GLfloat *) glUniform1fvFunction
Definition GLESDynamicLibrary.h:143
static glUniform1fvFunction glUniform1fv_
Definition GLESDynamicLibrary.h:227
static glUniform1uiFunction glUniform1ui_
Definition GLESDynamicLibrary.h:229
static glUniformMatrix4fvFunction glUniformMatrix4fv_
Definition GLESDynamicLibrary.h:237
static glReleaseShaderCompilerFunction glReleaseShaderCompiler_
Definition GLESDynamicLibrary.h:223
int(__stdcall *)(GLuint, const char *) glGetUniformLocationFunction
Definition GLESDynamicLibrary.h:136
void(__stdcall *)(GLuint) glLinkProgramFunction
Definition GLESDynamicLibrary.h:138
static glEnableVertexAttribArrayFunction glEnableVertexAttribArray_
Definition GLESDynamicLibrary.h:207
static glUniform4fvFunction glUniform3fv_
Definition GLESDynamicLibrary.h:233
static glUseProgramFunction glUseProgram_
Definition GLESDynamicLibrary.h:238
GLuint(__stdcall *)() glCreateProgramFunction
Definition GLESDynamicLibrary.h:111
static glCheckFramebufferStatusFunction glCheckFramebufferStatus_
Definition GLESDynamicLibrary.h:191
void(__stdcall *)(GLuint, GLsizei, const char **, const GLint *) glShaderSourceFunction
Definition GLESDynamicLibrary.h:140
void(__stdcall *)(GLint, GLsizei, GLboolean, const GLfloat *) glUniformMatrix4fvFunction
Definition GLESDynamicLibrary.h:153
static glCompressedTexImage2DFunction glCompressedTexImage2D_
Definition GLESDynamicLibrary.h:194
void(__stdcall *)(GLint location, GLfloat x) glUniform1fFunction
Definition GLESDynamicLibrary.h:142
void(__stdcall *)(GLsizei, const GLuint *) glDeleteBuffersFunction
Definition GLESDynamicLibrary.h:114
void(__stdcall *)(GLuint array) glBindVertexArrayFunction
Definition GLESDynamicLibrary.h:105
static glGenVertexArraysFunction glGenVertexArrays_
Definition GLESDynamicLibrary.h:213
void(__stdcall *)(GLsizei n, const GLuint *framebuffers) glDeleteFramebuffersFunction
Definition GLESDynamicLibrary.h:115
void(__stdcall *)(GLenum, GLuint) glBindBufferFunction
Definition GLESDynamicLibrary.h:103
void(__stdcall *)(GLuint) glDeleteProgramFunction
Definition GLESDynamicLibrary.h:116
void(__stdcall *)(GLuint, GLenum, GLint *) glGetShaderivFunction
Definition GLESDynamicLibrary.h:134
void(__stdcall *)(GLenum texture) glActiveTextureFunction
Definition GLESDynamicLibrary.h:101
static glDeleteBuffersFunction glDeleteBuffers_
Definition GLESDynamicLibrary.h:198
static glGetProgramInfoLogFunction glGetProgramInfoLog_
Definition GLESDynamicLibrary.h:215
void(__stdcall *)(GLenum, GLsizeiptr, const void *, GLenum) glBufferDataFunction
Definition GLESDynamicLibrary.h:106
void(__stdcall *)(GLint, GLfloat, GLfloat, GLfloat) glUniform3fFunction
Definition GLESDynamicLibrary.h:148
void(__stdcall *)(GLint, GLuint) glUniform1uiFunction
Definition GLESDynamicLibrary.h:145
static glUniform3fFunction glUniform3f_
Definition GLESDynamicLibrary.h:232
static glDeleteProgramFunction glDeleteProgram_
Definition GLESDynamicLibrary.h:200
static glVertexAttribPointerFunction glVertexAttribPointer_
Definition GLESDynamicLibrary.h:239
void(__stdcall *)(GLenum target) glGenerateMipmapFunction
Definition GLESDynamicLibrary.h:126
static glGetProgramivFunction glGetProgramiv_
Definition GLESDynamicLibrary.h:216
static glGetShaderivFunction glGetShaderiv_
Definition GLESDynamicLibrary.h:218
static glUniform4fvFunction glUniform2fv_
Definition GLESDynamicLibrary.h:231
static glBindFramebufferFunction glBindFramebuffer_
Definition GLESDynamicLibrary.h:188
void(__stdcall *)(GLuint, GLsizei, GLsizei *, char *) glGetProgramInfoLogFunction
Definition GLESDynamicLibrary.h:131
void(__stdcall *)(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) glUniform4fFunction
Definition GLESDynamicLibrary.h:150
static glGenBuffersFunction glGenBuffers_
Definition GLESDynamicLibrary.h:209
static glDeleteShaderFunction glDeleteShader_
Definition GLESDynamicLibrary.h:201
static glGenerateMipmapFunction glGenerateMipmap_
Definition GLESDynamicLibrary.h:210
static void release()
Releases the library interface and disposes all interface functions.
static glDrawElementsFunction glDrawElements_
Definition GLESDynamicLibrary.h:206
static glIsProgramFunction glIsProgram_
Definition GLESDynamicLibrary.h:221
GLubyte *(__stdcall *)(GLenum, GLuint) glGetStringiFunction
Definition GLESDynamicLibrary.h:135
void(__stdcall *)(GLuint, GLenum, GLint *) glGetProgramivFunction
Definition GLESDynamicLibrary.h:132
static glActiveTextureFunction glActiveTexture_
Definition GLESDynamicLibrary.h:185
static glCreateProgramFunction glCreateProgram_
Definition GLESDynamicLibrary.h:195
static glUniform1fFunction glUniform1f_
Definition GLESDynamicLibrary.h:226
void(__stdcall *)(GLsizei n, GLuint *arrays) glGenVertexArraysFunction
Definition GLESDynamicLibrary.h:129
GLenum(__stdcall *)(GLenum target) glCheckFramebufferStatusFunction
Definition GLESDynamicLibrary.h:107
static glGetShaderInfoLogFunction glGetShaderInfoLog_
Definition GLESDynamicLibrary.h:217
static glVertexAttribIPointerFunction glVertexAttribIPointer_
Definition GLESDynamicLibrary.h:240
void(*)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *userParam) DebugCallbackFunction
Definition GLESDynamicLibrary.h:99
void(__stdcall *)(GLenum target, GLuint framebuffer) glBindFramebufferFunction
Definition GLESDynamicLibrary.h:104
void(__stdcall *)(GLenum, GLint, GLsizei) glDrawArraysFunction
Definition GLESDynamicLibrary.h:121
static glAttachShaderFunction glAttachShader_
Definition GLESDynamicLibrary.h:186
static glCreateShaderFunction glCreateShader_
Definition GLESDynamicLibrary.h:196
static glUniformMatrix3fvFunction glUniformMatrix3fv_
Definition GLESDynamicLibrary.h:236
void(__stdcall *)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void *) glCompressedTexImage2DFunction
Definition GLESDynamicLibrary.h:110
GLuint(__stdcall *)(GLenum type) glCreateShaderFunction
Definition GLESDynamicLibrary.h:112
void(__stdcall *)(GLuint) glDeleteShaderFunction
Definition GLESDynamicLibrary.h:117
static glGetUniformLocationFunction glGetUniformLocation_
Definition GLESDynamicLibrary.h:220
void(__stdcall *)(GLuint) glUseProgramFunction
Definition GLESDynamicLibrary.h:154
static glDeleteTexturesFunction glDeleteTextures_
Definition GLESDynamicLibrary.h:202
void(__stdcall *)(GLsizei n, GLuint *ids) glGenFramebuffersFunction
Definition GLESDynamicLibrary.h:127
void(__stdcall *)(GLuint, GLuint) glDetachShaderFunction
Definition GLESDynamicLibrary.h:120
void(__stdcall *)(GLint location, GLsizei count, const GLfloat *v) glUniform3fvFunction
Definition GLESDynamicLibrary.h:149
void(__stdcall *)(GLsizei, const GLuint *) glDeleteTexturesFunction
Definition GLESDynamicLibrary.h:118
void(__stdcall *)(GLsizei, GLuint *) glGenTexturesFunction
Definition GLESDynamicLibrary.h:128
static glBufferDataFunction glBufferData_
Definition GLESDynamicLibrary.h:190
void(__stdcall *)(GLsizei, const GLuint *) glDeleteVertexArraysFunction
Definition GLESDynamicLibrary.h:119
GLboolean(__stdcall *)(GLuint program) glIsProgramFunction
Definition GLESDynamicLibrary.h:137
static glGenFramebuffersFunction glGenFramebuffers_
Definition GLESDynamicLibrary.h:211
void(__stdcall *)(GLint location, GLsizei count, const GLfloat *v) glUniform2fvFunction
Definition GLESDynamicLibrary.h:147
void(__stdcall *)() glReleaseShaderCompilerFunction
Definition GLESDynamicLibrary.h:139
static glGenTexturesFunction glGenTextures_
Definition GLESDynamicLibrary.h:212
void(__stdcall *)(DebugCallbackFunction, const void *) glDebugMessageCallbackFunction
Definition GLESDynamicLibrary.h:113
static glDeleteFramebuffersFunction glDeleteFramebuffers_
Definition GLESDynamicLibrary.h:199
static glUniform2fFunction glUniform2f_
Definition GLESDynamicLibrary.h:230
void(__stdcall *)(GLint, GLsizei, GLboolean, const GLfloat *) glUniformMatrix3fvFunction
Definition GLESDynamicLibrary.h:152
void(__stdcall *)(GLuint, GLuint) glAttachShaderFunction
Definition GLESDynamicLibrary.h:102
static glDetachShaderFunction glDetachShader_
Definition GLESDynamicLibrary.h:204
static glTexImage2DMultisampleFunction glTexImage2DMultisample_
Definition GLESDynamicLibrary.h:225
void(__stdcall *)(GLint, GLint) glUniform1iFunction
Definition GLESDynamicLibrary.h:144
static bool initialize()
Initializes the library interface.
static glUniform4fFunction glUniform4f_
Definition GLESDynamicLibrary.h:234
void(__stdcall *)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void *) glVertexAttribPointerFunction
Definition GLESDynamicLibrary.h:155
The namespace covering the entire Ocean framework.
Definition Accessor.h:15