|
|
@ -2,10 +2,8 @@ |
|
|
|
* |
|
|
|
* rlgl - raylib OpenGL abstraction layer |
|
|
|
* |
|
|
|
* DESCRIPTION: |
|
|
|
* |
|
|
|
* rlgl allows usage of OpenGL 1.1 style functions (rlVertex) that are internally mapped to |
|
|
|
* selected OpenGL version (1.1, 2.1, 3.3 Core, ES 2.0). |
|
|
|
* rlgl is a wrapper for multiple OpenGL versions (1.1, 2.1, 3.3 Core, ES 2.0) to |
|
|
|
* pseudo-OpenGL 1.1 style functions (rlVertex, rlTranslate, rlRotate...). |
|
|
|
* |
|
|
|
* When chosing an OpenGL version greater than OpenGL 1.1, rlgl stores vertex data on internal |
|
|
|
* VBO buffers (and VAOs if available). It requires calling 3 functions: |
|
|
@ -16,32 +14,19 @@ |
|
|
|
* CONFIGURATION: |
|
|
|
* |
|
|
|
* #define GRAPHICS_API_OPENGL_11 |
|
|
|
* Use OpenGL 1.1 backend |
|
|
|
* |
|
|
|
* #define GRAPHICS_API_OPENGL_21 |
|
|
|
* Use OpenGL 2.1 backend |
|
|
|
* |
|
|
|
* #define GRAPHICS_API_OPENGL_33 |
|
|
|
* Use OpenGL 3.3 Core profile backend |
|
|
|
* |
|
|
|
* #define GRAPHICS_API_OPENGL_ES2 |
|
|
|
* Use OpenGL ES 2.0 backend |
|
|
|
* Use selected OpenGL backend |
|
|
|
* |
|
|
|
* #define RLGL_STANDALONE |
|
|
|
* Use rlgl as standalone library (no raylib dependency) |
|
|
|
* |
|
|
|
* #define RLGL_NO_DISTORTION_SHADER |
|
|
|
* Avoid stereo rendering distortion sahder (shader_distortion.h) inclusion |
|
|
|
* |
|
|
|
* #define SUPPORT_SHADER_DEFAULT / ENABLE_SHADER_DEFAULT |
|
|
|
* #define SUPPORT_VR_SIMULATION / SUPPORT_STEREO_RENDERING |
|
|
|
* Support VR simulation functionality (stereo rendering) |
|
|
|
* |
|
|
|
* #define SUPPORT_SHADER_DISTORTION |
|
|
|
* |
|
|
|
* #define SUPPORT_VR_SIMULATION |
|
|
|
* |
|
|
|
* #define SUPPORT_STEREO_RENDERING |
|
|
|
* |
|
|
|
* #define RLGL_NO_DEFAULT_SHADER |
|
|
|
* Include stereo rendering distortion shader (shader_distortion.h) |
|
|
|
* |
|
|
|
* DEPENDENCIES: |
|
|
|
* raymath - 3D math functionality (Vector3, Matrix, Quaternion) |
|
|
@ -50,7 +35,7 @@ |
|
|
|
* |
|
|
|
* LICENSE: zlib/libpng |
|
|
|
* |
|
|
|
* Copyright (c) 2014-2016 Ramon Santamaria (@raysan5) |
|
|
|
* Copyright (c) 2014-2017 Ramon Santamaria (@raysan5) |
|
|
|
* |
|
|
|
* This software is provided "as-is", without any express or implied warranty. In no event |
|
|
|
* will the authors be held liable for any damages arising from the use of this software. |
|
|
@ -295,6 +280,13 @@ static bool texCompETC1Supported = false; // ETC1 texture compression support |
|
|
|
static bool texCompETC2Supported = false; // ETC2/EAC texture compression support |
|
|
|
static bool texCompPVRTSupported = false; // PVR texture compression support |
|
|
|
static bool texCompASTCSupported = false; // ASTC texture compression support |
|
|
|
|
|
|
|
// VR global variables |
|
|
|
static VrDeviceInfo hmd; // Current VR device info |
|
|
|
static VrStereoConfig vrConfig; // VR stereo configuration for simulator |
|
|
|
static bool vrSimulatorReady = false; // VR simulator ready flag |
|
|
|
static bool vrStereoRender = false; // VR stereo rendering enabled/disabled flag |
|
|
|
// NOTE: This flag is useful to render data over stereo image (i.e. FPS) |
|
|
|
#endif |
|
|
|
|
|
|
|
// Extension supported flag: Anisotropic filtering |
|
|
@ -304,13 +296,6 @@ static float maxAnisotropicLevel = 0.0f; // Maximum anisotropy level supp |
|
|
|
// Extension supported flag: Clamp mirror wrap mode |
|
|
|
static bool texClampMirrorSupported = false; // Clamp mirror wrap mode supported |
|
|
|
|
|
|
|
// VR global variables |
|
|
|
static VrDeviceInfo hmd; // Current VR device info |
|
|
|
static VrStereoConfig vrConfig; // VR stereo configuration for simulator |
|
|
|
static bool vrSimulatorReady = false; // VR simulator ready flag |
|
|
|
static bool vrStereoRender = false; // VR stereo rendering enabled/disabled flag |
|
|
|
// NOTE: This flag is useful to render data over stereo image (i.e. FPS) |
|
|
|
|
|
|
|
#if defined(GRAPHICS_API_OPENGL_ES2) |
|
|
|
// NOTE: VAO functionality is exposed through extensions (OES) |
|
|
|
static PFNGLGENVERTEXARRAYSOESPROC glGenVertexArrays; |
|
|
@ -2636,7 +2621,11 @@ void CloseVrSimulator(void) |
|
|
|
// Detect if VR simulator is running |
|
|
|
bool IsVrSimulatorReady(void) |
|
|
|
{ |
|
|
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2) |
|
|
|
return vrSimulatorReady; |
|
|
|
#else |
|
|
|
return false; |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
// Enable/Disable VR experience (device or simulator) |
|
|
|