diff --git a/src/Shaders/MeshVisualizer.frag b/src/Shaders/MeshVisualizer.frag index 5ec882ed0..981b30a8b 100644 --- a/src/Shaders/MeshVisualizer.frag +++ b/src/Shaders/MeshVisualizer.frag @@ -25,6 +25,9 @@ #ifndef NEW_GLSL #define in varying #define fragmentColor gl_FragColor +#endif + +#ifndef RUNTIME_CONST #define const #endif diff --git a/src/Shaders/MeshVisualizer.geom b/src/Shaders/MeshVisualizer.geom index 3043f38cf..f6a5f6e73 100644 --- a/src/Shaders/MeshVisualizer.geom +++ b/src/Shaders/MeshVisualizer.geom @@ -22,6 +22,10 @@ DEALINGS IN THE SOFTWARE. */ +#ifndef RUNTIME_CONST +#define const +#endif + layout(location = 1) uniform vec2 viewportSize; layout(triangles) in; diff --git a/src/Shaders/Phong.frag b/src/Shaders/Phong.frag index 3d98851f6..3390442f7 100644 --- a/src/Shaders/Phong.frag +++ b/src/Shaders/Phong.frag @@ -27,6 +27,10 @@ #define color gl_FragColor #endif +#ifndef RUNTIME_CONST +#define const +#endif + #ifndef GL_ES #ifdef EXPLICIT_UNIFORM_LOCATION layout(location = 7) uniform vec3 lightColor = vec3(1.0, 1.0, 1.0); diff --git a/src/Shaders/compatibility.glsl b/src/Shaders/compatibility.glsl index 3534b4187..50e527d10 100644 --- a/src/Shaders/compatibility.glsl +++ b/src/Shaders/compatibility.glsl @@ -56,3 +56,9 @@ #define mediump #define lowp #endif + +/* const qualifier can be used for readonly variables since GLSL 4.20, however + it's not supported even in ES 3.0 */ +#if !defined(GL_ES) && __VERSION__ >= 420 +#define RUNTIME_CONST +#endif