Revision control
++ // Copyright (C) 2023 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++ // Created with Qt Quick Effect Maker (version 0.43), Fri Feb 17 09:45:06 2023
++
++ import QtQuick
++
++ Item {
++ id: rootItem
++
++ // This is the main source for the effect
++ property Item source: null
++ // Enable this to animate iTime property
++ property bool timeRunning: false
++ // When timeRunning is false, this can be used to control iTime manually
++ property real animatedTime: frameAnimation.elapsedTime
++
++ property real wigglyAmountX: 20
++ property real wigglyAmountY: 50
++ property real wigglyShadows: 0.5
++ // The levels of details for the electic clouds. Bigger value means more detailed rending which also requires more processing power. The default value is 6 and practical range is between 1 and 10.
++ property int electricCloudLevels: 6
++ // The color used for the clouds. Alpha channel defines the amount of opacity this effect has.
++ property color electricCloudColor: Qt.rgba(1, 1, 1, 1)
++
++ FrameAnimation {
++ id: frameAnimation
++ running: rootItem.timeRunning
++ }
++
++ ShaderEffect {
++ readonly property alias iSource: rootItem.source
++ readonly property alias iTime: rootItem.animatedTime
++ readonly property vector3d iResolution: Qt.vector3d(width, height, 1.0)
++ readonly property alias wigglyAmountX: rootItem.wigglyAmountX
++ readonly property alias wigglyAmountY: rootItem.wigglyAmountY
++ readonly property alias wigglyShadows: rootItem.wigglyShadows
++ readonly property alias electricCloudLevels: rootItem.electricCloudLevels
++ readonly property alias electricCloudColor: rootItem.electricCloudColor
++
++ vertexShader: 'wigglyeffect.vert.qsb'
++ fragmentShader: 'wigglyeffect.frag.qsb'
++ anchors.fill: parent
++ mesh: GridMesh {
++ resolution: Qt.size(63, 1)
++ }
++ }
++ }