bypass of near/far planes for 2d case, hints for perspective correction, flat shading for 2d
This commit is contained in:
parent
b12c5e31c3
commit
8a66bc43e4
@ -234,6 +234,10 @@ static bool initialize(void) {
|
|||||||
|
|
||||||
log_info("OpenGL context: %s\n", glGetString(GL_VERSION));
|
log_info("OpenGL context: %s\n", glGetString(GL_VERSION));
|
||||||
|
|
||||||
|
glHint(GL_TEXTURE_COMPRESSION_HINT, GL_NICEST);
|
||||||
|
glHint(GL_GENERATE_MIPMAP_HINT, GL_NICEST);
|
||||||
|
glHint(GL_FOG_HINT, GL_FASTEST);
|
||||||
|
|
||||||
/* might need this to have multiple windows */
|
/* might need this to have multiple windows */
|
||||||
ctx.window_id = SDL_GetWindowID(ctx.window);
|
ctx.window_id = SDL_GetWindowID(ctx.window);
|
||||||
|
|
||||||
|
@ -164,6 +164,12 @@ void render(void) {
|
|||||||
GL_DEPTH_BUFFER_BIT |
|
GL_DEPTH_BUFFER_BIT |
|
||||||
GL_STENCIL_BUFFER_BIT);
|
GL_STENCIL_BUFFER_BIT);
|
||||||
|
|
||||||
|
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
|
||||||
|
glShadeModel(GL_SMOOTH);
|
||||||
|
|
||||||
|
if (GLAD_GL_ARB_depth_clamp)
|
||||||
|
glDisable(GL_DEPTH_CLAMP);
|
||||||
|
|
||||||
{
|
{
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glLoadMatrixf(&camera_projection_matrix.row[0].x);
|
glLoadMatrixf(&camera_projection_matrix.row[0].x);
|
||||||
@ -178,6 +184,13 @@ void render(void) {
|
|||||||
glClear(GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
|
glClear(GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
|
||||||
glFlush();
|
glFlush();
|
||||||
|
|
||||||
|
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST);
|
||||||
|
glShadeModel(GL_FLAT);
|
||||||
|
|
||||||
|
/* removes near/far plane comparison and discard */
|
||||||
|
if (GLAD_GL_ARB_depth_clamp)
|
||||||
|
glDisable(GL_DEPTH_CLAMP);
|
||||||
|
|
||||||
{
|
{
|
||||||
glMatrixMode(GL_PROJECTION);
|
glMatrixMode(GL_PROJECTION);
|
||||||
glLoadIdentity();
|
glLoadIdentity();
|
||||||
|
166
third-party/glad/include/glad/glad.h
vendored
166
third-party/glad/include/glad/glad.h
vendored
@ -1,13 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
OpenGL loader generated by glad 0.1.36 on Wed Jul 10 12:56:38 2024.
|
OpenGL loader generated by glad 0.1.36 on Tue Jul 30 20:14:16 2024.
|
||||||
|
|
||||||
Language/Generator: C/C++
|
Language/Generator: C/C++
|
||||||
Specification: gl
|
Specification: gl
|
||||||
APIs: gl=1.5
|
APIs: gl=1.5
|
||||||
Profile: compatibility
|
Profile: compatibility
|
||||||
Extensions:
|
Extensions:
|
||||||
GL_ARB_shader_objects,
|
GL_ARB_depth_clamp,
|
||||||
GL_KHR_debug
|
GL_KHR_debug
|
||||||
Loader: True
|
Loader: True
|
||||||
Local files: False
|
Local files: False
|
||||||
@ -15,9 +15,9 @@
|
|||||||
Reproducible: False
|
Reproducible: False
|
||||||
|
|
||||||
Commandline:
|
Commandline:
|
||||||
--profile="compatibility" --api="gl=1.5" --generator="c" --spec="gl" --extensions="GL_ARB_shader_objects,GL_KHR_debug"
|
--profile="compatibility" --api="gl=1.5" --generator="c" --spec="gl" --extensions="GL_ARB_depth_clamp,GL_KHR_debug"
|
||||||
Online:
|
Online:
|
||||||
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D1.5&extensions=GL_ARB_shader_objects&extensions=GL_KHR_debug
|
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D1.5&extensions=GL_ARB_depth_clamp&extensions=GL_KHR_debug
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -2279,40 +2279,7 @@ typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname,
|
|||||||
GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
|
GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
|
||||||
#define glGetBufferPointerv glad_glGetBufferPointerv
|
#define glGetBufferPointerv glad_glGetBufferPointerv
|
||||||
#endif
|
#endif
|
||||||
#define GL_PROGRAM_OBJECT_ARB 0x8B40
|
#define GL_DEPTH_CLAMP 0x864F
|
||||||
#define GL_SHADER_OBJECT_ARB 0x8B48
|
|
||||||
#define GL_OBJECT_TYPE_ARB 0x8B4E
|
|
||||||
#define GL_OBJECT_SUBTYPE_ARB 0x8B4F
|
|
||||||
#define GL_FLOAT_VEC2_ARB 0x8B50
|
|
||||||
#define GL_FLOAT_VEC3_ARB 0x8B51
|
|
||||||
#define GL_FLOAT_VEC4_ARB 0x8B52
|
|
||||||
#define GL_INT_VEC2_ARB 0x8B53
|
|
||||||
#define GL_INT_VEC3_ARB 0x8B54
|
|
||||||
#define GL_INT_VEC4_ARB 0x8B55
|
|
||||||
#define GL_BOOL_ARB 0x8B56
|
|
||||||
#define GL_BOOL_VEC2_ARB 0x8B57
|
|
||||||
#define GL_BOOL_VEC3_ARB 0x8B58
|
|
||||||
#define GL_BOOL_VEC4_ARB 0x8B59
|
|
||||||
#define GL_FLOAT_MAT2_ARB 0x8B5A
|
|
||||||
#define GL_FLOAT_MAT3_ARB 0x8B5B
|
|
||||||
#define GL_FLOAT_MAT4_ARB 0x8B5C
|
|
||||||
#define GL_SAMPLER_1D_ARB 0x8B5D
|
|
||||||
#define GL_SAMPLER_2D_ARB 0x8B5E
|
|
||||||
#define GL_SAMPLER_3D_ARB 0x8B5F
|
|
||||||
#define GL_SAMPLER_CUBE_ARB 0x8B60
|
|
||||||
#define GL_SAMPLER_1D_SHADOW_ARB 0x8B61
|
|
||||||
#define GL_SAMPLER_2D_SHADOW_ARB 0x8B62
|
|
||||||
#define GL_SAMPLER_2D_RECT_ARB 0x8B63
|
|
||||||
#define GL_SAMPLER_2D_RECT_SHADOW_ARB 0x8B64
|
|
||||||
#define GL_OBJECT_DELETE_STATUS_ARB 0x8B80
|
|
||||||
#define GL_OBJECT_COMPILE_STATUS_ARB 0x8B81
|
|
||||||
#define GL_OBJECT_LINK_STATUS_ARB 0x8B82
|
|
||||||
#define GL_OBJECT_VALIDATE_STATUS_ARB 0x8B83
|
|
||||||
#define GL_OBJECT_INFO_LOG_LENGTH_ARB 0x8B84
|
|
||||||
#define GL_OBJECT_ATTACHED_OBJECTS_ARB 0x8B85
|
|
||||||
#define GL_OBJECT_ACTIVE_UNIFORMS_ARB 0x8B86
|
|
||||||
#define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
|
|
||||||
#define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
|
|
||||||
#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
|
#define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242
|
||||||
#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
|
#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243
|
||||||
#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
|
#define GL_DEBUG_CALLBACK_FUNCTION 0x8244
|
||||||
@ -2391,126 +2358,9 @@ GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv;
|
|||||||
#define GL_STACK_OVERFLOW_KHR 0x0503
|
#define GL_STACK_OVERFLOW_KHR 0x0503
|
||||||
#define GL_STACK_UNDERFLOW_KHR 0x0504
|
#define GL_STACK_UNDERFLOW_KHR 0x0504
|
||||||
#define GL_DISPLAY_LIST 0x82E7
|
#define GL_DISPLAY_LIST 0x82E7
|
||||||
#ifndef GL_ARB_shader_objects
|
#ifndef GL_ARB_depth_clamp
|
||||||
#define GL_ARB_shader_objects 1
|
#define GL_ARB_depth_clamp 1
|
||||||
GLAPI int GLAD_GL_ARB_shader_objects;
|
GLAPI int GLAD_GL_ARB_depth_clamp;
|
||||||
typedef void (APIENTRYP PFNGLDELETEOBJECTARBPROC)(GLhandleARB obj);
|
|
||||||
GLAPI PFNGLDELETEOBJECTARBPROC glad_glDeleteObjectARB;
|
|
||||||
#define glDeleteObjectARB glad_glDeleteObjectARB
|
|
||||||
typedef GLhandleARB (APIENTRYP PFNGLGETHANDLEARBPROC)(GLenum pname);
|
|
||||||
GLAPI PFNGLGETHANDLEARBPROC glad_glGetHandleARB;
|
|
||||||
#define glGetHandleARB glad_glGetHandleARB
|
|
||||||
typedef void (APIENTRYP PFNGLDETACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB attachedObj);
|
|
||||||
GLAPI PFNGLDETACHOBJECTARBPROC glad_glDetachObjectARB;
|
|
||||||
#define glDetachObjectARB glad_glDetachObjectARB
|
|
||||||
typedef GLhandleARB (APIENTRYP PFNGLCREATESHADEROBJECTARBPROC)(GLenum shaderType);
|
|
||||||
GLAPI PFNGLCREATESHADEROBJECTARBPROC glad_glCreateShaderObjectARB;
|
|
||||||
#define glCreateShaderObjectARB glad_glCreateShaderObjectARB
|
|
||||||
typedef void (APIENTRYP PFNGLSHADERSOURCEARBPROC)(GLhandleARB shaderObj, GLsizei count, const GLcharARB **string, const GLint *length);
|
|
||||||
GLAPI PFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB;
|
|
||||||
#define glShaderSourceARB glad_glShaderSourceARB
|
|
||||||
typedef void (APIENTRYP PFNGLCOMPILESHADERARBPROC)(GLhandleARB shaderObj);
|
|
||||||
GLAPI PFNGLCOMPILESHADERARBPROC glad_glCompileShaderARB;
|
|
||||||
#define glCompileShaderARB glad_glCompileShaderARB
|
|
||||||
typedef GLhandleARB (APIENTRYP PFNGLCREATEPROGRAMOBJECTARBPROC)(void);
|
|
||||||
GLAPI PFNGLCREATEPROGRAMOBJECTARBPROC glad_glCreateProgramObjectARB;
|
|
||||||
#define glCreateProgramObjectARB glad_glCreateProgramObjectARB
|
|
||||||
typedef void (APIENTRYP PFNGLATTACHOBJECTARBPROC)(GLhandleARB containerObj, GLhandleARB obj);
|
|
||||||
GLAPI PFNGLATTACHOBJECTARBPROC glad_glAttachObjectARB;
|
|
||||||
#define glAttachObjectARB glad_glAttachObjectARB
|
|
||||||
typedef void (APIENTRYP PFNGLLINKPROGRAMARBPROC)(GLhandleARB programObj);
|
|
||||||
GLAPI PFNGLLINKPROGRAMARBPROC glad_glLinkProgramARB;
|
|
||||||
#define glLinkProgramARB glad_glLinkProgramARB
|
|
||||||
typedef void (APIENTRYP PFNGLUSEPROGRAMOBJECTARBPROC)(GLhandleARB programObj);
|
|
||||||
GLAPI PFNGLUSEPROGRAMOBJECTARBPROC glad_glUseProgramObjectARB;
|
|
||||||
#define glUseProgramObjectARB glad_glUseProgramObjectARB
|
|
||||||
typedef void (APIENTRYP PFNGLVALIDATEPROGRAMARBPROC)(GLhandleARB programObj);
|
|
||||||
GLAPI PFNGLVALIDATEPROGRAMARBPROC glad_glValidateProgramARB;
|
|
||||||
#define glValidateProgramARB glad_glValidateProgramARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM1FARBPROC)(GLint location, GLfloat v0);
|
|
||||||
GLAPI PFNGLUNIFORM1FARBPROC glad_glUniform1fARB;
|
|
||||||
#define glUniform1fARB glad_glUniform1fARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM2FARBPROC)(GLint location, GLfloat v0, GLfloat v1);
|
|
||||||
GLAPI PFNGLUNIFORM2FARBPROC glad_glUniform2fARB;
|
|
||||||
#define glUniform2fARB glad_glUniform2fARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM3FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
|
||||||
GLAPI PFNGLUNIFORM3FARBPROC glad_glUniform3fARB;
|
|
||||||
#define glUniform3fARB glad_glUniform3fARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM4FARBPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
|
||||||
GLAPI PFNGLUNIFORM4FARBPROC glad_glUniform4fARB;
|
|
||||||
#define glUniform4fARB glad_glUniform4fARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM1IARBPROC)(GLint location, GLint v0);
|
|
||||||
GLAPI PFNGLUNIFORM1IARBPROC glad_glUniform1iARB;
|
|
||||||
#define glUniform1iARB glad_glUniform1iARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM2IARBPROC)(GLint location, GLint v0, GLint v1);
|
|
||||||
GLAPI PFNGLUNIFORM2IARBPROC glad_glUniform2iARB;
|
|
||||||
#define glUniform2iARB glad_glUniform2iARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM3IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2);
|
|
||||||
GLAPI PFNGLUNIFORM3IARBPROC glad_glUniform3iARB;
|
|
||||||
#define glUniform3iARB glad_glUniform3iARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM4IARBPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
|
||||||
GLAPI PFNGLUNIFORM4IARBPROC glad_glUniform4iARB;
|
|
||||||
#define glUniform4iARB glad_glUniform4iARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM1FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);
|
|
||||||
GLAPI PFNGLUNIFORM1FVARBPROC glad_glUniform1fvARB;
|
|
||||||
#define glUniform1fvARB glad_glUniform1fvARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM2FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);
|
|
||||||
GLAPI PFNGLUNIFORM2FVARBPROC glad_glUniform2fvARB;
|
|
||||||
#define glUniform2fvARB glad_glUniform2fvARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM3FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);
|
|
||||||
GLAPI PFNGLUNIFORM3FVARBPROC glad_glUniform3fvARB;
|
|
||||||
#define glUniform3fvARB glad_glUniform3fvARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM4FVARBPROC)(GLint location, GLsizei count, const GLfloat *value);
|
|
||||||
GLAPI PFNGLUNIFORM4FVARBPROC glad_glUniform4fvARB;
|
|
||||||
#define glUniform4fvARB glad_glUniform4fvARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM1IVARBPROC)(GLint location, GLsizei count, const GLint *value);
|
|
||||||
GLAPI PFNGLUNIFORM1IVARBPROC glad_glUniform1ivARB;
|
|
||||||
#define glUniform1ivARB glad_glUniform1ivARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM2IVARBPROC)(GLint location, GLsizei count, const GLint *value);
|
|
||||||
GLAPI PFNGLUNIFORM2IVARBPROC glad_glUniform2ivARB;
|
|
||||||
#define glUniform2ivARB glad_glUniform2ivARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM3IVARBPROC)(GLint location, GLsizei count, const GLint *value);
|
|
||||||
GLAPI PFNGLUNIFORM3IVARBPROC glad_glUniform3ivARB;
|
|
||||||
#define glUniform3ivARB glad_glUniform3ivARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORM4IVARBPROC)(GLint location, GLsizei count, const GLint *value);
|
|
||||||
GLAPI PFNGLUNIFORM4IVARBPROC glad_glUniform4ivARB;
|
|
||||||
#define glUniform4ivARB glad_glUniform4ivARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
|
||||||
GLAPI PFNGLUNIFORMMATRIX2FVARBPROC glad_glUniformMatrix2fvARB;
|
|
||||||
#define glUniformMatrix2fvARB glad_glUniformMatrix2fvARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
|
||||||
GLAPI PFNGLUNIFORMMATRIX3FVARBPROC glad_glUniformMatrix3fvARB;
|
|
||||||
#define glUniformMatrix3fvARB glad_glUniformMatrix3fvARB
|
|
||||||
typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVARBPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
|
|
||||||
GLAPI PFNGLUNIFORMMATRIX4FVARBPROC glad_glUniformMatrix4fvARB;
|
|
||||||
#define glUniformMatrix4fvARB glad_glUniformMatrix4fvARB
|
|
||||||
typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERFVARBPROC)(GLhandleARB obj, GLenum pname, GLfloat *params);
|
|
||||||
GLAPI PFNGLGETOBJECTPARAMETERFVARBPROC glad_glGetObjectParameterfvARB;
|
|
||||||
#define glGetObjectParameterfvARB glad_glGetObjectParameterfvARB
|
|
||||||
typedef void (APIENTRYP PFNGLGETOBJECTPARAMETERIVARBPROC)(GLhandleARB obj, GLenum pname, GLint *params);
|
|
||||||
GLAPI PFNGLGETOBJECTPARAMETERIVARBPROC glad_glGetObjectParameterivARB;
|
|
||||||
#define glGetObjectParameterivARB glad_glGetObjectParameterivARB
|
|
||||||
typedef void (APIENTRYP PFNGLGETINFOLOGARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog);
|
|
||||||
GLAPI PFNGLGETINFOLOGARBPROC glad_glGetInfoLogARB;
|
|
||||||
#define glGetInfoLogARB glad_glGetInfoLogARB
|
|
||||||
typedef void (APIENTRYP PFNGLGETATTACHEDOBJECTSARBPROC)(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj);
|
|
||||||
GLAPI PFNGLGETATTACHEDOBJECTSARBPROC glad_glGetAttachedObjectsARB;
|
|
||||||
#define glGetAttachedObjectsARB glad_glGetAttachedObjectsARB
|
|
||||||
typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONARBPROC)(GLhandleARB programObj, const GLcharARB *name);
|
|
||||||
GLAPI PFNGLGETUNIFORMLOCATIONARBPROC glad_glGetUniformLocationARB;
|
|
||||||
#define glGetUniformLocationARB glad_glGetUniformLocationARB
|
|
||||||
typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMARBPROC)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name);
|
|
||||||
GLAPI PFNGLGETACTIVEUNIFORMARBPROC glad_glGetActiveUniformARB;
|
|
||||||
#define glGetActiveUniformARB glad_glGetActiveUniformARB
|
|
||||||
typedef void (APIENTRYP PFNGLGETUNIFORMFVARBPROC)(GLhandleARB programObj, GLint location, GLfloat *params);
|
|
||||||
GLAPI PFNGLGETUNIFORMFVARBPROC glad_glGetUniformfvARB;
|
|
||||||
#define glGetUniformfvARB glad_glGetUniformfvARB
|
|
||||||
typedef void (APIENTRYP PFNGLGETUNIFORMIVARBPROC)(GLhandleARB programObj, GLint location, GLint *params);
|
|
||||||
GLAPI PFNGLGETUNIFORMIVARBPROC glad_glGetUniformivARB;
|
|
||||||
#define glGetUniformivARB glad_glGetUniformivARB
|
|
||||||
typedef void (APIENTRYP PFNGLGETSHADERSOURCEARBPROC)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source);
|
|
||||||
GLAPI PFNGLGETSHADERSOURCEARBPROC glad_glGetShaderSourceARB;
|
|
||||||
#define glGetShaderSourceARB glad_glGetShaderSourceARB
|
|
||||||
#endif
|
#endif
|
||||||
#ifndef GL_KHR_debug
|
#ifndef GL_KHR_debug
|
||||||
#define GL_KHR_debug 1
|
#define GL_KHR_debug 1
|
||||||
|
94
third-party/glad/src/glad.c
vendored
94
third-party/glad/src/glad.c
vendored
@ -1,13 +1,13 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
OpenGL loader generated by glad 0.1.36 on Wed Jul 10 12:56:38 2024.
|
OpenGL loader generated by glad 0.1.36 on Tue Jul 30 20:14:16 2024.
|
||||||
|
|
||||||
Language/Generator: C/C++
|
Language/Generator: C/C++
|
||||||
Specification: gl
|
Specification: gl
|
||||||
APIs: gl=1.5
|
APIs: gl=1.5
|
||||||
Profile: compatibility
|
Profile: compatibility
|
||||||
Extensions:
|
Extensions:
|
||||||
GL_ARB_shader_objects,
|
GL_ARB_depth_clamp,
|
||||||
GL_KHR_debug
|
GL_KHR_debug
|
||||||
Loader: True
|
Loader: True
|
||||||
Local files: False
|
Local files: False
|
||||||
@ -15,9 +15,9 @@
|
|||||||
Reproducible: False
|
Reproducible: False
|
||||||
|
|
||||||
Commandline:
|
Commandline:
|
||||||
--profile="compatibility" --api="gl=1.5" --generator="c" --spec="gl" --extensions="GL_ARB_shader_objects,GL_KHR_debug"
|
--profile="compatibility" --api="gl=1.5" --generator="c" --spec="gl" --extensions="GL_ARB_depth_clamp,GL_KHR_debug"
|
||||||
Online:
|
Online:
|
||||||
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D1.5&extensions=GL_ARB_shader_objects&extensions=GL_KHR_debug
|
https://glad.dav1d.de/#profile=compatibility&language=c&specification=gl&loader=on&api=gl%3D1.5&extensions=GL_ARB_depth_clamp&extensions=GL_KHR_debug
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -714,47 +714,8 @@ PFNGLWINDOWPOS3IPROC glad_glWindowPos3i = NULL;
|
|||||||
PFNGLWINDOWPOS3IVPROC glad_glWindowPos3iv = NULL;
|
PFNGLWINDOWPOS3IVPROC glad_glWindowPos3iv = NULL;
|
||||||
PFNGLWINDOWPOS3SPROC glad_glWindowPos3s = NULL;
|
PFNGLWINDOWPOS3SPROC glad_glWindowPos3s = NULL;
|
||||||
PFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv = NULL;
|
PFNGLWINDOWPOS3SVPROC glad_glWindowPos3sv = NULL;
|
||||||
int GLAD_GL_ARB_shader_objects = 0;
|
int GLAD_GL_ARB_depth_clamp = 0;
|
||||||
int GLAD_GL_KHR_debug = 0;
|
int GLAD_GL_KHR_debug = 0;
|
||||||
PFNGLDELETEOBJECTARBPROC glad_glDeleteObjectARB = NULL;
|
|
||||||
PFNGLGETHANDLEARBPROC glad_glGetHandleARB = NULL;
|
|
||||||
PFNGLDETACHOBJECTARBPROC glad_glDetachObjectARB = NULL;
|
|
||||||
PFNGLCREATESHADEROBJECTARBPROC glad_glCreateShaderObjectARB = NULL;
|
|
||||||
PFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB = NULL;
|
|
||||||
PFNGLCOMPILESHADERARBPROC glad_glCompileShaderARB = NULL;
|
|
||||||
PFNGLCREATEPROGRAMOBJECTARBPROC glad_glCreateProgramObjectARB = NULL;
|
|
||||||
PFNGLATTACHOBJECTARBPROC glad_glAttachObjectARB = NULL;
|
|
||||||
PFNGLLINKPROGRAMARBPROC glad_glLinkProgramARB = NULL;
|
|
||||||
PFNGLUSEPROGRAMOBJECTARBPROC glad_glUseProgramObjectARB = NULL;
|
|
||||||
PFNGLVALIDATEPROGRAMARBPROC glad_glValidateProgramARB = NULL;
|
|
||||||
PFNGLUNIFORM1FARBPROC glad_glUniform1fARB = NULL;
|
|
||||||
PFNGLUNIFORM2FARBPROC glad_glUniform2fARB = NULL;
|
|
||||||
PFNGLUNIFORM3FARBPROC glad_glUniform3fARB = NULL;
|
|
||||||
PFNGLUNIFORM4FARBPROC glad_glUniform4fARB = NULL;
|
|
||||||
PFNGLUNIFORM1IARBPROC glad_glUniform1iARB = NULL;
|
|
||||||
PFNGLUNIFORM2IARBPROC glad_glUniform2iARB = NULL;
|
|
||||||
PFNGLUNIFORM3IARBPROC glad_glUniform3iARB = NULL;
|
|
||||||
PFNGLUNIFORM4IARBPROC glad_glUniform4iARB = NULL;
|
|
||||||
PFNGLUNIFORM1FVARBPROC glad_glUniform1fvARB = NULL;
|
|
||||||
PFNGLUNIFORM2FVARBPROC glad_glUniform2fvARB = NULL;
|
|
||||||
PFNGLUNIFORM3FVARBPROC glad_glUniform3fvARB = NULL;
|
|
||||||
PFNGLUNIFORM4FVARBPROC glad_glUniform4fvARB = NULL;
|
|
||||||
PFNGLUNIFORM1IVARBPROC glad_glUniform1ivARB = NULL;
|
|
||||||
PFNGLUNIFORM2IVARBPROC glad_glUniform2ivARB = NULL;
|
|
||||||
PFNGLUNIFORM3IVARBPROC glad_glUniform3ivARB = NULL;
|
|
||||||
PFNGLUNIFORM4IVARBPROC glad_glUniform4ivARB = NULL;
|
|
||||||
PFNGLUNIFORMMATRIX2FVARBPROC glad_glUniformMatrix2fvARB = NULL;
|
|
||||||
PFNGLUNIFORMMATRIX3FVARBPROC glad_glUniformMatrix3fvARB = NULL;
|
|
||||||
PFNGLUNIFORMMATRIX4FVARBPROC glad_glUniformMatrix4fvARB = NULL;
|
|
||||||
PFNGLGETOBJECTPARAMETERFVARBPROC glad_glGetObjectParameterfvARB = NULL;
|
|
||||||
PFNGLGETOBJECTPARAMETERIVARBPROC glad_glGetObjectParameterivARB = NULL;
|
|
||||||
PFNGLGETINFOLOGARBPROC glad_glGetInfoLogARB = NULL;
|
|
||||||
PFNGLGETATTACHEDOBJECTSARBPROC glad_glGetAttachedObjectsARB = NULL;
|
|
||||||
PFNGLGETUNIFORMLOCATIONARBPROC glad_glGetUniformLocationARB = NULL;
|
|
||||||
PFNGLGETACTIVEUNIFORMARBPROC glad_glGetActiveUniformARB = NULL;
|
|
||||||
PFNGLGETUNIFORMFVARBPROC glad_glGetUniformfvARB = NULL;
|
|
||||||
PFNGLGETUNIFORMIVARBPROC glad_glGetUniformivARB = NULL;
|
|
||||||
PFNGLGETSHADERSOURCEARBPROC glad_glGetShaderSourceARB = NULL;
|
|
||||||
PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl = NULL;
|
PFNGLDEBUGMESSAGECONTROLPROC glad_glDebugMessageControl = NULL;
|
||||||
PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert = NULL;
|
PFNGLDEBUGMESSAGEINSERTPROC glad_glDebugMessageInsert = NULL;
|
||||||
PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback = NULL;
|
PFNGLDEBUGMESSAGECALLBACKPROC glad_glDebugMessageCallback = NULL;
|
||||||
@ -1246,48 +1207,6 @@ static void load_GL_VERSION_1_5(GLADloadproc load) {
|
|||||||
glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv");
|
glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC)load("glGetBufferParameteriv");
|
||||||
glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv");
|
glad_glGetBufferPointerv = (PFNGLGETBUFFERPOINTERVPROC)load("glGetBufferPointerv");
|
||||||
}
|
}
|
||||||
static void load_GL_ARB_shader_objects(GLADloadproc load) {
|
|
||||||
if(!GLAD_GL_ARB_shader_objects) return;
|
|
||||||
glad_glDeleteObjectARB = (PFNGLDELETEOBJECTARBPROC)load("glDeleteObjectARB");
|
|
||||||
glad_glGetHandleARB = (PFNGLGETHANDLEARBPROC)load("glGetHandleARB");
|
|
||||||
glad_glDetachObjectARB = (PFNGLDETACHOBJECTARBPROC)load("glDetachObjectARB");
|
|
||||||
glad_glCreateShaderObjectARB = (PFNGLCREATESHADEROBJECTARBPROC)load("glCreateShaderObjectARB");
|
|
||||||
glad_glShaderSourceARB = (PFNGLSHADERSOURCEARBPROC)load("glShaderSourceARB");
|
|
||||||
glad_glCompileShaderARB = (PFNGLCOMPILESHADERARBPROC)load("glCompileShaderARB");
|
|
||||||
glad_glCreateProgramObjectARB = (PFNGLCREATEPROGRAMOBJECTARBPROC)load("glCreateProgramObjectARB");
|
|
||||||
glad_glAttachObjectARB = (PFNGLATTACHOBJECTARBPROC)load("glAttachObjectARB");
|
|
||||||
glad_glLinkProgramARB = (PFNGLLINKPROGRAMARBPROC)load("glLinkProgramARB");
|
|
||||||
glad_glUseProgramObjectARB = (PFNGLUSEPROGRAMOBJECTARBPROC)load("glUseProgramObjectARB");
|
|
||||||
glad_glValidateProgramARB = (PFNGLVALIDATEPROGRAMARBPROC)load("glValidateProgramARB");
|
|
||||||
glad_glUniform1fARB = (PFNGLUNIFORM1FARBPROC)load("glUniform1fARB");
|
|
||||||
glad_glUniform2fARB = (PFNGLUNIFORM2FARBPROC)load("glUniform2fARB");
|
|
||||||
glad_glUniform3fARB = (PFNGLUNIFORM3FARBPROC)load("glUniform3fARB");
|
|
||||||
glad_glUniform4fARB = (PFNGLUNIFORM4FARBPROC)load("glUniform4fARB");
|
|
||||||
glad_glUniform1iARB = (PFNGLUNIFORM1IARBPROC)load("glUniform1iARB");
|
|
||||||
glad_glUniform2iARB = (PFNGLUNIFORM2IARBPROC)load("glUniform2iARB");
|
|
||||||
glad_glUniform3iARB = (PFNGLUNIFORM3IARBPROC)load("glUniform3iARB");
|
|
||||||
glad_glUniform4iARB = (PFNGLUNIFORM4IARBPROC)load("glUniform4iARB");
|
|
||||||
glad_glUniform1fvARB = (PFNGLUNIFORM1FVARBPROC)load("glUniform1fvARB");
|
|
||||||
glad_glUniform2fvARB = (PFNGLUNIFORM2FVARBPROC)load("glUniform2fvARB");
|
|
||||||
glad_glUniform3fvARB = (PFNGLUNIFORM3FVARBPROC)load("glUniform3fvARB");
|
|
||||||
glad_glUniform4fvARB = (PFNGLUNIFORM4FVARBPROC)load("glUniform4fvARB");
|
|
||||||
glad_glUniform1ivARB = (PFNGLUNIFORM1IVARBPROC)load("glUniform1ivARB");
|
|
||||||
glad_glUniform2ivARB = (PFNGLUNIFORM2IVARBPROC)load("glUniform2ivARB");
|
|
||||||
glad_glUniform3ivARB = (PFNGLUNIFORM3IVARBPROC)load("glUniform3ivARB");
|
|
||||||
glad_glUniform4ivARB = (PFNGLUNIFORM4IVARBPROC)load("glUniform4ivARB");
|
|
||||||
glad_glUniformMatrix2fvARB = (PFNGLUNIFORMMATRIX2FVARBPROC)load("glUniformMatrix2fvARB");
|
|
||||||
glad_glUniformMatrix3fvARB = (PFNGLUNIFORMMATRIX3FVARBPROC)load("glUniformMatrix3fvARB");
|
|
||||||
glad_glUniformMatrix4fvARB = (PFNGLUNIFORMMATRIX4FVARBPROC)load("glUniformMatrix4fvARB");
|
|
||||||
glad_glGetObjectParameterfvARB = (PFNGLGETOBJECTPARAMETERFVARBPROC)load("glGetObjectParameterfvARB");
|
|
||||||
glad_glGetObjectParameterivARB = (PFNGLGETOBJECTPARAMETERIVARBPROC)load("glGetObjectParameterivARB");
|
|
||||||
glad_glGetInfoLogARB = (PFNGLGETINFOLOGARBPROC)load("glGetInfoLogARB");
|
|
||||||
glad_glGetAttachedObjectsARB = (PFNGLGETATTACHEDOBJECTSARBPROC)load("glGetAttachedObjectsARB");
|
|
||||||
glad_glGetUniformLocationARB = (PFNGLGETUNIFORMLOCATIONARBPROC)load("glGetUniformLocationARB");
|
|
||||||
glad_glGetActiveUniformARB = (PFNGLGETACTIVEUNIFORMARBPROC)load("glGetActiveUniformARB");
|
|
||||||
glad_glGetUniformfvARB = (PFNGLGETUNIFORMFVARBPROC)load("glGetUniformfvARB");
|
|
||||||
glad_glGetUniformivARB = (PFNGLGETUNIFORMIVARBPROC)load("glGetUniformivARB");
|
|
||||||
glad_glGetShaderSourceARB = (PFNGLGETSHADERSOURCEARBPROC)load("glGetShaderSourceARB");
|
|
||||||
}
|
|
||||||
static void load_GL_KHR_debug(GLADloadproc load) {
|
static void load_GL_KHR_debug(GLADloadproc load) {
|
||||||
if(!GLAD_GL_KHR_debug) return;
|
if(!GLAD_GL_KHR_debug) return;
|
||||||
glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load("glDebugMessageControl");
|
glad_glDebugMessageControl = (PFNGLDEBUGMESSAGECONTROLPROC)load("glDebugMessageControl");
|
||||||
@ -1315,7 +1234,7 @@ static void load_GL_KHR_debug(GLADloadproc load) {
|
|||||||
}
|
}
|
||||||
static int find_extensionsGL(void) {
|
static int find_extensionsGL(void) {
|
||||||
if (!get_exts()) return 0;
|
if (!get_exts()) return 0;
|
||||||
GLAD_GL_ARB_shader_objects = has_ext("GL_ARB_shader_objects");
|
GLAD_GL_ARB_depth_clamp = has_ext("GL_ARB_depth_clamp");
|
||||||
GLAD_GL_KHR_debug = has_ext("GL_KHR_debug");
|
GLAD_GL_KHR_debug = has_ext("GL_KHR_debug");
|
||||||
free_exts();
|
free_exts();
|
||||||
return 1;
|
return 1;
|
||||||
@ -1383,7 +1302,6 @@ int gladLoadGLLoader(GLADloadproc load) {
|
|||||||
load_GL_VERSION_1_5(load);
|
load_GL_VERSION_1_5(load);
|
||||||
|
|
||||||
if (!find_extensionsGL()) return 0;
|
if (!find_extensionsGL()) return 0;
|
||||||
load_GL_ARB_shader_objects(load);
|
|
||||||
load_GL_KHR_debug(load);
|
load_GL_KHR_debug(load);
|
||||||
return GLVersion.major != 0 || GLVersion.minor != 0;
|
return GLVersion.major != 0 || GLVersion.minor != 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user