mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-02 04:09:16 +00:00
vr:: improved performance?
This commit is contained in:
parent
db00cf3ae4
commit
fd67ec2385
@ -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
18
vr.cpp
@ -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 }
|
||||
|
Loading…
Reference in New Issue
Block a user