Add initial OpenGL 4.6 context support, NOERROR context support
This commit is contained in:
parent
3d70d6179c
commit
6910866e58
|
|
@ -38,7 +38,7 @@ features
|
|||
- **NO external dependencies**, all required libraries are [bundled into raylib](https://github.com/raysan5/raylib/tree/master/src/external)
|
||||
- Multiple platforms supported: **Windows, Linux, MacOS, RPI, Android, HTML5... and more!**
|
||||
- Written in plain C code (C99) using PascalCase/camelCase notation
|
||||
- Hardware accelerated with OpenGL (**1.1, 2.1, 3.3, 4.3, ES 2.0, ES 3.0**)
|
||||
- Hardware accelerated with OpenGL (**1.1, 2.1, 3.3, 4.3, 4.6, ES 2.0, ES 3.0**)
|
||||
- **Unique OpenGL abstraction layer** (usable as standalone module): [rlgl](https://github.com/raysan5/raylib/blob/master/src/rlgl.h)
|
||||
- Multiple **Fonts** formats supported (TTF, OTF, Image fonts, AngelCode fonts)
|
||||
- Multiple texture formats supported, including **compressed formats** (DXT, ETC, ASTC)
|
||||
|
|
|
|||
|
|
@ -1348,6 +1348,19 @@ int InitPlatform(void)
|
|||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_FALSE);
|
||||
#if defined(RLGL_ENABLE_OPENGL_DEBUG_CONTEXT)
|
||||
glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GLFW_TRUE); // Enable OpenGL Debug Context
|
||||
#endif
|
||||
}
|
||||
else if (rlGetVersion() == RL_OPENGL_46)
|
||||
{
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); // Choose OpenGL major version (just hint)
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 6); // Choose OpenGL minor version (just hint)
|
||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_FALSE);
|
||||
#if defined(RLGL_ENABLE_OPENGL_DEBUG_CONTEXT)
|
||||
glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GLFW_TRUE); // Enable OpenGL Debug Context
|
||||
#endif
|
||||
#if defined(RLGL_ENABLE_NOERROR_CONTEXT)
|
||||
glfwWindowHint(GLFW_CONTEXT_NO_ERROR, GLFW_TRUE);
|
||||
#endif
|
||||
}
|
||||
else if (rlGetVersion() == RL_OPENGL_ES_20) // Request OpenGL ES 2.0 context
|
||||
|
|
|
|||
13
src/rlgl.h
13
src/rlgl.h
|
|
@ -25,6 +25,7 @@
|
|||
* #define GRAPHICS_API_OPENGL_21
|
||||
* #define GRAPHICS_API_OPENGL_33
|
||||
* #define GRAPHICS_API_OPENGL_43
|
||||
* #define GRAPHICS_API_OPENGL_46
|
||||
* #define GRAPHICS_API_OPENGL_ES2
|
||||
* #define GRAPHICS_API_OPENGL_ES3
|
||||
* Use selected OpenGL graphics backend, should be supported by platform
|
||||
|
|
@ -150,6 +151,7 @@
|
|||
!defined(GRAPHICS_API_OPENGL_21) && \
|
||||
!defined(GRAPHICS_API_OPENGL_33) && \
|
||||
!defined(GRAPHICS_API_OPENGL_43) && \
|
||||
!defined(GRAPHICS_API_OPENGL_46) && \
|
||||
!defined(GRAPHICS_API_OPENGL_ES2) && \
|
||||
!defined(GRAPHICS_API_OPENGL_ES3)
|
||||
#define GRAPHICS_API_OPENGL_33
|
||||
|
|
@ -166,6 +168,9 @@
|
|||
#if defined(GRAPHICS_API_OPENGL_43)
|
||||
#undef GRAPHICS_API_OPENGL_43
|
||||
#endif
|
||||
#if defined(GRAPHICS_API_OPENGL_46)
|
||||
#undef GRAPHICS_API_OPENGL_46
|
||||
#endif
|
||||
#if defined(GRAPHICS_API_OPENGL_ES2)
|
||||
#undef GRAPHICS_API_OPENGL_ES2
|
||||
#endif
|
||||
|
|
@ -182,6 +187,11 @@
|
|||
#define GRAPHICS_API_OPENGL_33
|
||||
#endif
|
||||
|
||||
// OpenGL 4.6 uses OpenGL 3.3 Core functionality
|
||||
#if defined(GRAPHICS_API_OPENGL_46)
|
||||
#define GRAPHICS_API_OPENGL_33
|
||||
#endif
|
||||
|
||||
// OpenGL ES 3.0 uses OpenGL ES 2.0 functionality (and more)
|
||||
#if defined(GRAPHICS_API_OPENGL_ES3)
|
||||
#define GRAPHICS_API_OPENGL_ES2
|
||||
|
|
@ -414,6 +424,7 @@ typedef enum {
|
|||
RL_OPENGL_21, // OpenGL 2.1 (GLSL 120)
|
||||
RL_OPENGL_33, // OpenGL 3.3 (GLSL 330)
|
||||
RL_OPENGL_43, // OpenGL 4.3 (using GLSL 330)
|
||||
RL_OPENGL_46, // OpenGL 4.6 (using GLSL 330)
|
||||
RL_OPENGL_ES_20, // OpenGL ES 2.0 (GLSL 100)
|
||||
RL_OPENGL_ES_30 // OpenGL ES 3.0 (GLSL 300 es)
|
||||
} rlGlVersion;
|
||||
|
|
@ -2589,6 +2600,8 @@ int rlGetVersion(void)
|
|||
glVersion = RL_OPENGL_43;
|
||||
#elif defined(GRAPHICS_API_OPENGL_33)
|
||||
glVersion = RL_OPENGL_33;
|
||||
#elif defined(GRAPHICS_API_OPENGL_46)
|
||||
glVersion = RL_OPENGL_46;
|
||||
#endif
|
||||
#if defined(GRAPHICS_API_OPENGL_ES3)
|
||||
glVersion = RL_OPENGL_ES_30;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user