Although editor is not actively developed, it has to be able to compile with modern versions of Qt.
Main issues with porting to Qt6 are:
- QtOpenGL (and QGLWidget) are deprecated and removed from Qt6. Therefore main gl widget should be ported to QOpenGLWidget or some similar widget.
- Gizmos are drawn using OpenGL 1. Although we can still work with that, it is probably better to use a more modern approach. Inventing gizmos one more time is imho unneccessary, it is probably better to integrate projects like im3d or imguizmo.
- Regular expressions
What's done:
- works fine on Qt6 (tested on Linux)
- QGLWidget replaced with QOpenGLWindow. I've tried all ways I could imagine to replicate the previous algorithm that reparents the QGLWidget for import dialog, but failed (all types of glitches occur, from crashes to losing gl contexts, black main window and so on). Now it uses a more resource intensive variant that does not reparent gl widget, but dumps its contents as QImage and draws them on a custom widget through QPainter 10 times a second).
- Regular expressions ported, seem to be working correctly (should be additionally tested)
- Im3d integrated, gizmos work correctly, old opengl path not used
What's left:
- transforming objects with im3d gizmos in local coordinates
- remove legacy opengl path for gizmos and other cleanup - in progress
- check lua code completion - done
- test on Windows - done
Although editor is not actively developed, it has to be able to compile with modern versions of Qt.
Main issues with porting to Qt6 are:
What's done:
What's left: