Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
None
-
Qt 3D Studio 2.4 BETA2
-
None
Description
Current OpenGL Runtime Q3DS::surfaceFormat() static method is not a good solution as the method can be called only after QApplication or QGuiApplication has been created, leading to shared context not getting proper config for 3D rendering:
- only 16-bit depth buffer instead of 24-bit (causes z-fighting and rendering artefacts)
- no multisampling (quality loss)
- no stencil buffer
Proper solution is to implement platform specific methods for all supported platforms that find out the OpenGL version without creating, then move this methods to Qt adaptation to be shared with all use cases that suffer similar problems.
For existing projects, especially on embedded space, we need to document how to set the OpenGL version properly for each environment manually until this is fixed.
Attachments
Issue Links
- resulted from
-
QT3DS-3302 Implement missing Q3DS::surfaceFormat() method
- Closed
1.
|
Implement OpenGL version discovery for Windows | Closed | Unassigned | |
2.
|
Implement OpenGL version discovery for Linux | Closed | Unassigned | |
3.
|
Implement OpenGL version discovery for QNX | Closed | Unassigned | |
4.
|
Implement OpenGL version discovery for Integrity | Closed | Janne Roine | |
5.
|
Implement OpenGL version discovery for macOS | Closed | Unassigned | |
6.
|
Implement OpenGL version discovery for Android | Closed | Unassigned | |
7.
|
Fix surfaceFormat() call order in OpenGL Runtime examples | Closed | Unassigned |