Add skeleton OculusVR input

empirephoenix-patch-1
Campbell Suter 7 years ago
parent 5fd5939807
commit d96bf2c13e
No known key found for this signature in database
GPG Key ID: 754A66CCF3F73C0F
  1. 165
      jme3-vr/src/main/java/com/jme3/input/vr/OculusVR.java

@ -0,0 +1,165 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package com.jme3.input.vr;
import com.jme3.app.VREnvironment;
import com.jme3.math.*;
import com.jme3.renderer.Camera;
import java.util.logging.Logger;
import static org.lwjgl.ovr.OVRUtil.ovr_Detect;
import org.lwjgl.ovr.*;
/**
* Oculus VR (LibOVR 1.3.0) Native support.
*
* @author Campbell Suter <znix@znix.xyz>
*/
public class OculusVR implements VRAPI {
private static final Logger LOGGER = Logger.getLogger(OculusVR.class.getName());
private final VREnvironment environment;
private boolean initialized;
public OculusVR(VREnvironment environment) {
this.environment = environment;
}
@Override
public OpenVRInput getVRinput() {
throw new UnsupportedOperationException();
}
@Override
public String getName() {
return "OVR";
}
@Override
public int getDisplayFrequency() {
throw new UnsupportedOperationException();
}
@Override
public boolean initialize() {
OVRDetectResult detect = OVRDetectResult.calloc();
ovr_Detect(0, detect);
System.out.println("OVRDetectResult.IsOculusHMDConnected = " + detect.IsOculusHMDConnected());
System.out.println("OVRDetectResult.IsOculusServiceRunning = " + detect.IsOculusServiceRunning());
detect.free();
if (detect.IsOculusHMDConnected() == false) {
return false;
}
initialized = true;
throw new UnsupportedOperationException("Not yet implemented!");
}
@Override
public boolean isInitialized() {
return initialized;
}
@Override
public void destroy() {
}
@Override
public void reset() {
}
@Override
public void getRenderSize(Vector2f store) {
}
@Override
public float getInterpupillaryDistance() {
return 0.065f; // TODO
}
@Override
public Quaternion getOrientation() {
throw new UnsupportedOperationException();
}
@Override
public Vector3f getPosition() {
throw new UnsupportedOperationException();
}
@Override
public void getPositionAndOrientation(Vector3f storePos, Quaternion storeRot) {
throw new UnsupportedOperationException();
}
@Override
public void updatePose() {
throw new UnsupportedOperationException();
}
@Override
public Matrix4f getHMDMatrixProjectionLeftEye(Camera cam) {
throw new UnsupportedOperationException();
}
@Override
public Matrix4f getHMDMatrixProjectionRightEye(Camera cam) {
throw new UnsupportedOperationException();
}
@Override
public Vector3f getHMDVectorPoseLeftEye() {
throw new UnsupportedOperationException();
}
@Override
public Vector3f getHMDVectorPoseRightEye() {
throw new UnsupportedOperationException();
}
@Override
public Vector3f getSeatedToAbsolutePosition() {
throw new UnsupportedOperationException();
}
@Override
public Matrix4f getHMDMatrixPoseLeftEye() {
throw new UnsupportedOperationException();
}
@Override
public HmdType getType() {
throw new UnsupportedOperationException();
}
@Override
public Matrix4f getHMDMatrixPoseRightEye() {
throw new UnsupportedOperationException();
}
public void printLatencyInfoToConsole(boolean set) {
throw new UnsupportedOperationException("Not yet implemented!");
}
public void setFlipEyes(boolean set) {
throw new UnsupportedOperationException("Not yet implemented!");
}
public Void getCompositor() {
throw new UnsupportedOperationException("Not yet implemented!");
}
public Void getVRSystem() {
throw new UnsupportedOperationException("Not yet implemented!");
}
public boolean initVRCompositor(boolean set) {
throw new UnsupportedOperationException("Not yet implemented!");
}
}
Loading…
Cancel
Save