More proper solution for glDrawElementsBaseVertex function

This commit is contained in:
Deve 2016-07-12 23:34:31 +02:00
parent 32cd942760
commit 81b471be1f
2 changed files with 10 additions and 4 deletions

View File

@ -62,9 +62,17 @@ extern "C" {
#define GL_FRAMEBUFFER_COMPLETE_EXT GL_FRAMEBUFFER_COMPLETE
extern PFNGLDEBUGMESSAGECALLBACKKHRPROC pglDebugMessageCallbackKHR;
extern PFNGLDRAWELEMENTSBASEVERTEXOESPROC pglDrawElementsBaseVertexOES;
#define glDrawElementsBaseVertex pglDrawElementsBaseVertexOES
#define glDebugMessageCallbackARB pglDebugMessageCallbackKHR
// The glDrawElementsBaseVertex is available only in OpenGL ES 3.2. At this
// stage the 'basevertex' argument is always equal to 0 because features that
// use it are disabled in OpenGL ES renderer. We can simply use glDrawElements
// instead.
inline void glDrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type,
GLvoid *indices, GLint basevertex)
{
glDrawElements(mode, count, type, indices);
}
#endif
struct DrawElementsIndirectCommand{

View File

@ -34,7 +34,6 @@
#include <EGL/egl.h>
#include <EGL/eglext.h>
PFNGLDRAWELEMENTSBASEVERTEXOESPROC pglDrawElementsBaseVertexOES = 0;
PFNGLDEBUGMESSAGECALLBACKKHRPROC pglDebugMessageCallbackKHR = 0;
#endif
@ -193,7 +192,6 @@ void initGL()
if (GLEW_OK != err)
Log::fatal("GLEW", "Glew initialisation failed with error %s", glewGetErrorString(err));
#else
glDrawElementsBaseVertex = (PFNGLDRAWELEMENTSBASEVERTEXOESPROC)eglGetProcAddress("glDrawElementsBaseVertexOES");
glDebugMessageCallbackARB = (PFNGLDEBUGMESSAGECALLBACKKHRPROC)eglGetProcAddress("glDebugMessageCallbackKHR");
#endif