Ocean
GLESDynamicLibrary.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) Meta Platforms, Inc. and affiliates.
3  *
4  * This source code is licensed under the MIT license found in the
5  * LICENSE file in the root directory of this source tree.
6  */
7 
8 #ifndef META_OCEAN_RENDERING_GLES_DYNAMIC_LIBRARY_H
9 #define META_OCEAN_RENDERING_GLES_DYNAMIC_LIBRARY_H
10 
12 
13 #ifdef OCEAN_RENDERING_GLES_USE_DYNAMIC_LIBRARY
14 
15 #define GL_GLEXT_PROTOTYPES
16 
17 #if defined(OCEAN_PLATFORM_BUILD_LINUX)
18  #include <GL/gl.h>
19  #include <GL/glext.h>
20 #else
21  #include <gl/GL.h>
22  #include <gl/glext.h>
23 #endif
24 
25 namespace Ocean
26 {
27 
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 glDeleteBuffers(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteBuffers_(a, b)
41 #define glDeleteFramebuffers(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteFramebuffers_(a, b)
42 #define glDeleteProgram(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteProgram_(a)
43 #define glDeleteShader(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteShader_(a)
44 #define glDeleteTextures(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteTextures_(a, b)
45 #define glDeleteVertexArrays(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDeleteVertexArrays_(a, b)
46 #define glDetachShader(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glDetachShader_(a, b)
47 #define glDrawArrays(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glDrawArrays_(a, b, c)
48 #define glDrawElements(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glDrawElements_(a, b, c, d)
49 #define glEnableVertexAttribArray(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glEnableVertexAttribArray_(a)
50 #define glFramebufferTexture2D(a, b, c, d, e) Rendering::GLESceneGraph::GLESDynamicLibrary::glFramebufferTexture2D_(a, b, c, d, e)
51 #define glGenBuffers(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenBuffers_(a, b)
52 #define glGenerateMipmap(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenerateMipmap_(a)
53 #define glGenFramebuffers(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenFramebuffers_(a, b)
54 #define glGenTextures(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenTextures_(a, b)
55 #define glGenVertexArrays(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGenVertexArrays_(a, b)
56 #define glGetAttribLocation(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetAttribLocation_(a, b)
57 #define glGetProgramInfoLog(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetProgramInfoLog_(a, b, c, d)
58 #define glGetProgramiv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetProgramiv_(a, b, c)
59 #define glGetShaderInfoLog(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetShaderInfoLog_(a, b, c, d)
60 #define glGetShaderiv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetShaderiv_(a, b, c)
61 #define glGetStringi(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetStringi_(a, b)
62 #define glGetUniformLocation(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glGetUniformLocation_(a, b)
63 #define glIsProgram(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glIsProgram_(a)
64 #define glLinkProgram(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glLinkProgram_(a)
65 #define glReleaseShaderCompiler() Rendering::GLESceneGraph::GLESDynamicLibrary::glReleaseShaderCompiler_()
66 #define glShaderSource(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glShaderSource_(a, b, c, d)
67 #define glTexImage2DMultisample(a, b, c, d, e, f) Rendering::GLESceneGraph::GLESDynamicLibrary::glTexImage2DMultisample_(a, b, c, d, e, f)
68 #define glUniform1f(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform1f_(a, b)
69 #define glUniform1i(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform1i_(a, b)
70 #define glUniform1ui(a, b) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform1ui_(a, b)
71 #define glUniform2f(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform2f_(a, b, c)
72 #define glUniform2fv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform2fv_(a, b, c)
73 #define glUniform3f(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform3f_(a, b, c, d)
74 #define glUniform3fv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform3fv_(a, b, c)
75 #define glUniform4f(a, b, c, d, e) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform4f_(a, b, c, d, e)
76 #define glUniform4fv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform4fv_(a, b, c)
77 #define glUniform1fv(a, b, c) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniform1fv_(a, b, c)
78 #define glUniformMatrix3fv(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniformMatrix3fv_(a, b, c, d)
79 #define glUniformMatrix4fv(a, b, c, d) Rendering::GLESceneGraph::GLESDynamicLibrary::glUniformMatrix4fv_(a, b, c, d)
80 #define glUseProgram(a) Rendering::GLESceneGraph::GLESDynamicLibrary::glUseProgram_(a)
81 #define glVertexAttribPointer(a, b, c, d, e, f) Rendering::GLESceneGraph::GLESDynamicLibrary::glVertexAttribPointer_(a, b, c, d, e, f)
82 #define glVertexAttribIPointer(a, b, c, d, e) Rendering::GLESceneGraph::GLESDynamicLibrary::glVertexAttribIPointer_(a, b, c, d, e)
83 
84 namespace Rendering
85 {
86 
87 namespace GLESceneGraph
88 {
89 
90 /**
91  * This class stores the OpenGL function pointers for OpenGL 2.0+ functions
92  * @ingroup renderinggles
93  */
94 class OCEAN_RENDERING_GLES_EXPORT GLESDynamicLibrary
95 {
96  public:
97 
98  typedef void (__stdcall *glActiveTextureFunction)(GLenum texture);
99  typedef void (__stdcall *glAttachShaderFunction)(GLuint, GLuint);
100  typedef void (__stdcall *glBindBufferFunction)(GLenum, GLuint);
101  typedef void (__stdcall *glBindFramebufferFunction)(GLenum target, GLuint framebuffer);
102  typedef void (__stdcall *glBindVertexArrayFunction)(GLuint array);
103  typedef void (__stdcall *glBufferDataFunction)(GLenum, GLsizeiptr, const void*, GLenum);
104  typedef GLenum (__stdcall *glCheckFramebufferStatusFunction)(GLenum target);
105  typedef void (__stdcall *glClearDepthfFunction)(GLclampf);
106  typedef void (__stdcall *glCompileShaderFunction)(GLuint);
107  typedef void (__stdcall *glCompressedTexImage2DFunction)(GLenum, GLint, GLenum, GLsizei, GLsizei, GLint, GLsizei, const void*);
108  typedef GLuint (__stdcall *glCreateProgramFunction)();
109  typedef GLuint (__stdcall *glCreateShaderFunction)(GLenum type);
110  typedef void (__stdcall *glDeleteBuffersFunction)(GLsizei, const GLuint*);
111  typedef void (__stdcall *glDeleteFramebuffersFunction)(GLsizei n, const GLuint * framebuffers);
112  typedef void (__stdcall *glDeleteProgramFunction)(GLuint);
113  typedef void (__stdcall *glDeleteShaderFunction)(GLuint);
114  typedef void (__stdcall *glDeleteTexturesFunction)(GLsizei, const GLuint*);
115  typedef void (__stdcall *glDeleteVertexArraysFunction)(GLsizei, const GLuint*);
116  typedef void (__stdcall *glDetachShaderFunction)(GLuint, GLuint);
117  typedef void (__stdcall *glDrawArraysFunction)(GLenum, GLint, GLsizei);
118  typedef void (__stdcall *glDrawElementsFunction)(GLenum, GLsizei, GLenum, const void*);
119  typedef void (__stdcall *glEnableVertexAttribArrayFunction)(GLuint index);
120  typedef void (__stdcall *glFramebufferTexture2DFunction)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
121  typedef void (__stdcall *glGenBuffersFunction)(GLsizei, GLuint*);
122  typedef void (__stdcall *glGenerateMipmapFunction)(GLenum target);
123  typedef void (__stdcall *glGenFramebuffersFunction)(GLsizei n, GLuint *ids);
124  typedef void (__stdcall *glGenTexturesFunction)(GLsizei, GLuint*);
125  typedef void (__stdcall *glGenVertexArraysFunction)(GLsizei n, GLuint *arrays);
126  typedef int (__stdcall *glGetAttribLocationFunction)(GLuint, const char*);
127  typedef void (__stdcall *glGetProgramInfoLogFunction)(GLuint, GLsizei, GLsizei*, char*);
128  typedef void (__stdcall *glGetProgramivFunction)(GLuint, GLenum, GLint*);
129  typedef void (__stdcall *glGetShaderInfoLogFunction)(GLuint, GLsizei, GLsizei*, char*);
130  typedef void (__stdcall *glGetShaderivFunction)(GLuint, GLenum, GLint*);
131  typedef GLubyte* (__stdcall *glGetStringiFunction)(GLenum, GLuint);
132  typedef int (__stdcall *glGetUniformLocationFunction)(GLuint, const char*);
133  typedef GLboolean (__stdcall *glIsProgramFunction)(GLuint program);
134  typedef void (__stdcall *glLinkProgramFunction)(GLuint);
135  typedef void (__stdcall *glReleaseShaderCompilerFunction)();
136  typedef void (__stdcall *glShaderSourceFunction)(GLuint, GLsizei, const char**, const GLint*);
137  typedef void (__stdcall *glTexImage2DMultisampleFunction)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLboolean);
138  typedef void (__stdcall *glUniform1fFunction)(GLint location, GLfloat x);
139  typedef void (__stdcall *glUniform1fvFunction)(GLint, GLsizei, const GLfloat*);
140  typedef void (__stdcall *glUniform1iFunction)(GLint, GLint);
141  typedef void (__stdcall *glUniform1uiFunction)(GLint, GLuint);
142  typedef void (__stdcall *glUniform2fFunction)(GLint, GLfloat, GLfloat);
143  typedef void (__stdcall *glUniform2fvFunction)(GLint location, GLsizei count, const GLfloat* v);
144  typedef void (__stdcall *glUniform3fFunction)(GLint, GLfloat, GLfloat, GLfloat);
145  typedef void (__stdcall *glUniform3fvFunction)(GLint location, GLsizei count, const GLfloat* v);
146  typedef void (__stdcall *glUniform4fFunction)(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
147  typedef void (__stdcall *glUniform4fvFunction)(GLint location, GLsizei count, const GLfloat* v);
148  typedef void (__stdcall *glUniformMatrix3fvFunction)(GLint, GLsizei, GLboolean, const GLfloat*);
149  typedef void (__stdcall *glUniformMatrix4fvFunction)(GLint, GLsizei, GLboolean, const GLfloat*);
150  typedef void (__stdcall *glUseProgramFunction)(GLuint);
151  typedef void (__stdcall *glVertexAttribPointerFunction)(GLuint, GLint, GLenum, GLboolean, GLsizei, const void*);
152  typedef void (__stdcall *glVertexAttribIPointerFunction)(GLuint, GLint, GLenum, GLsizei, const void*);
153 
154  public:
155 
156  /**
157  * Initializes the library interface.
158  * The windows mobile dynamic egl dll will be loaded and all function pointers will be extracted.<br>
159  * Don't call any interface function before a successful initialization.
160  */
161  static bool initialize();
162 
163  /**
164  * Releases the library interface and disposes all interface functions.
165  */
166  static void release();
167 
168  protected:
169 
170  /**
171  * Initializes a function pointer.
172  * @param function The function to be initialized, must point to nullptr
173  * @param functionName The name of the function to initialize
174  * @tparam T The data type of the function pointer
175  */
176  template <typename T>
177  static void initializeFunction(T& function, const char* functionName);
178 
179  public:
180 
181  static glActiveTextureFunction glActiveTexture_;
182  static glAttachShaderFunction glAttachShader_;
183  static glBindBufferFunction glBindBuffer_;
184  static glBindFramebufferFunction glBindFramebuffer_;
185  static glBindVertexArrayFunction glBindVertexArray_;
186  static glBufferDataFunction glBufferData_;
187  static glCheckFramebufferStatusFunction glCheckFramebufferStatus_;
188  static glClearDepthfFunction glClearDepthf_;
189  static glCompileShaderFunction glCompileShader_;
190  static glCompressedTexImage2DFunction glCompressedTexImage2D_;
191  static glCreateProgramFunction glCreateProgram_;
192  static glCreateShaderFunction glCreateShader_;
193  static glDeleteBuffersFunction glDeleteBuffers_;
194  static glDeleteFramebuffersFunction glDeleteFramebuffers_;
195  static glDeleteProgramFunction glDeleteProgram_;
196  static glDeleteShaderFunction glDeleteShader_;
197  static glDeleteTexturesFunction glDeleteTextures_;
198  static glDeleteVertexArraysFunction glDeleteVertexArrays_;
199  static glDetachShaderFunction glDetachShader_;
200  static glDrawArraysFunction glDrawArrays_;
201  static glDrawElementsFunction glDrawElements_;
202  static glEnableVertexAttribArrayFunction glEnableVertexAttribArray_;
203  static glFramebufferTexture2DFunction glFramebufferTexture2D_;
204  static glGenBuffersFunction glGenBuffers_;
205  static glGenerateMipmapFunction glGenerateMipmap_;
206  static glGenFramebuffersFunction glGenFramebuffers_;
207  static glGenTexturesFunction glGenTextures_;
208  static glGenVertexArraysFunction glGenVertexArrays_;
209  static glGetAttribLocationFunction glGetAttribLocation_;
210  static glGetProgramInfoLogFunction glGetProgramInfoLog_;
211  static glGetProgramivFunction glGetProgramiv_;
212  static glGetShaderInfoLogFunction glGetShaderInfoLog_;
213  static glGetShaderivFunction glGetShaderiv_;
214  static glGetStringiFunction glGetStringi_;
215  static glGetUniformLocationFunction glGetUniformLocation_;
216  static glIsProgramFunction glIsProgram_;
217  static glLinkProgramFunction glLinkProgram_;
218  static glReleaseShaderCompilerFunction glReleaseShaderCompiler_;
219  static glShaderSourceFunction glShaderSource_;
220  static glTexImage2DMultisampleFunction glTexImage2DMultisample_;
221  static glUniform1fFunction glUniform1f_;
222  static glUniform1fvFunction glUniform1fv_;
223  static glUniform1iFunction glUniform1i_;
224  static glUniform1uiFunction glUniform1ui_;
225  static glUniform2fFunction glUniform2f_;
226  static glUniform4fvFunction glUniform2fv_;
227  static glUniform3fFunction glUniform3f_;
228  static glUniform4fvFunction glUniform3fv_;
229  static glUniform4fFunction glUniform4f_;
230  static glUniform4fvFunction glUniform4fv_;
231  static glUniformMatrix3fvFunction glUniformMatrix3fv_;
232  static glUniformMatrix4fvFunction glUniformMatrix4fv_;
233  static glUseProgramFunction glUseProgram_;
234  static glVertexAttribPointerFunction glVertexAttribPointer_;
235  static glVertexAttribIPointerFunction glVertexAttribIPointer_;
236 };
237 
238 }
239 
240 }
241 
242 }
243 
244 #endif // OCEAN_RENDERING_GLES_USE_DYNAMIC_LIBRARY
245 
246 #endif // META_OCEAN_RENDERING_GLES_DYNAMIC_LIBRARY_H
This class stores the OpenGL function pointers for OpenGL 2.0+ functions.
Definition: GLESDynamicLibrary.h:95
static glBindBufferFunction glBindBuffer_
Definition: GLESDynamicLibrary.h:183
static glLinkProgramFunction glLinkProgram_
Definition: GLESDynamicLibrary.h:217
static glUniform1iFunction glUniform1i_
Definition: GLESDynamicLibrary.h:223
static void initializeFunction(T &function, const char *functionName)
Initializes a function pointer.
static glGetAttribLocationFunction glGetAttribLocation_
Definition: GLESDynamicLibrary.h:209
static glGetStringiFunction glGetStringi_
Definition: GLESDynamicLibrary.h:214
static glDeleteVertexArraysFunction glDeleteVertexArrays_
Definition: GLESDynamicLibrary.h:198
static glDrawArraysFunction glDrawArrays_
Definition: GLESDynamicLibrary.h:200
static glClearDepthfFunction glClearDepthf_
Definition: GLESDynamicLibrary.h:188
static glBindVertexArrayFunction glBindVertexArray_
Definition: GLESDynamicLibrary.h:185
static glFramebufferTexture2DFunction glFramebufferTexture2D_
Definition: GLESDynamicLibrary.h:203
GLubyte *(__stdcall * glGetStringiFunction)(GLenum, GLuint)
Definition: GLESDynamicLibrary.h:131
static glShaderSourceFunction glShaderSource_
Definition: GLESDynamicLibrary.h:219
static glCompileShaderFunction glCompileShader_
Definition: GLESDynamicLibrary.h:189
static glUniform4fvFunction glUniform4fv_
Definition: GLESDynamicLibrary.h:230
static glUniform1fvFunction glUniform1fv_
Definition: GLESDynamicLibrary.h:222
static glUniform1uiFunction glUniform1ui_
Definition: GLESDynamicLibrary.h:224
static glUniformMatrix4fvFunction glUniformMatrix4fv_
Definition: GLESDynamicLibrary.h:232
static glReleaseShaderCompilerFunction glReleaseShaderCompiler_
Definition: GLESDynamicLibrary.h:218
static glEnableVertexAttribArrayFunction glEnableVertexAttribArray_
Definition: GLESDynamicLibrary.h:202
static glUniform4fvFunction glUniform3fv_
Definition: GLESDynamicLibrary.h:228
static glUseProgramFunction glUseProgram_
Definition: GLESDynamicLibrary.h:233
static glCheckFramebufferStatusFunction glCheckFramebufferStatus_
Definition: GLESDynamicLibrary.h:187
static glCompressedTexImage2DFunction glCompressedTexImage2D_
Definition: GLESDynamicLibrary.h:190
static glGenVertexArraysFunction glGenVertexArrays_
Definition: GLESDynamicLibrary.h:208
static glDeleteBuffersFunction glDeleteBuffers_
Definition: GLESDynamicLibrary.h:193
static glGetProgramInfoLogFunction glGetProgramInfoLog_
Definition: GLESDynamicLibrary.h:210
static glUniform3fFunction glUniform3f_
Definition: GLESDynamicLibrary.h:227
static glDeleteProgramFunction glDeleteProgram_
Definition: GLESDynamicLibrary.h:195
static glVertexAttribPointerFunction glVertexAttribPointer_
Definition: GLESDynamicLibrary.h:234
static glGetProgramivFunction glGetProgramiv_
Definition: GLESDynamicLibrary.h:211
static glGetShaderivFunction glGetShaderiv_
Definition: GLESDynamicLibrary.h:213
static glUniform4fvFunction glUniform2fv_
Definition: GLESDynamicLibrary.h:226
static glBindFramebufferFunction glBindFramebuffer_
Definition: GLESDynamicLibrary.h:184
static glGenBuffersFunction glGenBuffers_
Definition: GLESDynamicLibrary.h:204
static glDeleteShaderFunction glDeleteShader_
Definition: GLESDynamicLibrary.h:196
static glGenerateMipmapFunction glGenerateMipmap_
Definition: GLESDynamicLibrary.h:205
static void release()
Releases the library interface and disposes all interface functions.
static glDrawElementsFunction glDrawElements_
Definition: GLESDynamicLibrary.h:201
static glIsProgramFunction glIsProgram_
Definition: GLESDynamicLibrary.h:216
static glActiveTextureFunction glActiveTexture_
Definition: GLESDynamicLibrary.h:181
static glCreateProgramFunction glCreateProgram_
Definition: GLESDynamicLibrary.h:191
static glUniform1fFunction glUniform1f_
Definition: GLESDynamicLibrary.h:221
static glGetShaderInfoLogFunction glGetShaderInfoLog_
Definition: GLESDynamicLibrary.h:212
static glVertexAttribIPointerFunction glVertexAttribIPointer_
Definition: GLESDynamicLibrary.h:235
static glAttachShaderFunction glAttachShader_
Definition: GLESDynamicLibrary.h:182
static glCreateShaderFunction glCreateShader_
Definition: GLESDynamicLibrary.h:192
static glUniformMatrix3fvFunction glUniformMatrix3fv_
Definition: GLESDynamicLibrary.h:231
static glGetUniformLocationFunction glGetUniformLocation_
Definition: GLESDynamicLibrary.h:215
static glDeleteTexturesFunction glDeleteTextures_
Definition: GLESDynamicLibrary.h:197
static glBufferDataFunction glBufferData_
Definition: GLESDynamicLibrary.h:186
static glGenFramebuffersFunction glGenFramebuffers_
Definition: GLESDynamicLibrary.h:206
static glGenTexturesFunction glGenTextures_
Definition: GLESDynamicLibrary.h:207
static glDeleteFramebuffersFunction glDeleteFramebuffers_
Definition: GLESDynamicLibrary.h:194
static glUniform2fFunction glUniform2f_
Definition: GLESDynamicLibrary.h:225
static glDetachShaderFunction glDetachShader_
Definition: GLESDynamicLibrary.h:199
static glTexImage2DMultisampleFunction glTexImage2DMultisample_
Definition: GLESDynamicLibrary.h:220
static bool initialize()
Initializes the library interface.
static glUniform4fFunction glUniform4f_
Definition: GLESDynamicLibrary.h:229
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15