|
@@ -710,6 +710,7 @@ RLAPI void rlSetBlendFactorsSeparate(int glSrcRGB, int glDstRGB, int glSrcAlpha,
|
|
RLAPI void rlglInit(int width, int height); // Initialize rlgl (buffers, shaders, textures, states)
|
|
RLAPI void rlglInit(int width, int height); // Initialize rlgl (buffers, shaders, textures, states)
|
|
RLAPI void rlglClose(void); // De-initialize rlgl (buffers, shaders, textures)
|
|
RLAPI void rlglClose(void); // De-initialize rlgl (buffers, shaders, textures)
|
|
RLAPI void rlLoadExtensions(void *loader); // Load OpenGL extensions (loader function required)
|
|
RLAPI void rlLoadExtensions(void *loader); // Load OpenGL extensions (loader function required)
|
|
|
|
+RLAPI void *rlGetProcAddress(const char *procName); // Get OpenGL procedure address
|
|
RLAPI int rlGetVersion(void); // Get current OpenGL version
|
|
RLAPI int rlGetVersion(void); // Get current OpenGL version
|
|
RLAPI void rlSetFramebufferWidth(int width); // Set current framebuffer width
|
|
RLAPI void rlSetFramebufferWidth(int width); // Set current framebuffer width
|
|
RLAPI int rlGetFramebufferWidth(void); // Get default framebuffer width
|
|
RLAPI int rlGetFramebufferWidth(void); // Get default framebuffer width
|
|
@@ -1041,10 +1042,15 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad
|
|
// Types and Structures Definition
|
|
// Types and Structures Definition
|
|
//----------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------
|
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
|
|
|
+
|
|
|
|
+typedef void *(*rlglLoadProc)(const char *name); // OpenGL extension functions loader signature (same as GLADloadproc)
|
|
|
|
+
|
|
typedef struct rlglData {
|
|
typedef struct rlglData {
|
|
rlRenderBatch *currentBatch; // Current render batch
|
|
rlRenderBatch *currentBatch; // Current render batch
|
|
rlRenderBatch defaultBatch; // Default internal render batch
|
|
rlRenderBatch defaultBatch; // Default internal render batch
|
|
|
|
|
|
|
|
+ rlglLoadProc loader; // OpenGL function loader
|
|
|
|
+
|
|
struct {
|
|
struct {
|
|
int vertexCounter; // Current active render batch vertex counter (generic, used for all batches)
|
|
int vertexCounter; // Current active render batch vertex counter (generic, used for all batches)
|
|
float texcoordx, texcoordy; // Current active texture coordinate (added on glVertex*())
|
|
float texcoordx, texcoordy; // Current active texture coordinate (added on glVertex*())
|
|
@@ -1114,8 +1120,6 @@ typedef struct rlglData {
|
|
} ExtSupported; // Extensions supported flags
|
|
} ExtSupported; // Extensions supported flags
|
|
} rlglData;
|
|
} rlglData;
|
|
|
|
|
|
-typedef void *(*rlglLoadProc)(const char *name); // OpenGL extension functions loader signature (same as GLADloadproc)
|
|
|
|
-
|
|
|
|
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
|
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
|
|
|
|
|
//----------------------------------------------------------------------------------
|
|
//----------------------------------------------------------------------------------
|
|
@@ -2567,6 +2571,8 @@ void rlLoadExtensions(void *loader)
|
|
TRACELOG(RL_LOG_INFO, " > Version: %s", glGetString(GL_VERSION));
|
|
TRACELOG(RL_LOG_INFO, " > Version: %s", glGetString(GL_VERSION));
|
|
TRACELOG(RL_LOG_INFO, " > GLSL: %s", glGetString(GL_SHADING_LANGUAGE_VERSION));
|
|
TRACELOG(RL_LOG_INFO, " > GLSL: %s", glGetString(GL_SHADING_LANGUAGE_VERSION));
|
|
|
|
|
|
|
|
+ RLGL.loader = (rlglLoadProc)loader;
|
|
|
|
+
|
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
|
// NOTE: Anisotropy levels capability is an extension
|
|
// NOTE: Anisotropy levels capability is an extension
|
|
#ifndef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT
|
|
#ifndef GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT
|
|
@@ -2625,6 +2631,11 @@ void rlLoadExtensions(void *loader)
|
|
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
|
#endif // GRAPHICS_API_OPENGL_33 || GRAPHICS_API_OPENGL_ES2
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+// Get OpenGL procedure address
|
|
|
|
+void *rlGetProcAddress(const char *procName) {
|
|
|
|
+ return RLGL.loader(procName);
|
|
|
|
+}
|
|
|
|
+
|
|
// Get current OpenGL version
|
|
// Get current OpenGL version
|
|
int rlGetVersion(void)
|
|
int rlGetVersion(void)
|
|
{
|
|
{
|