mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2025-02-02 20:29:17 +00:00
vr:: fixes to spinEdge
This commit is contained in:
parent
7e3ecab8ed
commit
ffcda7f602
@ -1594,7 +1594,7 @@ EX hyperpoint vertical_vector() {
|
||||
EX void spinEdge(ld aspd) {
|
||||
|
||||
#if CAP_VR
|
||||
if(vrhr::state && keep_vertical()) {
|
||||
if(vrhr::state && keep_vertical() && !vrhr::first) {
|
||||
transmatrix T = vrhr::hmd_ref_at;
|
||||
T = vrhr::sm * inverse(T);
|
||||
vrhr::be_33(T);
|
||||
@ -1618,6 +1618,8 @@ EX void spinEdge(ld aspd) {
|
||||
}
|
||||
}
|
||||
|
||||
vrhr::be_33(V);
|
||||
|
||||
V = cspin(1, 2, 90 * degree) * V;
|
||||
get_view_orientation() = inverse(T) * V * gpushxto0(h);
|
||||
return;
|
||||
|
5
vr.cpp
5
vr.cpp
@ -189,7 +189,7 @@ string device_class_name(vr::ETrackedDeviceClass v) {
|
||||
return "unknown";
|
||||
}
|
||||
|
||||
bool first = true;
|
||||
EX bool first = true;
|
||||
|
||||
EX transmatrix hmd_at = Id;
|
||||
EX transmatrix hmd_ref_at = Id;
|
||||
@ -286,7 +286,6 @@ void track_all() {
|
||||
track_actions();
|
||||
|
||||
E4;
|
||||
sm = Id; sm[1][1] = sm[2][2] = -1;
|
||||
// println(hlog, "tracking");
|
||||
vr::VRCompositor()->WaitGetPoses(vrdata.poses, vr::k_unMaxTrackedDeviceCount, NULL, 0 );
|
||||
// println(hlog, "poses received");
|
||||
@ -552,6 +551,8 @@ EX void track_actions() {
|
||||
|
||||
EX void start_vr() {
|
||||
|
||||
if(true) { sm = Id; sm[1][1] = sm[2][2] = -1; }
|
||||
|
||||
vr::EVRInitError eError = vr::VRInitError_None;
|
||||
vrdata.vr = vr::VR_Init( &eError, vr::VRApplication_Scene );
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user