summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRay <[email protected]>2021-04-11 00:55:45 +0200
committerRay <[email protected]>2021-04-11 00:55:45 +0200
commitd2cb628a66a0c12828fcecee398f1ba119a7e796 (patch)
tree11d6c2942d4b156b1dd615069168d8ce5dc76263
parentfcab72f915077b7741207e7bb4a3e42fad73d5c3 (diff)
downloadraylib-d2cb628a66a0c12828fcecee398f1ba119a7e796.tar.gz
raylib-d2cb628a66a0c12828fcecee398f1ba119a7e796.zip
Some defines simplification
-rw-r--r--src/rlgl.h65
1 files changed, 36 insertions, 29 deletions
diff --git a/src/rlgl.h b/src/rlgl.h
index bc40ad01..1d7c07be 100644
--- a/src/rlgl.h
+++ b/src/rlgl.h
@@ -18,7 +18,7 @@
* #define GRAPHICS_API_OPENGL_ES2
* Use selected OpenGL graphics backend, should be supported by platform
* 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
* Generates the implementation of the library into the included file.
@@ -1454,7 +1454,7 @@ float rlGetLineWidth(void)
// Enable line aliasing
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);
#endif
}
@@ -1462,7 +1462,7 @@ void rlEnableSmoothLines(void)
// Disable line aliasing
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);
#endif
}
@@ -1515,7 +1515,7 @@ void rlClearScreenBuffers(void)
// Check and log OpenGL error codes
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;
while (check)
{
@@ -1631,7 +1631,6 @@ void rlglInit(int width, int height)
// Get extensions strings
for (int i = 0; i < numExt; i++) extList[i] = (char *)glGetStringi(GL_EXTENSIONS, i);
-
#endif
#if defined(GRAPHICS_API_OPENGL_ES2) || defined(GRAPHICS_API_OPENGL_21)
// 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
-#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);
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;
// Vertex shader directly defined, no external file required
- const char *defaultVShaderStr =
+ const char *vShaderDefault =
#if defined(GRAPHICS_API_OPENGL_21)
"#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 vec2 vertexTexCoord; \n"
"attribute vec4 vertexColor; \n"
@@ -3694,6 +3684,14 @@ static void rlLoadShaderDefault(void)
"out vec2 fragTexCoord; \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
"uniform mat4 mvp; \n"
"void main() \n"
"{ \n"
@@ -3703,39 +3701,48 @@ static void rlLoadShaderDefault(void)
"} \n";
// Fragment shader directly defined, no external file required
- const char *defaultFShaderStr =
+ const char *fShaderDefault =
#if defined(GRAPHICS_API_OPENGL_21)
"#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 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)
"#version 330 \n"
"in vec2 fragTexCoord; \n"
"in vec4 fragColor; \n"
"out vec4 finalColor; \n"
-#endif
"uniform sampler2D texture0; \n"
"uniform vec4 colDiffuse; \n"
"void main() \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"
" finalColor = texelColor*colDiffuse*fragColor; \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
- RLGL.State.defaultVShaderId = rlCompileShader(defaultVShaderStr, GL_VERTEX_SHADER); // Compile default vertex shader
- RLGL.State.defaultFShaderId = rlCompileShader(defaultFShaderStr, GL_FRAGMENT_SHADER); // Compile default fragment shader
+ RLGL.State.defaultVShaderId = rlCompileShader(vShaderDefault, GL_VERTEX_SHADER); // Compile default vertex shader
+ RLGL.State.defaultFShaderId = rlCompileShader(fShaderDefault, GL_FRAGMENT_SHADER); // Compile default fragment shader
RLGL.State.defaultShader.id = rlLoadShaderProgram(RLGL.State.defaultVShaderId, RLGL.State.defaultFShaderId);