Commit Graph

38 Commits

Author SHA1 Message Date
Enrico Turri
a6a9ab9dc7 Follow-up of 6c36577e8e -> World Z axis set to vertical when disconnecting 3d mouse 2020-03-10 13:02:39 +01:00
Enrico Turri
6c36577e8e #3782 - World Z axis always vertical for non-free camera 2020-03-09 15:23:29 +01:00
bubnikv
b6068b6278 Camera refactored to use quaternions primarily for processing
rotations due to numerical reasons (no need for normalization
and orthogonalization of the rotation matrix).
2020-02-28 13:29:05 +01:00
Enrico Turri
847efec2ed ENABLE_6DOF_CAMERA set as default 2020-02-13 12:13:54 +01:00
Enrico Turri
0f5f2bc519 Reintroduce rotation limits for camera for FDM printers 2020-02-10 12:36:52 +01:00
Enrico Turri
da3cb30b7c Follow-up of 17a6b696e7 -> Fixed build when tech ENABLE_6DOF_CAMERA is disabled 2020-01-29 14:44:03 +01:00
Enrico Turri
17a6b696e7 Workaround to fix SPE-1082 + refactoring of 6 dof camera 2020-01-29 12:08:38 +01:00
Enrico Turri
15cb8ec653 Another refactoring into class Camera 2020-01-28 09:13:54 +01:00
Enrico Turri
02aa629449 3DConnexion devices -> Tweak of sensitivity parameters and dependency of translation from zoom factor 2020-01-17 09:36:34 +01:00
Enrico Turri
a9529fbcdc Added method void Camera::rotate_local_around_pivot(const Vec3d& rotation_rad, const Vec3d& pivot) to rotate the camera around a generic point 2020-01-16 12:00:54 +01:00
Enrico Turri
3f2ccf08d2 3Dconnexion devices translation linearly dependent on zoom 2020-01-16 10:17:07 +01:00
Enrico Turri
9df7eb4e08 Customizable use of 6 dof camera 2020-01-16 09:12:36 +01:00
Enrico Turri
62e60bcb43 Six degrees of freedom camera - 1st installment 2020-01-15 12:49:34 +01:00
Enrico Turri
ddd1df1552 ENABLE_THUMBNAIL_GENERATOR -> render printbed into thumbnails 2019-11-28 14:18:24 +01:00
Enrico Turri
a624590b36 Fixed conflicts after merge with master 2019-11-07 09:55:44 +01:00
Enrico Turri
636e446da1 ENABLE_THUMBNAIL_GENERATOR -> Changes to zoom factor and centering algorithm when rendering thumbnails 2019-10-31 16:40:38 +01:00
Enrico Turri
e6403a74ef ENABLE_3DCONNEXION_DEVICES tech set as default 2019-10-11 15:51:36 +02:00
Enrico Turri
587effbedf ENABLE_3DCONNEXION_DEVICES -> Refactored Mouse3DController to be unaware of current active GLCanvas3D 2019-10-03 11:38:31 +02:00
Enrico Turri
8078e00c13 Fixed automatic update of perspective camera 2019-08-03 09:07:38 +02:00
Enrico Turri
992170c5f6 1) Perspective camera set as default camera type
2) Camera type selection added to Preferences dialog
2019-06-24 15:55:14 +02:00
Enrico Turri
8b3d88bc0a Adaptive perspective camera frustrum 2019-06-24 09:38:46 +02:00
Enrico Turri
e5be8adadf Fixed build on MacOS 2019-06-20 11:05:05 +02:00
Enrico Turri
b7f67369c9 Serialized camera type and fixed Mac build 2019-06-20 10:02:52 +02:00
Enrico Turri
da8179d9c7 More camera related functionalities moved from GLCanvas3D to Camera 2019-06-19 14:18:51 +02:00
Enrico Turri
a3e6412113 Enabled perspective camera 2019-06-19 13:01:18 +02:00
Enrico Turri
1a91add2e6 Tighter camera frustrum to reduce z-fighting 2019-06-14 10:38:09 +02:00
Enrico Turri
f0b228c4d2 Added support for distance between camera position and camera target 2019-06-13 09:12:44 +02:00
Enrico Turri
26d48b7f52 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_perspective_camera 2019-06-13 08:48:19 +02:00
Enrico Turri
9805417028 Fixed method Camera::get_position() 2019-06-13 08:47:38 +02:00
Enrico Turri
7bfb0aaac0 Fixed method Camera::get_dir_forward() 2019-06-13 08:38:49 +02:00
Enrico Turri
783a527109 Added imgui debug dialog for camera statistics 2019-05-20 09:39:57 +02:00
Enrico Turri
8c6304688d Camera refactoring: Frustrum calculations moved into Camera class 2019-05-16 15:54:11 +02:00
Enrico Turri
8e31668704 Fixed method Vec3d Camera::get_position() const 2019-05-16 12:06:02 +02:00
Enrico Turri
3a5485a179 Flip X mouse deltas if bed is upside down (when camera up vector has negative Z) 2019-04-30 15:09:25 +02:00
Enrico Turri
2ae5f386ae Added missing include 2019-04-01 10:28:04 +02:00
Enrico Turri
d87b478d60 Camera refactoring
1) All camera related OpenGL calls moved into class

2) The Camera class now stores the view matrix, the projection matrix and the viewport

3) The Camera class now exposes methods to get the camera orientation vectors, the camera position, the view matrix, the projection matrix and the viewport

4) All the code operating on the camera or requiring camera data has been modified to use the new methods
2019-04-01 10:00:10 +02:00
Enrico Turri
b5217918cf Code cleanup 2019-03-08 12:03:31 +01:00
Enrico Turri
aa4c44dbea Use unique camera shared by 3d view and preview (experimental) 2019-03-08 12:03:17 +01:00