Branch libreoffice-5-0-4
[LibreOffice.git] / vcl / opengl / replaceColorFragmentShader.glsl
blob6e845f012ac3e98515233f4c08b9a40b555ad5f7
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 varying vec2 tex_coord;
11 uniform sampler2D sampler;
12 uniform vec4 search_color;
13 uniform vec4 replace_color;
14 uniform float epsilon;
16 void main() {
17     vec4 texel = texture2D(sampler, tex_coord);
18     vec4 diff = clamp(abs(texel - search_color) - epsilon, 0.0, 1.0);
19     float bump = max(0.0, 1.0 - ceil(diff.x + diff.y + diff.z));
20     gl_FragColor = texel + bump * (replace_color - search_color);
23 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */