Support OpenGL 4.3

- Support Compute Shaders by rlgl API
 - Support SSBO by rlgl API
This commit is contained in:
Ray 2021-10-16 23:49:31 +02:00
parent e36dc01b91
commit 99f6707e2c
2 changed files with 12 additions and 0 deletions

View File

@ -3758,6 +3758,13 @@ static bool InitGraphicsDevice(int width, int height)
#endif
//glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GLFW_TRUE); // Request OpenGL DEBUG context
}
else if (rlGetVersion() == OPENGL_43)
{
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); // Choose OpenGL major version (just hint)
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); // Choose OpenGL minor version (just hint)
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_FALSE);
}
else if (rlGetVersion() == OPENGL_ES_20) // Request OpenGL ES 2.0 context
{
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 2);

View File

@ -280,6 +280,7 @@ typedef enum {
OPENGL_11 = 1,
OPENGL_21,
OPENGL_33,
OPENGL_43,
OPENGL_ES_20
} rlGlVersion;
@ -732,6 +733,7 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad
#define GLAD_REALLOC RL_REALLOC
#define GLAD_FREE RL_FREE
#define GLAD_IMPLEMENTATION
#include "external/glad.h" // GLAD extensions loading library, includes OpenGL headers
#endif
#endif
@ -2125,6 +2127,9 @@ int rlGetVersion(void)
#elif defined(GRAPHICS_API_OPENGL_33)
glVersion = OPENGL_33;
#endif
#if defined(GRAPHICS_API_OPENGL_43)
glVersion = OPENGL_43;
#endif
#if defined(GRAPHICS_API_OPENGL_ES2)
glVersion = OPENGL_ES_20;
#endif