Request: expanding list of GL extension functions

Hi Jules and community,

In order to manage Uniform Buffer Objects in a openGLContext object, I would like to ask for adding at least these functions:

GLuint glGetUniformBlockIndex(GLuint program, const GLchar *uniformBlockName);
void glUniformBlockBinding(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding);
void glGetActiveUniformBlockiv(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params);
void glGetUniformIndices(GLuint program, GLsizei uniformCount, const GLchar **uniformNames, GLuint *uniformIndices);
void glGetActiveUniformsiv( GLuint program,  GLsizei uniformCount,  const GLuint *uniformIndices,  GLenum pname,  GLint *params);
void glBindBufferBase(GLenum target, GLuint index, GLuint buffer);
As well as adding the following MissingOpenGLDefinitions:
GL_UNIFORM_BUFFER
GL_UNIFORM_OFFSET
GL_UNIFORM_BLOCK_DATA_SIZE
GL_MAX_UNIFORM_BUFFER_BINDINGS
GL_MAX_UNIFORM_BLOCK_SIZE
GL_MAX_VERTEX_UNIFORM_BLOCKS
GL_MAX_FRAGMENT_UNIFORM_BLOCKS
GL_MAX_GEOMETRY_UNIFORM_BLOCKS
GL_MAX_UNIFORM_BUFFER_BINDINGS
Thank you in advance,
 
Gabriel Solsona

While these (and lots of other functions, maybe even all) could be added to JUCE's OpenGL implementation, I think keeping a 100% complete list of all GL functions/extensions is outside the scope of JUCE's rather basic GL support (though I could be wrong, I have no idea what the official stance is on this). If you need to do any sort of advanced stuff with OpenGL, from my own experience personally I recommend using GLEW in your JUCE project.

1 Like