Fix some of the effects in qmlvideofx
* TiltShift was sometimes applying the effect in the wrong place. * Blur had some QML properties duplicated * Blur kernel wasn't quite summing to 1, and was applying opacity twice * The target width for the second pass was incorrect, so it was blending darkness, resulting in a dreary image. Change-Id: Ib8ba93d979c597cf4d225b3d24d26a22d0cdffc2 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
8af2548473
commit
2307825461
@@ -61,7 +61,7 @@ Item {
|
||||
Effect {
|
||||
id: verticalShader
|
||||
anchors.fill: parent
|
||||
property real dividerValue: parent.dividerValue
|
||||
dividerValue: parent.dividerValue
|
||||
property real blurSize: 4.0 * parent.parameters.get(0).value / targetHeight
|
||||
fragmentShaderFilename: "shaders/gaussianblur_v.fsh"
|
||||
}
|
||||
@@ -69,8 +69,8 @@ Item {
|
||||
Effect {
|
||||
id: horizontalShader
|
||||
anchors.fill: parent
|
||||
property real dividerValue: parent.dividerValue
|
||||
property real blurSize: 4.0 * parent.parameters.get(0).value / targetWidth
|
||||
dividerValue: parent.dividerValue
|
||||
property real blurSize: 4.0 * parent.parameters.get(0).value / parent.targetWidth
|
||||
fragmentShaderFilename: "shaders/gaussianblur_h.fsh"
|
||||
source: horizontalShaderSource
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ void main()
|
||||
c += texture2D(source, uv - vec2(3.0*blurSize, 0.0)) * 0.09;
|
||||
c += texture2D(source, uv - vec2(2.0*blurSize, 0.0)) * 0.12;
|
||||
c += texture2D(source, uv - vec2(1.0*blurSize, 0.0)) * 0.15;
|
||||
c += texture2D(source, uv) * 0.16;
|
||||
c += texture2D(source, uv) * 0.18;
|
||||
c += texture2D(source, uv + vec2(1.0*blurSize, 0.0)) * 0.15;
|
||||
c += texture2D(source, uv + vec2(2.0*blurSize, 0.0)) * 0.12;
|
||||
c += texture2D(source, uv + vec2(3.0*blurSize, 0.0)) * 0.09;
|
||||
|
||||
@@ -55,7 +55,7 @@ void main()
|
||||
c += texture2D(source, uv - vec2(0.0, 3.0*blurSize)) * 0.09;
|
||||
c += texture2D(source, uv - vec2(0.0, 2.0*blurSize)) * 0.12;
|
||||
c += texture2D(source, uv - vec2(0.0, 1.0*blurSize)) * 0.15;
|
||||
c += texture2D(source, uv) * 0.16;
|
||||
c += texture2D(source, uv) * 0.18;
|
||||
c += texture2D(source, uv + vec2(0.0, 1.0*blurSize)) * 0.15;
|
||||
c += texture2D(source, uv + vec2(0.0, 2.0*blurSize)) * 0.12;
|
||||
c += texture2D(source, uv + vec2(0.0, 3.0*blurSize)) * 0.09;
|
||||
@@ -63,5 +63,6 @@ void main()
|
||||
} else {
|
||||
c = texture2D(source, qt_TexCoord0);
|
||||
}
|
||||
gl_FragColor = qt_Opacity * c;
|
||||
// First pass we don't apply opacity
|
||||
gl_FragColor = c;
|
||||
}
|
||||
|
||||
@@ -67,7 +67,7 @@ void main()
|
||||
{
|
||||
vec2 uv = qt_TexCoord0.xy;
|
||||
vec3 col;
|
||||
if (uv.x < dividerValue && uv.y >= 0.4 && uv.y <= 0.6)
|
||||
if (uv.x > dividerValue || (uv.y >= 0.4 && uv.y <= 0.6))
|
||||
col = texture2D(source, uv).rgb;
|
||||
else
|
||||
col = blur();
|
||||
|
||||
Reference in New Issue
Block a user