Revision control
++ // Copyright (C) 2020 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
++
++ import QtQuick
++ import QtQuick3D
++
++ Effect {
++ readonly property TextureInput sprite: TextureInput {
++ texture: Texture {}
++ }
++
++ Shader {
++ id: rgbl
++ stage: Shader.Fragment
++ shader: "qrc:/qtquick3deffects/shaders/fxaaRgbl.frag"
++ }
++ Shader {
++ id: blur
++ stage: Shader.Fragment
++ shader: "qrc:/qtquick3deffects/shaders/fxaaBlur.frag"
++ }
++ Buffer {
++ id: rgblBuffer
++ name: "rgbl_buffer"
++ format: Buffer.RGBA8
++ textureFilterOperation: Buffer.Linear
++ textureCoordOperation: Buffer.ClampToEdge
++ bufferFlags: Buffer.None // aka frame
++ }
++
++ passes: [
++ Pass {
++ shaders: [ rgbl ]
++ output: rgblBuffer
++ },
++ Pass {
++ shaders: [ blur ]
++ commands: [
++ // INPUT is the texture for rgblBuffer
++ BufferInput {
++ buffer: rgblBuffer
++ },
++ // the actual input texture is exposed as sprite
++ BufferInput {
++ sampler: "sprite"
++ }
++ ]
++ }
++ ]
++ }