Description
Make the XrSwapchain give us a texture array with 2 layers. Then change the internals. The end result is that we want to have a single setRenderTarget/begin/sync/render/endFrame sequence per-frame, not two.
Consider the 3D API consequences: on Windows this will require D3D12 or Vulkan or OpenGL, but the default D3D11 will have no multiview rendering support on the QRhi level (passing it on from OpenXR still works, but we only render to layer 0, the left eye then). To be checked what happens on Android: Vulkan should work, but multiview on OpenGL ES on the Quest 3 needs to be tested and confirmed first since we have not seen multiview work on ES. (only on desktop GL)
Can we make this optional? E.g. opt-in for development purposes? Or opt-out later? Can we keep such an opt-out feature later on?
Attachments
For Gerrit Dashboard: QTBUG-119310 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
528877,12 | Add basic Quick 3D (XR) multiview plumbing | dev | qt/qtquick3d | Status: MERGED | +2 | 0 |