• 3118阅读
  • 2回复

zhengtianzuo系列-Qml倒影 [复制链接]

上一主题 下一主题
离线zhengtianzuo
 

只看楼主 倒序阅读 楼主  发表于: 2017-11-02
使用QtGraphicalEffects中的ShaderEffect

```
        ShaderEffect {
            height: parent.height
            width: parent.width
            anchors.top: parent.bottom
            anchors.left: parent.left

            property variant source: img
            property size sourceSize: Qt.size(0.5 / img.width, 0.5 / img.height)

            fragmentShader: "
                varying highp vec2 qt_TexCoord0;
                uniform lowp sampler2D source;
                uniform lowp vec2 sourceSize;
                uniform lowp float qt_Opacity;
                void main() {
                    lowp vec2 tc = qt_TexCoord0 * vec2(1, -1) + vec2(0, 1);
                    lowp vec4 col = 0.25 * (texture2D(source, tc + sourceSize)
                                            + texture2D(source, tc- sourceSize)
                                            + texture2D(source, tc + sourceSize * vec2(1, -1))
                                            + texture2D(source, tc + sourceSize * vec2(-1, 1))
                                           );
                    gl_FragColor = col * qt_Opacity * (1.0 - qt_TexCoord0.y) * 0.5;
                }"
        }
```

具体fragmentShader相关代码参看官网 qml-qtquick-shadereffect
qml-qtquick-shadereffect



需要完整代码请访问 QtQuickExamples
博客地址: https://blog.csdn.net/zhengtianzuo06
Github: https://github.com/zhengtianzuo
个人产品: https://github.com/zhengtianzuo/Silk
产品网站: http://www.camelstudio.cn
离线lsyzsl

只看该作者 1楼 发表于: 2017-11-03
你这些东西在哪学的啊?
离线zhengtianzuo

只看该作者 2楼 发表于: 2017-11-03
回 lsyzsl 的帖子
lsyzsl:你这些东西在哪学的啊?[表情]  (2017-11-03 07:53) 

官网啊 有些是自己摸索啊
博客地址: https://blog.csdn.net/zhengtianzuo06
Github: https://github.com/zhengtianzuo
个人产品: https://github.com/zhengtianzuo/Silk
产品网站: http://www.camelstudio.cn
快速回复
限100 字节
 
上一个 下一个