Skip to content

Commit d580532

Browse files
committed
add getObjectMatrix()
1 parent 4278dd1 commit d580532

File tree

1 file changed

+23
-3
lines changed

1 file changed

+23
-3
lines changed

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

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import processing.core.PApplet;
3030
import processing.core.PGraphics;
31+
import processing.core.PMatrix3D;
3132
import processing.opengl.PGL;
3233
import processing.opengl.PGLES;
3334
import processing.opengl.PGraphics3D;
@@ -43,18 +44,36 @@ public class PGraphicsVR extends PGraphics3D {
4344
public float forwardY;
4445
public float forwardZ;
4546

46-
// Eye properties
47-
private Viewport eyeViewport;
4847
private float[] forwardVector;
48+
private Viewport eyeViewport;
4949
private float[] eyeView;
5050
private float[] eyePerspective;
5151

52+
5253
@Override
5354
protected PGL createPGL(PGraphicsOpenGL pg) {
5455
return new PGLES(pg);
5556
}
5657

5758

59+
public PMatrix3D getObjectMatrix() {
60+
PMatrix3D mat = new PMatrix3D();
61+
mat.set(modelviewInv);
62+
mat.apply(camera);
63+
return mat;
64+
}
65+
66+
67+
public PMatrix3D getObjectMatrix(PMatrix3D target) {
68+
if (target == null) {
69+
target = new PMatrix3D();
70+
}
71+
target.set(modelviewInv);
72+
target.apply(camera);
73+
return target;
74+
}
75+
76+
5877
@Override
5978
public void beginDraw() {
6079
super.beginDraw();
@@ -196,13 +215,14 @@ protected void eyeTransform(Eye e) {
196215
}
197216

198217

199-
private void initVR() {
218+
protected void initVR() {
200219
if (!initialized) {
201220
forwardVector = new float[3];
202221
initialized = true;
203222
}
204223
}
205224

225+
206226
@Override
207227
protected void updateGLNormal() {
208228
if (glNormal == null) {

0 commit comments

Comments
 (0)