Commit graph

27 commits

Author SHA1 Message Date
Candice Bentéjac
ebbd000714 [Viewer3D] MediaLoader: Send pointSize as is
`pointSize` was divided by 100 before being sent to the shader that
rendered the programmable points, and was used as is to set the size of
the "fixed size" points implicitly in the QML.

Now that both cases are handled by the same shader, we do not need to
perform this division here: it will be done directly in the shader (by
opposition, keeping it here would have meant performing a x100
multiplication in the shader for the "fixed size" case).
2024-12-17 19:07:40 +01:00
Candice Bentéjac
e3f1e27c68 [Viewer3D] MediaLoader: Bind fixedPointSize for the SfMLoader
The `fixedPointSize` parameter was used to determine whether the
point size was fixed or programmable from the QML (using a `PointSize`
render state). With Qt6, this render state is not correctly handled by
the RHI and we need to set directly within the shader whether the point
size is fixed or not, hence the binding.
2024-12-17 19:05:03 +01:00
Candice Bentéjac
62f0a3e5df [qt6][Viewer3D] Change picking behavior 2024-11-07 18:15:44 +01:00
Candice Bentéjac
5a0b1c0c95 [qt6][qml] Clean-up code and harmonize comments 2024-11-07 18:15:37 +01:00
Candice Bentéjac
3ff279d99a [qt6] Use JS functions format to declare explicit parameters in slots 2024-11-07 18:09:10 +01:00
Candice Bentéjac
0e71f2a520 [qt6] Update versions for all the imported modules
Qt3D.Extras cannot be updated to 2.6 yet, otherwise there are errors.
2024-11-07 18:09:01 +01:00
Aurore LAFAURIE
369143eca1 [ui] Sync camera gizmo in Viewer3D enabled 2024-04-10 19:39:36 +02:00
Fabien Servant
f87ff95c78 Custom loader for .pc.ply pointcloud 2024-03-25 10:29:38 +01:00
Candice Bentéjac
e0ebf1446d [Viewer3D] MediaLoader: Bind the display status of the resection ID slider 2023-11-21 14:44:55 +01:00
Candice Bentéjac
e4d0243e3c [Viewer3D] Connect any change of the selected view ID to the SfmDataLoader 2023-11-17 11:36:16 +01:00
Candice Bentéjac
3d67f83090 [Viewer3D] Display resection IDs of the active 3D model
Instead of displaying the resection IDs of the 3D model that was loaded
last, update the display whenever the active model selection changes.
2023-11-07 16:45:40 +01:00
Candice Bentéjac
610523e3ea [Viewer3D] Add slider to display cameras based on their resection IDs
If any model with cameras is displayed in the 3D Viewer, a slider can
be used to filter the cameras that are being currently displayed based
on their resection IDs. This allows to visualize the order in which the
cameras have been added, and the groups in which they have been added.
2023-11-07 11:16:16 +01:00
Candice Bentéjac
9d2974d282 [Viewer3D] Clean-up: Harmonize syntax across all the files 2023-11-06 16:28:20 +01:00
Fabien SERVANT
aee197e063 Use qmlSfmData 2023-10-16 14:55:09 +02:00
Candice Bentéjac
423de8ccfe [qml] Qt5.15: Upgrade all Qt3D modules 2023-07-03 12:11:31 +02:00
Candice Bentéjac
9b5dd40b02 [qml] Qt5.15: Upgrade all QtQuick modules 2023-07-03 12:11:29 +02:00
Fabien Castan
112280043c [ui] declare .stl support in 3D viewer 2021-07-22 18:12:49 +02:00
Fabien Castan
2f77a236b3 [ui] Viewer3D: do not load too large EXR files in 3D to avoid crashes in qt 2020-09-14 21:50:43 +02:00
Julien-Haudegond
79e96e7c06 [ui] fix typos 2020-08-17 11:16:53 +02:00
Yann Lanthony
5a4384916e
[ui][3D] expose status on EnvironmentMapEntity
get loading status when env map is loading in 3D view
2019-12-13 17:17:03 +01:00
Yann Lanthony
63ffb20819
[ui][3D] add EnvironmentMapEntity to display equirectangular images
Load EXR files in the 3D viewport as environment maps mapped on a sphere "attached"  to the camera.
* improve exr loading strategy by considering depthmaps and env maps
* update to DepthMapEntity 2.1 (required to get the loading status)
2019-12-13 17:17:03 +01:00
Yann Lanthony
606cfc39c2
[ui] Viewer3D: fix Alembic visibility issues
Binding the "enabled" property of AlembicLoader's ObjectPicker to the parent MediaLoader's own "enabled" property caused invalid state where the loaded AlembicEntity was partially visible when toggling object visibility (since Qt 5.13).
In order to disable camera picking when AlembicEntity is disable, scale the camSelector component to 0.
2019-08-12 17:58:43 +02:00
Yann Lanthony
10c3454bad [ui][3D] MediaLoader: bind 'enabled' property of AlembicEntity
Ensure AlembicEntity is properly disabled when parent is. Fix pickable hidden cameras issue.
2019-01-31 15:58:23 +01:00
Yann Lanthony
029c35cfcf [ui] Viewer3D: let QmlAlembic manage entities visibility
see https://github.com/alicevision/qmlAlembic/pull/11
2019-01-09 18:09:01 +01:00
Yann Lanthony
65ec2d3245 [ui] Viewer3D: disable pointclouds/cameras when scaled down to 0 2018-12-19 17:35:40 +01:00
Yann Lanthony
fc857d5dc8 [ui] Viewer3D: add 'cameraScale' parameter to drive camera locator size 2018-12-07 16:07:43 +01:00
Yann Lanthony
109b980ae5 [ui] Viewer3D: introduce new 3D media loading backend
This commit adds several components to centralize and extend 3D media loading. They are not yet integrated into Viewer3D. The entry point to this system is the MediaLibrary component that:
    * can load N medias based on a filepath or load-and-watch node attributes
    * provides a cache mechanism to instant-reload medias that were unloaded under certain conditions
    * gives access to statistics (vertex/face/camera/textureCount) through a unified interface
2018-12-07 15:57:57 +01:00