aboutsummaryrefslogtreecommitdiff
path: root/client/shaders/nodes_shader/opengl_fragment.glsl
diff options
context:
space:
mode:
authorVitaliy <numzer0@yandex.ru>2020-10-25 20:01:03 +0300
committerGitHub <noreply@github.com>2020-10-25 18:01:03 +0100
commit707c8c1e95d8db2d84909e7957b4dc9138e05599 (patch)
tree84604fc1868c7b8ca8e977d5dd0485498500cdfe /client/shaders/nodes_shader/opengl_fragment.glsl
parent33b2c5f5b1c565171296f26395d803b08f4575e9 (diff)
downloadminetest-707c8c1e95d8db2d84909e7957b4dc9138e05599.tar.gz
minetest-707c8c1e95d8db2d84909e7957b4dc9138e05599.tar.bz2
minetest-707c8c1e95d8db2d84909e7957b4dc9138e05599.zip
Shaders for Android (GLES 2) (#10506)
Shader support for OpenGL ES 2 devices (Android) Co-authored-by: sfan5 <sfan5@live.de>
Diffstat (limited to 'client/shaders/nodes_shader/opengl_fragment.glsl')
-rw-r--r--client/shaders/nodes_shader/opengl_fragment.glsl13
1 files changed, 7 insertions, 6 deletions
diff --git a/client/shaders/nodes_shader/opengl_fragment.glsl b/client/shaders/nodes_shader/opengl_fragment.glsl
index 36d47d1f5..82c87073a 100644
--- a/client/shaders/nodes_shader/opengl_fragment.glsl
+++ b/client/shaders/nodes_shader/opengl_fragment.glsl
@@ -15,11 +15,12 @@ varying vec3 vPosition;
// cameraOffset + worldPosition (for large coordinates the limits of float
// precision must be considered).
varying vec3 worldPosition;
-
+varying lowp vec4 varColor;
+varying mediump vec2 varTexCoord;
varying vec3 eyeVec;
const float fogStart = FOG_START;
-const float fogShadingParameter = 1 / ( 1 - fogStart);
+const float fogShadingParameter = 1.0 / ( 1.0 - fogStart);
#ifdef ENABLE_TONE_MAPPING
@@ -56,13 +57,13 @@ vec4 applyToneMapping(vec4 color)
void main(void)
{
vec3 color;
- vec2 uv = gl_TexCoord[0].st;
+ vec2 uv = varTexCoord.st;
vec4 base = texture2D(baseTexture, uv).rgba;
-
#ifdef USE_DISCARD
// If alpha is zero, we can just discard the pixel. This fixes transparency
- // on GPUs like GC7000L, where GL_ALPHA_TEST is not implemented in mesa.
+ // on GPUs like GC7000L, where GL_ALPHA_TEST is not implemented in mesa,
+ // and also on GLES 2, where GL_ALPHA_TEST is missing entirely.
if (base.a == 0.0) {
discard;
}
@@ -70,7 +71,7 @@ void main(void)
color = base.rgb;
- vec4 col = vec4(color.rgb * gl_Color.rgb, 1.0);
+ vec4 col = vec4(color.rgb * varColor.rgb, 1.0);
#ifdef ENABLE_TONE_MAPPING
col = applyToneMapping(col);