Files
orx/orx-integral-image/src/main/resources/shaders/gl3/integral-image.frag
Edwin Jakobs 149a7fd183 changes
2019-01-26 21:24:58 +01:00

26 lines
641 B
GLSL

#version 330 core
uniform sampler2D tex0;
in vec2 v_texCoord0;
out vec4 o_color;
uniform int passIndex;
uniform int sampleCount;
uniform int sampleCountBase;
uniform vec2 passDirection;
void main() {
vec2 passOffset = vec2(pow(sampleCountBase, passIndex)) * (1.0/textureSize(tex0, 0)) * passDirection;
vec2 uv0 = v_texCoord0;
vec4 result = vec4(0.0);
for (int i = 0; i < sampleCount; ++i) {
vec2 readUV = v_texCoord0 - vec2(i *passOffset);
float factor = step(0.0, readUV.x) * step(0.0, readUV.y);
result += factor * texture(tex0, readUV);
}
o_color = result;
}