[vlc-devel] [PATCH 01/18] viewpoint: add euler conversion operations
Alexandre Janniaux
ajanni at videolabs.io
Wed Mar 31 09:25:33 UTC 2021
---
include/vlc_viewpoint.h | 6 ++++++
src/misc/viewpoint.c | 16 ++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/include/vlc_viewpoint.h b/include/vlc_viewpoint.h
index 86528f4ef8..2c21e1873f 100644
--- a/include/vlc_viewpoint.h
+++ b/include/vlc_viewpoint.h
@@ -71,4 +71,10 @@ static inline void vlc_viewpoint_clip( vlc_viewpoint_t *p_vp )
VLC_API
void vlc_viewpoint_to_4x4( const vlc_viewpoint_t *vp, float *matrix );
+void vlc_viewpoint_from_euler( vlc_viewpoint_t *vp,
+ float yaw, float pitch, float roll );
+
+void vlc_viewpoint_to_euler( const vlc_viewpoint_t *vp,
+ float *yaw, float *pitch, float *roll );
+
#endif /* VLC_VIEWPOINT_H_ */
diff --git a/src/misc/viewpoint.c b/src/misc/viewpoint.c
index 6d5aeaf2bd..4975e6c9a5 100644
--- a/src/misc/viewpoint.c
+++ b/src/misc/viewpoint.c
@@ -69,3 +69,19 @@ void vlc_viewpoint_to_4x4( const vlc_viewpoint_t *vp, float *m )
for (int l=0; l<4; ++l)
m[4*i+l] += y_rot[i][j] * x_rot[j][k] * z_rot[k][l];
}
+
+void vlc_viewpoint_from_euler(vlc_viewpoint_t *vp,
+ float yaw, float pitch, float roll)
+{
+ vp->yaw = yaw;
+ vp->pitch = pitch;
+ vp->roll = roll;
+}
+
+void vlc_viewpoint_to_euler(const vlc_viewpoint_t *vp,
+ float *yaw, float *pitch, float *roll)
+{
+ *yaw = vp->yaw;
+ *pitch = vp->pitch;
+ *roll = vp->roll;
+}
--
2.31.0
More information about the vlc-devel
mailing list