1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-21 18:11:11 +00:00

Shaders for Android (GLES 2) (#10506)

Shader support for OpenGL ES 2 devices (Android)

Co-authored-by: sfan5 <sfan5@live.de>
This commit is contained in:
Vitaliy 2020-10-25 20:01:03 +03:00 committed by GitHub
parent 33b2c5f5b1
commit 707c8c1e95
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 233 additions and 120 deletions

View file

@ -8,6 +8,8 @@ uniform vec3 eyePosition;
varying vec3 vNormal;
varying vec3 vPosition;
varying vec3 worldPosition;
varying lowp vec4 varColor;
varying mediump vec2 varTexCoord;
varying vec3 eyeVec;
varying float vIDiff;
@ -15,7 +17,7 @@ varying float vIDiff;
const float e = 2.718281828459;
const float BS = 10.0;
const float fogStart = FOG_START;
const float fogShadingParameter = 1 / ( 1 - fogStart);
const float fogShadingParameter = 1.0 / (1.0 - fogStart);
#ifdef ENABLE_TONE_MAPPING
@ -52,13 +54,14 @@ 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;
}
@ -68,7 +71,7 @@ void main(void)
vec4 col = vec4(color.rgb, base.a);
col.rgb *= gl_Color.rgb;
col.rgb *= varColor.rgb;
col.rgb *= emissiveColor.rgb * vIDiff;