Skip to content

Commit b542441

Browse files
committed
update view before calling calculate
1 parent e7f80a9 commit b542441

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

libraries/vr/src/processing/vr/PSurfaceVR.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ public class PSurfaceVR extends PSurfaceGLES {
5757
protected GvrActivity vrActivity;
5858
protected AndroidVRStereoRenderer renderer;
5959

60+
private boolean needCalculate;
61+
6062
public PSurfaceVR(PGraphics graphics, AppComponent component, SurfaceHolder holder, boolean vr) {
6163
this.sketch = graphics.parent;
6264
this.graphics = graphics;
@@ -281,12 +283,20 @@ public void onNewFrame(HeadTransform transform) {
281283
hadnleGVREnumError();
282284
pgl.getGL(null);
283285
pvr.headTransform(transform);
284-
sketch.calculate();
286+
needCalculate = true;
285287
}
286288

287289
@Override
288290
public void onDrawEye(Eye eye) {
289291
pvr.eyeTransform(eye);
292+
if (needCalculate) {
293+
// Call calculate() right after we have the first eye transform.
294+
// This allows to update the modelview and projection matrices, so
295+
// geometry-related calculations can also be conducted in calculate().
296+
pvr.updateView();
297+
sketch.calculate();
298+
needCalculate = false;
299+
}
290300
sketch.handleDraw();
291301
}
292302

0 commit comments

Comments
 (0)