Closed morallo closed 3 years ago
@Prof-Butts can you test and take a look at the matrix calculations? The positional tracking is broken.
I have made the new tracking optional. You need to add a new config value to CockpitLook.cfg to enable it:
; Experimental alternative head tracking implementation with SteamVR to reduce jitter ; and improve performance. This corrects the pose prediction used by CockpitLook with ; the actual pose of the HMD at the time of rendering in ddraw.dll. ; It will also disable positional tracking in CockpitLookHook, and it will be applied only later in ddraw.dll pose_corrected_headtracking = 1
This is an attempt to recover the performance improvements of moving WaitGetPoses() to Execute() in ddraw.dll, while fixing the jitter introduced by the pose prediction.
The idea is to compose a "correction" transformation matrix by "undoing" the yaw,pitch,x,y,z transformation applied by CockpitLook using the predicted pose, and then apply the complete actual pose returned by WaitGetPoses() (full rotation+translation).