Modifier and Type | Field and Description |
---|---|
static com.sun.jna.ptr.LongByReference |
_tframeCount
The actual frame count.
|
protected com.sun.jna.ptr.IntByReference |
hmdErrorStore |
protected TrackedDevicePose_t[] |
hmdTrackedDevicePoses |
protected Matrix4f[] |
poseMatrices |
Constructor and Description |
---|
OpenVR(VREnvironment environment)
Create a new OpenVR system
attached to the given
VR environment . |
Modifier and Type | Method and Description |
---|---|
static Matrix4f |
convertSteamVRMatrix3ToMatrix4f(HmdMatrix34_t hmdMatrix,
Matrix4f mat)
Convert specific OpenVR
HmdMatrix34_t into JME Matrix4f |
static Matrix4f |
convertSteamVRMatrix4ToMatrix4f(HmdMatrix44_t hmdMatrix,
Matrix4f mat)
Convert specific OpenVR
HmdMatrix34_t into JME Matrix4f |
void |
destroy()
Close the link with underlying VR system and free all attached resources.
|
VR_IVRCompositor_FnTable |
getCompositor()
Get the object that wraps natively the VR compositor.
|
int |
getDisplayFrequency()
Get the Head Mounted Device (HMD) display frequency.
|
Matrix4f |
getHMDMatrixPoseLeftEye()
Returns the transform between the view space and left eye space.
|
Matrix4f |
getHMDMatrixPoseRightEye()
Returns the transform between the view space and right eye space.
|
Matrix4f |
getHMDMatrixProjectionLeftEye(Camera cam)
Get the Head Mounted Device (HMD) left eye projection matrix.
|
Matrix4f |
getHMDMatrixProjectionRightEye(Camera cam)
Get the Head Mounted Device (HMD) right eye projection matrix.
|
Vector3f |
getHMDVectorPoseLeftEye()
Get the Head Mounted Device (HMD) left eye pose (position of the eye from the head) as a
vector . |
Vector3f |
getHMDVectorPoseRightEye()
Get the Head Mounted Device (HMD) right eye pose (position of the eye from the head) as a
vector . |
float |
getInterpupillaryDistance()
Get the Head Mounted Device (HMD) interpupilar distance in meters.
|
java.lang.String |
getName()
Get the name of the underlying VR system.
|
Quaternion |
getOrientation()
Get the Head Mounted Device (HMD) orientation.
|
Vector3f |
getPosition()
Get the Head Mounted Device (HMD) position.
|
void |
getPositionAndOrientation(Vector3f storePos,
Quaternion storeRot)
Get the Head Mounted Device (HMD) position and orientation.
|
void |
getRenderSize(Vector2f store)
Get the size of a Head Mounted Device (HMD) rendering area in pixels.
|
Vector3f |
getSeatedToAbsolutePosition()
Get the seated to absolute position.
|
VR_IVRTrackedCamera_FnTable |
getTrackedCamera() |
HmdType |
getType()
Get the Head Mounted Device (HMD) type.
|
OpenVRInput |
getVRinput()
Get the input provided by the underlying VR system.
|
VR_IVRSystem_FnTable |
getVRSystem()
Get the object that wraps natively the VR system.
|
void |
initCamera(boolean allowed)
Initialize the headset camera.
|
boolean |
initialize()
Initialize this object from a VR system.
|
boolean |
initVRCompositor(boolean allowed)
Initialize the VR compositor that will be used for rendering.
|
boolean |
isInitialized()
Check if the VR API is initialized.
|
void |
printLatencyInfoToConsole(boolean set)
Set if latency information has to be logged.
|
void |
reset()
Reset the VR system.
|
void |
setFlipEyes(boolean set)
Flip the left and right eye.
|
void |
updatePose()
Update Head Mounted Device (HMD) pose internal storage.
|
protected TrackedDevicePose_t[] hmdTrackedDevicePoses
protected com.sun.jna.ptr.IntByReference hmdErrorStore
public static com.sun.jna.ptr.LongByReference _tframeCount
protected Matrix4f[] poseMatrices
public OpenVR(VREnvironment environment)
VR environment
.environment
- the VR environment to which this API is attached.public static Matrix4f convertSteamVRMatrix3ToMatrix4f(HmdMatrix34_t hmdMatrix, Matrix4f mat)
HmdMatrix34_t
into JME Matrix4f
hmdMatrix
- the input matrixmat
- the converted matrixpublic static Matrix4f convertSteamVRMatrix4ToMatrix4f(HmdMatrix44_t hmdMatrix, Matrix4f mat)
HmdMatrix34_t
into JME Matrix4f
hmdMatrix
- the input matrixmat
- the converted matrixpublic OpenVRInput getVRinput()
VRAPI
getVRinput
in interface VRAPI
public VR_IVRSystem_FnTable getVRSystem()
VRAPI
getVRSystem
in interface VRAPI
public VR_IVRCompositor_FnTable getCompositor()
VRAPI
getCompositor
in interface VRAPI
public VR_IVRTrackedCamera_FnTable getTrackedCamera()
public java.lang.String getName()
VRAPI
public void setFlipEyes(boolean set)
VRAPI
setFlipEyes
in interface VRAPI
set
- true
if the eyes has to be flipped and false
otherwise.public void printLatencyInfoToConsole(boolean set)
VRAPI
printLatencyInfoToConsole
in interface VRAPI
set
- true
if latency information has to be logged and false
otherwise.public int getDisplayFrequency()
VRAPI
getDisplayFrequency
in interface VRAPI
public boolean initialize()
VRAPI
initialize
in interface VRAPI
true
if the initialization is a success and false
otherwise.public boolean initVRCompositor(boolean allowed)
VRAPI
initVRCompositor
in interface VRAPI
allowed
- true
if the use of VR compositor is allowed and false
otherwise.true
if the initialization is a success and false
otherwise.public void initCamera(boolean allowed)
allowed
- true
is the use of the headset camera is allowed and false
otherwise.public void destroy()
VRAPI
public boolean isInitialized()
VRAPI
isInitialized
in interface VRAPI
true
if the VR API is initialized and false
otherwise.VRAPI.initialize()
public void reset()
VRAPI
public void getRenderSize(Vector2f store)
VRAPI
getRenderSize
in interface VRAPI
store
- the size of a Head Mounted Device (HMD) rendering area in pixels (modified).public float getInterpupillaryDistance()
VRAPI
getInterpupillaryDistance
in interface VRAPI
public Quaternion getOrientation()
VRAPI
getOrientation
in interface VRAPI
public Vector3f getPosition()
VRAPI
getPosition
in interface VRAPI
public void getPositionAndOrientation(Vector3f storePos, Quaternion storeRot)
VRAPI
getPositionAndOrientation
in interface VRAPI
storePos
- the Head Mounted Device (HMD) position (modified).storeRot
- the Head Mounted Device (HMD) rotation (modified).public void updatePose()
VRAPI
updatePose
in interface VRAPI
public Matrix4f getHMDMatrixProjectionLeftEye(Camera cam)
VRAPI
getHMDMatrixProjectionLeftEye
in interface VRAPI
cam
- the camera attached to the left eye.public Matrix4f getHMDMatrixProjectionRightEye(Camera cam)
VRAPI
getHMDMatrixProjectionRightEye
in interface VRAPI
cam
- the camera attached to the right eye.public Vector3f getHMDVectorPoseLeftEye()
VRAPI
vector
.getHMDVectorPoseLeftEye
in interface VRAPI
vector
.public Vector3f getHMDVectorPoseRightEye()
VRAPI
vector
.getHMDVectorPoseRightEye
in interface VRAPI
vector
.public Vector3f getSeatedToAbsolutePosition()
VRAPI
getSeatedToAbsolutePosition
in interface VRAPI
public Matrix4f getHMDMatrixPoseLeftEye()
VRAPI
getHMDMatrixPoseLeftEye
in interface VRAPI
public HmdType getType()
VRAPI
public Matrix4f getHMDMatrixPoseRightEye()
VRAPI
getHMDMatrixPoseRightEye
in interface VRAPI