2
0
Эх сурвалжийг харах

OculusVR: Fix eye-texture sizing issue, producing correct FOV

Campbell Suter 8 жил өмнө
parent
commit
b6b1687450

+ 8 - 3
jme3-vr/src/main/java/com/jme3/input/vr/OculusVR.java

@@ -252,6 +252,9 @@ public class OculusVR implements VRAPI {
         System.out.println("step 7 - recenter");
         System.out.println("step 7 - recenter");
         ovr_RecenterTrackingOrigin(session);
         ovr_RecenterTrackingOrigin(session);
 
 
+        // Do this so others relying on our texture size get it correct.
+        findHMDTextureSize();
+
         // throw new UnsupportedOperationException("Not yet implemented!");
         // throw new UnsupportedOperationException("Not yet implemented!");
         return true;
         return true;
     }
     }
@@ -327,8 +330,11 @@ public class OculusVR implements VRAPI {
 
 
     @Override
     @Override
     public void getRenderSize(Vector2f store) {
     public void getRenderSize(Vector2f store) {
-        store.x = resolutionW;
-        store.y = resolutionH;
+        if(!isInitialized()) {
+            throw new IllegalStateException("Cannot call getRenderSize() before initialized!");
+        }
+        store.x = textureW;
+        store.y = textureH;
     }
     }
 
 
     @Override
     @Override
@@ -410,7 +416,6 @@ public class OculusVR implements VRAPI {
             throw new UnsupportedOperationException("Cannot use LibOVR without compositor!");
             throw new UnsupportedOperationException("Cannot use LibOVR without compositor!");
         }
         }
 
 
-        findHMDTextureSize();
         setupLayers();
         setupLayers();
 
 
         framebuffers = new FrameBuffer[2][];
         framebuffers = new FrameBuffer[2][];