Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0ede0213 authored by Lucas Dupin's avatar Lucas Dupin
Browse files

Kawase blur feedback

Test: transaction tests
Test: visual
Fixes: 149309004
Change-Id: I0e17eaa60b61065107f3c93a85fcc460ed61b83d
parent f22c0ebb
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -106,21 +106,19 @@ string KawaseBlurFilter::getFragmentShader() const {
        precision mediump float;

        uniform sampler2D uTexture;
        highp uniform vec2 uOffset;
        uniform vec2 uOffset;

        highp in vec2 vUV;
        out vec4 fragColor;

        vec4 kawaseBlur() {
            return (texture(uTexture, vec2(-1.0, 1.0) * uOffset + vUV, 0.0)
                    + texture(uTexture, uOffset + vUV, 0.0)
                    + texture(uTexture, vec2(1.0, -1.0) * uOffset + vUV, 0.0)
                    + texture(uTexture, vec2(-1.0) * uOffset + vUV, 0.0))
                * 0.25;
        }

        void main() {
            fragColor = kawaseBlur();
            fragColor  = texture(uTexture, vUV, 0.0);
            fragColor += texture(uTexture, vUV + vec2( uOffset.x,  uOffset.y), 0.0);
            fragColor += texture(uTexture, vUV + vec2( uOffset.x, -uOffset.y), 0.0);
            fragColor += texture(uTexture, vUV + vec2(-uOffset.x,  uOffset.y), 0.0);
            fragColor += texture(uTexture, vUV + vec2(-uOffset.x, -uOffset.y), 0.0);

            fragColor = vec4(fragColor.rgb * 0.2, 1.0);
        }
    )SHADER";
}
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ namespace gl {

class KawaseBlurFilter : public BlurFilter {
public:
    static constexpr uint32_t kMaxPasses = 8;
    static constexpr uint32_t kMaxPasses = 6;

    explicit KawaseBlurFilter(GLESRenderEngine& engine);
    status_t prepare() override;