Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-126035

HDR support in Qt Quick

    XMLWordPrintable

Details

    • User Story
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.9
    • Qt RHI, Quick: SceneGraph
    • None

    Description

      Qt currently lacks the ability to display HDR content (such as images) in the Qt Quick scenegraph. Qt Multimedia does implement support for HDR content, but in an ad-hoc manner and the scenegraph is still implicitly operating with 24-bit sRGB colors.

      Example image with 16-bit color channels:

      On a wide-gamut display that supports e.g. 10 bits per color channel instead of 8, such images displayed using an Image element in Qt will look different than in a compliant (native) app since Qt will compress the color channels.

      There are several things to explore with regards to this:

      1. First of all a Qt Quick window needs to support HDR content. There is already some code to enable this, but enabled using environment variables and private APIs. We should have public API to control this.

      2. Support HDR content in Image component as a proof of concept (other components can be ported later). Basically, make sure the image displayed in a Qt app (when the window is HDR-enabled) looks the same as in other compliant applications.

      3. Find a way to deal with non-HDR-compliant content. A majority of content in Qt will still operate in sRGB and the same is true for user-created materials. For instance, one idea is to automatically modify the shader code before compiling it to make it support different color formats. There may be some manual porting needed for users for this, or it's possible we can automate the process so that existing shaders will still work in a HDR context while still outputting colors in the sRGB gamut, as long as they are compiled using the cmake commands we provide. This will involve some trial and error, experimentation to find out where the pain points are.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-126035
          # Subject Branch Project Status CR V

          Activity

            People

              kskau Kristoffer Skau
              esabraha Eskil Abrahamsen Blomfeldt
              Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated: