|
|
@ -1,29 +0,0 @@ |
|
|
|
raylib relies on OpenGL as its main graphic API. Depending on the platform, raylib uses different versions of OpenGL by default, but it's possible to configure the desired OpenGL API backend on library compilation; just select the appropriate `#define` when compiling the [rlgl](https://github.com/raysan5/raylib/blob/develop/src/rlgl.c) module. |
|
|
|
|
|
|
|
All OpenGL API calls are contained in the rlgl module. This module works as a layer to the underlying graphic API. The selected OpenGL version can be configured in this module using `#define`s at compile time. |
|
|
|
|
|
|
|
Here is a table with the different OpenGL configurations supported by raylib on the different platforms: |
|
|
|
|
|
|
|
PLATFORM | OpenGL version | Notes |
|
|
|
--- | :-------: | --- |
|
|
|
DESKTOP:Windows | `OpenGL 1.1`,<br> `OpenGL 2.1`,<br> `OpenGL 3.3` | Desired version can be selected at compile time |
|
|
|
DESKTOP:Linux | `OpenGL 1.1`,<br> `OpenGL 2.1`,<br> `OpenGL 3.3` | Desired version can be selected at compile time |
|
|
|
DESKTOP:OSX | `OpenGL 1.1`,<br> `OpenGL 2.1`,<br> `OpenGL 3.3` | Desired version can be selected at compile time |
|
|
|
ANDROID| `OpenGL ES 2.0` | Selected automatically if `PLATFORM_ANDROID` is defined |
|
|
|
RASPBERRY PI | `OpenGL ES 2.0` | Selected automatically if `PLATFORM_RPI` is defined.<br> Runs natively, no XWindows desktop supported. |
|
|
|
HTML5 (Web) | `WebGL 1.0 (OpenGL ES 2.0)` | `OpenGL ES 2.0` transformed to `WebGL 1.0` on compilation <br>(using `emscripten SDK`), no emulation layer, only pure `WebGL 1.0` translation. |
|
|
|
|
|
|
|
Additional backends (not supported by default): |
|
|
|
|
|
|
|
PLATFORM | OpenGL version | Notes |
|
|
|
--- | :-------: | --- |
|
|
|
DESKTOP:Windows | `OpenGL ES 2.0` | Support through two possible ways: <br> - `WGL_EXT_create_context_es2_profile` extension<br> - [ANGLE](https://github.com/google/angle) project |
|
|
|
DESKTOP:Linux | `OpenGL ES 2.0` | Support through: <br> - `GLX_EXT_create_context_es2_profile` extension |
|
|
|
ANDROID | `OpenGL ES 3.0` | Only about [55% Android devices](https://developer.android.com/about/dashboards/index.html) support it. |
|
|
|
RASPBERRY PI | `OpenGL 1.1`,<br> `OpenGL 2.1` | Supported through: <br> - Gallium OpenGL driver (only RPI2 and RPI3) |
|
|
|
HTML5 (Web) | `WebGL 2.0` <br>`(OpenGL ES 3.0)` | `OpenGL ES 3.0` transformed to `WebGL 2.0` <br> on compilation (using `emscripten SDK`). |
|
|
|
|
|
|
|
Please let me know if you require one of those backends to be implemented. |
|
|
|
|
|
|
|
Additionally, I'm planning a new graphics backend: a simple 2D software renderer. I think it could be useful on some embedded platforms... still on design phase. |
|
|
|
|