22 lines
473 B
GLSL
22 lines
473 B
GLSL
|
|
const int KernelSize = 9;
|
|
|
|
//texture offsets
|
|
uniform vec2 Offset[KernelSize];
|
|
//convolution kernel
|
|
uniform vec4 KernelValue[KernelSize];
|
|
uniform sampler2D srcTex;
|
|
uniform vec4 ScaleFactor;
|
|
uniform vec4 BaseColor;
|
|
|
|
void main(void)
|
|
{
|
|
int i;
|
|
vec4 sum = vec4(0.0);
|
|
for (i = 0; i < KernelSize; ++i) {
|
|
vec4 tmp = texture2D(srcTex, gl_TexCoord[0].st + Offset[i]);
|
|
sum += tmp * KernelValue[i];
|
|
}
|
|
gl_FragColor = sum * ScaleFactor + BaseColor;
|
|
}
|