Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-114769 Multiview and related in the Qt graphics stack and Quick 3D XR
  3. QTBUG-114871

Enable multiview render targets with the Qt Quick scenegraph (covers render target plumbing, not actual full multiview rendering support)

    XMLWordPrintable

Details

    • f5f3e53e4 (dev), b5a05e4e7 (dev), 098ef8089 (dev), 7295ece36 (dev)

    Description

      Think through how qtquick3dxr would work with multiview when it comes to the low-level plumbing.

      • the XR swapchain needs to be requested with arraySize == 2, which then gives a 2D texture array object (with 2 layers), not a single 2D texture
      • this is what Qt Quick needs to adopt via QQuickRenderTarget
      • depth-stencil needs to be a texture array as well
      • the renderer will need to bake the view count in to the graphics pipelines so the render target will need to be examined to determine the view count so it is easily available during rendering. This allows outputting the exact same content to multiple views. (but no gl_ViewIndex in the shaders so no differentiation between the views - that is a separate story)
      • Enablers for passing in multiple projection matrices to the QSGRenderer.
      • Note that this all will ever be used in the RenderMode3D mode, i.e. when there is a 2D item subtree within a 3D scene. There are no plans for "multiview support for plain Qt Quick".
      • Materials and their shaders. QSGMaterialShader implementations should be able to know the view count and also access the multiple projection (and combined) matrices. Prove this with e.g. the vertexcolor material so simple Rectangle works.

      Attachments

        Issue Links

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

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: