Fxaa.qml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. // Copyright (C) 2020 The Qt Company Ltd.
  2. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
  3. import QtQuick
  4. import QtQuick3D
  5. Effect {
  6. readonly property TextureInput sprite: TextureInput {
  7. texture: Texture {}
  8. }
  9. Shader {
  10. id: rgbl
  11. stage: Shader.Fragment
  12. shader: "qrc:/qtquick3deffects/shaders/fxaaRgbl.frag"
  13. }
  14. Shader {
  15. id: blur
  16. stage: Shader.Fragment
  17. shader: "qrc:/qtquick3deffects/shaders/fxaaBlur.frag"
  18. }
  19. Buffer {
  20. id: rgblBuffer
  21. name: "rgbl_buffer"
  22. format: Buffer.RGBA8
  23. textureFilterOperation: Buffer.Linear
  24. textureCoordOperation: Buffer.ClampToEdge
  25. bufferFlags: Buffer.None // aka frame
  26. }
  27. passes: [
  28. Pass {
  29. shaders: [ rgbl ]
  30. output: rgblBuffer
  31. },
  32. Pass {
  33. shaders: [ blur ]
  34. commands: [
  35. // INPUT is the texture for rgblBuffer
  36. BufferInput {
  37. buffer: rgblBuffer
  38. },
  39. // the actual input texture is exposed as sprite
  40. BufferInput {
  41. sampler: "sprite"
  42. }
  43. ]
  44. }
  45. ]
  46. }