【发布时间】:2014-04-22 07:22:37
【问题描述】:
我一直在使用 QtQuick 和 QML 测试 GUI 的可能性,但我一直无法找到有关将 GLSL 着色器效果应用于 Window 本身的信息。例如,假设我想制作一个全屏应用程序,它可以简单地模糊窗口后面的所有内容;当您在桌面上移动应用程序窗口时,窗口后面的所有内容都会受到着色器的影响,如果您最大化应用程序,整个屏幕都会受到影响。
在官方 QtQuick5.2 文档中,他们提到将 shader effect 应用于 Image 元素。为此,他们制作了一个变体并使用 id 将其连接到 Image。我尝试引用我的“Window”QML 元素的“id”属性,但它不起作用(由于着色器无法正确处理,导致黑色窗口)。还有 QtGraphicalEffects 模块,它内置了一些非常好的效果,但我也没有将这些效果应用到窗口上。
那么,对于 QtQuick2.2 和 QML,是否可以“捕获”窗口后面的像素并使用 GLSL 着色器和/或 QML 图形效果属性对其进行处理?
【问题讨论】:
标签: qt opengl shader qml qtquick2