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)
|
- **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!**
|
- Multiple platforms supported: **Windows, Linux, MacOS, RPI, Android, HTML5... and more!**
|
||||||
- Written in plain C code (C99) using PascalCase/camelCase notation
|
- 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)
|
- **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 **Fonts** formats supported (TTF, OTF, Image fonts, AngelCode fonts)
|
||||||
- Multiple texture formats supported, including **compressed formats** (DXT, ETC, ASTC)
|
- Multiple texture formats supported, including **compressed formats** (DXT, ETC, ASTC)
|
||||||
|
|
|
||||||
|
|
@ -1348,6 +1348,19 @@ int InitPlatform(void)
|
||||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_FALSE);
|
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GLFW_FALSE);
|
||||||
#if defined(RLGL_ENABLE_OPENGL_DEBUG_CONTEXT)
|
#if defined(RLGL_ENABLE_OPENGL_DEBUG_CONTEXT)
|
||||||
glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, GLFW_TRUE); // 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
|
#endif
|
||||||
}
|
}
|
||||||
else if (rlGetVersion() == RL_OPENGL_ES_20) // Request OpenGL ES 2.0 context
|
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_21
|
||||||
* #define GRAPHICS_API_OPENGL_33
|
* #define GRAPHICS_API_OPENGL_33
|
||||||
* #define GRAPHICS_API_OPENGL_43
|
* #define GRAPHICS_API_OPENGL_43
|
||||||
|
* #define GRAPHICS_API_OPENGL_46
|
||||||
* #define GRAPHICS_API_OPENGL_ES2
|
* #define GRAPHICS_API_OPENGL_ES2
|
||||||
* #define GRAPHICS_API_OPENGL_ES3
|
* #define GRAPHICS_API_OPENGL_ES3
|
||||||
* Use selected OpenGL graphics backend, should be supported by platform
|
* Use selected OpenGL graphics backend, should be supported by platform
|
||||||
|
|
@ -150,6 +151,7 @@
|
||||||
!defined(GRAPHICS_API_OPENGL_21) && \
|
!defined(GRAPHICS_API_OPENGL_21) && \
|
||||||
!defined(GRAPHICS_API_OPENGL_33) && \
|
!defined(GRAPHICS_API_OPENGL_33) && \
|
||||||
!defined(GRAPHICS_API_OPENGL_43) && \
|
!defined(GRAPHICS_API_OPENGL_43) && \
|
||||||
|
!defined(GRAPHICS_API_OPENGL_46) && \
|
||||||
!defined(GRAPHICS_API_OPENGL_ES2) && \
|
!defined(GRAPHICS_API_OPENGL_ES2) && \
|
||||||
!defined(GRAPHICS_API_OPENGL_ES3)
|
!defined(GRAPHICS_API_OPENGL_ES3)
|
||||||
#define GRAPHICS_API_OPENGL_33
|
#define GRAPHICS_API_OPENGL_33
|
||||||
|
|
@ -166,6 +168,9 @@
|
||||||
#if defined(GRAPHICS_API_OPENGL_43)
|
#if defined(GRAPHICS_API_OPENGL_43)
|
||||||
#undef GRAPHICS_API_OPENGL_43
|
#undef GRAPHICS_API_OPENGL_43
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(GRAPHICS_API_OPENGL_46)
|
||||||
|
#undef GRAPHICS_API_OPENGL_46
|
||||||
|
#endif
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES2)
|
#if defined(GRAPHICS_API_OPENGL_ES2)
|
||||||
#undef GRAPHICS_API_OPENGL_ES2
|
#undef GRAPHICS_API_OPENGL_ES2
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -182,6 +187,11 @@
|
||||||
#define GRAPHICS_API_OPENGL_33
|
#define GRAPHICS_API_OPENGL_33
|
||||||
#endif
|
#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)
|
// OpenGL ES 3.0 uses OpenGL ES 2.0 functionality (and more)
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES3)
|
#if defined(GRAPHICS_API_OPENGL_ES3)
|
||||||
#define GRAPHICS_API_OPENGL_ES2
|
#define GRAPHICS_API_OPENGL_ES2
|
||||||
|
|
@ -414,6 +424,7 @@ typedef enum {
|
||||||
RL_OPENGL_21, // OpenGL 2.1 (GLSL 120)
|
RL_OPENGL_21, // OpenGL 2.1 (GLSL 120)
|
||||||
RL_OPENGL_33, // OpenGL 3.3 (GLSL 330)
|
RL_OPENGL_33, // OpenGL 3.3 (GLSL 330)
|
||||||
RL_OPENGL_43, // OpenGL 4.3 (using 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_20, // OpenGL ES 2.0 (GLSL 100)
|
||||||
RL_OPENGL_ES_30 // OpenGL ES 3.0 (GLSL 300 es)
|
RL_OPENGL_ES_30 // OpenGL ES 3.0 (GLSL 300 es)
|
||||||
} rlGlVersion;
|
} rlGlVersion;
|
||||||
|
|
@ -2589,6 +2600,8 @@ int rlGetVersion(void)
|
||||||
glVersion = RL_OPENGL_43;
|
glVersion = RL_OPENGL_43;
|
||||||
#elif defined(GRAPHICS_API_OPENGL_33)
|
#elif defined(GRAPHICS_API_OPENGL_33)
|
||||||
glVersion = RL_OPENGL_33;
|
glVersion = RL_OPENGL_33;
|
||||||
|
#elif defined(GRAPHICS_API_OPENGL_46)
|
||||||
|
glVersion = RL_OPENGL_46;
|
||||||
#endif
|
#endif
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES3)
|
#if defined(GRAPHICS_API_OPENGL_ES3)
|
||||||
glVersion = RL_OPENGL_ES_30;
|
glVersion = RL_OPENGL_ES_30;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user