Package com.jme3.input.vr.lwjgl_openvr
Class LWJGLOpenVR
java.lang.Object
com.jme3.input.vr.lwjgl_openvr.LWJGLOpenVR
- All Implemented Interfaces:
VRAPI
A class that wraps an OpenVR system.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionLWJGLOpenVR(VREnvironment environment) Create a new OpenVR system attached to the givenVR environment. -
Method Summary
Modifier and TypeMethodDescriptionstatic Matrix4fconvertSteamVRMatrix3ToMatrix4f(org.lwjgl.openvr.HmdMatrix34 hmdMatrix, Matrix4f mat) Convert specific OpenVRHmdMatrix34into JMEMatrix4fstatic Matrix4fconvertSteamVRMatrix4ToMatrix4f(org.lwjgl.openvr.HmdMatrix44 hmdMatrix, Matrix4f mat) Convert specific OpenVRHmdMatrix34_tinto JMEMatrix4fvoiddestroy()Close the link with underlying VR system and free all attached resources.Get the object that wraps natively the VR compositor.intGet the Head Mounted Device (HMD) display frequency.Returns the transform between the view space and left eye space.Returns the transform between the view space and right eye space.Get the Head Mounted Device (HMD) left eye projection matrix.Get the Head Mounted Device (HMD) right eye projection matrix.Get the Head Mounted Device (HMD) left eye pose (position of the eye from the head) as avector.Get the Head Mounted Device (HMD) right eye pose (position of the eye from the head) as avector.floatGet the Head Mounted Device (HMD) interpupilar distance in meters.getName()Get the name of the underlying VR system.Get the Head Mounted Device (HMD) orientation.Matrix4f[]Get the Head Mounted Device (HMD) position.voidgetPositionAndOrientation(Vector3f storePos, Quaternion storeRot) Get the Head Mounted Device (HMD) position and orientation.voidgetRenderSize(Vector2f store) Get the size of a Head Mounted Device (HMD) rendering area in pixels.Get the seated to absolute position.getType()Get the Head Mounted Device (HMD) type.Get the input provided by the underlying VR system.Get the object that wraps natively the VR system.longinitCamera(boolean allowed) Initialize the headset camera.booleanInitialize this object from a VR system.booleaninitVRCompositor(boolean allowed) Initialize the VR compositor that will be used for rendering.booleanCheck if the VR API is initialized.voidprintLatencyInfoToConsole(boolean set) Set if latency information has to be logged.voidreset()Reset the VR system.voidsetFlipEyes(boolean set) Flip the left and right eye.voidsetTrackingSpace(boolean isSeated) voidUpdate Head Mounted Device (HMD) pose internal storage.
-
Field Details
-
hmdTrackedDevicePoses
protected org.lwjgl.openvr.TrackedDevicePose[] hmdTrackedDevicePoses -
hmdErrorStore
-
poseMatrices
-
-
Constructor Details
-
LWJGLOpenVR
Create a new OpenVR system attached to the givenVR environment.- Parameters:
environment- the VR environment to which this API is attached.
-
-
Method Details
-
convertSteamVRMatrix3ToMatrix4f
public static Matrix4f convertSteamVRMatrix3ToMatrix4f(org.lwjgl.openvr.HmdMatrix34 hmdMatrix, Matrix4f mat) Convert specific OpenVRHmdMatrix34into JMEMatrix4f- Parameters:
hmdMatrix- the input matrixmat- the converted matrix- Returns:
- the converted matrix
-
convertSteamVRMatrix4ToMatrix4f
public static Matrix4f convertSteamVRMatrix4ToMatrix4f(org.lwjgl.openvr.HmdMatrix44 hmdMatrix, Matrix4f mat) Convert specific OpenVRHmdMatrix34_tinto JMEMatrix4f- Parameters:
hmdMatrix- the input matrixmat- the converted matrix- Returns:
- the converted matrix
-
getVRinput
Description copied from interface:VRAPIGet the input provided by the underlying VR system.- Specified by:
getVRinputin interfaceVRAPI- Returns:
- the input provided by the underlying VR system.
-
getVRSystem
Description copied from interface:VRAPIGet the object that wraps natively the VR system.- Specified by:
getVRSystemin interfaceVRAPI- Returns:
- the object that wraps natively the VR system.
-
getCompositor
Description copied from interface:VRAPIGet the object that wraps natively the VR compositor.- Specified by:
getCompositorin interfaceVRAPI- Returns:
- the object that wraps natively the VR system.
-
getName
Description copied from interface:VRAPIGet the name of the underlying VR system. -
setFlipEyes
public void setFlipEyes(boolean set) Description copied from interface:VRAPIFlip the left and right eye.- Specified by:
setFlipEyesin interfaceVRAPI- Parameters:
set-trueif the eyes has to be flipped andfalseotherwise.
-
printLatencyInfoToConsole
public void printLatencyInfoToConsole(boolean set) Description copied from interface:VRAPISet if latency information has to be logged.- Specified by:
printLatencyInfoToConsolein interfaceVRAPI- Parameters:
set-trueif latency information has to be logged andfalseotherwise.
-
getDisplayFrequency
public int getDisplayFrequency()Description copied from interface:VRAPIGet the Head Mounted Device (HMD) display frequency.- Specified by:
getDisplayFrequencyin interfaceVRAPI- Returns:
- the Head Mounted Device (HMD) display frequency.
-
initialize
public boolean initialize()Description copied from interface:VRAPIInitialize this object from a VR system. All the native bindings to underlying VR system should be done within this method.- Specified by:
initializein interfaceVRAPI- Returns:
trueif the initialization is a success andfalseotherwise.
-
initVRCompositor
public boolean initVRCompositor(boolean allowed) Description copied from interface:VRAPIInitialize the VR compositor that will be used for rendering.- Specified by:
initVRCompositorin interfaceVRAPI- Parameters:
allowed-trueif the use of VR compositor is allowed andfalseotherwise.- Returns:
trueif the initialization is a success andfalseotherwise.
-
initCamera
public long initCamera(boolean allowed) Initialize the headset camera.- Parameters:
allowed-trueis the use of the headset camera is allowed andfalseotherwise.- Returns:
- token for camera
-
destroy
public void destroy()Description copied from interface:VRAPIClose the link with underlying VR system and free all attached resources. -
isInitialized
public boolean isInitialized()Description copied from interface:VRAPICheck if the VR API is initialized.- Specified by:
isInitializedin interfaceVRAPI- Returns:
trueif the VR API is initialized andfalseotherwise.- See Also:
-
reset
public void reset()Description copied from interface:VRAPIReset the VR system. After a call to this method, the current position of the HMD should be the origin (i-e the observer without any combined transformation). -
getRenderSize
Description copied from interface:VRAPIGet the size of a Head Mounted Device (HMD) rendering area in pixels.- Specified by:
getRenderSizein interfaceVRAPI- Parameters:
store- the size of a Head Mounted Device (HMD) rendering area in pixels (modified).
-
getInterpupillaryDistance
public float getInterpupillaryDistance()Description copied from interface:VRAPIGet the Head Mounted Device (HMD) interpupilar distance in meters.- Specified by:
getInterpupillaryDistancein interfaceVRAPI- Returns:
- the Head Mounted Device (HMD) interpupilar distance in meters.
-
getOrientation
Description copied from interface:VRAPIGet the Head Mounted Device (HMD) orientation.- Specified by:
getOrientationin interfaceVRAPI- Returns:
- the Head Mounted Device (HMD) orientation.
-
getPosition
Description copied from interface:VRAPIGet the Head Mounted Device (HMD) position.- Specified by:
getPositionin interfaceVRAPI- Returns:
- the Head Mounted Device (HMD) orientation.
-
getPositionAndOrientation
Description copied from interface:VRAPIGet the Head Mounted Device (HMD) position and orientation.- Specified by:
getPositionAndOrientationin interfaceVRAPI- Parameters:
storePos- the Head Mounted Device (HMD) position (modified).storeRot- the Head Mounted Device (HMD) rotation (modified).
-
updatePose
public void updatePose()Description copied from interface:VRAPIUpdate Head Mounted Device (HMD) pose internal storage. This method should be called before other calls to HMD position/orientation access.- Specified by:
updatePosein interfaceVRAPI
-
getHMDMatrixProjectionLeftEye
Description copied from interface:VRAPIGet the Head Mounted Device (HMD) left eye projection matrix.- Specified by:
getHMDMatrixProjectionLeftEyein interfaceVRAPI- Parameters:
cam- the camera attached to the left eye.- Returns:
- the Head Mounted Device (HMD) left eye projection matrix.
-
getHMDMatrixProjectionRightEye
Description copied from interface:VRAPIGet the Head Mounted Device (HMD) right eye projection matrix.- Specified by:
getHMDMatrixProjectionRightEyein interfaceVRAPI- Parameters:
cam- the camera attached to the right eye.- Returns:
- the Head Mounted Device (HMD) right eye projection matrix.
-
getHMDVectorPoseLeftEye
Description copied from interface:VRAPIGet the Head Mounted Device (HMD) left eye pose (position of the eye from the head) as avector.- Specified by:
getHMDVectorPoseLeftEyein interfaceVRAPI- Returns:
- the Head Mounted Device (HMD) left eye pose as a
vector.
-
getHMDVectorPoseRightEye
Description copied from interface:VRAPIGet the Head Mounted Device (HMD) right eye pose (position of the eye from the head) as avector.- Specified by:
getHMDVectorPoseRightEyein interfaceVRAPI- Returns:
- the Head Mounted Device (HMD) right eye pose as a
vector.
-
getSeatedToAbsolutePosition
Description copied from interface:VRAPIGet the seated to absolute position.- Specified by:
getSeatedToAbsolutePositionin interfaceVRAPI- Returns:
- the seated to absolute position.
-
getHMDMatrixPoseLeftEye
Description copied from interface:VRAPIReturns the transform between the view space and left eye space. Eye space is the per-eye flavor of view space that provides stereo disparity. Instead of Model * View * Projection the model is Model * View * Eye * Projection. Normally View and Eye will be multiplied together and treated as View. This matrix incorporates the user's interpupillary distance (IPD).- Specified by:
getHMDMatrixPoseLeftEyein interfaceVRAPI- Returns:
- the transform between the view space and eye space.
-
getHMDMatrixPoseRightEye
Description copied from interface:VRAPIReturns the transform between the view space and right eye space. Eye space is the per-eye flavor of view space that provides stereo disparity. Instead of Model * View * Projection the model is Model * View * Eye * Projection. Normally View and Eye will be multiplied together and treated as View. This matrix incorporates the user's interpupillary distance (IPD).- Specified by:
getHMDMatrixPoseRightEyein interfaceVRAPI- Returns:
- the transform between the view space and eye space.
-
getType
Description copied from interface:VRAPIGet the Head Mounted Device (HMD) type. -
setTrackingSpace
public void setTrackingSpace(boolean isSeated) -
getPoseMatrices
-