Skip to content
  • 0 Votes
    1 Posts
    90 Views
    No one has replied
  • 0 Votes
    10 Posts
    908 Views
    J

    For the purpouse of people who might search for an find this forum post, I put in a request with QT support and received the following.

    Hi Joe,

    Thank you for contacting Qt Support and for providing your sample project.

    There are 2 broad ways to specify the fragmentShader property, depending on which version of Qt you want to target:

    The Qt 5 way is to specify the shader's source code as a string. The Qt 6 way is to pre-compile your shader source code into a .qsb file, and specify a URL to that .qsb file

    See:

    https://doc.qt.io/qt-5/qml-qtquick-shadereffect.html#fragmentShader-prop https://doc.qt.io/qt-6/qml-qtquick-shadereffect.html#fragmentShader-prop

    To do it the Qt 5 way, the easiest approach is to copy the contents of your .frag file and paste it as a string literal (surrounded by quotation marks) to the RHS of the "fragmentShader" property.

    To do it the Qt 6 way, run the QSB tool to compile your shader source code. Unfortunately, the code of colour_wheel.frag is too old to be supported by QSB (for example, the "varying" keyword was deprecated long ago, and even removed for ES profiles)

    See:

    https://doc.qt.io/qt-6/qtshadertools-overview.html https://doc.qt.io/qt-6/qtshadertools-qsb.html

    I hope this helps.

  • 0 Votes
    2 Posts
    274 Views
    P

    Ok, I figured it out !

    The shader does not change the Image, it just draws something else on the shader item's position.

    The solution was pretty darn simple: make the Image invisible and let the shadereffect item handle all the rendering part.