I was messing around with GLSL effects, and I created a shader that actually increases visibility, making enemies as well as map details easier to see. Eihrul came along and cleaned up the code, as well as making it compatible with /forceglsl 0. It's currently included as an option in Red Eclipse SVN, but it works on any Cube2 game.
How to use:
1) back up your data/glsl.cfg and stdshader.cfg files
2) merge the "data" folder with the mod
3) when in-game, type "/setpostfx sharpen"
(you can also add "/setpostfx sharpen" to your autoexec.cfg)
Source code for glsl.cfg usage:
setupfinecorners = [
gl_TexCoord[1].xy = gl_MultiTexCoord0.xy + vec2(-1.0, 0.0);
gl_TexCoord[2].xy = gl_MultiTexCoord0.xy + vec2( 1.0, 0.0);
gl_TexCoord[3].xy = gl_MultiTexCoord0.xy + vec2( 0.0, -1.0);
gl_TexCoord[4].xy = gl_MultiTexCoord0.xy + vec2( 0.0, 1.0);
]
lazyshader 4 "sharpen" [ @fsvs @setupfinecorners } ] [
@fsps
@sample4corners
gl_FragColor = vec4(sample.xyz*1.95 - 0.25*(s00.xyz + s02.xyz + s20.xyz + s22.xyz), sample.w);
}
]
for stdshader.cfg:
setupfinecorners = [
ADD result.texcoord[1], vertex.texcoord[0], { -1, 0, 0, 0 };
ADD result.texcoord[2], vertex.texcoord[0], { 1, 0, 0, 0 };
ADD result.texcoord[3], vertex.texcoord[0], { 0, -1, 0, 0 };
ADD result.texcoord[4], vertex.texcoord[0], { 0, 1, 0, 0 };
]
lazyshader 0 "sharpen" [ @fsvs @setupfinecorners END ] [
@fsps
@sample4corners
ADD s00.xyz, s00, s02;
ADD s00.xyz, s00, s20;
ADD s00.xyz, s00, s22;
MUL sample.xyz, sample, 1.95;
MAD result.color.rgb, s00, -0.25, sample;
MOV result.color.a, sample.a;
END
]