Some defines simplification
This commit is contained in:
parent
fcab72f915
commit
d2cb628a66
1 changed files with 37 additions and 30 deletions
67
src/rlgl.h
67
src/rlgl.h
|
@ -18,7 +18,7 @@
|
||||||
* #define GRAPHICS_API_OPENGL_ES2
|
* #define GRAPHICS_API_OPENGL_ES2
|
||||||
* Use selected OpenGL graphics backend, should be supported by platform
|
* Use selected OpenGL graphics backend, should be supported by platform
|
||||||
* Those preprocessor defines are only used on rlgl module, if OpenGL version is
|
* Those preprocessor defines are only used on rlgl module, if OpenGL version is
|
||||||
* required by any other module, use rlGetVersion() tocheck it
|
* required by any other module, use rlGetVersion() to check it
|
||||||
*
|
*
|
||||||
* #define RLGL_IMPLEMENTATION
|
* #define RLGL_IMPLEMENTATION
|
||||||
* Generates the implementation of the library into the included file.
|
* Generates the implementation of the library into the included file.
|
||||||
|
@ -1454,7 +1454,7 @@ float rlGetLineWidth(void)
|
||||||
// Enable line aliasing
|
// Enable line aliasing
|
||||||
void rlEnableSmoothLines(void)
|
void rlEnableSmoothLines(void)
|
||||||
{
|
{
|
||||||
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_11)
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_11)
|
||||||
glEnable(GL_LINE_SMOOTH);
|
glEnable(GL_LINE_SMOOTH);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1462,7 +1462,7 @@ void rlEnableSmoothLines(void)
|
||||||
// Disable line aliasing
|
// Disable line aliasing
|
||||||
void rlDisableSmoothLines(void)
|
void rlDisableSmoothLines(void)
|
||||||
{
|
{
|
||||||
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_11)
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_11)
|
||||||
glDisable(GL_LINE_SMOOTH);
|
glDisable(GL_LINE_SMOOTH);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -1515,7 +1515,7 @@ void rlClearScreenBuffers(void)
|
||||||
// Check and log OpenGL error codes
|
// Check and log OpenGL error codes
|
||||||
void rlCheckErrors()
|
void rlCheckErrors()
|
||||||
{
|
{
|
||||||
#if defined(GRAPHICS_API_OPENGL_21) || defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
||||||
int check = 1;
|
int check = 1;
|
||||||
while (check)
|
while (check)
|
||||||
{
|
{
|
||||||
|
@ -1631,7 +1631,6 @@ void rlglInit(int width, int height)
|
||||||
|
|
||||||
// Get extensions strings
|
// Get extensions strings
|
||||||
for (int i = 0; i < numExt; i++) extList[i] = (char *)glGetStringi(GL_EXTENSIONS, i);
|
for (int i = 0; i < numExt; i++) extList[i] = (char *)glGetStringi(GL_EXTENSIONS, i);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
|
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
|
||||||
// Allocate 512 strings pointers (2 KB)
|
// Allocate 512 strings pointers (2 KB)
|
||||||
|
@ -2391,10 +2390,6 @@ unsigned int rlLoadTexture(void *data, int width, int height, int format, int mi
|
||||||
|
|
||||||
glGenTextures(1, &id); // Generate texture id
|
glGenTextures(1, &id); // Generate texture id
|
||||||
|
|
||||||
#if defined(GRAPHICS_API_OPENGL_33) || defined(GRAPHICS_API_OPENGL_ES2)
|
|
||||||
//glActiveTexture(GL_TEXTURE0); // If not defined, using GL_TEXTURE0 by default (shader texture)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, id);
|
glBindTexture(GL_TEXTURE_2D, id);
|
||||||
|
|
||||||
int mipWidth = width;
|
int mipWidth = width;
|
||||||
|
@ -3673,14 +3668,9 @@ static void rlLoadShaderDefault(void)
|
||||||
for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) RLGL.State.defaultShader.locs[i] = -1;
|
for (int i = 0; i < MAX_SHADER_LOCATIONS; i++) RLGL.State.defaultShader.locs[i] = -1;
|
||||||
|
|
||||||
// Vertex shader directly defined, no external file required
|
// Vertex shader directly defined, no external file required
|
||||||
const char *defaultVShaderStr =
|
const char *vShaderDefault =
|
||||||
#if defined(GRAPHICS_API_OPENGL_21)
|
#if defined(GRAPHICS_API_OPENGL_21)
|
||||||
"#version 120 \n"
|
"#version 120 \n"
|
||||||
#endif
|
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES2)
|
|
||||||
"#version 100 \n"
|
|
||||||
#endif
|
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
|
|
||||||
"attribute vec3 vertexPosition; \n"
|
"attribute vec3 vertexPosition; \n"
|
||||||
"attribute vec2 vertexTexCoord; \n"
|
"attribute vec2 vertexTexCoord; \n"
|
||||||
"attribute vec4 vertexColor; \n"
|
"attribute vec4 vertexColor; \n"
|
||||||
|
@ -3693,6 +3683,14 @@ static void rlLoadShaderDefault(void)
|
||||||
"in vec4 vertexColor; \n"
|
"in vec4 vertexColor; \n"
|
||||||
"out vec2 fragTexCoord; \n"
|
"out vec2 fragTexCoord; \n"
|
||||||
"out vec4 fragColor; \n"
|
"out vec4 fragColor; \n"
|
||||||
|
#endif
|
||||||
|
#if defined(GRAPHICS_API_OPENGL_ES2)
|
||||||
|
"#version 100 \n"
|
||||||
|
"attribute vec3 vertexPosition; \n"
|
||||||
|
"attribute vec2 vertexTexCoord; \n"
|
||||||
|
"attribute vec4 vertexColor; \n"
|
||||||
|
"varying vec2 fragTexCoord; \n"
|
||||||
|
"varying vec4 fragColor; \n"
|
||||||
#endif
|
#endif
|
||||||
"uniform mat4 mvp; \n"
|
"uniform mat4 mvp; \n"
|
||||||
"void main() \n"
|
"void main() \n"
|
||||||
|
@ -3703,39 +3701,48 @@ static void rlLoadShaderDefault(void)
|
||||||
"} \n";
|
"} \n";
|
||||||
|
|
||||||
// Fragment shader directly defined, no external file required
|
// Fragment shader directly defined, no external file required
|
||||||
const char *defaultFShaderStr =
|
const char *fShaderDefault =
|
||||||
#if defined(GRAPHICS_API_OPENGL_21)
|
#if defined(GRAPHICS_API_OPENGL_21)
|
||||||
"#version 120 \n"
|
"#version 120 \n"
|
||||||
#endif
|
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES2)
|
|
||||||
"#version 100 \n"
|
|
||||||
"precision mediump float; \n" // precision required for OpenGL ES2 (WebGL)
|
|
||||||
#endif
|
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
|
|
||||||
"varying vec2 fragTexCoord; \n"
|
"varying vec2 fragTexCoord; \n"
|
||||||
"varying vec4 fragColor; \n"
|
"varying vec4 fragColor; \n"
|
||||||
|
"uniform sampler2D texture0; \n"
|
||||||
|
"uniform vec4 colDiffuse; \n"
|
||||||
|
"void main() \n"
|
||||||
|
"{ \n"
|
||||||
|
" vec4 texelColor = texture2D(texture0, fragTexCoord); \n"
|
||||||
|
" gl_FragColor = texelColor*colDiffuse*fragColor; \n"
|
||||||
|
"} \n";
|
||||||
#elif defined(GRAPHICS_API_OPENGL_33)
|
#elif defined(GRAPHICS_API_OPENGL_33)
|
||||||
"#version 330 \n"
|
"#version 330 \n"
|
||||||
"in vec2 fragTexCoord; \n"
|
"in vec2 fragTexCoord; \n"
|
||||||
"in vec4 fragColor; \n"
|
"in vec4 fragColor; \n"
|
||||||
"out vec4 finalColor; \n"
|
"out vec4 finalColor; \n"
|
||||||
#endif
|
|
||||||
"uniform sampler2D texture0; \n"
|
"uniform sampler2D texture0; \n"
|
||||||
"uniform vec4 colDiffuse; \n"
|
"uniform vec4 colDiffuse; \n"
|
||||||
"void main() \n"
|
"void main() \n"
|
||||||
"{ \n"
|
"{ \n"
|
||||||
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
|
|
||||||
" vec4 texelColor = texture2D(texture0, fragTexCoord); \n" // NOTE: texture2D() is deprecated on OpenGL 3.3 and ES 3.0
|
|
||||||
" gl_FragColor = texelColor*colDiffuse*fragColor; \n"
|
|
||||||
#elif defined(GRAPHICS_API_OPENGL_33)
|
|
||||||
" vec4 texelColor = texture(texture0, fragTexCoord); \n"
|
" vec4 texelColor = texture(texture0, fragTexCoord); \n"
|
||||||
" finalColor = texelColor*colDiffuse*fragColor; \n"
|
" finalColor = texelColor*colDiffuse*fragColor; \n"
|
||||||
#endif
|
|
||||||
"} \n";
|
"} \n";
|
||||||
|
#endif
|
||||||
|
#if defined(GRAPHICS_API_OPENGL_ES2)
|
||||||
|
"#version 100 \n"
|
||||||
|
"precision mediump float; \n" // Precision required for OpenGL ES2 (WebGL)
|
||||||
|
"varying vec2 fragTexCoord; \n"
|
||||||
|
"varying vec4 fragColor; \n"
|
||||||
|
"uniform sampler2D texture0; \n"
|
||||||
|
"uniform vec4 colDiffuse; \n"
|
||||||
|
"void main() \n"
|
||||||
|
"{ \n"
|
||||||
|
" vec4 texelColor = texture2D(texture0, fragTexCoord); \n"
|
||||||
|
" gl_FragColor = texelColor*colDiffuse*fragColor; \n"
|
||||||
|
"} \n";
|
||||||
|
#endif
|
||||||
|
|
||||||
// NOTE: Compiled vertex/fragment shaders are kept for re-use
|
// NOTE: Compiled vertex/fragment shaders are kept for re-use
|
||||||
RLGL.State.defaultVShaderId = rlCompileShader(defaultVShaderStr, GL_VERTEX_SHADER); // Compile default vertex shader
|
RLGL.State.defaultVShaderId = rlCompileShader(vShaderDefault, GL_VERTEX_SHADER); // Compile default vertex shader
|
||||||
RLGL.State.defaultFShaderId = rlCompileShader(defaultFShaderStr, GL_FRAGMENT_SHADER); // Compile default fragment shader
|
RLGL.State.defaultFShaderId = rlCompileShader(fShaderDefault, GL_FRAGMENT_SHADER); // Compile default fragment shader
|
||||||
|
|
||||||
RLGL.State.defaultShader.id = rlLoadShaderProgram(RLGL.State.defaultVShaderId, RLGL.State.defaultFShaderId);
|
RLGL.State.defaultShader.id = rlLoadShaderProgram(RLGL.State.defaultVShaderId, RLGL.State.defaultFShaderId);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue