qt3d/tests
Paul Lemire 136c016cbe Refactor Scene3D to work with both RHI and GL Qt3D renderers
- Depending on whether we are using RHI or GL we need to either trigger
  the rendering after the beforeRendering or beforeRenderPassRecording
  have been fired

  -> beforeRendering
     The RHI command buffer is set up but nothing has been
     recorded yet. This is what we want for the RHI backend
     but we will need to make sure we don't call begin/endFrame
     nor use swap chains other than the one QtQuick is using.
     This means RenderSurfaceSelector won't be possible.

  -> beforeRenderPassRecording
     The RHI command for buffer uploads have been uploaded but the
     actual RenderPass draw calls have yet to be made. The screen
     has been cleared already, so this is the best place for the
     GL backend which expects the screen to have been cleared.

- The GL backend can use a QOpenGLFrameBufferObject but that is not
  possible with the RHI backend.
- The RHI backend uses a custom QRhiRenderTarget that takes care of
  blitting its color attachment into a QRhiTexture which is then
  bound to a QSGTexture

The overall Scene3DItem/Scene3DRender architecture remains the same:
- processChange
- Render Qt3D content into Texture
- Set texture on a custom QSGNode quad

Change-Id: Id6c317342d0a227d5295cbfefefc3ed12da160d7
Reviewed-by: Mike Krus <mike.krus@kdab.com>
2020-07-29 08:03:55 +02:00
..
auto Refactor Scene3D to work with both RHI and GL Qt3D renderers 2020-07-29 08:03:55 +02:00
benchmarks Use QList instead of QVector in tests 2020-07-09 12:22:15 +02:00
manual Refactor Scene3D to work with both RHI and GL Qt3D renderers 2020-07-29 08:03:55 +02:00
CMakeLists.txt
tests.pro