mirror of
https://github.com/JulianGro/overte.git
synced 2025-04-30 00:43:09 +02:00
Merge pull request #14134 from jherico/fix/fb19088
Fix avatar thumbnails
This commit is contained in:
commit
bb78a8dd5c
2 changed files with 57 additions and 14 deletions
|
@ -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;
|
||||||
|
}
|
||||||
|
"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -24,20 +24,20 @@ Item {
|
||||||
|
|
||||||
fragmentShader: {
|
fragmentShader: {
|
||||||
"
|
"
|
||||||
#version 150 core
|
#version 410
|
||||||
varying highp vec2 qt_TexCoord0;
|
in vec2 qt_TexCoord0;
|
||||||
uniform lowp sampler2D source;
|
out vec4 color;
|
||||||
uniform lowp sampler2D mask;
|
uniform sampler2D source;
|
||||||
void main() {
|
uniform 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));
|
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)
|
if (maskColor.a > 0.0)
|
||||||
gl_FragColor = sourceColor;
|
color = sourceColor;
|
||||||
else
|
else
|
||||||
gl_FragColor = maskColor;
|
color = maskColor;
|
||||||
}
|
}
|
||||||
"
|
"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue