Version 7.1.7.1, tag libreoffice-7.1.7.1
[LibreOffice.git] / vcl / opengl / shaders / convolutionFragmentShader.glsl
blob4b2f316e0bbacb7581b9c01864e3860be6f80c60
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  */
10 /* TODO Use textureOffset for newest version of GLSL */
12 #version 130
14 uniform sampler2D sampler;
15 uniform vec2 offsets[16];
16 uniform float kernel[16];
18 varying vec2 tex_coord;
20 void main(void)
22     vec4 sum = texture2D(sampler, tex_coord.st) * kernel[0];
23     for (int i = 1; i < 16; i++) {
24         sum += texture2D(sampler, tex_coord.st - offsets[i]) * kernel[i];
25         sum += texture2D(sampler, tex_coord.st + offsets[i]) * kernel[i];
26     }
27     gl_FragColor = sum;
30 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */