mirror of
https://github.com/tanema/light_world.lua.git
synced 2024-12-24 20:24:19 +00:00
45be0c56fa
taking out unused variables and redundant code, also took out debug variables. also moved the shaders in to the lib folder for better portablility of the library
19 lines
783 B
GLSL
19 lines
783 B
GLSL
extern Image backBuffer;
|
|
|
|
extern vec2 screen = vec2(800.0, 600.0);
|
|
extern float refractionStrength = 1.0;
|
|
|
|
vec4 effect(vec4 color, Image texture, vec2 texture_coords, vec2 pixel_coords) {
|
|
vec2 pSize = vec2(1.0 / screen.x, 1.0 / screen.y);
|
|
vec4 normal = Texel(texture, texture_coords);
|
|
if(normal.b > 0.0) {
|
|
vec4 normalOffset = Texel(texture, vec2(texture_coords.x + (normal.x - 0.5) * pSize.x * refractionStrength, texture_coords.y + (normal.y - 0.5) * pSize.y * refractionStrength));
|
|
if(normalOffset.b > 0.0) {
|
|
return Texel(backBuffer, vec2(texture_coords.x + (normal.x - 0.5) * pSize.x * refractionStrength, texture_coords.y + (normal.y - 0.5) * pSize.y * refractionStrength));
|
|
} else {
|
|
return Texel(backBuffer, texture_coords);
|
|
}
|
|
} else {
|
|
return vec4(0.0);
|
|
}
|
|
} |