QtCS2018 Graphics Vision 2020: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Added more minutes)
(More minutes as meeting continues.)
Line 1: Line 1:
Laszlo presented the current 5.11 graphics diagram and vision diagram as discussion starting point.
Laszlo presented the current 5.11 graphics diagram and vision diagram as discussion starting point.


Qt .511
<u>'''Qt .511'''</u>
* We have SW backend.
* Qt 3D Studio 2.0 runtime is now built on Qt 3D.
* Qt 3D Studio 2.0 runtime is now built on Qt 3D.
** This means we have a 3D scene graph that is mainted by the runtime.
** This means we have a 3D scene graph that is mainted by the runtime.
* Qt 3D is available for use.
** Qt 3D is still available for use.
* On Qt Quick 2 side we have Qt Quick Scenegraph.
* On Qt Quick 2 side we have Qt Quick Scenegraph.
** One mistake we did in Qt 5 was to depend on OpenGL and exposing shader coding directly as GLSL.
* You can use OpenGL texture streaming to render from Qt 3D Studio to Qt Quick or vice versa.
* You can use OpenGL texture streaming to render from Qt 3D Studio to Qt Quick or vice versa.
** Allows embedding of 2D to 3D and 3D to 2D.
** Allows embedding of 2D to 3D and 3D to 2D.
** But has limitations and not highly efficient as we run two independent rendering pipelines with synch points etc.
** But has limitations and not highly efficient as we run two independent rendering pipelines with synch points etc.
*
*These two silos should be integrated in the future.
**To get there the underlying things should be fixed.
<u>'''Qt Graphics 2020'''</u>
*One possible destination.
*We start with Designer Tool (one tool).
*Underneath this tooling we have an architecture that:
**Qt Quick Scenegraph
***Still has the Qt Quick and Qt Quick Scenegraph with Software renderer path
***Can have still Qt Quick and Qt Quick Scenegraph with  OpenGL backend
***Remove all others (OpenVG as it's limited, D3D12 that is not quite complete even today).
**Qt 3D Studio Scenegraph
***Manages Qt 3D scene and frame graphs
***2D scene graph merged at runtime in to the 3D scenegraph.
***Resulting in a combined scene graph with 2D branches and no texture composition (unless needed for optimisation reasons).
**Shared Parts between QQ and Q3DS
***Visual shader graph node editing for:
****QQ shader effects
****Q3DS materials
****Postprocessing FX
***This gets us to describing the logical presentation of a material or effect. Allows then having different backends for Vulcan, Metal, DX12, OpenGL ES etc.)
***

Revision as of 11:22, 11 June 2018

Laszlo presented the current 5.11 graphics diagram and vision diagram as discussion starting point.

Qt .511

  • Qt 3D Studio 2.0 runtime is now built on Qt 3D.
    • This means we have a 3D scene graph that is mainted by the runtime.
    • Qt 3D is still available for use.
  • On Qt Quick 2 side we have Qt Quick Scenegraph.
    • One mistake we did in Qt 5 was to depend on OpenGL and exposing shader coding directly as GLSL.
  • You can use OpenGL texture streaming to render from Qt 3D Studio to Qt Quick or vice versa.
    • Allows embedding of 2D to 3D and 3D to 2D.
    • But has limitations and not highly efficient as we run two independent rendering pipelines with synch points etc.
  • These two silos should be integrated in the future.
    • To get there the underlying things should be fixed.

Qt Graphics 2020

  • One possible destination.
  • We start with Designer Tool (one tool).
  • Underneath this tooling we have an architecture that:
    • Qt Quick Scenegraph
      • Still has the Qt Quick and Qt Quick Scenegraph with Software renderer path
      • Can have still Qt Quick and Qt Quick Scenegraph with OpenGL backend
      • Remove all others (OpenVG as it's limited, D3D12 that is not quite complete even today).
    • Qt 3D Studio Scenegraph
      • Manages Qt 3D scene and frame graphs
      • 2D scene graph merged at runtime in to the 3D scenegraph.
      • Resulting in a combined scene graph with 2D branches and no texture composition (unless needed for optimisation reasons).
    • Shared Parts between QQ and Q3DS
      • Visual shader graph node editing for:
        • QQ shader effects
        • Q3DS materials
        • Postprocessing FX
      • This gets us to describing the logical presentation of a material or effect. Allows then having different backends for Vulcan, Metal, DX12, OpenGL ES etc.)