Commit Graph

45 Commits

Author SHA1 Message Date
enricoturri1966
16e1cd5d19 ENABLE_THUMBNAIL_GENERATOR set as default 2020-03-25 10:15:02 +01:00
Enrico Turri
0739909934 #3782 - World Z axis always vertical for non-free camera 2020-03-09 15:23:29 +01:00
bubnikv
9d704a7e3a Renormalization of the camera rotation quaternion after each change
fixes degeneration of the camera rotation on long rapid rotations.
2020-03-03 13:47:10 +01:00
bubnikv
0c63234e30 Free rotating camera reworked to rotate around the free rotation
axis in a single step.
2020-02-28 14:59:59 +01:00
bubnikv
5010d2cf89 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
ddf6501acd ENABLE_6DOF_CAMERA set as default 2020-02-13 12:13:54 +01:00
Enrico Turri
50dd5a5112 Reintroduce rotation limits for camera for FDM printers 2020-02-10 12:36:52 +01:00
Enrico Turri
2f2fc2f17b Follow-up of 17a6b696e7 -> Fixed build when tech ENABLE_6DOF_CAMERA is disabled 2020-01-29 14:44:03 +01:00
Enrico Turri
763d0ee01a Workaround to fix SPE-1082 + refactoring of 6 dof camera 2020-01-29 12:08:38 +01:00
Enrico Turri
f47231b0ef Another refactoring into class Camera 2020-01-28 09:13:54 +01:00
Enrico Turri
e9009d025d Small refactoring into class Camera 2020-01-27 13:39:44 +01:00
Enrico Turri
c4818dfe7b 3DConnexion devices -> Tweak of sensitivity parameters and dependency of translation from zoom factor 2020-01-17 09:36:34 +01:00
Enrico Turri
c14907dad9 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
c393521ffe Customizable use of 6 dof camera 2020-01-16 09:12:36 +01:00
Enrico Turri
94a95f9786 Six degrees of freedom camera - 1st installment 2020-01-15 12:49:34 +01:00
bubnikv
8ebf970934 Const correctness improvements:
removed some unnecessary const_casts that remove const.
2020-01-03 16:33:04 +01:00
Enrico Turri
2c5b1b0e54 Some rework on layout of imgui dialogs 2019-12-11 15:30:25 +01:00
Enrico Turri
1259d44386 ENABLE_THUMBNAIL_GENERATOR -> some other refactoring 2019-11-28 15:19:42 +01:00
Enrico Turri
c0dd946e07 ENABLE_THUMBNAIL_GENERATOR -> render printbed into thumbnails 2019-11-28 14:18:24 +01:00
Enrico Turri
049ae6d90b Small refactoring in Camera::calc_zoom_to_bounding_box_factor 2019-11-28 12:14:31 +01:00
Enrico Turri
768bb6d9a6 Fixed bug into Camera::set_target() 2019-11-07 11:48:59 +01:00
Enrico Turri
35fd632316 Fixed conflicts after merge with master 2019-11-07 09:55:44 +01:00
Enrico Turri
2d3e46fb01 ENABLE_THUMBNAIL_GENERATOR -> Render thumbnails using shader 2019-11-01 12:19:27 +01:00
Enrico Turri
d2c1229d95 ENABLE_THUMBNAIL_GENERATOR -> Use orthographic camera when rendering thumbnails 2019-10-31 17:03:33 +01:00
Enrico Turri
8cbf371087 ENABLE_THUMBNAIL_GENERATOR -> Changes to zoom factor and centering algorithm when rendering thumbnails 2019-10-31 16:40:38 +01:00
Enrico Turri
2399d964de ENABLE_3DCONNEXION_DEVICES tech set as default 2019-10-11 15:51:36 +02:00
Enrico Turri
6a3c73ed06 ENABLE_3DCONNEXION_DEVICES -> Slightly increased camera target movement limits 2019-10-10 10:49:47 +02:00
Enrico Turri
a8760a5526 ENABLE_3DCONNEXION_DEVICES -> Refactored Mouse3DController to be unaware of current active GLCanvas3D 2019-10-03 11:38:31 +02:00
Enrico Turri
d760f3bd1b Fixed automatic update of perspective camera 2019-08-03 09:07:38 +02:00
Enrico Turri
920032c419 #2561 - Fixed freezing of perspective camera when zooming-in 2019-06-26 14:25:05 +02:00
Enrico Turri
5da69bee3a 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
8e3b785b61 Adaptive perspective camera frustrum 2019-06-24 09:38:46 +02:00
Enrico Turri
0e3b1d0a2f Serialized camera type and fixed Mac build 2019-06-20 10:02:52 +02:00
Enrico Turri
eff108c58b More camera related functionalities moved from GLCanvas3D to Camera 2019-06-19 14:18:51 +02:00
Enrico Turri
1f33c99726 Enabled perspective camera 2019-06-19 13:01:18 +02:00
Enrico Turri
d5a17b11c8 Follow-up of 1a91add2e6 -> Improvements to tighter camera frustrum to reduce z-fighting 2019-06-14 15:37:29 +02:00
Enrico Turri
9877945e2a Tighter camera frustrum to reduce z-fighting 2019-06-14 10:38:09 +02:00
Enrico Turri
2c1f888652 Method Camera::apply_projection() called at every rendered frame 2019-06-13 10:24:19 +02:00
Enrico Turri
f4a72f19a2 Added support for distance between camera position and camera target 2019-06-13 09:12:44 +02:00
Enrico Turri
ccc522dd2b Added imgui debug dialog for camera statistics 2019-05-20 09:39:57 +02:00
Enrico Turri
6a06a2882c Camera refactoring: Frustrum calculations moved into Camera class 2019-05-16 15:54:11 +02:00
Enrico Turri
72e7c07401 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
0f657b772b 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
444002e156 Code cleanup 2019-03-08 12:03:31 +01:00
Enrico Turri
55342be4a1 Use unique camera shared by 3d view and preview (experimental) 2019-03-08 12:03:17 +01:00