|
|
|
@ -25,6 +25,7 @@
|
|
|
|
|
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
|
|
|
* OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
// We embed our own OpenGL loader to not require user to provide their own or to have to use ours, which proved to be endless problems for users.
|
|
|
|
|
// Our loader is custom-generated, based on gl3w but automatically filtered to only include enums/functions that we use in this source file.
|
|
|
|
|
// Regenerate with: python gl3w_gen.py --imgui-dir /path/to/imgui/
|
|
|
|
@ -138,6 +139,7 @@ typedef khronos_uint8_t GLubyte;
|
|
|
|
|
#define GL_SCISSOR_BOX 0x0C10
|
|
|
|
|
#define GL_SCISSOR_TEST 0x0C11
|
|
|
|
|
#define GL_UNPACK_ROW_LENGTH 0x0CF2
|
|
|
|
|
#define GL_PACK_ALIGNMENT 0x0D05
|
|
|
|
|
#define GL_TEXTURE_2D 0x0DE1
|
|
|
|
|
#define GL_UNSIGNED_BYTE 0x1401
|
|
|
|
|
#define GL_UNSIGNED_SHORT 0x1403
|
|
|
|
@ -159,6 +161,7 @@ typedef void (APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloa
|
|
|
|
|
typedef void (APIENTRYP PFNGLDISABLEPROC) (GLenum cap);
|
|
|
|
|
typedef void (APIENTRYP PFNGLENABLEPROC) (GLenum cap);
|
|
|
|
|
typedef void (APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param);
|
|
|
|
|
typedef void (APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
|
|
|
|
typedef void (APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data);
|
|
|
|
|
typedef const GLubyte *(APIENTRYP PFNGLGETSTRINGPROC) (GLenum name);
|
|
|
|
|
typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC) (GLenum cap);
|
|
|
|
@ -173,6 +176,7 @@ GLAPI void APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfl
|
|
|
|
|
GLAPI void APIENTRY glDisable (GLenum cap);
|
|
|
|
|
GLAPI void APIENTRY glEnable (GLenum cap);
|
|
|
|
|
GLAPI void APIENTRY glPixelStorei (GLenum pname, GLint param);
|
|
|
|
|
GLAPI void APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels);
|
|
|
|
|
GLAPI void APIENTRY glGetIntegerv (GLenum pname, GLint *data);
|
|
|
|
|
GLAPI const GLubyte *APIENTRY glGetString (GLenum name);
|
|
|
|
|
GLAPI GLboolean APIENTRY glIsEnabled (GLenum cap);
|
|
|
|
@ -221,7 +225,6 @@ typedef khronos_intptr_t GLintptr;
|
|
|
|
|
#define GL_ARRAY_BUFFER 0x8892
|
|
|
|
|
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
|
|
|
|
|
#define GL_ARRAY_BUFFER_BINDING 0x8894
|
|
|
|
|
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
|
|
|
|
|
#define GL_STREAM_DRAW 0x88E0
|
|
|
|
|
typedef void (APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
|
|
|
|
|
typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers);
|
|
|
|
@ -298,6 +301,7 @@ typedef khronos_uint16_t GLhalf;
|
|
|
|
|
#define GL_MAJOR_VERSION 0x821B
|
|
|
|
|
#define GL_MINOR_VERSION 0x821C
|
|
|
|
|
#define GL_NUM_EXTENSIONS 0x821D
|
|
|
|
|
#define GL_FRAMEBUFFER_SRGB 0x8DB9
|
|
|
|
|
#define GL_VERTEX_ARRAY_BINDING 0x85B5
|
|
|
|
|
typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC) (GLenum target, GLuint index, GLboolean *data);
|
|
|
|
|
typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC) (GLenum target, GLuint index, GLint *data);
|
|
|
|
@ -344,12 +348,8 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum
|
|
|
|
|
#endif /* GL_VERSION_4_3 */
|
|
|
|
|
#ifndef GL_VERSION_4_5
|
|
|
|
|
#define GL_CLIP_ORIGIN 0x935C
|
|
|
|
|
typedef void (APIENTRYP PFNGLCLIPCONTROLPROC) (GLenum origin, GLenum depth);
|
|
|
|
|
typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint *param);
|
|
|
|
|
typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI64_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint64 *param);
|
|
|
|
|
#ifdef GL_GLEXT_PROTOTYPES
|
|
|
|
|
GLAPI void APIENTRY glClipControl (GLenum origin, GLenum depth);
|
|
|
|
|
#endif
|
|
|
|
|
#endif /* GL_VERSION_4_5 */
|
|
|
|
|
#ifndef GL_ARB_bindless_texture
|
|
|
|
|
typedef khronos_uint64_t GLuint64EXT;
|
|
|
|
@ -430,7 +430,6 @@ union GL3WProcs {
|
|
|
|
|
PFNGLBUFFERDATAPROC BufferData;
|
|
|
|
|
PFNGLCLEARPROC Clear;
|
|
|
|
|
PFNGLCLEARCOLORPROC ClearColor;
|
|
|
|
|
PFNGLCLIPCONTROLPROC ClipControl;
|
|
|
|
|
PFNGLCOMPILESHADERPROC CompileShader;
|
|
|
|
|
PFNGLCREATEPROGRAMPROC CreateProgram;
|
|
|
|
|
PFNGLCREATESHADERPROC CreateShader;
|
|
|
|
@ -461,6 +460,7 @@ union GL3WProcs {
|
|
|
|
|
PFNGLLINKPROGRAMPROC LinkProgram;
|
|
|
|
|
PFNGLPIXELSTOREIPROC PixelStorei;
|
|
|
|
|
PFNGLPOLYGONMODEPROC PolygonMode;
|
|
|
|
|
PFNGLREADPIXELSPROC ReadPixels;
|
|
|
|
|
PFNGLSCISSORPROC Scissor;
|
|
|
|
|
PFNGLSHADERSOURCEPROC ShaderSource;
|
|
|
|
|
PFNGLTEXIMAGE2DPROC TexImage2D;
|
|
|
|
@ -488,7 +488,6 @@ GL3W_API extern union GL3WProcs gl3wProcs;
|
|
|
|
|
#define glBufferData gl3wProcs.gl.BufferData
|
|
|
|
|
#define glClear gl3wProcs.gl.Clear
|
|
|
|
|
#define glClearColor gl3wProcs.gl.ClearColor
|
|
|
|
|
#define glClipControl gl3wProcs.gl.ClipControl
|
|
|
|
|
#define glCompileShader gl3wProcs.gl.CompileShader
|
|
|
|
|
#define glCreateProgram gl3wProcs.gl.CreateProgram
|
|
|
|
|
#define glCreateShader gl3wProcs.gl.CreateShader
|
|
|
|
@ -519,6 +518,7 @@ GL3W_API extern union GL3WProcs gl3wProcs;
|
|
|
|
|
#define glLinkProgram gl3wProcs.gl.LinkProgram
|
|
|
|
|
#define glPixelStorei gl3wProcs.gl.PixelStorei
|
|
|
|
|
#define glPolygonMode gl3wProcs.gl.PolygonMode
|
|
|
|
|
#define glReadPixels gl3wProcs.gl.ReadPixels
|
|
|
|
|
#define glScissor gl3wProcs.gl.Scissor
|
|
|
|
|
#define glShaderSource gl3wProcs.gl.ShaderSource
|
|
|
|
|
#define glTexImage2D gl3wProcs.gl.TexImage2D
|
|
|
|
@ -528,6 +528,7 @@ GL3W_API extern union GL3WProcs gl3wProcs;
|
|
|
|
|
#define glUseProgram gl3wProcs.gl.UseProgram
|
|
|
|
|
#define glVertexAttribPointer gl3wProcs.gl.VertexAttribPointer
|
|
|
|
|
#define glViewport gl3wProcs.gl.Viewport
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
@ -672,7 +673,6 @@ static const char *proc_names[] = {
|
|
|
|
|
"glBufferData",
|
|
|
|
|
"glClear",
|
|
|
|
|
"glClearColor",
|
|
|
|
|
"glClipControl",
|
|
|
|
|
"glCompileShader",
|
|
|
|
|
"glCreateProgram",
|
|
|
|
|
"glCreateShader",
|
|
|
|
@ -703,6 +703,7 @@ static const char *proc_names[] = {
|
|
|
|
|
"glLinkProgram",
|
|
|
|
|
"glPixelStorei",
|
|
|
|
|
"glPolygonMode",
|
|
|
|
|
"glReadPixels",
|
|
|
|
|
"glScissor",
|
|
|
|
|
"glShaderSource",
|
|
|
|
|
"glTexImage2D",
|
|
|
|
|