Skip to content

Commit 3e70df9

Browse files
committed
invert up vector in eye matrix depending on cameraUp
1 parent 9a772e0 commit 3e70df9

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

libraries/vr/src/processing/vr/PGraphicsVR.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,10 @@ protected PGL createPGL(PGraphicsOpenGL pg) {
6262
@Override
6363
public PMatrix3D getEyeMatrix() {
6464
PMatrix3D mat = new PMatrix3D();
65-
mat.set(rightX, upX, forwardX, cameraX,
66-
rightY, upY, forwardY, cameraY,
67-
rightZ, upZ, forwardZ, cameraZ,
65+
float sign = cameraUp ? +1 : -1;
66+
mat.set(rightX, sign * upX, forwardX, cameraX,
67+
rightY, sign * upY, forwardY, cameraY,
68+
rightZ, sign * upZ, forwardZ, cameraZ,
6869
0, 0, 0, 1);
6970
return mat;
7071
}
@@ -75,9 +76,10 @@ public PMatrix3D getEyeMatrix(PMatrix3D target) {
7576
if (target == null) {
7677
target = new PMatrix3D();
7778
}
78-
target.set(rightX, upX, forwardX, cameraX,
79-
rightY, upY, forwardY, cameraY,
80-
rightZ, upZ, forwardZ, cameraZ,
79+
float sign = cameraUp ? +1 : -1;
80+
target.set(rightX, sign * upX, forwardX, cameraX,
81+
rightY, sign * upY, forwardY, cameraY,
82+
rightZ, sign * upZ, forwardZ, cameraZ,
8183
0, 0, 0, 1);
8284
return target;
8385
}

0 commit comments

Comments
 (0)