XMLWordPrintable

Details

    • Technical task
    • Resolution: Done
    • P2: Important
    • 5.14
    • Qt RHI, Quick: SceneGraph
    • None

    Description

      This task extracts the essential pieces from QTBUG-62439, to be shipped as a tech preview in Qt 5.14.

      Backends and Modern Graphics APIs

      The software backend must stay functional as today. The default rendering path (which today uses OpenGL directly) is to be complemented with a code path allowing to render with the RHI developed in QTBUG-70287.

      Shaders, resource binding, material system

      As a consequence, there will be a single shading language in use. Likely Vulkan-flavor GLSL (but could be that we will drift towards HLSL long term), with (mostly offline or build-time) compilation to SPIR-V, reflection data generation, and translation to other languages.

      Some material-related APIs will need to change (QSGMaterialShader is not suitable, obviously). Providing data to the shaders will slightly differ from today. (uniform buffers will be more prevalent). The old and new MaterialShader APIs should co-exist until Qt 6.0.

      Providing shader code will likely move towards baking and compiling offline as much as possible, inline code should still be supported as much as possible but not promoted as the primary way of doing things. Until the Qt Shader Tools module gets integrated into Qt, use the qt-labs repo and do the shader processing manually, checking in the generated .qsb files into qtdeclarative.

       

      Attachments

        Issue Links

          Activity

            People

              lagocs Laszlo Agocs
              lagocs Laszlo Agocs
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: