replace GLAD.h with an internal opengl loader (RLGL)
This commit is contained in:
parent
4b9617764f
commit
63034f8dae
56
src/rlgl.h
56
src/rlgl.h
|
|
@ -322,6 +322,26 @@
|
||||||
#define RL_READ_FRAMEBUFFER 0x8CA8 // GL_READ_FRAMEBUFFER
|
#define RL_READ_FRAMEBUFFER 0x8CA8 // GL_READ_FRAMEBUFFER
|
||||||
#define RL_DRAW_FRAMEBUFFER 0x8CA9 // GL_DRAW_FRAMEBUFFER
|
#define RL_DRAW_FRAMEBUFFER 0x8CA9 // GL_DRAW_FRAMEBUFFER
|
||||||
|
|
||||||
|
// Default shader vertex attribute locations
|
||||||
|
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION
|
||||||
|
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION 0
|
||||||
|
#endif
|
||||||
|
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD
|
||||||
|
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD 1
|
||||||
|
#endif
|
||||||
|
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL
|
||||||
|
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL 2
|
||||||
|
#endif
|
||||||
|
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR
|
||||||
|
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR 3
|
||||||
|
#endif
|
||||||
|
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT
|
||||||
|
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT 4
|
||||||
|
#endif
|
||||||
|
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2
|
||||||
|
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 5
|
||||||
|
#endif
|
||||||
|
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
// Types and Structures Definition
|
// Types and Structures Definition
|
||||||
//----------------------------------------------------------------------------------
|
//----------------------------------------------------------------------------------
|
||||||
|
|
@ -1094,7 +1114,7 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad
|
||||||
#elif defined(GRAPHICS_API_OPENGL_ES2)
|
#elif defined(GRAPHICS_API_OPENGL_ES2)
|
||||||
// NOTE: OpenGL ES 2.0 can be enabled on PLATFORM_DESKTOP,
|
// NOTE: OpenGL ES 2.0 can be enabled on PLATFORM_DESKTOP,
|
||||||
// in that case, functions are loaded from a custom glad for OpenGL ES 2.0
|
// in that case, functions are loaded from a custom glad for OpenGL ES 2.0
|
||||||
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_DESKTOP_SDL) || defined(PLATFORM_DESKTOP_RGFW)
|
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_DESKTOP_SDL)
|
||||||
#define GLAD_GLES2_IMPLEMENTATION
|
#define GLAD_GLES2_IMPLEMENTATION
|
||||||
#include "external/glad_gles2.h"
|
#include "external/glad_gles2.h"
|
||||||
#else
|
#else
|
||||||
|
|
@ -1202,26 +1222,6 @@ RLAPI void rlLoadDrawQuad(void); // Load and draw a quad
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Default shader vertex attribute locations
|
|
||||||
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION
|
|
||||||
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_POSITION 0
|
|
||||||
#endif
|
|
||||||
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD
|
|
||||||
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD 1
|
|
||||||
#endif
|
|
||||||
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL
|
|
||||||
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_NORMAL 2
|
|
||||||
#endif
|
|
||||||
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR
|
|
||||||
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_COLOR 3
|
|
||||||
#endif
|
|
||||||
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT
|
|
||||||
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TANGENT 4
|
|
||||||
#endif
|
|
||||||
#ifndef RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2
|
|
||||||
#define RL_DEFAULT_SHADER_ATTRIB_LOCATION_TEXCOORD2 5
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Default shader vertex attribute names to set location points
|
// Default shader vertex attribute names to set location points
|
||||||
#ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION
|
#ifndef RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION
|
||||||
#define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION
|
#define RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION "vertexPosition" // Bound by default to shader location: RL_DEFAULT_SHADER_ATTRIB_NAME_POSITION
|
||||||
|
|
@ -1564,7 +1564,7 @@ void rlMultMatrixf(const float *matf)
|
||||||
matf[2], matf[6], matf[10], matf[14],
|
matf[2], matf[6], matf[10], matf[14],
|
||||||
matf[3], matf[7], matf[11], matf[15] };
|
matf[3], matf[7], matf[11], matf[15] };
|
||||||
|
|
||||||
*RLGL.State.currentMatrix = rlMatrixMultiply(*RLGL.State.currentMatrix, mat);
|
*RLGL.State.currentMatrix = rlMatrixMultiply(mat, *RLGL.State.currentMatrix);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Multiply the current matrix by a perspective matrix generated by parameters
|
// Multiply the current matrix by a perspective matrix generated by parameters
|
||||||
|
|
@ -2580,7 +2580,6 @@ void rlglClose(void)
|
||||||
void rlLoadExtensions(void *loader)
|
void rlLoadExtensions(void *loader)
|
||||||
{
|
{
|
||||||
#if defined(GRAPHICS_API_OPENGL_33) // Also defined for GRAPHICS_API_OPENGL_21
|
#if defined(GRAPHICS_API_OPENGL_33) // Also defined for GRAPHICS_API_OPENGL_21
|
||||||
// NOTE: glad is generated and contains only required OpenGL 3.3 Core extensions (and lower versions)
|
|
||||||
if (rlLoadGL(loader) == 0) TRACELOG(RL_LOG_WARNING, "GLAD: Cannot load OpenGL extensions");
|
if (rlLoadGL(loader) == 0) TRACELOG(RL_LOG_WARNING, "GLAD: Cannot load OpenGL extensions");
|
||||||
else TRACELOG(RL_LOG_INFO, "GLAD: OpenGL extensions loaded successfully");
|
else TRACELOG(RL_LOG_INFO, "GLAD: OpenGL extensions loaded successfully");
|
||||||
|
|
||||||
|
|
@ -2631,6 +2630,7 @@ void rlLoadExtensions(void *loader)
|
||||||
RLGL.ExtSupported.ssbo = RLGL_GL_ARB_shader_storage_buffer_object;
|
RLGL.ExtSupported.ssbo = RLGL_GL_ARB_shader_storage_buffer_object;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif // GRAPHICS_API_OPENGL_33
|
#endif // GRAPHICS_API_OPENGL_33
|
||||||
|
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES3)
|
#if defined(GRAPHICS_API_OPENGL_ES3)
|
||||||
|
|
@ -2658,7 +2658,7 @@ void rlLoadExtensions(void *loader)
|
||||||
|
|
||||||
#elif defined(GRAPHICS_API_OPENGL_ES2)
|
#elif defined(GRAPHICS_API_OPENGL_ES2)
|
||||||
|
|
||||||
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_DESKTOP_SDL) || defined(PLATFORM_DESKTOP_RGFW)
|
#if defined(PLATFORM_DESKTOP) || defined(PLATFORM_DESKTOP_SDL)
|
||||||
// TODO: Support GLAD loader for OpenGL ES 3.0
|
// TODO: Support GLAD loader for OpenGL ES 3.0
|
||||||
if (gladLoadGLES2((GLADloadfunc)loader) == 0) TRACELOG(RL_LOG_WARNING, "GLAD: Cannot load OpenGL ES2.0 functions");
|
if (gladLoadGLES2((GLADloadfunc)loader) == 0) TRACELOG(RL_LOG_WARNING, "GLAD: Cannot load OpenGL ES2.0 functions");
|
||||||
else TRACELOG(RL_LOG_INFO, "GLAD: OpenGL ES 2.0 loaded successfully");
|
else TRACELOG(RL_LOG_INFO, "GLAD: OpenGL ES 2.0 loaded successfully");
|
||||||
|
|
@ -3674,14 +3674,6 @@ unsigned int rlLoadTextureCubemap(const void *data, int size, int format)
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef GL_RGB565
|
|
||||||
#define GL_RGB565 0x8D62
|
|
||||||
#define GL_RGB32F 0x8815
|
|
||||||
#define GL_RGBA32F 0x8814
|
|
||||||
#define GL_RGB16F 0x881B
|
|
||||||
#define GL_RGBA16F 0x881A
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Update already loaded texture in GPU with new data
|
// Update already loaded texture in GPU with new data
|
||||||
// NOTE: We don't know safely if internal texture format is the expected one...
|
// NOTE: We don't know safely if internal texture format is the expected one...
|
||||||
void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data)
|
void rlUpdateTexture(unsigned int id, int offsetX, int offsetY, int width, int height, int format, const void *data)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user