Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Qt6.6.3 / PySide6.6.3.1 upgrade #2599

Merged
merged 64 commits into from
Nov 22, 2024
Merged

Qt6.6.3 / PySide6.6.3.1 upgrade #2599

merged 64 commits into from
Nov 22, 2024

Conversation

cbentejac
Copy link
Contributor

@cbentejac cbentejac commented Nov 14, 2024

Description

This PR performs the upgrade from Qt5.15.2 / PySide2 5.15.2 to Qt6.6.3 / PySide6.6.3.1, and does not include the update to the Dockerfiles, which will be part of an ulterior pull request.

It additionally integrates all the changes from #2444.

QtAliceVision pull request: alicevision/QtAliceVision#79

This fixes all the "Injection of parameters into signal handlers
is deprecated. Use JavaScript functions with formal parameters instead."
warnings.
Qt3D.Extras cannot be updated to 2.6 yet, otherwise there are errors.
With Qt6, OpenGL is not used directly anymore, and we thus must use
the RHI backend, set to version 1.0.

The SphericalHarmonics shaders, which were previously written in OpenGL,
need to be updated accordingly.
Call the `QGeometry` objects from the correct module, and initialize
correctly the Camera object upon the construction of the
TrackballController object.
Additionally harmonize comments and explicitly declare parameters
for slots that need them.
`PointSize` is not supported by RHI.
The fit must be automatically triggered when the size of the image
changes. In case the image size remains the same but the orientation tag
is updated, this means that the displayed size of the image has changed
(with the orientation taken into account, the width and height might end
up being inverted), so the fit should also be triggered.
Disable and hide the wireframe mode as the shaders need to be updated
for RHI.
When converting the `StatusData` to a dictionary, only data attributes
should be stored in said dictionary. With Qt6, the `objectNameChanged`
signal, of type `SignalInstance`, is added to the dictionary. It needs
to be removed manually as it is not JSON-serializable. Otherwise,
the nodes cannot be computed anymore.
Replace `DiffuseSpecularMaterial`, which does not seem to support
correctly textures anymore, with `DiffuseMapMaterial`.
cbentejac and others added 15 commits November 7, 2024 18:15
With the Sequence Player always enabled by default, the `fit()` function
must be triggered at the right moment, and only once the layout has
been correctly initialized; otherwise, zoom factors may become negative
and the images will not be placed correctly in the viewer.

Changes in the orientation tag must be handled independently from the
state of the zoom factor.
Use a single light entity instead of one per camera.
Use directional light instead of point light.
Add camera relative directional light controller.
Default camera up should be accurate and consistent with camera view center.
Default camera up vector is not refresh or checked when default camera view center is set.
@cbentejac cbentejac added this to the Meshroom 2024.1.0 milestone Nov 14, 2024
@cbentejac cbentejac marked this pull request as ready for review November 15, 2024 10:09
@cbentejac cbentejac self-assigned this Nov 19, 2024
…alogs

This prevents emitting signals that lead to countless updates when a
single one is necessary, thus causing some freezes in the interface.
@fabiencastan fabiencastan merged commit 66e3dd4 into develop Nov 22, 2024
3 checks passed
@fabiencastan fabiencastan deleted the dev/qt6.6 branch November 22, 2024 12:39
This was referenced Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants