# Extensions beginning with ? are not required. For instance, glDrawArraysInstanced is a method used 
# for instancing; however, it is not required for proper operation, it may just be more optimal. If
# an optional extension has a second name on the same line, that is the #define used to compile in/out that
# definition. For example, with glDrawArraysInstanced, GL_ARB_draw_instanced is the #define extension. This
# is to protect compilation against systems with incomplete/out of date glext.h files. 

# Extensions beginning with ! are allowed to fail. This means that (unlike all other commands) glGetError
# is not called after execution, so it can be called externally to check for failures.

glBlendEquation
glBlendFuncSeparate
glActiveTexture
glEnableVertexAttribArray
glDisableVertexAttribArray
glVertexAttribPointer
glDeleteShader
glDeleteProgram
glCreateShader
glShaderSource
glCompileShader
glCreateProgram
glAttachShader
glLinkProgram
glUseProgram
glGetShaderiv
glGetShaderInfoLog
glGetProgramiv
glGetProgramInfoLog
glGetAttribLocation
glGetUniformLocation
glBindAttribLocation
glUniform1i
glUniform1iv
glUniform1f
glUniform2f
glUniform1fv
glUniform2fv
glUniform3fv
glUniform4fv
glUniformMatrix4fv
glCompressedTexImage2D
glGenBuffers
glDeleteBuffers
glBindBuffer
glBufferData
glBufferSubData
glMapBuffer
glUnmapBuffer
glBindRenderbufferEXT
glDeleteRenderbuffersEXT
glGenRenderbuffersEXT
glBindFramebufferEXT
glDeleteFramebuffersEXT
glGenFramebuffersEXT
! glRenderbufferStorageEXT
glFramebufferTexture2DEXT
glFramebufferRenderbufferEXT
glCheckFramebufferStatusEXT
glGetFramebufferAttachmentParameterivEXT
glGetRenderbufferParameterivEXT
glIsFramebufferEXT
glIsRenderbufferEXT
glGenerateMipmapEXT
? glDrawElementsInstanced                   GL_ARB_draw_instanced
? glStringMarkerGREMEDY                     GL_GREMEDY_string_marker
? glGenVertexArrays                         GL_ARB_vertex_array_object
? glDeleteVertexArrays                      GL_ARB_vertex_array_object
? glBindVertexArray                         GL_ARB_vertex_array_object
? glBindFragDataLocation                    GL_EXT_gpu_shader4
? glGetFragDataLocation                     GL_EXT_gpu_shader4
!? glGetStringi                             GL_VERSION_3_0
? glGetProgramBinary                        GL_ARB_get_program_binary
? glProgramBinary                           GL_ARB_get_program_binary
? glProgramParameteri                       GL_ARB_get_program_binary
