From: hgn Date: Fri, 13 Dec 2024 01:53:01 +0000 (+0000) Subject: add roll to camera calculation X-Git-Url: https://harrygodden.com/git/?a=commitdiff_plain;h=58fffa5507995a5bded3fa695bc4521068a2b281;p=vg.git add roll to camera calculation --- diff --git a/vg_camera.c b/vg_camera.c index 8cd261f..3828645 100644 --- a/vg_camera.c +++ b/vg_camera.c @@ -40,11 +40,13 @@ void vg_m4x3_transform_camera( m4x3f m, vg_camera *cam ) */ void vg_camera_update_transform( vg_camera *cam ) { - v4f qyaw, qpitch, qcam; + v4f qyaw, qpitch, qroll, qcam; q_axis_angle( qyaw, (v3f){ 0.0f, 1.0f, 0.0f }, -cam->angles[0] ); q_axis_angle( qpitch, (v3f){ 1.0f, 0.0f, 0.0f }, -cam->angles[1] ); + q_axis_angle( qroll, (v3f){ 0.0f, 0.0f, 1.0f }, -cam->angles[2] ); q_mul( qyaw, qpitch, qcam ); + q_mul( qcam, qroll, qcam ); q_m3x3( qcam, cam->transform ); v3_copy( cam->pos, cam->transform[3] ); }