2
* ***** BEGIN GPL LICENSE BLOCK *****
4
* This program is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU General Public License
6
* as published by the Free Software Foundation; either version 2
7
* of the License, or (at your option) any later version.
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software Foundation,
16
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
19
* All rights reserved.
21
* The Original Code is: all of this file.
23
* Contributor(s): none yet.
25
* ***** END GPL LICENSE BLOCK *****
28
#ifndef __RAS_PREWITT2DFILTER
29
#define __RAS_PREWITT2DFILTER
31
char * PrewittFragmentShader=STRINGIFY(
32
uniform sampler2D bgl_RenderedTexture;
33
uniform vec2 bgl_TextureCoordinateOffset[9];
39
for (int i = 0; i < 9; i++)
41
sample[i] = texture2D(bgl_RenderedTexture,
42
gl_TexCoord[0].st + bgl_TextureCoordinateOffset[i]);
45
vec4 horizEdge = sample[2] + sample[5] + sample[8] -
46
(sample[0] + sample[3] + sample[6]);
48
vec4 vertEdge = sample[0] + sample[1] + sample[2] -
49
(sample[6] + sample[7] + sample[8]);
51
gl_FragColor.rgb = sqrt((horizEdge.rgb * horizEdge.rgb) +
52
(vertEdge.rgb * vertEdge.rgb));