mirror of
https://github.com/brl/mutter.git
synced 2024-11-12 17:27:03 -05:00
blur-effect: Fix the blur filter
Make sure we don't sample the center twice, and don't sample things that aren't our immediate neighbors. https://bugzilla.gnome.org/show_bug.cgi?id=683076
This commit is contained in:
parent
fb9e0466c0
commit
fd375a7bc9
@ -58,18 +58,15 @@
|
||||
*/
|
||||
static const gchar *box_blur_glsl_declarations =
|
||||
"uniform vec2 pixel_step;\n";
|
||||
/* FIXME: Is this shader right? It is doing 10 samples (ie, sampling
|
||||
the middle texel twice) and then only dividing by 9 */
|
||||
#define SAMPLE(offx, offy) \
|
||||
"cogl_texel += texture2D (cogl_sampler, cogl_tex_coord.st + pixel_step * " \
|
||||
"vec2 (" G_STRINGIFY (offx) ", " G_STRINGIFY (offy) ") * 2.0);\n"
|
||||
"vec2 (" G_STRINGIFY (offx) ", " G_STRINGIFY (offy) "));\n"
|
||||
static const gchar *box_blur_glsl_shader =
|
||||
" cogl_texel = texture2D (cogl_sampler, cogl_tex_coord.st);\n"
|
||||
SAMPLE (-1.0, -1.0)
|
||||
SAMPLE ( 0.0, -1.0)
|
||||
SAMPLE (+1.0, -1.0)
|
||||
SAMPLE (-1.0, 0.0)
|
||||
SAMPLE ( 0.0, 0.0)
|
||||
SAMPLE (+1.0, 0.0)
|
||||
SAMPLE (-1.0, +1.0)
|
||||
SAMPLE ( 0.0, +1.0)
|
||||
|
Loading…
Reference in New Issue
Block a user