@@ -77,13 +77,19 @@ struct NativeContext {
77
77
std::thread inputThread;
78
78
79
79
// Une one texture per eye, no need for swapchains.
80
- GLuint lobbyTextures[2 ] = {};
81
- GLuint streamTextures[2 ] = {};
80
+ GLuint lobbyTextures[2 ] = {0 , 0 };
81
+ GLuint streamTextures[2 ] = {0 , 0 };
82
82
83
- float eyeOffsets[2 ] = {};
83
+ float eyeOffsets[2 ] = {0.0 , 0.0 };
84
84
AlvrFov fovArr[2 ] = {};
85
85
AlvrViewParams viewParams[2 ] = {};
86
86
AlvrDeviceMotion deviceMotion = {};
87
+
88
+ NativeContext () {
89
+ memset (&fovArr, 0 , (sizeof (fovArr)) / sizeof (int ));
90
+ memset (&viewParams, 0 , (sizeof (viewParams)) / sizeof (int ));
91
+ memset (&deviceMotion, 0 , (sizeof (deviceMotion)) / sizeof (int ));
92
+ }
87
93
};
88
94
89
95
NativeContext CTX = {};
@@ -117,9 +123,9 @@ void offsetPosWithQuat(AlvrQuat q, float offset[3], float outPos[3]) {
117
123
float rotatedOffset[3 ];
118
124
quatVecMultiply (q, offset, rotatedOffset);
119
125
120
- outPos[0 ] + = rotatedOffset[0 ];
121
- outPos[1 ] + = rotatedOffset[1 ] + FLOOR_HEIGHT;
122
- outPos[2 ] + = rotatedOffset[2 ];
126
+ outPos[0 ] - = rotatedOffset[0 ];
127
+ outPos[1 ] - = rotatedOffset[1 ] - FLOOR_HEIGHT;
128
+ outPos[2 ] - = rotatedOffset[2 ];
123
129
}
124
130
125
131
AlvrFov getFov (CardboardEye eye) {
@@ -327,8 +333,8 @@ extern "C" JNIEXPORT void JNICALL Java_viritualisres_phonevr_ALVRActivity_render
327
333
CTX.eyeOffsets [eye] = matrix[12 ];
328
334
}
329
335
330
- CTX.fovArr [0 ] = getFov ((CardboardEye) 0 );
331
- CTX.fovArr [1 ] = getFov ((CardboardEye) 1 );
336
+ CTX.fovArr [kLeft ] = getFov (kLeft );
337
+ CTX.fovArr [kRight ] = getFov (kRight );
332
338
333
339
info (" renderingParamsChanged, updating new view configs (FOV) to alvr" );
334
340
// alvr_send_views_config(fovArr, CTX.eyeOffsets[0] - CTX.eyeOffsets[1]);
0 commit comments