might as well merge bloom

This commit is contained in:
Anuken
2019-07-27 16:16:22 -04:00
13 changed files with 668 additions and 0 deletions
@@ -0,0 +1,23 @@
#ifdef GL_ES
#define LOWP lowp
#define MED mediump
precision lowp float;
#else
#define LOWP
#define MED
#endif
uniform sampler2D u_texture0;
uniform sampler2D u_texture1;
uniform float BloomIntensity;
uniform float OriginalIntensity;
varying MED vec2 v_texCoords;
void main()
{
vec4 original = texture2D(u_texture0, v_texCoords) * OriginalIntensity;
vec4 bloom = texture2D(u_texture1, v_texCoords) * BloomIntensity;
original = original * (vec4(1.0) - bloom);
gl_FragColor = original + bloom;
}
@@ -0,0 +1,26 @@
#ifdef GL_ES
#define LOWP lowp
#define MED mediump
precision lowp float;
#else
#define LOWP
#define MED
#endif
uniform sampler2D u_texture;
varying MED vec2 v_texCoords0;
varying MED vec2 v_texCoords1;
varying MED vec2 v_texCoords2;
varying MED vec2 v_texCoords3;
varying MED vec2 v_texCoords4;
const float center = 0.2270270270;
const float close = 0.3162162162;
const float far = 0.0702702703;
void main()
{
gl_FragColor = far * texture2D(u_texture, v_texCoords0)
+ close * texture2D(u_texture, v_texCoords1)
+ center * texture2D(u_texture, v_texCoords2)
+ close * texture2D(u_texture, v_texCoords3)
+ far * texture2D(u_texture, v_texCoords4);
}
@@ -0,0 +1,21 @@
#ifdef GL_ES
#define LOWP lowp
#define MED mediump
precision lowp float;
#else
#define LOWP
#define MED
#endif
uniform sampler2D u_texture0;
uniform vec2 threshold;
varying MED vec2 v_texCoords;
void main()
{
vec4 color = texture2D(u_texture0, v_texCoords);
if(color.r + color.g + color.b > 0.5 * 3.0){
gl_FragColor = color;
}else{
gl_FragColor = vec4(0.0);
}
//gl_FragColor = (texture2D(u_texture0, v_texCoords) - vec4(threshold.r)) * threshold.g;
}
@@ -0,0 +1,23 @@
#ifdef GL_ES
#define LOWP lowp
#define MED mediump
precision lowp float;
#else
#define LOWP
#define MED
#endif
uniform sampler2D u_texture0;
uniform sampler2D u_texture1;
uniform float BloomIntensity;
uniform float OriginalIntensity;
varying MED vec2 v_texCoords;
void main()
{
vec3 original = texture2D(u_texture0, v_texCoords).rgb;
vec3 bloom = texture2D(u_texture1, v_texCoords).rgb * BloomIntensity;
original = OriginalIntensity * (original - original * bloom);
gl_FragColor.rgb = original + bloom;
}
@@ -0,0 +1,31 @@
#ifdef GL_ES
#define MED mediump
#else
#define MED
#endif
attribute vec4 a_position;
attribute vec2 a_texCoord0;
uniform vec2 dir;
uniform vec2 size;
varying MED vec2 v_texCoords0;
varying MED vec2 v_texCoords1;
varying MED vec2 v_texCoords2;
varying MED vec2 v_texCoords3;
varying MED vec2 v_texCoords4;
const vec2 futher = vec2(3.2307692308, 3.2307692308);
const vec2 closer = vec2(1.3846153846, 1.3846153846);
void main()
{
vec2 sizeAndDir = dir / size;
vec2 f = futher*sizeAndDir;
vec2 c = closer*sizeAndDir;
v_texCoords0 = a_texCoord0 - f;
v_texCoords1 = a_texCoord0 - c;
v_texCoords2 = a_texCoord0;
v_texCoords3 = a_texCoord0 + c;
v_texCoords4 = a_texCoord0 + f;
gl_Position = a_position;
}
@@ -0,0 +1,26 @@
#ifdef GL_ES
#define LOWP lowp
#define MED mediump
precision lowp float;
#else
#define LOWP
#define MED
#endif
uniform sampler2D u_texture;
varying MED vec2 v_texCoords0;
varying MED vec2 v_texCoords1;
varying MED vec2 v_texCoords2;
varying MED vec2 v_texCoords3;
varying MED vec2 v_texCoords4;
const float center = 0.2270270270;
const float close = 0.3162162162;
const float far = 0.0702702703;
void main()
{
gl_FragColor.rgb = far * texture2D(u_texture, v_texCoords0).rgb
+ close * texture2D(u_texture, v_texCoords1).rgb
+ center * texture2D(u_texture, v_texCoords2).rgb
+ close * texture2D(u_texture, v_texCoords3).rgb
+ far * texture2D(u_texture, v_texCoords4).rgb;
}
@@ -0,0 +1,17 @@
#ifdef GL_ES
#define LOWP lowp
#define MED mediump
precision lowp float;
#else
#define LOWP
#define MED
#endif
uniform sampler2D u_texture0;
uniform vec2 threshold;
varying MED vec2 v_texCoords;
void main()
{
vec4 tex = texture2D(u_texture0, v_texCoords);
vec3 colors = (tex.rgb - threshold.r) * threshold.g * tex.a;
gl_FragColor = vec4(colors, tex.a);
}
@@ -0,0 +1,13 @@
#ifdef GL_ES
#define MED mediump
#else
#define MED
#endif
attribute vec4 a_position;
attribute vec2 a_texCoord0;
varying MED vec2 v_texCoords;
void main()
{
v_texCoords = a_texCoord0;
gl_Position = a_position;
}
@@ -0,0 +1,15 @@
#ifdef GL_ES
#define LOWP lowp
#define MED mediump
precision lowp float;
#else
#define LOWP
#define MED
#endif
uniform sampler2D u_texture0;
uniform vec2 threshold;
varying MED vec2 v_texCoords;
void main()
{
gl_FragColor.rgb = (texture2D(u_texture0, v_texCoords).rgb - vec3(threshold.x)) * threshold.y;
}
+2
View File
@@ -346,6 +346,7 @@ error.alreadyconnected = Already connected.
error.mapnotfound = Map file not found!
error.io = Network I/O error.
error.any = Unknown network error.
error.bloom = Failed to initialize bloom.\nYour device may not support it.
zone.groundZero.name = Ground Zero
zone.desertWastes.name = Desert Wastes
@@ -498,6 +499,7 @@ setting.chatopacity.name = Chat Opacity
setting.playerchat.name = Display In-Game Chat
uiscale.reset = UI scale has been changed.\nPress "OK" to confirm this scale.\n[scarlet]Reverting and exiting in[accent] {0}[] settings...
uiscale.cancel = Cancel & Exit
setting.bloom.name = Bloom
keybind.title = Rebind Keys
keybinds.mobile = [scarlet]Most keybinds here are not functional on mobile. Only basic movement is supported.
category.general.name = General