From ffbb144a7c2313a2ac5a8ce30b9b4df18f0e752b Mon Sep 17 00:00:00 2001 From: Brad Davis Date: Tue, 2 Oct 2018 16:31:24 -0700 Subject: [PATCH] Fix avatar thumbnails --- .../avatarapp/+android/TransparencyMask.qml | 43 +++++++++++++++++++ .../qml/hifi/avatarapp/TransparencyMask.qml | 28 ++++++------ 2 files changed, 57 insertions(+), 14 deletions(-) create mode 100644 interface/resources/qml/hifi/avatarapp/+android/TransparencyMask.qml diff --git a/interface/resources/qml/hifi/avatarapp/+android/TransparencyMask.qml b/interface/resources/qml/hifi/avatarapp/+android/TransparencyMask.qml new file mode 100644 index 0000000000..6c50a6093a --- /dev/null +++ b/interface/resources/qml/hifi/avatarapp/+android/TransparencyMask.qml @@ -0,0 +1,43 @@ +import QtQuick 2.0 + +Item { + property alias source: sourceImage.sourceItem + property alias maskSource: sourceMask.sourceItem + + anchors.fill: parent + ShaderEffectSource { + id: sourceMask + smooth: true + hideSource: true + } + ShaderEffectSource { + id: sourceImage + hideSource: true + } + + ShaderEffect { + id: maskEffect + anchors.fill: parent + + property variant source: sourceImage + property variant mask: sourceMask + + fragmentShader: { +" + varying highp vec2 qt_TexCoord0; + uniform lowp sampler2D source; + uniform lowp sampler2D mask; + void main() { + + highp vec4 maskColor = texture2D(mask, vec2(qt_TexCoord0.x, qt_TexCoord0.y)); + highp vec4 sourceColor = texture2D(source, vec2(qt_TexCoord0.x, qt_TexCoord0.y)); + + if (maskColor.a > 0.0) + gl_FragColor = sourceColor; + else + gl_FragColor = maskColor; + } +" + } + } +} \ No newline at end of file diff --git a/interface/resources/qml/hifi/avatarapp/TransparencyMask.qml b/interface/resources/qml/hifi/avatarapp/TransparencyMask.qml index db9b4f06ae..c8ac5f4778 100644 --- a/interface/resources/qml/hifi/avatarapp/TransparencyMask.qml +++ b/interface/resources/qml/hifi/avatarapp/TransparencyMask.qml @@ -24,20 +24,20 @@ Item { fragmentShader: { " -#version 150 core - varying highp vec2 qt_TexCoord0; - uniform lowp sampler2D source; - uniform lowp sampler2D mask; - void main() { - - highp vec4 maskColor = texture2D(mask, vec2(qt_TexCoord0.x, qt_TexCoord0.y)); - highp vec4 sourceColor = texture2D(source, vec2(qt_TexCoord0.x, qt_TexCoord0.y)); - - if (maskColor.a > 0.0) - gl_FragColor = sourceColor; - else - gl_FragColor = maskColor; - } +#version 410 +in vec2 qt_TexCoord0; +out vec4 color; +uniform sampler2D source; +uniform sampler2D mask; +void main() +{ + vec4 maskColor = texture(mask, vec2(qt_TexCoord0.x, qt_TexCoord0.y)); + vec4 sourceColor = texture(source, vec2(qt_TexCoord0.x, qt_TexCoord0.y)); + if (maskColor.a > 0.0) + color = sourceColor; + else + color = maskColor; +} " } }