vr:: improved performance?

This commit is contained in:
Zeno Rogue 2021-02-04 21:30:08 +01:00
parent db00cf3ae4
commit fd67ec2385
2 changed files with 15 additions and 5 deletions

View File

@ -5313,6 +5313,8 @@ EX void drawscreen() {
#endif
SDL_UpdateRect(s, 0, 0, vid.xres, vid.yres);
#endif
vrhr::handoff();
//printf("\ec");
}

18
vr.cpp
View File

@ -302,11 +302,13 @@ vr_rendermodel *get_render_model(string name) {
return md;
}
void track_all() {
track_actions();
EX bool need_poses = true;
void track_poses() {
E4;
// println(hlog, "tracking");
if(!need_poses) return;
need_poses = false;
vr::VRCompositor()->WaitGetPoses(vrdata.poses, vr::k_unMaxTrackedDeviceCount, NULL, 0 );
// println(hlog, "poses received");
@ -405,7 +407,8 @@ EX void vr_control() {
start_vr();
}
if(state == 1) {
track_all();
track_actions();
need_poses = true;
}
static bool last_vr_clicked = false;
@ -935,7 +938,7 @@ EX void gen_mv() {
}
EX void render() {
track_poses();
resetbuffer rb;
state = 2;
@ -1418,6 +1421,11 @@ EX void submit() {
}
}
EX void handoff() {
if(!state) return;
vr::VRCompositor()->PostPresentHandoff();
}
#endif
EX }