Version 6.1.4.1, tag libreoffice-6.1.4.1
[LibreOffice.git] / vcl / opengl / shaders / replaceColorFragmentShader.glsl
blob24f6008e287185272f795b006fe6ff19a0b08e4b
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 #version 130
12 varying vec2 tex_coord;
13 uniform sampler2D sampler;
14 uniform vec4 search_color;
15 uniform vec4 replace_color;
16 uniform float epsilon;
18 void main() {
19     vec4 texel = texture2D(sampler, tex_coord);
20     vec4 diff = clamp(abs(texel - search_color) - epsilon, 0.0, 1.0);
21     float bump = max(0.0, 1.0 - ceil(diff.x + diff.y + diff.z));
22     gl_FragColor = texel + bump * (replace_color - search_color);
25 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */