Details
-
Technical task
-
Resolution: Done
-
P2: Important
-
None
Description
This task extracts the essential pieces from QTBUG-62439, to be shipped as a tech preview in Qt 5.14.
Backends and Modern Graphics APIs
The software backend must stay functional as today. The default rendering path (which today uses OpenGL directly) is to be complemented with a code path allowing to render with the RHI developed in QTBUG-70287.
Shaders, resource binding, material system
As a consequence, there will be a single shading language in use. Likely Vulkan-flavor GLSL (but could be that we will drift towards HLSL long term), with (mostly offline or build-time) compilation to SPIR-V, reflection data generation, and translation to other languages.
Some material-related APIs will need to change (QSGMaterialShader is not suitable, obviously). Providing data to the shaders will slightly differ from today. (uniform buffers will be more prevalent). The old and new MaterialShader APIs should co-exist until Qt 6.0.
Providing shader code will likely move towards baking and compiling offline as much as possible, inline code should still be supported as much as possible but not promoted as the primary way of doing things. Until the Qt Shader Tools module gets integrated into Qt, use the qt-labs repo and do the shader processing manually, checking in the generated .qsb files into qtdeclarative.
Attachments
Issue Links
- is required for
-
QTBUG-62439 Qt Quick Scenegraph in Qt 6
- Closed
- mentioned in
-
Page Loading...