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

latency in camera transform updates when using Qt3D in synchronous rendering mode

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • P2: Important
    • None
    • 5.14.0 Beta 1
    • Qt3D
    • None
    • Windows 10, Oculus Rift S.
    • Windows

    Description

      I'm attempting to build a set of examples for OpenXR using a variety of rendering backends, including Qt3D.  

      Because of the nature of VR/AR rendering, this requires rendering Qt3D in synchronous mode, and also requires that modifications to the transforms of the camera objects in the scene happen synchronously.  However, when I run the example it's very clear that there is latency between updating the camera transform and when the updated camera transform takes effect in a subsequent call to `processFrame` and `renderSynchronous`

      I've written a set of code that uses the C++ interface to set up a Qt3D scene and creates a stereo rendering setup here:  https://github.com/jherico/OpenXR-Samples/blob/qt3d/src/common/qt/scene.cpp

      The `Scene::updateHands`, `Scene::updateEyes` and `Scene::render` functions there are all triggered (in that order) by a QTimer object.  The effect in the headset makes it very clear that there is are at least 1 or more frames of latency between the call to `updateEyes` and the transform of the cameras used by the next render.  Not being able to synchronously set (or at least fetch) the camera transforms for a specific rendered frame will make Qt3D completely useless as a rendering backend for VR or AR.

       

       

       

       

       

      Attachments

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

        Activity

          People

            lemire_p Paul Lemire
            jherico Bradley Austin Davis
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes