Updating Java native binds to OpenVR 1.0.6 with strict JNA direct access

fix-456
Julien Seinturier 8 years ago
parent 3520273dce
commit e61eff13ae
  1. 91
      jme3-vr/src/main/java/com/jme3/app/VRApplication.java
  2. 81
      jme3-vr/src/main/java/com/jme3/input/vr/OpenVR.java
  3. 7
      jme3-vr/src/main/java/com/jme3/input/vr/OpenVRInput.java
  4. 22
      jme3-vr/src/main/java/com/jme3/input/vr/VRBounds.java
  5. 6
      jme3-vr/src/main/java/com/jme3/post/OpenVRFilter.java
  6. 4
      jme3-vr/src/main/java/com/jme3/shadow/InstancedDirectionalShadowFilter.java
  7. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/AppOverrideKeys_t.java
  8. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/COpenVRContext.java
  9. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/CameraVideoStreamFrameHeader_t.java
  10. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/Compositor_CumulativeStats.java
  11. 4
      jme3-vr/src/main/java/com/jme3/system/jopenvr/Compositor_FrameTiming.java
  12. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/Compositor_OverlaySettings.java
  13. 53
      jme3-vr/src/main/java/com/jme3/system/jopenvr/D3D12TextureData_t.java
  14. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/DistortionCoordinates_t.java
  15. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HiddenAreaMesh_t.java
  16. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdColor_t.java
  17. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdMatrix34_t.java
  18. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdMatrix44_t.java
  19. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdQuad_t.java
  20. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdQuaternion_t.java
  21. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdRect2_t.java
  22. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector2_t.java
  23. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector3_t.java
  24. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector3d_t.java
  25. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/HmdVector4_t.java
  26. 37
      jme3-vr/src/main/java/com/jme3/system/jopenvr/IntersectionMaskCircle_t.java
  27. 39
      jme3-vr/src/main/java/com/jme3/system/jopenvr/IntersectionMaskRectangle_t.java
  28. 1516
      jme3-vr/src/main/java/com/jme3/system/jopenvr/JOpenVRLibrary.java
  29. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/NotificationBitmap_t.java
  30. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_ComponentState_t.java
  31. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_ControllerMode_State_t.java
  32. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_TextureMap_t.java
  33. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_Vertex_t.java
  34. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/RenderModel_t.java
  35. 9
      jme3-vr/src/main/java/com/jme3/system/jopenvr/Texture_t.java
  36. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/TrackedDevicePose_t.java
  37. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRControllerAxis_t.java
  38. 56
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRControllerState_t.java
  39. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_ApplicationLaunch_t.java
  40. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Chaperone_t.java
  41. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Controller_t.java
  42. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Data_t.java
  43. 35
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_EditingCameraSurface_t.java
  44. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Ipd_t.java
  45. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Keyboard_t.java
  46. 33
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_MessageOverlay_t.java
  47. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Mouse_t.java
  48. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Notification_t.java
  49. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Overlay_t.java
  50. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_PerformanceTest_t.java
  51. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Process_t.java
  52. 45
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Property_t.java
  53. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Reserved_t.java
  54. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_ScreenshotProgress_t.java
  55. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Screenshot_t.java
  56. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Scroll_t.java
  57. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_SeatedZeroPoseReset_t.java
  58. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_Status_t.java
  59. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_TouchPadMove_t.java
  60. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VREvent_t.java
  61. 39
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionMaskPrimitive_Data_t.java
  62. 45
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionMaskPrimitive_t.java
  63. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionParams_t.java
  64. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VROverlayIntersectionResults_t.java
  65. 1
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRTextureBounds_t.java
  66. 58
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VRVulkanTextureData_t.java
  67. 45
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRApplications_FnTable.java
  68. 22
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRChaperoneSetup_FnTable.java
  69. 13
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRChaperone_FnTable.java
  70. 97
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRCompositor_FnTable.java
  71. 4
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRExtendedDisplay_FnTable.java
  72. 3
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRNotifications_FnTable.java
  73. 102
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVROverlay_FnTable.java
  74. 23
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRRenderModels_FnTable.java
  75. 3
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRResources_FnTable.java
  76. 8
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRScreenshots_FnTable.java
  77. 55
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRSettings_FnTable.java
  78. 186
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRSystem_FnTable.java
  79. 22
      jme3-vr/src/main/java/com/jme3/system/jopenvr/VR_IVRTrackedCamera_FnTable.java
  80. 4
      jme3-vr/src/main/java/jmevr/util/MeshUtil.java
  81. 4
      jme3-vr/src/main/java/jmevr/util/VRMouseManager.java
  82. 512
      jme3-vr/src/main/java/jmevr/util/VRViewManager.java
  83. BIN
      jme3-vr/src/main/resources/darwin/libopenvr_api.dylib
  84. BIN
      jme3-vr/src/main/resources/darwin/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib
  85. BIN
      jme3-vr/src/main/resources/darwin/libopenvr_api.dylib.dSYM/libopenvr_api.dylib
  86. 20
      jme3-vr/src/main/resources/darwin/libopenvr_api.dylib.dSYM/libopenvr_api.dylib.dSYM/Contents/Info.plist
  87. BIN
      jme3-vr/src/main/resources/darwin/libopenvr_api.dylib.dSYM/libopenvr_api.dylib.dSYM/Contents/Resources/DWARF/libopenvr_api.dylib
  88. BIN
      jme3-vr/src/main/resources/linux-x86-64/libopenvr_api.so
  89. BIN
      jme3-vr/src/main/resources/linux-x86-64/libopenvr_api.so.dbg
  90. BIN
      jme3-vr/src/main/resources/win32-x86-64/openvr_api.dll
  91. BIN
      jme3-vr/src/main/resources/win32-x86-64/openvr_api.pdb
  92. BIN
      jme3-vr/src/main/resources/win32-x86/openvr_api.dll
  93. BIN
      jme3-vr/src/main/resources/win32-x86/openvr_api.pdb

@ -48,6 +48,7 @@ import com.jme3.system.lwjgl.LwjglOffscreenBufferVR;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import java.awt.HeadlessException;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
@ -274,11 +275,11 @@ public abstract class VRApplication implements Application, SystemListener {
logger.warning("VR disabled via code.");
} else if( VRSupportedOS && DISABLE_VR == false ) {
if( CONSTRUCT_WITH_OSVR ) {
logger.config("Initializing OSVR...");
VRhardware = new OSVR(this);
logger.config("Creating OSVR wrapper [SUCCESS]");
} else {
logger.config("Initializing OpenVR...");
VRhardware = new OpenVR(this);
logger.config("Creating OpenVR wrapper [SUCCESS]");
}
if( VRhardware.initialize() ) {
setPauseOnLostFocus(false);
@ -395,7 +396,7 @@ public abstract class VRApplication implements Application, SystemListener {
*/
@Override
public Camera getCamera() {
if( isInVR() && viewmanager != null && viewmanager.getCamLeft() != null ) {
if( isInVR() && viewmanager != null && viewmanager.getLeftCamera() != null ) {
return dummyCam;
}
return cam;
@ -619,6 +620,9 @@ public abstract class VRApplication implements Application, SystemListener {
@Override
public void start() {
logger.config("Starting application...");
// set some default settings in-case
// settings dialog is not shown
boolean loadSettings = false;
@ -627,9 +631,16 @@ public abstract class VRApplication implements Application, SystemListener {
loadSettings = true;
}
GraphicsDevice defDev = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
GraphicsDevice defDev = null;
try {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
defDev = ge.getDefaultScreenDevice();
} catch (Throwable e1) {
logger.log(Level.SEVERE, "Cannot access default screen device: "+e1.getMessage(), e1);
}
if( isInVR() && !compositorAllowed() ) {
logger.warning("VR Composition is not allowed.");
// "easy extended" mode
// TO-DO: JFrame was removed in LWJGL 3, need to use new GLFW library to pick "monitor" display of VR device
// first, find the VR device
@ -676,17 +687,22 @@ public abstract class VRApplication implements Application, SystemListener {
//VRwindow.pack();
//VRwindow.setVisible(true);
//startCanvas();
logger.config("Starting application [SUCCESS]");
return;
} catch(Exception e) {
logger.log(Level.SEVERE, "Error during application start: "+e.getMessage(), e);
}
}
}
if( !isInVR() ) {
logger.config("VR mode disabled.");
// not in VR, show settings dialog
if( Platform.get() != Platform.MACOSX ) {
if (!JmeSystem.showSettingsDialog(settings, loadSettings)) {
logger.config("Starting application [SUCCESS]");
return;
}
} else {
@ -720,6 +736,9 @@ public abstract class VRApplication implements Application, SystemListener {
}
settings.setSwapBuffers(true);
} else {
logger.config("VR mode enabled.");
// use basic mirroring window, skip settings window
settings.setWidth(xWin);
settings.setHeight(yWin);
@ -734,17 +753,21 @@ public abstract class VRApplication implements Application, SystemListener {
}
if( forceDisableMSAA ) {
logger.config("Disabling multisampling.");
// disable multisampling, which is more likely to break things than be useful
settings.setSamples(1);
}
// set opengl mode
if( tryOpenGL3 ) {
logger.config("Using LWJGL OpenGL 3 renderer.");
settings.setRenderer(AppSettings.LWJGL_OPENGL3);
} else {
logger.config("Using LWJGL OpenGL 2 renderer.");
settings.setRenderer(AppSettings.LWJGL_OPENGL2);
}
setSettings(settings);
start(JmeContext.Type.Display, false);
@ -914,11 +937,41 @@ public abstract class VRApplication implements Application, SystemListener {
/**
* Get the GUI node from the application.
* @return the GUI node from the application.
* @see #setGuiNode(Node)
*/
public Node getGuiNode(){
return guiNode;
}
/**
* Set the GUI node that is displayed within the GUI viewport.
* Calling this method involve clearing all the scenes previously attached to the gui viewport.
* @param node the GUI node to attach.
* @see #getGuiNode()
*/
public void setGuiNode(Node node){
if (node != null){
if (guiViewPort != null){
enqueue(new Callable<Object>(){
@Override
public Object call() throws Exception {
guiViewPort.clearScenes();
guiViewPort.attachScene(node);
guiNode = node;
return null;
}
});
} else {
throw new IllegalArgumentException("GUI view port is not initialized.");
}
}
}
/**
* Get the root node of the application.
* @return the root node of the application.
@ -1028,7 +1081,7 @@ public abstract class VRApplication implements Application, SystemListener {
*/
public ViewPort getLeftViewPort() {
if( viewmanager == null ) return getViewPort();
return viewmanager.getViewPortLeft();
return viewmanager.getLeftViewport();
}
/**
@ -1038,7 +1091,7 @@ public abstract class VRApplication implements Application, SystemListener {
*/
public ViewPort getRightViewPort() {
if( viewmanager == null ) return getViewPort();
return viewmanager.getViewPortRight();
return viewmanager.getRightViewport();
}
@ -1049,9 +1102,9 @@ public abstract class VRApplication implements Application, SystemListener {
public void setBackgroundColors(ColorRGBA clr) {
if( viewmanager == null ) {
getViewPort().setBackgroundColor(clr);
} else if( viewmanager.getViewPortLeft() != null ) {
viewmanager.getViewPortLeft().setBackgroundColor(clr);
if( viewmanager.getViewPortRight() != null ) viewmanager.getViewPortRight().setBackgroundColor(clr);
} else if( viewmanager.getLeftViewport() != null ) {
viewmanager.getLeftViewport().setBackgroundColor(clr);
if( viewmanager.getRightViewport() != null ) viewmanager.getRightViewport().setBackgroundColor(clr);
}
}
@ -1116,6 +1169,7 @@ public abstract class VRApplication implements Application, SystemListener {
getCamera().setFrame(observer.getWorldTranslation(), observer.getWorldRotation());
}
//FIXME: check if this code is necessary.
// Updates scene and gui states.
rootNode.updateLogicalState(tpf);
guiNode.updateLogicalState(tpf);
@ -1284,21 +1338,28 @@ public abstract class VRApplication implements Application, SystemListener {
@Override
public void initialize() {
logger.config("Initialize VR application.");
logger.config("Initialize VR application...");
initialize_internal();
cam.setFrustumFar(fFar);
cam.setFrustumNear(fNear);
dummyCam = cam.clone();
if( isInVR() ) {
logger.config("VR mode enabled.");
if( VRhardware != null ) {
VRhardware.initVRCompositor(compositorAllowed());
} else {
logger.warning("No VR system found.");
}
viewmanager = new VRViewManager(this);
viewmanager.setResolutionMultiplier(resMult);
inputManager.addMapping(RESET_HMD, new KeyTrigger(KeyInput.KEY_F9));
setLostFocusBehavior(LostFocusBehavior.Disabled);
} else {
logger.config("VR mode disabled.");
viewPort.attachScene(rootNode);
guiViewPort.attachScene(guiNode);
}
@ -1316,12 +1377,12 @@ public abstract class VRApplication implements Application, SystemListener {
// print out camera information
if( isInVR() ) {
logger.info("VR Initialization Information");
if( viewmanager.getCamLeft() != null ){
logger.info("camLeft: " + viewmanager.getCamLeft().toString());
if( viewmanager.getLeftCamera() != null ){
logger.info("camLeft: " + viewmanager.getLeftCamera().toString());
}
if( viewmanager.getCamRight() != null ){
logger.info("camRight: " + viewmanager.getCamRight().toString());
if( viewmanager.getRightCamera() != null ){
logger.info("camRight: " + viewmanager.getRightCamera().toString());
}
}
}

@ -19,11 +19,16 @@ import com.jme3.system.jopenvr.VR_IVRCompositor_FnTable;
import com.jme3.system.jopenvr.VR_IVRSystem_FnTable;
import com.sun.jna.Memory;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.FloatByReference;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.LongByReference;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
import jmevr.util.VRUtil;
@ -47,17 +52,17 @@ public class OpenVR implements VRAPI {
private static TrackedDevicePose_t.ByReference hmdTrackedDevicePoseReference;
protected static TrackedDevicePose_t[] hmdTrackedDevicePoses;
protected static IntBuffer hmdErrorStore;
protected static IntByReference hmdErrorStore;
private static final Quaternion rotStore = new Quaternion();
private static final Vector3f posStore = new Vector3f();
private static FloatBuffer tlastVsync;
private static FloatByReference tlastVsync;
/**
* The actual frame count.
*/
public static LongBuffer _tframeCount;
public static LongByReference _tframeCount;
// for debugging latency
private int frames = 0;
@ -130,26 +135,27 @@ public class OpenVR implements VRAPI {
@Override
public boolean initialize() {
logger.config("Initializing OpenVR system.");
logger.config("Initializing OpenVR system...");
hmdErrorStore = IntBuffer.allocate(1);
hmdErrorStore = new IntByReference();
vrsystemFunctions = null;
JOpenVRLibrary.VR_InitInternal(hmdErrorStore, JOpenVRLibrary.EVRApplicationType.EVRApplicationType_VRApplication_Scene);
if( hmdErrorStore.get(0) == 0 ) {
// ok, try and get the vrsystem pointer..
vrsystemFunctions = new VR_IVRSystem_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRSystem_Version, hmdErrorStore));
if( hmdErrorStore.getValue() == 0 ) {
vrsystemFunctions = new VR_IVRSystem_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRSystem_Version, hmdErrorStore).getPointer());
}
if( vrsystemFunctions == null || hmdErrorStore.get(0) != 0 ) {
System.out.println("OpenVR Initialize Result: " + JOpenVRLibrary.VR_GetVRInitErrorAsEnglishDescription(hmdErrorStore.get(0)).getString(0));
if( vrsystemFunctions == null || hmdErrorStore.getValue() != 0 ) {
logger.severe("OpenVR Initialize Result: " + JOpenVRLibrary.VR_GetVRInitErrorAsEnglishDescription(hmdErrorStore.getValue()).getString(0));
logger.severe("Initializing OpenVR system [FAILED]");
return false;
} else {
System.out.println("OpenVR initialized & VR connected.");
logger.config("OpenVR initialized & VR connected.");
vrsystemFunctions.setAutoSynch(false);
vrsystemFunctions.read();
tlastVsync = FloatBuffer.allocate(1);
_tframeCount = LongBuffer.allocate(1);
tlastVsync = new FloatByReference();
_tframeCount = new LongByReference();
hmdDisplayFrequency = IntBuffer.allocate(1);
hmdDisplayFrequency.put( (int) JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayFrequency_Float);
@ -178,6 +184,7 @@ public class OpenVR implements VRAPI {
// init bounds & chaperone info
VRBounds.init();
logger.config("Initializing OpenVR system [SUCCESS]");
initSuccess = true;
return true;
}
@ -185,25 +192,41 @@ public class OpenVR implements VRAPI {
@Override
public boolean initVRCompositor(boolean allowed) {
hmdErrorStore.put(0, 0); // clear the error store
hmdErrorStore.setValue(0); // clear the error store
if( allowed && vrsystemFunctions != null ) {
compositorFunctions = new VR_IVRCompositor_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRCompositor_Version, hmdErrorStore));
if(compositorFunctions != null && hmdErrorStore.get(0) == 0 ){
System.out.println("OpenVR Compositor initialized OK!");
IntByReference intptr = JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRCompositor_Version, hmdErrorStore);
if (intptr != null){
if (intptr.getPointer() != null){
compositorFunctions = new VR_IVRCompositor_FnTable(intptr.getPointer());
if(compositorFunctions != null && hmdErrorStore.getValue() == 0 ){
compositorFunctions.setAutoSynch(false);
compositorFunctions.read();
if( application.isSeatedExperience() ) {
compositorFunctions.SetTrackingSpace.apply(JOpenVRLibrary.ETrackingUniverseOrigin.ETrackingUniverseOrigin_TrackingUniverseSeated);
} else {
compositorFunctions.SetTrackingSpace.apply(JOpenVRLibrary.ETrackingUniverseOrigin.ETrackingUniverseOrigin_TrackingUniverseStanding);
}
logger.config("OpenVR Compositor initialized");
} else {
logger.severe("OpenVR Compositor error: " + hmdErrorStore.getValue());
compositorFunctions = null;
}
} else {
System.out.println("OpenVR Compositor error: " + hmdErrorStore.get(0));
logger.log(Level.SEVERE, "Cannot get valid pointer for generic interface \""+JOpenVRLibrary.IVRCompositor_Version+"\", "+JOpenVRLibrary.getEVRInitErrorString(hmdErrorStore.getValue())+" ("+hmdErrorStore.getValue()+")");
compositorFunctions = null;
}
} else {
logger.log(Level.SEVERE, "Cannot get generic interface for \""+JOpenVRLibrary.IVRCompositor_Version+"\", "+JOpenVRLibrary.getEVRInitErrorString(hmdErrorStore.getValue())+" ("+hmdErrorStore.getValue()+")");
compositorFunctions = null;
}
}
if( compositorFunctions == null ) {
System.out.println("Skipping VR Compositor...");
logger.severe("Skipping VR Compositor...");
if( vrsystemFunctions != null ) {
vsyncToPhotons = vrsystemFunctions.GetFloatTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd, JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float, hmdErrorStore);
} else {
@ -237,11 +260,11 @@ public class OpenVR implements VRAPI {
store.x = 1344f;
store.y = 1512f;
} else {
IntBuffer x = IntBuffer.allocate(1);
IntBuffer y = IntBuffer.allocate(1);
IntByReference x = new IntByReference();
IntByReference y = new IntByReference();
vrsystemFunctions.GetRecommendedRenderTargetSize.apply(x, y);
store.x = x.get(0);
store.y = y.get(0);
store.x = x.getValue();
store.y = y.getValue();
}
}
/*
@ -301,7 +324,7 @@ public class OpenVR implements VRAPI {
if( latencyWaitTime > 0 ) VRUtil.sleepNanos(latencyWaitTime);
vrsystemFunctions.GetTimeSinceLastVsync.apply(tlastVsync, _tframeCount);
float fSecondsUntilPhotons = (float)timePerFrame - tlastVsync.get(0) + vsyncToPhotons;
float fSecondsUntilPhotons = (float)timePerFrame - tlastVsync.getValue() + vsyncToPhotons;
if( enableDebugLatency ) {
if( frames == 10 ) {
@ -312,7 +335,7 @@ public class OpenVR implements VRAPI {
}
// handle skipping frame stuff
long nowCount = _tframeCount.get(0);
long nowCount = _tframeCount.getValue();
if( nowCount - frameCount > 1 ) {
// skipped a frame!
if( enableDebugLatency ) System.out.println("Frame skipped!");
@ -372,7 +395,7 @@ public class OpenVR implements VRAPI {
} else if(vrsystemFunctions == null){
return cam.getProjectionMatrix();
} else {
HmdMatrix44_t mat = vrsystemFunctions.GetProjectionMatrix.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, cam.getFrustumNear(), cam.getFrustumFar(), JOpenVRLibrary.EGraphicsAPIConvention.EGraphicsAPIConvention_API_OpenGL);
HmdMatrix44_t mat = vrsystemFunctions.GetProjectionMatrix.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, cam.getFrustumNear(), cam.getFrustumFar());
hmdProjectionLeftEye = new Matrix4f();
VRUtil.convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionLeftEye);
return hmdProjectionLeftEye;
@ -386,7 +409,7 @@ public class OpenVR implements VRAPI {
} else if(vrsystemFunctions == null){
return cam.getProjectionMatrix();
} else {
HmdMatrix44_t mat = vrsystemFunctions.GetProjectionMatrix.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, cam.getFrustumNear(), cam.getFrustumFar(), JOpenVRLibrary.EGraphicsAPIConvention.EGraphicsAPIConvention_API_OpenGL);
HmdMatrix44_t mat = vrsystemFunctions.GetProjectionMatrix.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, cam.getFrustumNear(), cam.getFrustumFar());
hmdProjectionRightEye = new Matrix4f();
VRUtil.convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionRightEye);
return hmdProjectionRightEye;
@ -454,11 +477,11 @@ public class OpenVR implements VRAPI {
vrsystemFunctions.GetStringTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd,
JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ManufacturerName_String,
str1, 128, hmdErrorStore);
if( hmdErrorStore.get(0) == 0 ) completeName += str1.getString(0);
if( hmdErrorStore.getValue() == 0 ) completeName += str1.getString(0);
vrsystemFunctions.GetStringTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd,
JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ModelNumber_String,
str2, 128, hmdErrorStore);
if( hmdErrorStore.get(0) == 0 ) completeName += " " + str2.getString(0);
if( hmdErrorStore.getValue() == 0 ) completeName += " " + str2.getString(0);
if( completeName.length() > 0 ) {
completeName = completeName.toLowerCase(Locale.ENGLISH).trim();
if( completeName.contains("htc") || completeName.contains("vive") ) {

@ -256,6 +256,7 @@ public class OpenVRInput implements VRInputAPI {
lastCallAxis[i] = new Vector2f();
needsNewVelocity[i] = true;
needsNewAngVelocity[i] = true;
logger.config(" Input "+(i+1)+"/"+JOpenVRLibrary.k_unMaxTrackedDeviceCount+" initialized.");
}
return true;
@ -345,11 +346,15 @@ public class OpenVRInput implements VRInputAPI {
@Override
public void updateConnectedControllers() {
logger.config("Updating connected controllers.");
controllerCount = 0;
for(int i=0;i<JOpenVRLibrary.k_unMaxTrackedDeviceCount;i++) {
if( ((OpenVR)application.getVRHardware()).getVRSystem().GetTrackedDeviceClass.apply(i) == JOpenVRLibrary.ETrackedDeviceClass.ETrackedDeviceClass_TrackedDeviceClass_Controller ) {
controllerIndex[controllerCount] = i;
controllerCount++;
logger.config(" Controller "+(i+1)+"/"+JOpenVRLibrary.k_unMaxTrackedDeviceCount+" attached.");
} else {
logger.config(" Controller "+(i+1)+"/"+JOpenVRLibrary.k_unMaxTrackedDeviceCount+" ignored.");
}
}
}
@ -358,7 +363,7 @@ public class OpenVRInput implements VRInputAPI {
public void updateControllerStates() {
for(int i=0;i<controllerCount;i++) {
int index = controllerIndex[i];
((OpenVR)application.getVRHardware()).getVRSystem().GetControllerState.apply(index, cStates[index]);
((OpenVR)application.getVRHardware()).getVRSystem().GetControllerState.apply(index, cStates[index], 5);
cStates[index].readField("ulButtonPressed");
cStates[index].readField("rAxis");
needsNewVelocity[index] = true;

@ -3,8 +3,9 @@ package com.jme3.input.vr;
import com.jme3.math.Vector2f;
import com.jme3.system.jopenvr.JOpenVRLibrary;
import com.jme3.system.jopenvr.VR_IVRChaperone_FnTable;
import com.sun.jna.ptr.FloatByReference;
import java.nio.FloatBuffer;
import java.util.logging.Logger;
/**
* A class that represents VR world bounds.
@ -13,6 +14,8 @@ import java.nio.FloatBuffer;
*/
public class VRBounds {
private static Logger logger = Logger.getLogger(VRBounds.class.getName());
private static VR_IVRChaperone_FnTable vrChaperone;
private static Vector2f playSize;
@ -21,19 +24,28 @@ public class VRBounds {
* @return <code>true</code> if the initialization is a success and <code>false</code> otherwise.
*/
public static boolean init() {
logger.config("Initialize VR bounds...");
if( vrChaperone == null ) {
vrChaperone = new VR_IVRChaperone_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRChaperone_Version, OpenVR.hmdErrorStore));
vrChaperone = new VR_IVRChaperone_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRChaperone_Version, OpenVR.hmdErrorStore).getPointer());
if( vrChaperone != null ) {
vrChaperone.setAutoSynch(false);
vrChaperone.read();
FloatBuffer fbX = FloatBuffer.allocate(1);
FloatBuffer fbZ = FloatBuffer.allocate(1);
FloatByReference fbX = new FloatByReference();
FloatByReference fbZ = new FloatByReference();
vrChaperone.GetPlayAreaSize.apply(fbX, fbZ);
playSize = new Vector2f(fbX.get(0), fbZ.get(0));
playSize = new Vector2f(fbX.getValue(), fbZ.getValue());
logger.config("Initialize VR bounds [SUCCESS]");
return true; // init success
}
logger.warning("Initialize VR bounds [FAILED].");
return false; // failed to init
}
logger.config("Initialize VR bounds already done.");
return true; // already initialized
}

@ -106,7 +106,8 @@ public class OpenVRFilter extends Filter {
verts[vertPos+2] = 0f; // z
vertPos += 3;
DistortionCoordinates_t dc0 = ((VR_IVRSystem_FnTable)application.getVRHardware().getVRSystem()).ComputeDistortion.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, u, v);
DistortionCoordinates_t dc0 = new DistortionCoordinates_t();
((VR_IVRSystem_FnTable)application.getVRHardware().getVRSystem()).ComputeDistortion.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, u, v, dc0);
texcoordR[coordPos] = dc0.rfRed[0];
texcoordR[coordPos+1] = 1 - dc0.rfRed[1];
@ -130,7 +131,8 @@ public class OpenVRFilter extends Filter {
verts[vertPos+2] = 0f; // z
vertPos += 3;
DistortionCoordinates_t dc0 = ((VR_IVRSystem_FnTable)application.getVRHardware().getVRSystem()).ComputeDistortion.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, u, v);
DistortionCoordinates_t dc0 = new DistortionCoordinates_t();
((VR_IVRSystem_FnTable)application.getVRHardware().getVRSystem()).ComputeDistortion.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, u, v, dc0);
texcoordR[coordPos] = dc0.rfRed[0];
texcoordR[coordPos+1] = 1 - dc0.rfRed[1];

@ -37,8 +37,8 @@ public class InstancedDirectionalShadowFilter extends DirectionalLightShadowFilt
protected void preFrame(float tpf) {
shadowRenderer.preFrame(tpf);
if( application.isInstanceVRRendering() ) {
material.setMatrix4("ViewProjectionMatrixInverseRight", application.getVRViewManager().getCamRight().getViewProjectionMatrix().invert());
Matrix4f m = application.getVRViewManager().getCamRight().getViewProjectionMatrix();
material.setMatrix4("ViewProjectionMatrixInverseRight", application.getVRViewManager().getRightCamera().getViewProjectionMatrix().invert());
Matrix4f m = application.getVRViewManager().getRightCamera().getViewProjectionMatrix();
material.setVector4("ViewProjectionMatrixRow2Right", temp4f2.set(m.m20, m.m21, m.m22, m.m23));
}
material.setMatrix4("ViewProjectionMatrixInverse", viewPort.getCamera().getViewProjectionMatrix().invert());

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1133</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -5,6 +5,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1262</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1127</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1176</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1159</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -12,6 +13,7 @@ public class Compositor_FrameTiming extends Structure {
public int m_nSize;
public int m_nFrameIndex;
public int m_nNumFramePresents;
public int m_nNumMisPresented;
public int m_nNumDroppedFrames;
public int m_nReprojectionFlags;
public double m_flSystemTimeInSeconds;
@ -37,7 +39,7 @@ public class Compositor_FrameTiming extends Structure {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("m_nSize", "m_nFrameIndex", "m_nNumFramePresents", "m_nNumDroppedFrames", "m_nReprojectionFlags", "m_flSystemTimeInSeconds", "m_flPreSubmitGpuMs", "m_flPostSubmitGpuMs", "m_flTotalRenderGpuMs", "m_flCompositorRenderGpuMs", "m_flCompositorRenderCpuMs", "m_flCompositorIdleCpuMs", "m_flClientFrameIntervalMs", "m_flPresentCallCpuMs", "m_flWaitForPresentCpuMs", "m_flSubmitFrameMs", "m_flWaitGetPosesCalledMs", "m_flNewPosesReadyMs", "m_flNewFrameReadyMs", "m_flCompositorUpdateStartMs", "m_flCompositorUpdateEndMs", "m_flCompositorRenderStartMs", "m_HmdPose");
return Arrays.asList("m_nSize", "m_nFrameIndex", "m_nNumFramePresents", "m_nNumMisPresented", "m_nNumDroppedFrames", "m_nReprojectionFlags", "m_flSystemTimeInSeconds", "m_flPreSubmitGpuMs", "m_flPostSubmitGpuMs", "m_flTotalRenderGpuMs", "m_flCompositorRenderGpuMs", "m_flCompositorRenderCpuMs", "m_flCompositorIdleCpuMs", "m_flClientFrameIntervalMs", "m_flPresentCallCpuMs", "m_flWaitForPresentCpuMs", "m_flSubmitFrameMs", "m_flWaitGetPosesCalledMs", "m_flNewPosesReadyMs", "m_flNewFrameReadyMs", "m_flCompositorUpdateStartMs", "m_flCompositorUpdateEndMs", "m_flCompositorRenderStartMs", "m_HmdPose");
}
public Compositor_FrameTiming(Pointer peer) {
super(peer);

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1117</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -0,0 +1,53 @@
package com.jme3.system.jopenvr;
import com.jme3.system.jopenvr.JOpenVRLibrary.ID3D12CommandQueue;
import com.jme3.system.jopenvr.JOpenVRLibrary.ID3D12Resource;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1003</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class D3D12TextureData_t extends Structure {
/**
* struct ID3D12Resource *<br>
* C type : ID3D12Resource*
*/
public ID3D12Resource m_pResource;
/**
* struct ID3D12CommandQueue *<br>
* C type : ID3D12CommandQueue*
*/
public ID3D12CommandQueue m_pCommandQueue;
public int m_nNodeMask;
public D3D12TextureData_t() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("m_pResource", "m_pCommandQueue", "m_nNodeMask");
}
/**
* @param m_pResource struct ID3D12Resource *<br>
* C type : ID3D12Resource*<br>
* @param m_pCommandQueue struct ID3D12CommandQueue *<br>
* C type : ID3D12CommandQueue*
*/
public D3D12TextureData_t(ID3D12Resource m_pResource, ID3D12CommandQueue m_pCommandQueue, int m_nNodeMask) {
super();
this.m_pResource = m_pResource;
this.m_pCommandQueue = m_pCommandQueue;
this.m_nNodeMask = m_nNodeMask;
}
public D3D12TextureData_t(Pointer peer) {
super(peer);
}
public static class ByReference extends D3D12TextureData_t implements Structure.ByReference {
};
public static class ByValue extends D3D12TextureData_t implements Structure.ByValue {
};
}

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:954</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1090</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:938</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:906</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:910</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:942</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:932</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:946</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:926</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:914</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:922</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:918</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -0,0 +1,37 @@
package com.jme3.system.jopenvr;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1200</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class IntersectionMaskCircle_t extends Structure {
public float m_flCenterX;
public float m_flCenterY;
public float m_flRadius;
public IntersectionMaskCircle_t() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("m_flCenterX", "m_flCenterY", "m_flRadius");
}
public IntersectionMaskCircle_t(float m_flCenterX, float m_flCenterY, float m_flRadius) {
super();
this.m_flCenterX = m_flCenterX;
this.m_flCenterY = m_flCenterY;
this.m_flRadius = m_flRadius;
}
public IntersectionMaskCircle_t(Pointer peer) {
super(peer);
}
public static class ByReference extends IntersectionMaskCircle_t implements Structure.ByReference {
};
public static class ByValue extends IntersectionMaskCircle_t implements Structure.ByValue {
};
}

@ -0,0 +1,39 @@
package com.jme3.system.jopenvr;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1195</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class IntersectionMaskRectangle_t extends Structure {
public float m_flTopLeftX;
public float m_flTopLeftY;
public float m_flWidth;
public float m_flHeight;
public IntersectionMaskRectangle_t() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("m_flTopLeftX", "m_flTopLeftY", "m_flWidth", "m_flHeight");
}
public IntersectionMaskRectangle_t(float m_flTopLeftX, float m_flTopLeftY, float m_flWidth, float m_flHeight) {
super();
this.m_flTopLeftX = m_flTopLeftX;
this.m_flTopLeftY = m_flTopLeftY;
this.m_flWidth = m_flWidth;
this.m_flHeight = m_flHeight;
}
public IntersectionMaskRectangle_t(Pointer peer) {
super(peer);
}
public static class ByReference extends IntersectionMaskRectangle_t implements Structure.ByReference {
};
public static class ByValue extends IntersectionMaskRectangle_t implements Structure.ByValue {
};
}

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1236</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1205</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1229</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1217</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1211</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -5,6 +5,7 @@ import com.sun.jna.ptr.ShortByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1226</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:964</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -15,8 +16,8 @@ public class Texture_t extends Structure {
*/
public int handle;
/**
* @see EGraphicsAPIConvention<br>
* C type : EGraphicsAPIConvention
* @see ETextureType<br>
* C type : ETextureType
*/
public int eType;
/**
@ -33,8 +34,8 @@ public class Texture_t extends Structure {
/**
* @param handle void *<br>
* C type : void*<br>
* @param eType @see EGraphicsAPIConvention<br>
* C type : EGraphicsAPIConvention<br>
* @param eType @see ETextureType<br>
* C type : ETextureType<br>
* @param eColorSpace @see EColorSpace<br>
* C type : EColorSpace
*/

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:974</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1094</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,53 +4,29 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* Holds all the state of a controller at one moment in time (see <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::GetControllerState">IVRSystem::GetControllerState</a>).
*
* <p>
* <i>native declaration : headers\openvr_capi.h:1101</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class VRControllerState_t extends Structure {
/**
* If packet num matches that on your prior call,
* then the controller state hasn't been changed since your last call and there is no need to process it.
*/
public int unPacketNum;
/**
* Bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask.
*/
public long ulButtonPressed;
/**
* Bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask
*/
public long ulButtonTouched;
/**
* Axis data for the controller's analog inputs.
* struct vr::VRControllerAxis_t[5]<br>
* C type : VRControllerAxis_t[5]
*/
public VRControllerAxis_t[] rAxis = new VRControllerAxis_t[5];
/**
* Create a new VR controller state.
*/
public VRControllerState_t() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("unPacketNum", "ulButtonPressed", "ulButtonTouched", "rAxis");
}
/**
* Create a new VR controller state.
* @param unPacketNum if packet num matches that on your prior call, then the controller state hasn't been changed since your last call and there is no need to process it.
* @param ulButtonPressed bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask
* @param ulButtonTouched bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask
* @param rAxis axis data for the controller's analog inputs.
* @param rAxis struct vr::VRControllerAxis_t[5]<br>
* C type : VRControllerAxis_t[5]
*/
public VRControllerState_t(int unPacketNum, long ulButtonPressed, long ulButtonTouched, VRControllerAxis_t rAxis[]) {
super();
@ -61,34 +37,12 @@ public class VRControllerState_t extends Structure {
throw new IllegalArgumentException("Wrong array size !");
this.rAxis = rAxis;
}
/**
* Create a new VR controller state.
* @param peer the pointer to the native structure.
*/
public VRControllerState_t(Pointer peer) {
super(peer);
}
/**
* JNA specific type.
* <p>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public static class ByReference extends VRControllerState_t implements Structure.ByReference {
};
/**
* JNA specific type.
* <p>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*
*/
public static class ByValue extends VRControllerState_t implements Structure.ByValue {
};

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1072</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1051</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1006</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -2,6 +2,7 @@ package com.jme3.system.jopenvr;
import com.sun.jna.Pointer;
import com.sun.jna.Union;
/**
* <i>native declaration : headers\openvr_capi.h:1278</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -0,0 +1,35 @@
package com.jme3.system.jopenvr;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1076</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class VREvent_EditingCameraSurface_t extends Structure {
public long overlayHandle;
public int nVisualMode;
public VREvent_EditingCameraSurface_t() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("overlayHandle", "nVisualMode");
}
public VREvent_EditingCameraSurface_t(long overlayHandle, int nVisualMode) {
super();
this.overlayHandle = overlayHandle;
this.nVisualMode = nVisualMode;
}
public VREvent_EditingCameraSurface_t(Pointer peer) {
super(peer);
}
public static class ByReference extends VREvent_EditingCameraSurface_t implements Structure.ByReference {
};
public static class ByValue extends VREvent_EditingCameraSurface_t implements Structure.ByValue {
};
}

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1047</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1044</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -0,0 +1,33 @@
package com.jme3.system.jopenvr;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1079</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class VREvent_MessageOverlay_t extends Structure {
public int unVRMessageOverlayResponse;
public VREvent_MessageOverlay_t() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("unVRMessageOverlayResponse");
}
public VREvent_MessageOverlay_t(int unVRMessageOverlayResponse) {
super();
this.unVRMessageOverlayResponse = unVRMessageOverlayResponse;
}
public VREvent_MessageOverlay_t(Pointer peer) {
super(peer);
}
public static class ByReference extends VREvent_MessageOverlay_t implements Structure.ByReference {
};
public static class ByValue extends VREvent_MessageOverlay_t implements Structure.ByValue {
};
}

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1011</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1028</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1036</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1058</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1033</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -0,0 +1,45 @@
package com.jme3.system.jopenvr;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1085</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class VREvent_Property_t extends Structure {
/** C type : PropertyContainerHandle_t */
public long container;
/**
* @see ETrackedDeviceProperty<br>
* C type : ETrackedDeviceProperty
*/
public int prop;
public VREvent_Property_t() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("container", "prop");
}
/**
* @param container C type : PropertyContainerHandle_t<br>
* @param prop @see ETrackedDeviceProperty<br>
* C type : ETrackedDeviceProperty
*/
public VREvent_Property_t(long container, int prop) {
super();
this.container = container;
this.prop = prop;
}
public VREvent_Property_t(Pointer peer) {
super(peer);
}
public static class ByReference extends VREvent_Property_t implements Structure.ByReference {
};
public static class ByValue extends VREvent_Property_t implements Structure.ByValue {
};
}

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1055</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1068</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1065</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1016</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1061</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1039</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1024</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -5,6 +5,7 @@ import java.util.Arrays;
import java.util.List;
/**
* An event posted by the server to all running applications<br>
* <i>native declaration : headers\openvr_capi.h:1286</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -0,0 +1,39 @@
package com.jme3.system.jopenvr;
import com.sun.jna.Pointer;
import com.sun.jna.Union;
/**
* <i>native declaration : headers\openvr_capi.h:1290</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class VROverlayIntersectionMaskPrimitive_Data_t extends Union {
/** C type : IntersectionMaskRectangle_t */
public IntersectionMaskRectangle_t m_Rectangle;
/** C type : IntersectionMaskCircle_t */
public IntersectionMaskCircle_t m_Circle;
public VROverlayIntersectionMaskPrimitive_Data_t() {
super();
}
/** @param m_Rectangle C type : IntersectionMaskRectangle_t */
public VROverlayIntersectionMaskPrimitive_Data_t(IntersectionMaskRectangle_t m_Rectangle) {
super();
this.m_Rectangle = m_Rectangle;
setType(IntersectionMaskRectangle_t.class);
}
/** @param m_Circle C type : IntersectionMaskCircle_t */
public VROverlayIntersectionMaskPrimitive_Data_t(IntersectionMaskCircle_t m_Circle) {
super();
this.m_Circle = m_Circle;
setType(IntersectionMaskCircle_t.class);
}
public VROverlayIntersectionMaskPrimitive_Data_t(Pointer peer) {
super(peer);
}
public static class ByReference extends VROverlayIntersectionMaskPrimitive_Data_t implements com.sun.jna.Structure.ByReference {
};
public static class ByValue extends VROverlayIntersectionMaskPrimitive_Data_t implements com.sun.jna.Structure.ByValue {
};
}

@ -0,0 +1,45 @@
package com.jme3.system.jopenvr;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1294</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class VROverlayIntersectionMaskPrimitive_t extends Structure {
/**
* @see EVROverlayIntersectionMaskPrimitiveType<br>
* C type : EVROverlayIntersectionMaskPrimitiveType
*/
public int m_nPrimitiveType;
/** C type : VROverlayIntersectionMaskPrimitive_Data_t */
public VROverlayIntersectionMaskPrimitive_Data_t m_Primitive;
public VROverlayIntersectionMaskPrimitive_t() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("m_nPrimitiveType", "m_Primitive");
}
/**
* @param m_nPrimitiveType @see EVROverlayIntersectionMaskPrimitiveType<br>
* C type : EVROverlayIntersectionMaskPrimitiveType<br>
* @param m_Primitive C type : VROverlayIntersectionMaskPrimitive_Data_t
*/
public VROverlayIntersectionMaskPrimitive_t(int m_nPrimitiveType, VROverlayIntersectionMaskPrimitive_Data_t m_Primitive) {
super();
this.m_nPrimitiveType = m_nPrimitiveType;
this.m_Primitive = m_Primitive;
}
public VROverlayIntersectionMaskPrimitive_t(Pointer peer) {
super(peer);
}
public static class ByReference extends VROverlayIntersectionMaskPrimitive_t implements Structure.ByReference {
};
public static class ByValue extends VROverlayIntersectionMaskPrimitive_t implements Structure.ByValue {
};
}

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1183</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1189</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:980</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.

@ -0,0 +1,58 @@
package com.jme3.system.jopenvr;
import com.jme3.system.jopenvr.JOpenVRLibrary.VkDevice_T;
import com.jme3.system.jopenvr.JOpenVRLibrary.VkInstance_T;
import com.jme3.system.jopenvr.JOpenVRLibrary.VkPhysicalDevice_T;
import com.jme3.system.jopenvr.JOpenVRLibrary.VkQueue_T;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:996</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
*/
public class VRVulkanTextureData_t extends Structure {
public long m_nImage;
/**
* struct VkDevice_T *<br>
* C type : VkDevice_T*
*/
public VkDevice_T m_pDevice;
/**
* struct VkPhysicalDevice_T *<br>
* C type : VkPhysicalDevice_T*
*/
public VkPhysicalDevice_T m_pPhysicalDevice;
/**
* struct VkInstance_T *<br>
* C type : VkInstance_T*
*/
public VkInstance_T m_pInstance;
/**
* struct VkQueue_T *<br>
* C type : VkQueue_T*
*/
public VkQueue_T m_pQueue;
public int m_nQueueFamilyIndex;
public int m_nWidth;
public int m_nHeight;
public int m_nFormat;
public int m_nSampleCount;
public VRVulkanTextureData_t() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("m_nImage", "m_pDevice", "m_pPhysicalDevice", "m_pInstance", "m_pQueue", "m_nQueueFamilyIndex", "m_nWidth", "m_nHeight", "m_nFormat", "m_nSampleCount");
}
public VRVulkanTextureData_t(Pointer peer) {
super(peer);
}
public static class ByReference extends VRVulkanTextureData_t implements Structure.ByReference {
};
public static class ByValue extends VRVulkanTextureData_t implements Structure.ByValue {
};
}

@ -6,6 +6,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1483</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -25,9 +26,11 @@ public class VR_IVRApplications_FnTable extends Structure {
public VR_IVRApplications_FnTable.GetApplicationKeyByProcessId_callback GetApplicationKeyByProcessId;
/** C type : LaunchApplication_callback* */
public VR_IVRApplications_FnTable.LaunchApplication_callback LaunchApplication;
/** C type : LaunchDashboardOverlay_callback* */
/** C type : LaunchTemplateApplication_callback* */
public VR_IVRApplications_FnTable.LaunchTemplateApplication_callback LaunchTemplateApplication;
/** C type : LaunchApplicationFromMimeType_callback* */
public VR_IVRApplications_FnTable.LaunchApplicationFromMimeType_callback LaunchApplicationFromMimeType;
/** C type : LaunchDashboardOverlay_callback* */
public VR_IVRApplications_FnTable.LaunchDashboardOverlay_callback LaunchDashboardOverlay;
/** C type : CancelApplicationLaunch_callback* */
public VR_IVRApplications_FnTable.CancelApplicationLaunch_callback CancelApplicationLaunch;
@ -47,6 +50,7 @@ public class VR_IVRApplications_FnTable extends Structure {
public VR_IVRApplications_FnTable.SetApplicationAutoLaunch_callback SetApplicationAutoLaunch;
/** C type : GetApplicationAutoLaunch_callback* */
public VR_IVRApplications_FnTable.GetApplicationAutoLaunch_callback GetApplicationAutoLaunch;
/** C type : SetDefaultApplicationForMimeType_callback* */
public VR_IVRApplications_FnTable.SetDefaultApplicationForMimeType_callback SetDefaultApplicationForMimeType;
/** C type : GetDefaultApplicationForMimeType_callback* */
public VR_IVRApplications_FnTable.GetDefaultApplicationForMimeType_callback GetDefaultApplicationForMimeType;
@ -66,102 +70,139 @@ public class VR_IVRApplications_FnTable extends Structure {
public VR_IVRApplications_FnTable.GetApplicationsTransitionStateNameFromEnum_callback GetApplicationsTransitionStateNameFromEnum;
/** C type : IsQuitUserPromptRequested_callback* */
public VR_IVRApplications_FnTable.IsQuitUserPromptRequested_callback IsQuitUserPromptRequested;
/** C type : LaunchInternalProcess_callback* */
public VR_IVRApplications_FnTable.LaunchInternalProcess_callback LaunchInternalProcess;
/** C type : GetCurrentSceneProcessId_callback* */
public VR_IVRApplications_FnTable.GetCurrentSceneProcessId_callback GetCurrentSceneProcessId;
/** <i>native declaration : headers\openvr_capi.h:1452</i> */
public interface AddApplicationManifest_callback extends Callback {
int apply(Pointer pchApplicationManifestFullPath, byte bTemporary);
};
/** <i>native declaration : headers\openvr_capi.h:1453</i> */
public interface RemoveApplicationManifest_callback extends Callback {
int apply(Pointer pchApplicationManifestFullPath);
};
/** <i>native declaration : headers\openvr_capi.h:1454</i> */
public interface IsApplicationInstalled_callback extends Callback {
byte apply(Pointer pchAppKey);
};
/** <i>native declaration : headers\openvr_capi.h:1455</i> */
public interface GetApplicationCount_callback extends Callback {
int apply();
};
/** <i>native declaration : headers\openvr_capi.h:1456</i> */
public interface GetApplicationKeyByIndex_callback extends Callback {
int apply(int unApplicationIndex, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
};
/** <i>native declaration : headers\openvr_capi.h:1457</i> */
public interface GetApplicationKeyByProcessId_callback extends Callback {
int apply(int unProcessId, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
};
/** <i>native declaration : headers\openvr_capi.h:1458</i> */
public interface LaunchApplication_callback extends Callback {
int apply(Pointer pchAppKey);
};
/** <i>native declaration : headers\openvr_capi.h:1459</i> */
public interface LaunchTemplateApplication_callback extends Callback {
int apply(Pointer pchTemplateAppKey, Pointer pchNewAppKey, AppOverrideKeys_t pKeys, int unKeys);
};
/** <i>native declaration : headers\openvr_capi.h:1460</i> */
public interface LaunchApplicationFromMimeType_callback extends Callback {
int apply(Pointer pchMimeType, Pointer pchArgs);
};
/** <i>native declaration : headers\openvr_capi.h:1461</i> */
public interface LaunchDashboardOverlay_callback extends Callback {
int apply(Pointer pchAppKey);
};
/** <i>native declaration : headers\openvr_capi.h:1462</i> */
public interface CancelApplicationLaunch_callback extends Callback {
byte apply(Pointer pchAppKey);
};
/** <i>native declaration : headers\openvr_capi.h:1463</i> */
public interface IdentifyApplication_callback extends Callback {
int apply(int unProcessId, Pointer pchAppKey);
};
/** <i>native declaration : headers\openvr_capi.h:1464</i> */
public interface GetApplicationProcessId_callback extends Callback {
int apply(Pointer pchAppKey);
};
/** <i>native declaration : headers\openvr_capi.h:1465</i> */
public interface GetApplicationsErrorNameFromEnum_callback extends Callback {
Pointer apply(int error);
};
/** <i>native declaration : headers\openvr_capi.h:1466</i> */
public interface GetApplicationPropertyString_callback extends Callback {
int apply(Pointer pchAppKey, int eProperty, Pointer pchPropertyValueBuffer, int unPropertyValueBufferLen, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1467</i> */
public interface GetApplicationPropertyBool_callback extends Callback {
byte apply(Pointer pchAppKey, int eProperty, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1468</i> */
public interface GetApplicationPropertyUint64_callback extends Callback {
long apply(Pointer pchAppKey, int eProperty, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1469</i> */
public interface SetApplicationAutoLaunch_callback extends Callback {
int apply(Pointer pchAppKey, byte bAutoLaunch);
};
/** <i>native declaration : headers\openvr_capi.h:1470</i> */
public interface GetApplicationAutoLaunch_callback extends Callback {
byte apply(Pointer pchAppKey);
};
/** <i>native declaration : headers\openvr_capi.h:1471</i> */
public interface SetDefaultApplicationForMimeType_callback extends Callback {
int apply(Pointer pchAppKey, Pointer pchMimeType);
};
/** <i>native declaration : headers\openvr_capi.h:1472</i> */
public interface GetDefaultApplicationForMimeType_callback extends Callback {
byte apply(Pointer pchMimeType, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
};
/** <i>native declaration : headers\openvr_capi.h:1473</i> */
public interface GetApplicationSupportedMimeTypes_callback extends Callback {
byte apply(Pointer pchAppKey, Pointer pchMimeTypesBuffer, int unMimeTypesBuffer);
};
/** <i>native declaration : headers\openvr_capi.h:1474</i> */
public interface GetApplicationsThatSupportMimeType_callback extends Callback {
int apply(Pointer pchMimeType, Pointer pchAppKeysThatSupportBuffer, int unAppKeysThatSupportBuffer);
};
/** <i>native declaration : headers\openvr_capi.h:1475</i> */
public interface GetApplicationLaunchArguments_callback extends Callback {
int apply(int unHandle, Pointer pchArgs, int unArgs);
};
/** <i>native declaration : headers\openvr_capi.h:1476</i> */
public interface GetStartingApplication_callback extends Callback {
int apply(Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
};
/** <i>native declaration : headers\openvr_capi.h:1477</i> */
public interface GetTransitionState_callback extends Callback {
int apply();
};
/** <i>native declaration : headers\openvr_capi.h:1478</i> */
public interface PerformApplicationPrelaunchCheck_callback extends Callback {
int apply(Pointer pchAppKey);
};
/** <i>native declaration : headers\openvr_capi.h:1479</i> */
public interface GetApplicationsTransitionStateNameFromEnum_callback extends Callback {
Pointer apply(int state);
};
/** <i>native declaration : headers\openvr_capi.h:1480</i> */
public interface IsQuitUserPromptRequested_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1481</i> */
public interface LaunchInternalProcess_callback extends Callback {
int apply(Pointer pchBinaryPath, Pointer pchArguments, Pointer pchWorkingDirectory);
};
/** <i>native declaration : headers\openvr_capi.h:1482</i> */
public interface GetCurrentSceneProcessId_callback extends Callback {
int apply();
};
public VR_IVRApplications_FnTable() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("AddApplicationManifest", "RemoveApplicationManifest", "IsApplicationInstalled", "GetApplicationCount", "GetApplicationKeyByIndex", "GetApplicationKeyByProcessId", "LaunchApplication", "LaunchTemplateApplication", "LaunchApplicationFromMimeType", "LaunchDashboardOverlay", "CancelApplicationLaunch", "IdentifyApplication", "GetApplicationProcessId", "GetApplicationsErrorNameFromEnum", "GetApplicationPropertyString", "GetApplicationPropertyBool", "GetApplicationPropertyUint64", "SetApplicationAutoLaunch", "GetApplicationAutoLaunch", "SetDefaultApplicationForMimeType", "GetDefaultApplicationForMimeType", "GetApplicationSupportedMimeTypes", "GetApplicationsThatSupportMimeType", "GetApplicationLaunchArguments", "GetStartingApplication", "GetTransitionState", "PerformApplicationPrelaunchCheck", "GetApplicationsTransitionStateNameFromEnum", "IsQuitUserPromptRequested", "LaunchInternalProcess");
return Arrays.asList("AddApplicationManifest", "RemoveApplicationManifest", "IsApplicationInstalled", "GetApplicationCount", "GetApplicationKeyByIndex", "GetApplicationKeyByProcessId", "LaunchApplication", "LaunchTemplateApplication", "LaunchApplicationFromMimeType", "LaunchDashboardOverlay", "CancelApplicationLaunch", "IdentifyApplication", "GetApplicationProcessId", "GetApplicationsErrorNameFromEnum", "GetApplicationPropertyString", "GetApplicationPropertyBool", "GetApplicationPropertyUint64", "SetApplicationAutoLaunch", "GetApplicationAutoLaunch", "SetDefaultApplicationForMimeType", "GetDefaultApplicationForMimeType", "GetApplicationSupportedMimeTypes", "GetApplicationsThatSupportMimeType", "GetApplicationLaunchArguments", "GetStartingApplication", "GetTransitionState", "PerformApplicationPrelaunchCheck", "GetApplicationsTransitionStateNameFromEnum", "IsQuitUserPromptRequested", "LaunchInternalProcess", "GetCurrentSceneProcessId");
}
public VR_IVRApplications_FnTable(Pointer peer) {
super(peer);

@ -7,6 +7,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1543</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -48,66 +49,87 @@ public class VR_IVRChaperoneSetup_FnTable extends Structure {
public VR_IVRChaperoneSetup_FnTable.SetWorkingPhysicalBoundsInfo_callback SetWorkingPhysicalBoundsInfo;
/** C type : GetLivePhysicalBoundsInfo_callback* */
public VR_IVRChaperoneSetup_FnTable.GetLivePhysicalBoundsInfo_callback GetLivePhysicalBoundsInfo;
/** C type : ExportLiveToBuffer_callback* */
public VR_IVRChaperoneSetup_FnTable.ExportLiveToBuffer_callback ExportLiveToBuffer;
/** C type : ImportFromBufferToWorking_callback* */
public VR_IVRChaperoneSetup_FnTable.ImportFromBufferToWorking_callback ImportFromBufferToWorking;
/** <i>native declaration : headers\openvr_capi.h:1523</i> */
public interface CommitWorkingCopy_callback extends Callback {
byte apply(int configFile);
};
/** <i>native declaration : headers\openvr_capi.h:1524</i> */
public interface RevertWorkingCopy_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1525</i> */
public interface GetWorkingPlayAreaSize_callback extends Callback {
byte apply(FloatByReference pSizeX, FloatByReference pSizeZ);
};
/** <i>native declaration : headers\openvr_capi.h:1526</i> */
public interface GetWorkingPlayAreaRect_callback extends Callback {
byte apply(HmdQuad_t rect);
};
/** <i>native declaration : headers\openvr_capi.h:1527</i> */
public interface GetWorkingCollisionBoundsInfo_callback extends Callback {
byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
};
/** <i>native declaration : headers\openvr_capi.h:1528</i> */
public interface GetLiveCollisionBoundsInfo_callback extends Callback {
byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
};
/** <i>native declaration : headers\openvr_capi.h:1529</i> */
public interface GetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback {
byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
};
/** <i>native declaration : headers\openvr_capi.h:1530</i> */
public interface GetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback {
byte apply(HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose);
};
/** <i>native declaration : headers\openvr_capi.h:1531</i> */
public interface SetWorkingPlayAreaSize_callback extends Callback {
void apply(float sizeX, float sizeZ);
};
/** <i>native declaration : headers\openvr_capi.h:1532</i> */
public interface SetWorkingCollisionBoundsInfo_callback extends Callback {
void apply(HmdQuad_t pQuadsBuffer, int unQuadsCount);
};
/** <i>native declaration : headers\openvr_capi.h:1533</i> */
public interface SetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback {
void apply(HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose);
};
/** <i>native declaration : headers\openvr_capi.h:1534</i> */
public interface SetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback {
void apply(HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose);
};
/** <i>native declaration : headers\openvr_capi.h:1535</i> */
public interface ReloadFromDisk_callback extends Callback {
void apply(int configFile);
};
/** <i>native declaration : headers\openvr_capi.h:1536</i> */
public interface GetLiveSeatedZeroPoseToRawTrackingPose_callback extends Callback {
byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
};
/** <i>native declaration : headers\openvr_capi.h:1537</i> */
public interface SetWorkingCollisionBoundsTagsInfo_callback extends Callback {
void apply(Pointer pTagsBuffer, int unTagCount);
};
/** <i>native declaration : headers\openvr_capi.h:1538</i> */
public interface GetLiveCollisionBoundsTagsInfo_callback extends Callback {
byte apply(Pointer pTagsBuffer, IntByReference punTagCount);
};
/** <i>native declaration : headers\openvr_capi.h:1539</i> */
public interface SetWorkingPhysicalBoundsInfo_callback extends Callback {
byte apply(HmdQuad_t pQuadsBuffer, int unQuadsCount);
};
/** <i>native declaration : headers\openvr_capi.h:1540</i> */
public interface GetLivePhysicalBoundsInfo_callback extends Callback {
byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
};
/** <i>native declaration : headers\openvr_capi.h:1541</i> */
public interface ExportLiveToBuffer_callback extends Callback {
byte apply(Pointer pBuffer, IntByReference pnBufferLength);
};
/** <i>native declaration : headers\openvr_capi.h:1542</i> */
public interface ImportFromBufferToWorking_callback extends Callback {
byte apply(Pointer pBuffer, int nImportFlags);
};

@ -2,10 +2,11 @@ package com.jme3.system.jopenvr;
import com.sun.jna.Callback;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import java.nio.FloatBuffer;
import com.sun.jna.ptr.FloatByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1501</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -27,27 +28,35 @@ public class VR_IVRChaperone_FnTable extends Structure {
public VR_IVRChaperone_FnTable.AreBoundsVisible_callback AreBoundsVisible;
/** C type : ForceBoundsVisible_callback* */
public VR_IVRChaperone_FnTable.ForceBoundsVisible_callback ForceBoundsVisible;
/** <i>native declaration : headers\openvr_capi.h:1493</i> */
public interface GetCalibrationState_callback extends Callback {
int apply();
};
/** <i>native declaration : headers\openvr_capi.h:1494</i> */
public interface GetPlayAreaSize_callback extends Callback {
byte apply(FloatBuffer pSizeX, FloatBuffer pSizeZ);
byte apply(FloatByReference pSizeX, FloatByReference pSizeZ);
};
/** <i>native declaration : headers\openvr_capi.h:1495</i> */
public interface GetPlayAreaRect_callback extends Callback {
byte apply(HmdQuad_t rect);
};
/** <i>native declaration : headers\openvr_capi.h:1496</i> */
public interface ReloadInfo_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1497</i> */
public interface SetSceneColor_callback extends Callback {
void apply(HmdColor_t.ByValue color);
};
/** <i>native declaration : headers\openvr_capi.h:1498</i> */
public interface GetBoundsColor_callback extends Callback {
void apply(HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t pOutputCameraColor);
};
/** <i>native declaration : headers\openvr_capi.h:1499</i> */
public interface AreBoundsVisible_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1500</i> */
public interface ForceBoundsVisible_callback extends Callback {
void apply(byte bForce);
};

@ -1,4 +1,5 @@
package com.jme3.system.jopenvr;
import com.jme3.system.jopenvr.JOpenVRLibrary.VkPhysicalDevice_T;
import com.sun.jna.Callback;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
@ -7,6 +8,7 @@ import com.sun.jna.ptr.PointerByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1627</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -30,14 +32,20 @@ public class VR_IVRCompositor_FnTable extends Structure {
public VR_IVRCompositor_FnTable.PostPresentHandoff_callback PostPresentHandoff;
/** C type : GetFrameTiming_callback* */
public VR_IVRCompositor_FnTable.GetFrameTiming_callback GetFrameTiming;
/** C type : GetFrameTimings_callback* */
public VR_IVRCompositor_FnTable.GetFrameTimings_callback GetFrameTimings;
/** C type : GetFrameTimeRemaining_callback* */
public VR_IVRCompositor_FnTable.GetFrameTimeRemaining_callback GetFrameTimeRemaining;
/** C type : FadeToColor_callback* */
/** C type : GetCumulativeStats_callback* */
public VR_IVRCompositor_FnTable.GetCumulativeStats_callback GetCumulativeStats;
/** C type wrapping */
/** C type : FadeToColor_callback* */
public VR_IVRCompositor_FnTable.FadeToColor_callback FadeToColor;
/** C type : GetCurrentFadeColor_callback* */
public VR_IVRCompositor_FnTable.GetCurrentFadeColor_callback GetCurrentFadeColor;
/** C type : FadeGrid_callback* */
public VR_IVRCompositor_FnTable.FadeGrid_callback FadeGrid;
/** C type : GetCurrentGridAlpha_callback* */
public VR_IVRCompositor_FnTable.GetCurrentGridAlpha_callback GetCurrentGridAlpha;
/** C type : SetSkyboxOverride_callback* */
public VR_IVRCompositor_FnTable.SetSkyboxOverride_callback SetSkyboxOverride;
/** C type : ClearSkyboxOverride_callback* */
@ -68,12 +76,14 @@ public class VR_IVRCompositor_FnTable extends Structure {
public VR_IVRCompositor_FnTable.ShouldAppRenderWithLowResources_callback ShouldAppRenderWithLowResources;
/** C type : ForceInterleavedReprojectionOn_callback* */
public VR_IVRCompositor_FnTable.ForceInterleavedReprojectionOn_callback ForceInterleavedReprojectionOn;
/** C type wrapping */
/** C type : ForceReconnectProcess_callback* */
public VR_IVRCompositor_FnTable.ForceReconnectProcess_callback ForceReconnectProcess;
/** C type : SuspendRendering_callback* */
public VR_IVRCompositor_FnTable.SuspendRendering_callback SuspendRendering;
/** C type : GetMirrorTextureD3D11_callback* */
public VR_IVRCompositor_FnTable.GetMirrorTextureD3D11_callback GetMirrorTextureD3D11;
/** C type : ReleaseMirrorTextureD3D11_callback* */
public VR_IVRCompositor_FnTable.ReleaseMirrorTextureD3D11_callback ReleaseMirrorTextureD3D11;
/** C type : GetMirrorTextureGL_callback* */
public VR_IVRCompositor_FnTable.GetMirrorTextureGL_callback GetMirrorTextureGL;
/** C type : ReleaseSharedGLTexture_callback* */
@ -82,132 +92,179 @@ public class VR_IVRCompositor_FnTable extends Structure {
public VR_IVRCompositor_FnTable.LockGLSharedTextureForAccess_callback LockGLSharedTextureForAccess;
/** C type : UnlockGLSharedTextureForAccess_callback* */
public VR_IVRCompositor_FnTable.UnlockGLSharedTextureForAccess_callback UnlockGLSharedTextureForAccess;
/** C type wrapping */
/** C type : GetVulkanInstanceExtensionsRequired_callback* */
public VR_IVRCompositor_FnTable.GetVulkanInstanceExtensionsRequired_callback GetVulkanInstanceExtensionsRequired;
/** C type : GetVulkanDeviceExtensionsRequired_callback* */
public VR_IVRCompositor_FnTable.GetVulkanDeviceExtensionsRequired_callback GetVulkanDeviceExtensionsRequired;
/** <i>native declaration : headers\openvr_capi.h:1586</i> */
public interface SetTrackingSpace_callback extends Callback {
/** C type wrapping */
void apply(int eOrigin);
};
/** C type wrapping */
/** <i>native declaration : headers\openvr_capi.h:1587</i> */
public interface GetTrackingSpace_callback extends Callback {
/** C type wrapping */
int apply();
};
/** C type wrapping */
/** <i>native declaration : headers\openvr_capi.h:1588</i> */
public interface WaitGetPoses_callback extends Callback {
/** C type wrapping
* @param pRenderPoseArray
* @param unRenderPoseArrayCount
* @param pGamePoseArray
* @param unGamePoseArrayCount
* @return */
int apply(TrackedDevicePose_t pRenderPoseArray, int unRenderPoseArrayCount, TrackedDevicePose_t pGamePoseArray, int unGamePoseArrayCount);
};
/** <i>native declaration : headers\openvr_capi.h:1589</i> */
public interface GetLastPoses_callback extends Callback {
int apply(TrackedDevicePose_t pRenderPoseArray, int unRenderPoseArrayCount, TrackedDevicePose_t pGamePoseArray, int unGamePoseArrayCount);
};
/** <i>native declaration : headers\openvr_capi.h:1590</i> */
public interface GetLastPoseForTrackedDeviceIndex_callback extends Callback {
int apply(int unDeviceIndex, TrackedDevicePose_t pOutputPose, TrackedDevicePose_t pOutputGamePose);
};
/** <i>native declaration : headers\openvr_capi.h:1591</i> */
public interface Submit_callback extends Callback {
int apply(int eEye, Texture_t pTexture, VRTextureBounds_t pBounds, int nSubmitFlags);
};
/** <i>native declaration : headers\openvr_capi.h:1592</i> */
public interface ClearLastSubmittedFrame_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1593</i> */
public interface PostPresentHandoff_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1594</i> */
public interface GetFrameTiming_callback extends Callback {
byte apply(Compositor_FrameTiming pTiming, int unFramesAgo);
};
/** <i>native declaration : headers\openvr_capi.h:1595</i> */
public interface GetFrameTimings_callback extends Callback {
int apply(Compositor_FrameTiming pTiming, int nFrames);
};
/** <i>native declaration : headers\openvr_capi.h:1596</i> */
public interface GetFrameTimeRemaining_callback extends Callback {
float apply();
};
/** <i>native declaration : headers\openvr_capi.h:1597</i> */
public interface GetCumulativeStats_callback extends Callback {
void apply(Compositor_CumulativeStats pStats, int nStatsSizeInBytes);
};
/** <i>native declaration : headers\openvr_capi.h:1598</i> */
public interface FadeToColor_callback extends Callback {
void apply(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, byte bBackground);
};
/** <i>native declaration : headers\openvr_capi.h:1599</i> */
public interface GetCurrentFadeColor_callback extends Callback {
com.jme3.system.jopenvr.HmdColor_t.ByValue apply(byte bBackground);
};
/** <i>native declaration : headers\openvr_capi.h:1600</i> */
public interface FadeGrid_callback extends Callback {
void apply(float fSeconds, byte bFadeIn);
};
/** <i>native declaration : headers\openvr_capi.h:1601</i> */
public interface GetCurrentGridAlpha_callback extends Callback {
float apply();
};
/** <i>native declaration : headers\openvr_capi.h:1602</i> */
public interface SetSkyboxOverride_callback extends Callback {
int apply(Texture_t pTextures, int unTextureCount);
};
/** <i>native declaration : headers\openvr_capi.h:1603</i> */
public interface ClearSkyboxOverride_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1604</i> */
public interface CompositorBringToFront_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1605</i> */
public interface CompositorGoToBack_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1606</i> */
public interface CompositorQuit_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1607</i> */
public interface IsFullscreen_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1608</i> */
public interface GetCurrentSceneFocusProcess_callback extends Callback {
int apply();
};
/** <i>native declaration : headers\openvr_capi.h:1609</i> */
public interface GetLastFrameRenderer_callback extends Callback {
int apply();
};
/** <i>native declaration : headers\openvr_capi.h:1610</i> */
public interface CanRenderScene_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1611</i> */
public interface ShowMirrorWindow_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1612</i> */
public interface HideMirrorWindow_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1613</i> */
public interface IsMirrorWindowVisible_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1614</i> */
public interface CompositorDumpImages_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1615</i> */
public interface ShouldAppRenderWithLowResources_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1616</i> */
public interface ForceInterleavedReprojectionOn_callback extends Callback {
void apply(byte bOverride);
};
/** <i>native declaration : headers\openvr_capi.h:1617</i> */
public interface ForceReconnectProcess_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1618</i> */
public interface SuspendRendering_callback extends Callback {
void apply(byte bSuspend);
};
/** <i>native declaration : headers\openvr_capi.h:1619</i> */
public interface GetMirrorTextureD3D11_callback extends Callback {
int apply(int eEye, Pointer pD3D11DeviceOrResource, PointerByReference ppD3D11ShaderResourceView);
};
/** <i>native declaration : headers\openvr_capi.h:1620</i> */
public interface ReleaseMirrorTextureD3D11_callback extends Callback {
void apply(Pointer pD3D11ShaderResourceView);
};
/** <i>native declaration : headers\openvr_capi.h:1621</i> */
public interface GetMirrorTextureGL_callback extends Callback {
int apply(int eEye, IntByReference pglTextureId, PointerByReference pglSharedTextureHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1622</i> */
public interface ReleaseSharedGLTexture_callback extends Callback {
byte apply(int glTextureId, Pointer glSharedTextureHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1623</i> */
public interface LockGLSharedTextureForAccess_callback extends Callback {
void apply(Pointer glSharedTextureHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1624</i> */
public interface UnlockGLSharedTextureForAccess_callback extends Callback {
void apply(Pointer glSharedTextureHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1625</i> */
public interface GetVulkanInstanceExtensionsRequired_callback extends Callback {
int apply(Pointer pchValue, int unBufferSize);
};
/** <i>native declaration : headers\openvr_capi.h:1626</i> */
public interface GetVulkanDeviceExtensionsRequired_callback extends Callback {
int apply(VkPhysicalDevice_T pPhysicalDevice, Pointer pchValue, int unBufferSize);
};
public VR_IVRCompositor_FnTable() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("SetTrackingSpace", "GetTrackingSpace", "WaitGetPoses", "GetLastPoses", "GetLastPoseForTrackedDeviceIndex", "Submit", "ClearLastSubmittedFrame", "PostPresentHandoff", "GetFrameTiming", "GetFrameTimeRemaining", "GetCumulativeStats", "FadeToColor", "FadeGrid", "SetSkyboxOverride", "ClearSkyboxOverride", "CompositorBringToFront", "CompositorGoToBack", "CompositorQuit", "IsFullscreen", "GetCurrentSceneFocusProcess", "GetLastFrameRenderer", "CanRenderScene", "ShowMirrorWindow", "HideMirrorWindow", "IsMirrorWindowVisible", "CompositorDumpImages", "ShouldAppRenderWithLowResources", "ForceInterleavedReprojectionOn", "ForceReconnectProcess", "SuspendRendering", "GetMirrorTextureD3D11", "GetMirrorTextureGL", "ReleaseSharedGLTexture", "LockGLSharedTextureForAccess", "UnlockGLSharedTextureForAccess");
return Arrays.asList("SetTrackingSpace", "GetTrackingSpace", "WaitGetPoses", "GetLastPoses", "GetLastPoseForTrackedDeviceIndex", "Submit", "ClearLastSubmittedFrame", "PostPresentHandoff", "GetFrameTiming", "GetFrameTimings", "GetFrameTimeRemaining", "GetCumulativeStats", "FadeToColor", "GetCurrentFadeColor", "FadeGrid", "GetCurrentGridAlpha", "SetSkyboxOverride", "ClearSkyboxOverride", "CompositorBringToFront", "CompositorGoToBack", "CompositorQuit", "IsFullscreen", "GetCurrentSceneFocusProcess", "GetLastFrameRenderer", "CanRenderScene", "ShowMirrorWindow", "HideMirrorWindow", "IsMirrorWindowVisible", "CompositorDumpImages", "ShouldAppRenderWithLowResources", "ForceInterleavedReprojectionOn", "ForceReconnectProcess", "SuspendRendering", "GetMirrorTextureD3D11", "ReleaseMirrorTextureD3D11", "GetMirrorTextureGL", "ReleaseSharedGLTexture", "LockGLSharedTextureForAccess", "UnlockGLSharedTextureForAccess", "GetVulkanInstanceExtensionsRequired", "GetVulkanDeviceExtensionsRequired");
}
public VR_IVRCompositor_FnTable(Pointer peer) {
super(peer);

@ -6,6 +6,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1393</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -17,12 +18,15 @@ public class VR_IVRExtendedDisplay_FnTable extends Structure {
public VR_IVRExtendedDisplay_FnTable.GetEyeOutputViewport_callback GetEyeOutputViewport;
/** C type : GetDXGIOutputInfo_callback* */
public VR_IVRExtendedDisplay_FnTable.GetDXGIOutputInfo_callback GetDXGIOutputInfo;
/** <i>native declaration : headers\openvr_capi.h:1390</i> */
public interface GetWindowBounds_callback extends Callback {
void apply(IntByReference pnX, IntByReference pnY, IntByReference pnWidth, IntByReference pnHeight);
};
/** <i>native declaration : headers\openvr_capi.h:1391</i> */
public interface GetEyeOutputViewport_callback extends Callback {
void apply(int eEye, IntByReference pnX, IntByReference pnY, IntByReference pnWidth, IntByReference pnHeight);
};
/** <i>native declaration : headers\openvr_capi.h:1392</i> */
public interface GetDXGIOutputInfo_callback extends Callback {
void apply(IntByReference pnAdapterIndex, IntByReference pnAdapterOutputIndex);
};

@ -6,6 +6,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1823</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -15,9 +16,11 @@ public class VR_IVRNotifications_FnTable extends Structure {
public VR_IVRNotifications_FnTable.CreateNotification_callback CreateNotification;
/** C type : RemoveNotification_callback* */
public VR_IVRNotifications_FnTable.RemoveNotification_callback RemoveNotification;
/** <i>native declaration : headers\openvr_capi.h:1821</i> */
public interface CreateNotification_callback extends Callback {
int apply(long ulOverlayHandle, long ulUserValue, int type, Pointer pchText, int style, NotificationBitmap_t pImage, IntByReference pNotificationId);
};
/** <i>native declaration : headers\openvr_capi.h:1822</i> */
public interface RemoveNotification_callback extends Callback {
int apply(int notificationId);
};

@ -9,6 +9,7 @@ import com.sun.jna.ptr.PointerByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1779</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -32,10 +33,11 @@ public class VR_IVROverlay_FnTable extends Structure {
public VR_IVROverlay_FnTable.GetOverlayImageData_callback GetOverlayImageData;
/** C type : GetOverlayErrorNameFromEnum_callback* */
public VR_IVROverlay_FnTable.GetOverlayErrorNameFromEnum_callback GetOverlayErrorNameFromEnum;
/** C type : SetOverlayFlag_callback* */
/** C type : SetOverlayRenderingPid_callback* */
public VR_IVROverlay_FnTable.SetOverlayRenderingPid_callback SetOverlayRenderingPid;
/** C type : GetOverlayRenderingPid_callback* */
public VR_IVROverlay_FnTable.GetOverlayRenderingPid_callback GetOverlayRenderingPid;
/** C type : SetOverlayFlag_callback* */
public VR_IVROverlay_FnTable.SetOverlayFlag_callback SetOverlayFlag;
/** C type : GetOverlayFlag_callback* */
public VR_IVROverlay_FnTable.GetOverlayFlag_callback GetOverlayFlag;
@ -47,7 +49,7 @@ public class VR_IVROverlay_FnTable extends Structure {
public VR_IVROverlay_FnTable.SetOverlayAlpha_callback SetOverlayAlpha;
/** C type : GetOverlayAlpha_callback* */
public VR_IVROverlay_FnTable.GetOverlayAlpha_callback GetOverlayAlpha;
/** C type : SetOverlayWidthInMeters_callback* */
/** C type : SetOverlayTexelAspect_callback* */
public VR_IVROverlay_FnTable.SetOverlayTexelAspect_callback SetOverlayTexelAspect;
/** C type : GetOverlayTexelAspect_callback* */
public VR_IVROverlay_FnTable.GetOverlayTexelAspect_callback GetOverlayTexelAspect;
@ -55,6 +57,7 @@ public class VR_IVROverlay_FnTable extends Structure {
public VR_IVROverlay_FnTable.SetOverlaySortOrder_callback SetOverlaySortOrder;
/** C type : GetOverlaySortOrder_callback* */
public VR_IVROverlay_FnTable.GetOverlaySortOrder_callback GetOverlaySortOrder;
/** C type : SetOverlayWidthInMeters_callback* */
public VR_IVROverlay_FnTable.SetOverlayWidthInMeters_callback SetOverlayWidthInMeters;
/** C type : GetOverlayWidthInMeters_callback* */
public VR_IVROverlay_FnTable.GetOverlayWidthInMeters_callback GetOverlayWidthInMeters;
@ -124,6 +127,7 @@ public class VR_IVROverlay_FnTable extends Structure {
public VR_IVROverlay_FnTable.SetOverlayRaw_callback SetOverlayRaw;
/** C type : SetOverlayFromFile_callback* */
public VR_IVROverlay_FnTable.SetOverlayFromFile_callback SetOverlayFromFile;
/** C type : GetOverlayTexture_callback* */
public VR_IVROverlay_FnTable.GetOverlayTexture_callback GetOverlayTexture;
/** C type : ReleaseNativeOverlayHandle_callback* */
public VR_IVROverlay_FnTable.ReleaseNativeOverlayHandle_callback ReleaseNativeOverlayHandle;
@ -155,227 +159,317 @@ public class VR_IVROverlay_FnTable extends Structure {
public VR_IVROverlay_FnTable.SetKeyboardTransformAbsolute_callback SetKeyboardTransformAbsolute;
/** C type : SetKeyboardPositionForOverlay_callback* */
public VR_IVROverlay_FnTable.SetKeyboardPositionForOverlay_callback SetKeyboardPositionForOverlay;
/** C type : SetOverlayIntersectionMask_callback* */
public VR_IVROverlay_FnTable.SetOverlayIntersectionMask_callback SetOverlayIntersectionMask;
/** C type : GetOverlayFlags_callback* */
public VR_IVROverlay_FnTable.GetOverlayFlags_callback GetOverlayFlags;
/** C type : ShowMessageOverlay_callback* */
public VR_IVROverlay_FnTable.ShowMessageOverlay_callback ShowMessageOverlay;
/** <i>native declaration : headers\openvr_capi.h:1704</i> */
public interface FindOverlay_callback extends Callback {
int apply(Pointer pchOverlayKey, LongByReference pOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1705</i> */
public interface CreateOverlay_callback extends Callback {
int apply(Pointer pchOverlayKey, Pointer pchOverlayFriendlyName, LongByReference pOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1706</i> */
public interface DestroyOverlay_callback extends Callback {
int apply(long ulOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1707</i> */
public interface SetHighQualityOverlay_callback extends Callback {
int apply(long ulOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1708</i> */
public interface GetHighQualityOverlay_callback extends Callback {
long apply();
};
/** <i>native declaration : headers\openvr_capi.h:1709</i> */
public interface GetOverlayKey_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pchValue, int unBufferSize, IntByReference pError);
};
/** <i>native declaration : headers\openvr_capi.h:1710</i> */
public interface GetOverlayName_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pchValue, int unBufferSize, IntByReference pError);
};
/** <i>native declaration : headers\openvr_capi.h:1711</i> */
public interface GetOverlayImageData_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pvBuffer, int unBufferSize, IntByReference punWidth, IntByReference punHeight);
};
/** <i>native declaration : headers\openvr_capi.h:1712</i> */
public interface GetOverlayErrorNameFromEnum_callback extends Callback {
Pointer apply(int error);
};
/** <i>native declaration : headers\openvr_capi.h:1713</i> */
public interface SetOverlayRenderingPid_callback extends Callback {
int apply(long ulOverlayHandle, int unPID);
};
/** <i>native declaration : headers\openvr_capi.h:1714</i> */
public interface GetOverlayRenderingPid_callback extends Callback {
int apply(long ulOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1715</i> */
public interface SetOverlayFlag_callback extends Callback {
int apply(long ulOverlayHandle, int eOverlayFlag, byte bEnabled);
};
/** <i>native declaration : headers\openvr_capi.h:1716</i> */
public interface GetOverlayFlag_callback extends Callback {
int apply(long ulOverlayHandle, int eOverlayFlag, Pointer pbEnabled);
};
/** <i>native declaration : headers\openvr_capi.h:1717</i> */
public interface SetOverlayColor_callback extends Callback {
int apply(long ulOverlayHandle, float fRed, float fGreen, float fBlue);
};
/** <i>native declaration : headers\openvr_capi.h:1718</i> */
public interface GetOverlayColor_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfRed, FloatByReference pfGreen, FloatByReference pfBlue);
};
/** <i>native declaration : headers\openvr_capi.h:1719</i> */
public interface SetOverlayAlpha_callback extends Callback {
int apply(long ulOverlayHandle, float fAlpha);
};
/** <i>native declaration : headers\openvr_capi.h:1720</i> */
public interface GetOverlayAlpha_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfAlpha);
};
/** <i>native declaration : headers\openvr_capi.h:1721</i> */
public interface SetOverlayTexelAspect_callback extends Callback {
int apply(long ulOverlayHandle, float fTexelAspect);
};
/** <i>native declaration : headers\openvr_capi.h:1722</i> */
public interface GetOverlayTexelAspect_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfTexelAspect);
};
/** <i>native declaration : headers\openvr_capi.h:1723</i> */
public interface SetOverlaySortOrder_callback extends Callback {
int apply(long ulOverlayHandle, int unSortOrder);
};
/** <i>native declaration : headers\openvr_capi.h:1724</i> */
public interface GetOverlaySortOrder_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference punSortOrder);
};
/** <i>native declaration : headers\openvr_capi.h:1725</i> */
public interface SetOverlayWidthInMeters_callback extends Callback {
int apply(long ulOverlayHandle, float fWidthInMeters);
};
/** <i>native declaration : headers\openvr_capi.h:1726</i> */
public interface GetOverlayWidthInMeters_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfWidthInMeters);
};
/** <i>native declaration : headers\openvr_capi.h:1727</i> */
public interface SetOverlayAutoCurveDistanceRangeInMeters_callback extends Callback {
int apply(long ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters);
};
/** <i>native declaration : headers\openvr_capi.h:1728</i> */
public interface GetOverlayAutoCurveDistanceRangeInMeters_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfMinDistanceInMeters, FloatByReference pfMaxDistanceInMeters);
};
/** <i>native declaration : headers\openvr_capi.h:1729</i> */
public interface SetOverlayTextureColorSpace_callback extends Callback {
int apply(long ulOverlayHandle, int eTextureColorSpace);
};
/** <i>native declaration : headers\openvr_capi.h:1730</i> */
public interface GetOverlayTextureColorSpace_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference peTextureColorSpace);
};
/** <i>native declaration : headers\openvr_capi.h:1731</i> */
public interface SetOverlayTextureBounds_callback extends Callback {
int apply(long ulOverlayHandle, VRTextureBounds_t pOverlayTextureBounds);
};
/** <i>native declaration : headers\openvr_capi.h:1732</i> */
public interface GetOverlayTextureBounds_callback extends Callback {
int apply(long ulOverlayHandle, VRTextureBounds_t pOverlayTextureBounds);
};
/** <i>native declaration : headers\openvr_capi.h:1733</i> */
public interface GetOverlayTransformType_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference peTransformType);
};
/** <i>native declaration : headers\openvr_capi.h:1734</i> */
public interface SetOverlayTransformAbsolute_callback extends Callback {
int apply(long ulOverlayHandle, int eTrackingOrigin, HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
};
/** <i>native declaration : headers\openvr_capi.h:1735</i> */
public interface GetOverlayTransformAbsolute_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference peTrackingOrigin, HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
};
/** <i>native declaration : headers\openvr_capi.h:1736</i> */
public interface SetOverlayTransformTrackedDeviceRelative_callback extends Callback {
int apply(long ulOverlayHandle, int unTrackedDevice, HmdMatrix34_t pmatTrackedDeviceToOverlayTransform);
};
/** <i>native declaration : headers\openvr_capi.h:1737</i> */
public interface GetOverlayTransformTrackedDeviceRelative_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference punTrackedDevice, HmdMatrix34_t pmatTrackedDeviceToOverlayTransform);
};
/** <i>native declaration : headers\openvr_capi.h:1738</i> */
public interface SetOverlayTransformTrackedDeviceComponent_callback extends Callback {
int apply(long ulOverlayHandle, int unDeviceIndex, Pointer pchComponentName);
};
/** <i>native declaration : headers\openvr_capi.h:1739</i> */
public interface GetOverlayTransformTrackedDeviceComponent_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference punDeviceIndex, Pointer pchComponentName, int unComponentNameSize);
};
/** <i>native declaration : headers\openvr_capi.h:1740</i> */
public interface ShowOverlay_callback extends Callback {
int apply(long ulOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1741</i> */
public interface HideOverlay_callback extends Callback {
int apply(long ulOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1742</i> */
public interface IsOverlayVisible_callback extends Callback {
byte apply(long ulOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1743</i> */
public interface GetTransformForOverlayCoordinates_callback extends Callback {
int apply(long ulOverlayHandle, int eTrackingOrigin, HmdVector2_t.ByValue coordinatesInOverlay, HmdMatrix34_t pmatTransform);
};
/** <i>native declaration : headers\openvr_capi.h:1744</i> */
public interface PollNextOverlayEvent_callback extends Callback {
byte apply(long ulOverlayHandle, VREvent_t pEvent, int uncbVREvent);
};
/** <i>native declaration : headers\openvr_capi.h:1745</i> */
public interface GetOverlayInputMethod_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference peInputMethod);
};
/** <i>native declaration : headers\openvr_capi.h:1746</i> */
public interface SetOverlayInputMethod_callback extends Callback {
int apply(long ulOverlayHandle, int eInputMethod);
};
/** <i>native declaration : headers\openvr_capi.h:1747</i> */
public interface GetOverlayMouseScale_callback extends Callback {
int apply(long ulOverlayHandle, HmdVector2_t pvecMouseScale);
};
/** <i>native declaration : headers\openvr_capi.h:1748</i> */
public interface SetOverlayMouseScale_callback extends Callback {
int apply(long ulOverlayHandle, HmdVector2_t pvecMouseScale);
};
/** <i>native declaration : headers\openvr_capi.h:1749</i> */
public interface ComputeOverlayIntersection_callback extends Callback {
byte apply(long ulOverlayHandle, VROverlayIntersectionParams_t pParams, VROverlayIntersectionResults_t pResults);
};
/** <i>native declaration : headers\openvr_capi.h:1750</i> */
public interface HandleControllerOverlayInteractionAsMouse_callback extends Callback {
byte apply(long ulOverlayHandle, int unControllerDeviceIndex);
};
/** <i>native declaration : headers\openvr_capi.h:1751</i> */
public interface IsHoverTargetOverlay_callback extends Callback {
byte apply(long ulOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1752</i> */
public interface GetGamepadFocusOverlay_callback extends Callback {
long apply();
};
/** <i>native declaration : headers\openvr_capi.h:1753</i> */
public interface SetGamepadFocusOverlay_callback extends Callback {
int apply(long ulNewFocusOverlay);
};
/** <i>native declaration : headers\openvr_capi.h:1754</i> */
public interface SetOverlayNeighbor_callback extends Callback {
int apply(int eDirection, long ulFrom, long ulTo);
};
/** <i>native declaration : headers\openvr_capi.h:1755</i> */
public interface MoveGamepadFocusToNeighbor_callback extends Callback {
int apply(int eDirection, long ulFrom);
};
/** <i>native declaration : headers\openvr_capi.h:1756</i> */
public interface SetOverlayTexture_callback extends Callback {
int apply(long ulOverlayHandle, Texture_t pTexture);
};
/** <i>native declaration : headers\openvr_capi.h:1757</i> */
public interface ClearOverlayTexture_callback extends Callback {
int apply(long ulOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1758</i> */
public interface SetOverlayRaw_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pvBuffer, int unWidth, int unHeight, int unDepth);
};
/** <i>native declaration : headers\openvr_capi.h:1759</i> */
public interface SetOverlayFromFile_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pchFilePath);
};
/** <i>native declaration : headers\openvr_capi.h:1760</i> */
public interface GetOverlayTexture_callback extends Callback {
int apply(long ulOverlayHandle, PointerByReference pNativeTextureHandle, Pointer pNativeTextureRef, IntByReference pWidth, IntByReference pHeight, IntByReference pNativeFormat, IntByReference pAPI, IntByReference pColorSpace);
int apply(long ulOverlayHandle, PointerByReference pNativeTextureHandle, Pointer pNativeTextureRef, IntByReference pWidth, IntByReference pHeight, IntByReference pNativeFormat, IntByReference pAPIType, IntByReference pColorSpace, VRTextureBounds_t pTextureBounds);
};
/** <i>native declaration : headers\openvr_capi.h:1761</i> */
public interface ReleaseNativeOverlayHandle_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pNativeTextureHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1762</i> */
public interface GetOverlayTextureSize_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference pWidth, IntByReference pHeight);
};
/** <i>native declaration : headers\openvr_capi.h:1763</i> */
public interface CreateDashboardOverlay_callback extends Callback {
int apply(Pointer pchOverlayKey, Pointer pchOverlayFriendlyName, LongByReference pMainHandle, LongByReference pThumbnailHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1764</i> */
public interface IsDashboardVisible_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1765</i> */
public interface IsActiveDashboardOverlay_callback extends Callback {
byte apply(long ulOverlayHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1766</i> */
public interface SetDashboardOverlaySceneProcess_callback extends Callback {
int apply(long ulOverlayHandle, int unProcessId);
};
/** <i>native declaration : headers\openvr_capi.h:1767</i> */
public interface GetDashboardOverlaySceneProcess_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference punProcessId);
};
/** <i>native declaration : headers\openvr_capi.h:1768</i> */
public interface ShowDashboard_callback extends Callback {
void apply(Pointer pchOverlayToShow);
};
/** <i>native declaration : headers\openvr_capi.h:1769</i> */
public interface GetPrimaryDashboardDevice_callback extends Callback {
int apply();
};
/** <i>native declaration : headers\openvr_capi.h:1770</i> */
public interface ShowKeyboard_callback extends Callback {
int apply(int eInputMode, int eLineInputMode, Pointer pchDescription, int unCharMax, Pointer pchExistingText, byte bUseMinimalMode, long uUserValue);
};
/** <i>native declaration : headers\openvr_capi.h:1771</i> */
public interface ShowKeyboardForOverlay_callback extends Callback {
int apply(long ulOverlayHandle, int eInputMode, int eLineInputMode, Pointer pchDescription, int unCharMax, Pointer pchExistingText, byte bUseMinimalMode, long uUserValue);
};
/** <i>native declaration : headers\openvr_capi.h:1772</i> */
public interface GetKeyboardText_callback extends Callback {
int apply(Pointer pchText, int cchText);
};
/** <i>native declaration : headers\openvr_capi.h:1773</i> */
public interface HideKeyboard_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1774</i> */
public interface SetKeyboardTransformAbsolute_callback extends Callback {
void apply(int eTrackingOrigin, HmdMatrix34_t pmatTrackingOriginToKeyboardTransform);
};
/** <i>native declaration : headers\openvr_capi.h:1775</i> */
public interface SetKeyboardPositionForOverlay_callback extends Callback {
void apply(long ulOverlayHandle, com.jme3.system.jopenvr.HmdRect2_t.ByValue avoidRect);
};
/** <i>native declaration : headers\openvr_capi.h:1776</i> */
public interface SetOverlayIntersectionMask_callback extends Callback {
int apply(long ulOverlayHandle, VROverlayIntersectionMaskPrimitive_t pMaskPrimitives, int unNumMaskPrimitives, int unPrimitiveSize);
};
/** <i>native declaration : headers\openvr_capi.h:1777</i> */
public interface GetOverlayFlags_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference pFlags);
};
/** <i>native declaration : headers\openvr_capi.h:1778</i> */
public interface ShowMessageOverlay_callback extends Callback {
int apply(Pointer pchText, Pointer pchCaption, Pointer pchButton0Text, Pointer pchButton1Text, Pointer pchButton2Text, Pointer pchButton3Text);
};
public VR_IVROverlay_FnTable() {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("FindOverlay", "CreateOverlay", "DestroyOverlay", "SetHighQualityOverlay", "GetHighQualityOverlay", "GetOverlayKey", "GetOverlayName", "GetOverlayImageData", "GetOverlayErrorNameFromEnum", "SetOverlayRenderingPid", "GetOverlayRenderingPid", "SetOverlayFlag", "GetOverlayFlag", "SetOverlayColor", "GetOverlayColor", "SetOverlayAlpha", "GetOverlayAlpha", "SetOverlayTexelAspect", "GetOverlayTexelAspect", "SetOverlaySortOrder", "GetOverlaySortOrder", "SetOverlayWidthInMeters", "GetOverlayWidthInMeters", "SetOverlayAutoCurveDistanceRangeInMeters", "GetOverlayAutoCurveDistanceRangeInMeters", "SetOverlayTextureColorSpace", "GetOverlayTextureColorSpace", "SetOverlayTextureBounds", "GetOverlayTextureBounds", "GetOverlayTransformType", "SetOverlayTransformAbsolute", "GetOverlayTransformAbsolute", "SetOverlayTransformTrackedDeviceRelative", "GetOverlayTransformTrackedDeviceRelative", "SetOverlayTransformTrackedDeviceComponent", "GetOverlayTransformTrackedDeviceComponent", "ShowOverlay", "HideOverlay", "IsOverlayVisible", "GetTransformForOverlayCoordinates", "PollNextOverlayEvent", "GetOverlayInputMethod", "SetOverlayInputMethod", "GetOverlayMouseScale", "SetOverlayMouseScale", "ComputeOverlayIntersection", "HandleControllerOverlayInteractionAsMouse", "IsHoverTargetOverlay", "GetGamepadFocusOverlay", "SetGamepadFocusOverlay", "SetOverlayNeighbor", "MoveGamepadFocusToNeighbor", "SetOverlayTexture", "ClearOverlayTexture", "SetOverlayRaw", "SetOverlayFromFile", "GetOverlayTexture", "ReleaseNativeOverlayHandle", "GetOverlayTextureSize", "CreateDashboardOverlay", "IsDashboardVisible", "IsActiveDashboardOverlay", "SetDashboardOverlaySceneProcess", "GetDashboardOverlaySceneProcess", "ShowDashboard", "GetPrimaryDashboardDevice", "ShowKeyboard", "ShowKeyboardForOverlay", "GetKeyboardText", "HideKeyboard", "SetKeyboardTransformAbsolute", "SetKeyboardPositionForOverlay");
return Arrays.asList("FindOverlay", "CreateOverlay", "DestroyOverlay", "SetHighQualityOverlay", "GetHighQualityOverlay", "GetOverlayKey", "GetOverlayName", "GetOverlayImageData", "GetOverlayErrorNameFromEnum", "SetOverlayRenderingPid", "GetOverlayRenderingPid", "SetOverlayFlag", "GetOverlayFlag", "SetOverlayColor", "GetOverlayColor", "SetOverlayAlpha", "GetOverlayAlpha", "SetOverlayTexelAspect", "GetOverlayTexelAspect", "SetOverlaySortOrder", "GetOverlaySortOrder", "SetOverlayWidthInMeters", "GetOverlayWidthInMeters", "SetOverlayAutoCurveDistanceRangeInMeters", "GetOverlayAutoCurveDistanceRangeInMeters", "SetOverlayTextureColorSpace", "GetOverlayTextureColorSpace", "SetOverlayTextureBounds", "GetOverlayTextureBounds", "GetOverlayTransformType", "SetOverlayTransformAbsolute", "GetOverlayTransformAbsolute", "SetOverlayTransformTrackedDeviceRelative", "GetOverlayTransformTrackedDeviceRelative", "SetOverlayTransformTrackedDeviceComponent", "GetOverlayTransformTrackedDeviceComponent", "ShowOverlay", "HideOverlay", "IsOverlayVisible", "GetTransformForOverlayCoordinates", "PollNextOverlayEvent", "GetOverlayInputMethod", "SetOverlayInputMethod", "GetOverlayMouseScale", "SetOverlayMouseScale", "ComputeOverlayIntersection", "HandleControllerOverlayInteractionAsMouse", "IsHoverTargetOverlay", "GetGamepadFocusOverlay", "SetGamepadFocusOverlay", "SetOverlayNeighbor", "MoveGamepadFocusToNeighbor", "SetOverlayTexture", "ClearOverlayTexture", "SetOverlayRaw", "SetOverlayFromFile", "GetOverlayTexture", "ReleaseNativeOverlayHandle", "GetOverlayTextureSize", "CreateDashboardOverlay", "IsDashboardVisible", "IsActiveDashboardOverlay", "SetDashboardOverlaySceneProcess", "GetDashboardOverlaySceneProcess", "ShowDashboard", "GetPrimaryDashboardDevice", "ShowKeyboard", "ShowKeyboardForOverlay", "GetKeyboardText", "HideKeyboard", "SetKeyboardTransformAbsolute", "SetKeyboardPositionForOverlay", "SetOverlayIntersectionMask", "GetOverlayFlags", "ShowMessageOverlay");
}
public VR_IVROverlay_FnTable(Pointer peer) {
super(peer);

@ -7,6 +7,7 @@ import com.sun.jna.ptr.PointerByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1817</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -22,8 +23,9 @@ public class VR_IVRRenderModels_FnTable extends Structure {
public VR_IVRRenderModels_FnTable.FreeTexture_callback FreeTexture;
/** C type : LoadTextureD3D11_Async_callback* */
public VR_IVRRenderModels_FnTable.LoadTextureD3D11_Async_callback LoadTextureD3D11_Async;
/** C type : FreeTextureD3D11_callback* */
/** C type : LoadIntoTextureD3D11_Async_callback* */
public VR_IVRRenderModels_FnTable.LoadIntoTextureD3D11_Async_callback LoadIntoTextureD3D11_Async;
/** C type : FreeTextureD3D11_callback* */
public VR_IVRRenderModels_FnTable.FreeTextureD3D11_callback FreeTextureD3D11;
/** C type : GetRenderModelName_callback* */
public VR_IVRRenderModels_FnTable.GetRenderModelName_callback GetRenderModelName;
@ -41,62 +43,81 @@ public class VR_IVRRenderModels_FnTable extends Structure {
public VR_IVRRenderModels_FnTable.GetComponentState_callback GetComponentState;
/** C type : RenderModelHasComponent_callback* */
public VR_IVRRenderModels_FnTable.RenderModelHasComponent_callback RenderModelHasComponent;
/** C type : GetRenderModelThumbnailURL_callback* */
public VR_IVRRenderModels_FnTable.GetRenderModelThumbnailURL_callback GetRenderModelThumbnailURL;
/** C type : GetRenderModelOriginalPath_callback* */
public VR_IVRRenderModels_FnTable.GetRenderModelOriginalPath_callback GetRenderModelOriginalPath;
/** C type : GetRenderModelErrorNameFromEnum_callback* */
public VR_IVRRenderModels_FnTable.GetRenderModelErrorNameFromEnum_callback GetRenderModelErrorNameFromEnum;
/** <i>native declaration : headers\openvr_capi.h:1799</i> */
public interface LoadRenderModel_Async_callback extends Callback {
int apply(Pointer pchRenderModelName, PointerByReference ppRenderModel);
};
/** <i>native declaration : headers\openvr_capi.h:1800</i> */
public interface FreeRenderModel_callback extends Callback {
void apply(RenderModel_t pRenderModel);
};
/** <i>native declaration : headers\openvr_capi.h:1801</i> */
public interface LoadTexture_Async_callback extends Callback {
int apply(int textureId, PointerByReference ppTexture);
};
/** <i>native declaration : headers\openvr_capi.h:1802</i> */
public interface FreeTexture_callback extends Callback {
void apply(RenderModel_TextureMap_t pTexture);
};
/** <i>native declaration : headers\openvr_capi.h:1803</i> */
public interface LoadTextureD3D11_Async_callback extends Callback {
int apply(int textureId, Pointer pD3D11Device, PointerByReference ppD3D11Texture2D);
};
/** <i>native declaration : headers\openvr_capi.h:1804</i> */
public interface LoadIntoTextureD3D11_Async_callback extends Callback {
int apply(int textureId, Pointer pDstTexture);
};
/** <i>native declaration : headers\openvr_capi.h:1805</i> */
public interface FreeTextureD3D11_callback extends Callback {
void apply(Pointer pD3D11Texture2D);
};
/** <i>native declaration : headers\openvr_capi.h:1806</i> */
public interface GetRenderModelName_callback extends Callback {
int apply(int unRenderModelIndex, Pointer pchRenderModelName, int unRenderModelNameLen);
};
/** <i>native declaration : headers\openvr_capi.h:1807</i> */
public interface GetRenderModelCount_callback extends Callback {
int apply();
};
/** <i>native declaration : headers\openvr_capi.h:1808</i> */
public interface GetComponentCount_callback extends Callback {
int apply(Pointer pchRenderModelName);
};
/** <i>native declaration : headers\openvr_capi.h:1809</i> */
public interface GetComponentName_callback extends Callback {
int apply(Pointer pchRenderModelName, int unComponentIndex, Pointer pchComponentName, int unComponentNameLen);
};
/** <i>native declaration : headers\openvr_capi.h:1810</i> */
public interface GetComponentButtonMask_callback extends Callback {
long apply(Pointer pchRenderModelName, Pointer pchComponentName);
};
/** <i>native declaration : headers\openvr_capi.h:1811</i> */
public interface GetComponentRenderModelName_callback extends Callback {
int apply(Pointer pchRenderModelName, Pointer pchComponentName, Pointer pchComponentRenderModelName, int unComponentRenderModelNameLen);
};
/** <i>native declaration : headers\openvr_capi.h:1812</i> */
public interface GetComponentState_callback extends Callback {
byte apply(Pointer pchRenderModelName, Pointer pchComponentName, VRControllerState_t pControllerState, RenderModel_ControllerMode_State_t pState, RenderModel_ComponentState_t pComponentState);
};
/** <i>native declaration : headers\openvr_capi.h:1813</i> */
public interface RenderModelHasComponent_callback extends Callback {
byte apply(Pointer pchRenderModelName, Pointer pchComponentName);
};
/** <i>native declaration : headers\openvr_capi.h:1814</i> */
public interface GetRenderModelThumbnailURL_callback extends Callback {
int apply(Pointer pchRenderModelName, Pointer pchThumbnailURL, int unThumbnailURLLen, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1815</i> */
public interface GetRenderModelOriginalPath_callback extends Callback {
int apply(Pointer pchRenderModelName, Pointer pchOriginalPath, int unOriginalPathLen, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1816</i> */
public interface GetRenderModelErrorNameFromEnum_callback extends Callback {
Pointer apply(int error);
};

@ -5,6 +5,7 @@ import com.sun.jna.Structure;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1871</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -14,9 +15,11 @@ public class VR_IVRResources_FnTable extends Structure {
public VR_IVRResources_FnTable.LoadSharedResource_callback LoadSharedResource;
/** C type : GetResourceFullPath_callback* */
public VR_IVRResources_FnTable.GetResourceFullPath_callback GetResourceFullPath;
/** <i>native declaration : headers\openvr_capi.h:1869</i> */
public interface LoadSharedResource_callback extends Callback {
int apply(Pointer pchResourceName, Pointer pchBuffer, int unBufferLen);
};
/** <i>native declaration : headers\openvr_capi.h:1870</i> */
public interface GetResourceFullPath_callback extends Callback {
int apply(Pointer pchResourceName, Pointer pchResourceTypeDirectory, Pointer pchPathBuffer, int unBufferLen);
};

@ -6,6 +6,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1865</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -25,24 +26,31 @@ public class VR_IVRScreenshots_FnTable extends Structure {
public VR_IVRScreenshots_FnTable.TakeStereoScreenshot_callback TakeStereoScreenshot;
/** C type : SubmitScreenshot_callback* */
public VR_IVRScreenshots_FnTable.SubmitScreenshot_callback SubmitScreenshot;
/** <i>native declaration : headers\openvr_capi.h:1858</i> */
public interface RequestScreenshot_callback extends Callback {
int apply(IntByReference pOutScreenshotHandle, int type, Pointer pchPreviewFilename, Pointer pchVRFilename);
};
/** <i>native declaration : headers\openvr_capi.h:1859</i> */
public interface HookScreenshot_callback extends Callback {
int apply(IntByReference pSupportedTypes, int numTypes);
};
/** <i>native declaration : headers\openvr_capi.h:1860</i> */
public interface GetScreenshotPropertyType_callback extends Callback {
int apply(int screenshotHandle, IntByReference pError);
};
/** <i>native declaration : headers\openvr_capi.h:1861</i> */
public interface GetScreenshotPropertyFilename_callback extends Callback {
int apply(int screenshotHandle, int filenameType, Pointer pchFilename, int cchFilename, IntByReference pError);
};
/** <i>native declaration : headers\openvr_capi.h:1862</i> */
public interface UpdateScreenshotProgress_callback extends Callback {
int apply(int screenshotHandle, float flProgress);
};
/** <i>native declaration : headers\openvr_capi.h:1863</i> */
public interface TakeStereoScreenshot_callback extends Callback {
int apply(IntByReference pOutScreenshotHandle, Pointer pchPreviewFilename, Pointer pchVRFilename);
};
/** <i>native declaration : headers\openvr_capi.h:1864</i> */
public interface SubmitScreenshot_callback extends Callback {
int apply(int screenshotHandle, int type, Pointer pchSourcePreviewFilename, Pointer pchSourceVRFilename);
};

@ -6,6 +6,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1849</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -15,59 +16,71 @@ public class VR_IVRSettings_FnTable extends Structure {
public VR_IVRSettings_FnTable.GetSettingsErrorNameFromEnum_callback GetSettingsErrorNameFromEnum;
/** C type : Sync_callback* */
public VR_IVRSettings_FnTable.Sync_callback Sync;
/** C type : GetBool_callback* */
public VR_IVRSettings_FnTable.GetBool_callback GetBool;
/** C type : SetBool_callback* */
public VR_IVRSettings_FnTable.SetBool_callback SetBool;
/** C type : GetInt32_callback* */
public VR_IVRSettings_FnTable.GetInt32_callback GetInt32;
/** C type : SetInt32_callback* */
public VR_IVRSettings_FnTable.SetInt32_callback SetInt32;
/** C type : GetFloat_callback* */
public VR_IVRSettings_FnTable.GetFloat_callback GetFloat;
/** C type : SetFloat_callback* */
public VR_IVRSettings_FnTable.SetFloat_callback SetFloat;
/** C type : GetString_callback* */
public VR_IVRSettings_FnTable.GetString_callback GetString;
/** C type : SetString_callback* */
public VR_IVRSettings_FnTable.SetString_callback SetString;
/** C type : GetBool_callback* */
public VR_IVRSettings_FnTable.GetBool_callback GetBool;
/** C type : GetInt32_callback* */
public VR_IVRSettings_FnTable.GetInt32_callback GetInt32;
/** C type : GetFloat_callback* */
public VR_IVRSettings_FnTable.GetFloat_callback GetFloat;
/** C type : GetString_callback* */
public VR_IVRSettings_FnTable.GetString_callback GetString;
/** C type : RemoveSection_callback* */
public VR_IVRSettings_FnTable.RemoveSection_callback RemoveSection;
/** C type : RemoveKeyInSection_callback* */
public VR_IVRSettings_FnTable.RemoveKeyInSection_callback RemoveKeyInSection;
/** <i>native declaration : headers\openvr_capi.h:1837</i> */
public interface GetSettingsErrorNameFromEnum_callback extends Callback {
Pointer apply(int eError);
};
/** <i>native declaration : headers\openvr_capi.h:1838</i> */
public interface Sync_callback extends Callback {
byte apply(byte bForce, IntByReference peError);
};
public interface GetBool_callback extends Callback {
byte apply(Pointer pchSection, Pointer pchSettingsKey, byte bDefaultValue, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1839</i> */
public interface SetBool_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, byte bValue, IntByReference peError);
};
public interface GetInt32_callback extends Callback {
int apply(Pointer pchSection, Pointer pchSettingsKey, int nDefaultValue, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1840</i> */
public interface SetInt32_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, int nValue, IntByReference peError);
};
public interface GetFloat_callback extends Callback {
float apply(Pointer pchSection, Pointer pchSettingsKey, float flDefaultValue, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1841</i> */
public interface SetFloat_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, float flValue, IntByReference peError);
};
public interface GetString_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, Pointer pchValue, int unValueLen, Pointer pchDefaultValue, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1842</i> */
public interface SetString_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, Pointer pchValue, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1843</i> */
public interface GetBool_callback extends Callback {
byte apply(Pointer pchSection, Pointer pchSettingsKey, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1844</i> */
public interface GetInt32_callback extends Callback {
int apply(Pointer pchSection, Pointer pchSettingsKey, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1845</i> */
public interface GetFloat_callback extends Callback {
float apply(Pointer pchSection, Pointer pchSettingsKey, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1846</i> */
public interface GetString_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, Pointer pchValue, int unValueLen, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1847</i> */
public interface RemoveSection_callback extends Callback {
void apply(Pointer pchSection, IntByReference peError);
};
/** <i>native declaration : headers\openvr_capi.h:1848</i> */
public interface RemoveKeyInSection_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, IntByReference peError);
};
@ -75,7 +88,7 @@ public class VR_IVRSettings_FnTable extends Structure {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("GetSettingsErrorNameFromEnum", "Sync", "GetBool", "SetBool", "GetInt32", "SetInt32", "GetFloat", "SetFloat", "GetString", "SetString", "RemoveSection", "RemoveKeyInSection");
return Arrays.asList("GetSettingsErrorNameFromEnum", "Sync", "SetBool", "SetInt32", "SetFloat", "SetString", "GetBool", "GetInt32", "GetFloat", "GetString", "RemoveSection", "RemoveKeyInSection");
}
public VR_IVRSettings_FnTable(Pointer peer) {
super(peer);

@ -4,13 +4,12 @@ import com.sun.jna.Pointer;
import com.sun.jna.Structure;
import com.sun.jna.ptr.FloatByReference;
import com.sun.jna.ptr.IntByReference;
import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
import com.sun.jna.ptr.LongByReference;
import java.util.Arrays;
import java.util.List;
/**
* OpenVR Function Pointer Tables<br>
* <i>native declaration : headers\openvr_capi.h:1385</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -60,41 +59,8 @@ public class VR_IVRSystem_FnTable extends Structure {
public VR_IVRSystem_FnTable.IsTrackedDeviceConnected_callback IsTrackedDeviceConnected;
/** C type : GetBoolTrackedDeviceProperty_callback* */
public VR_IVRSystem_FnTable.GetBoolTrackedDeviceProperty_callback GetBoolTrackedDeviceProperty;
/**
* Returns a static property for a tracked device.
* The different typed GetXTrackedDeviceProperty functions return a value on failure that is generally reasonable for that type:
* <ul>
* <li>GetBoolTrackedDeviceProperty - false
* <li>GetFloatTrackedDeviceProperty - 0.0
* <li>GetInt32TrackedDeviceProperty - 0
* <li>GetUint64TrackedDeviceProperty - 0
* <li>GetMatrix34TrackedDeviceProperty - identity matrix
* <li>GetStringTrackedDeviceProperty - 0 (and 0-length string)
* </ul>
* <p>
* <b>String Properties</b><br>
* Because the application owns the buffer to fill with a string property, retrieving a string property is a little different.
* <code>GetStringTrackedDeviceProperty</code> returns the number of bytes necessary to hold the string, including the trailing null.
* If the buffer wasn't large enough it passes back TrackedProp_BufferTooSmall as the error and doesn't fill the string into the buffer.
* Strings will generally fit in buffers of k_unTrackingStringSize characters.
* <p>
* <b>Property Errors</b><br>
* TrackedPropertyError will be one of:
* <ul>
* <li>TrackedProp_Success - The property request was successful.
* <li>TrackedProp_WrongDataType - The property was requested with the wrong typed function.
* <li>TrackedProp_WrongDeviceClass - The property was requested on a tracked device with the wrong class.
* <li>TrackedProp_BufferTooSmall - The string property will not fit in the provided buffer. The buffer size needed is returned.
* <li>TrackedProp_UnknownProperty - The property enum value is unknown.
* <li>TrackedProp_InvalidDevice - The tracked device index was invalid.
* <li>TrackedProp_CouldNotContactServer - OpenVR could not contact vrserver to query the device for this property.
* <li>TrackedProp_ValueNotProvidedByDevice - The driver for this device returned that it does not provide this specific property for this device.
* <li>TrackedProp_StringExceedsMaximumLength - The string property value returned by a driver exceeded the maximum property length of 32k.
* </ul>
*/
/** C type : GetFloatTrackedDeviceProperty_callback* */
public VR_IVRSystem_FnTable.GetFloatTrackedDeviceProperty_callback GetFloatTrackedDeviceProperty;
/** C type : GetInt32TrackedDeviceProperty_callback* */
public VR_IVRSystem_FnTable.GetInt32TrackedDeviceProperty_callback GetInt32TrackedDeviceProperty;
/** C type : GetUint64TrackedDeviceProperty_callback* */
@ -117,25 +83,8 @@ public class VR_IVRSystem_FnTable extends Structure {
public VR_IVRSystem_FnTable.GetControllerState_callback GetControllerState;
/** C type : GetControllerStateWithPose_callback* */
public VR_IVRSystem_FnTable.GetControllerStateWithPose_callback GetControllerStateWithPose;
/**
* Trigger a single haptic pulse on a controller.
* <ul>
* <li><code>vr::TrackedDeviceIndex_t unControllerDeviceIndex</code> - The tracked device index of the controller to trigger a haptic pulse on.
* <li><code>uint32_t unAxisId</code> - The ID of the axis to trigger a haptic pulse on.
* <li><code>unsigned short usDurationMicroSec</code> - The duration of the desired haptic pulse in microseconds.
* </ul>
* <p>
* <b>Description</b><br>
* Trigger a single haptic pulse on a controller.<br>
* Note: After this call the application may not trigger another haptic pulse on this controller and axis combination for 5ms.
* <p>
* see <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::TriggerHapticPulse">IVRSystem::TriggerHapticPulse</a>
*/
/** C type : TriggerHapticPulse_callback* */
public VR_IVRSystem_FnTable.TriggerHapticPulse_callback TriggerHapticPulse;
/** C type : GetButtonIdNameFromEnum_callback* */
public VR_IVRSystem_FnTable.GetButtonIdNameFromEnum_callback GetButtonIdNameFromEnum;
/** C type : GetControllerAxisTypeNameFromEnum_callback* */
@ -154,194 +103,179 @@ public class VR_IVRSystem_FnTable extends Structure {
public VR_IVRSystem_FnTable.AcknowledgeQuit_Exiting_callback AcknowledgeQuit_Exiting;
/** C type : AcknowledgeQuit_UserPrompt_callback* */
public VR_IVRSystem_FnTable.AcknowledgeQuit_UserPrompt_callback AcknowledgeQuit_UserPrompt;
/** C type : PerformanceTestEnableCapture_callback* */
/** <i>native declaration : headers\openvr_capi.h:1341</i> */
public interface GetRecommendedRenderTargetSize_callback extends Callback {
void apply(IntBuffer pnWidth, IntBuffer pnHeight);
void apply(IntByReference pnWidth, IntByReference pnHeight);
};
/** <i>native declaration : headers\openvr_capi.h:1342</i> */
public interface GetProjectionMatrix_callback extends Callback {
com.jme3.system.jopenvr.HmdMatrix44_t.ByValue apply(int eEye, float fNearZ, float fFarZ, int eProjType);
com.jme3.system.jopenvr.HmdMatrix44_t.ByValue apply(int eEye, float fNearZ, float fFarZ);
};
/** <i>native declaration : headers\openvr_capi.h:1343</i> */
public interface GetProjectionRaw_callback extends Callback {
void apply(int eEye, FloatByReference pfLeft, FloatByReference pfRight, FloatByReference pfTop, FloatByReference pfBottom);
};
/** <i>native declaration : headers\openvr_capi.h:1344</i> */
public interface ComputeDistortion_callback extends Callback {
com.jme3.system.jopenvr.DistortionCoordinates_t.ByValue apply(int eEye, float fU, float fV);
byte apply(int eEye, float fU, float fV, DistortionCoordinates_t pDistortionCoordinates);
};
/** <i>native declaration : headers\openvr_capi.h:1345</i> */
public interface GetEyeToHeadTransform_callback extends Callback {
HmdMatrix34_t.ByValue apply(int eEye);
};
/** <i>native declaration : headers\openvr_capi.h:1346</i> */
public interface GetTimeSinceLastVsync_callback extends Callback {
byte apply(FloatBuffer pfSecondsSinceLastVsync, LongBuffer pulFrameCounter);
byte apply(FloatByReference pfSecondsSinceLastVsync, LongByReference pulFrameCounter);
};
/** <i>native declaration : headers\openvr_capi.h:1347</i> */
public interface GetD3D9AdapterIndex_callback extends Callback {
int apply();
};
/** <i>native declaration : headers\openvr_capi.h:1348</i> */
public interface GetDXGIOutputInfo_callback extends Callback {
void apply(IntByReference pnAdapterIndex);
};
/** <i>native declaration : headers\openvr_capi.h:1349</i> */
public interface IsDisplayOnDesktop_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1350</i> */
public interface SetDisplayVisibility_callback extends Callback {
byte apply(byte bIsVisibleOnDesktop);
};
/** <i>native declaration : headers\openvr_capi.h:1351</i> */
public interface GetDeviceToAbsoluteTrackingPose_callback extends Callback {
void apply(int eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t pTrackedDevicePoseArray, int unTrackedDevicePoseArrayCount);
};
/** <i>native declaration : headers\openvr_capi.h:1352</i> */
public interface ResetSeatedZeroPose_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1353</i> */
public interface GetSeatedZeroPoseToStandingAbsoluteTrackingPose_callback extends Callback {
HmdMatrix34_t.ByValue apply();
};
/** <i>native declaration : headers\openvr_capi.h:1354</i> */
public interface GetRawZeroPoseToStandingAbsoluteTrackingPose_callback extends Callback {
HmdMatrix34_t.ByValue apply();
};
/** <i>native declaration : headers\openvr_capi.h:1355</i> */
public interface GetSortedTrackedDeviceIndicesOfClass_callback extends Callback {
int apply(int eTrackedDeviceClass, IntByReference punTrackedDeviceIndexArray, int unTrackedDeviceIndexArrayCount, int unRelativeToTrackedDeviceIndex);
};
/** <i>native declaration : headers\openvr_capi.h:1356</i> */
public interface GetTrackedDeviceActivityLevel_callback extends Callback {
int apply(int unDeviceId);
};
/** <i>native declaration : headers\openvr_capi.h:1357</i> */
public interface ApplyTransform_callback extends Callback {
void apply(TrackedDevicePose_t pOutputPose, TrackedDevicePose_t pTrackedDevicePose, HmdMatrix34_t pTransform);
};
/** <i>native declaration : headers\openvr_capi.h:1358</i> */
public interface GetTrackedDeviceIndexForControllerRole_callback extends Callback {
int apply(int unDeviceType);
};
/** <i>native declaration : headers\openvr_capi.h:1359</i> */
public interface GetControllerRoleForTrackedDeviceIndex_callback extends Callback {
int apply(int unDeviceIndex);
};
/** <i>native declaration : headers\openvr_capi.h:1360</i> */
public interface GetTrackedDeviceClass_callback extends Callback {
int apply(int unDeviceIndex);
};
/** <i>native declaration : headers\openvr_capi.h:1361</i> */
public interface IsTrackedDeviceConnected_callback extends Callback {
byte apply(int unDeviceIndex);
};
/** <i>native declaration : headers\openvr_capi.h:1362</i> */
public interface GetBoolTrackedDeviceProperty_callback extends Callback {
byte apply(int unDeviceIndex, int prop, IntBuffer pError);
byte apply(int unDeviceIndex, int prop, IntByReference pError);
};
/**
* <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::GetTrackedDeviceProperty">IVRSystem::GetTrackedDeviceProperty</a> encapsulation.
*/
/** <i>native declaration : headers\openvr_capi.h:1363</i> */
public interface GetFloatTrackedDeviceProperty_callback extends Callback {
/**
* Returns a static property for a tracked device.
* The different typed GetXTrackedDeviceProperty functions return a value on failure that is generally reasonable for that type:
* <ul>
* <li>GetBoolTrackedDeviceProperty - false
* <li>GetFloatTrackedDeviceProperty - 0.0
* <li>GetInt32TrackedDeviceProperty - 0
* <li>GetUint64TrackedDeviceProperty - 0
* <li>GetMatrix34TrackedDeviceProperty - identity matrix
* <li>GetStringTrackedDeviceProperty - 0 (and 0-length string)
* </ul>
* <p>
* <b>String Properties</b><br>
* Because the application owns the buffer to fill with a string property, retrieving a string property is a little different.
* <code>GetStringTrackedDeviceProperty</code> returns the number of bytes necessary to hold the string, including the trailing null.
* If the buffer wasn't large enough it passes back TrackedProp_BufferTooSmall as the error and doesn't fill the string into the buffer.
* Strings will generally fit in buffers of k_unTrackingStringSize characters.
* <p>
* <b>Property Errors</b><br>
* TrackedPropertyError will be one of:
* <ul>
* <li>TrackedProp_Success - The property request was successful.
* <li>TrackedProp_WrongDataType - The property was requested with the wrong typed function.
* <li>TrackedProp_WrongDeviceClass - The property was requested on a tracked device with the wrong class.
* <li>TrackedProp_BufferTooSmall - The string property will not fit in the provided buffer. The buffer size needed is returned.
* <li>TrackedProp_UnknownProperty - The property enum value is unknown.
* <li>TrackedProp_InvalidDevice - The tracked device index was invalid.
* <li>TrackedProp_CouldNotContactServer - OpenVR could not contact vrserver to query the device for this property.
* <li>TrackedProp_ValueNotProvidedByDevice - The driver for this device returned that it does not provide this specific property for this device.
* <li>TrackedProp_StringExceedsMaximumLength - The string property value returned by a driver exceeded the maximum property length of 32k.
* </ul>
* <p>
* see <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::GetTrackedDeviceProperty">IVRSystem::GetTrackedDeviceProperty</a>.
* @param unDeviceIndex Index of the device to get the property for.
* @param prop Which property to get.
* @param pError The error returned when attempting to fetch this property. This can be NULL if the caller doesn't care about the source of a property error.
* @return the float value of the property.
*/
float apply(int unDeviceIndex, int prop, IntBuffer pError);
float apply(int unDeviceIndex, int prop, IntByReference pError);
};
/** <i>native declaration : headers\openvr_capi.h:1364</i> */
public interface GetInt32TrackedDeviceProperty_callback extends Callback {
int apply(int unDeviceIndex, int prop, IntBuffer pError);
int apply(int unDeviceIndex, int prop, IntByReference pError);
};
/** <i>native declaration : headers\openvr_capi.h:1365</i> */
public interface GetUint64TrackedDeviceProperty_callback extends Callback {
long apply(int unDeviceIndex, int prop, IntBuffer pError);
long apply(int unDeviceIndex, int prop, IntByReference pError);
};
/** <i>native declaration : headers\openvr_capi.h:1366</i> */
public interface GetMatrix34TrackedDeviceProperty_callback extends Callback {
HmdMatrix34_t.ByValue apply(int unDeviceIndex, int prop, IntByReference pError);
};
/** <i>native declaration : headers\openvr_capi.h:1367</i> */
public interface GetStringTrackedDeviceProperty_callback extends Callback {
int apply(int unDeviceIndex, int prop, Pointer pchValue, int unBufferSize, IntBuffer pError);
int apply(int unDeviceIndex, int prop, Pointer pchValue, int unBufferSize, IntByReference pError);
};
/** <i>native declaration : headers\openvr_capi.h:1368</i> */
public interface GetPropErrorNameFromEnum_callback extends Callback {
Pointer apply(int error);
};
/** <i>native declaration : headers\openvr_capi.h:1369</i> */
public interface PollNextEvent_callback extends Callback {
byte apply(VREvent_t pEvent, int uncbVREvent);
};
/** <i>native declaration : headers\openvr_capi.h:1370</i> */
public interface PollNextEventWithPose_callback extends Callback {
byte apply(int eOrigin, VREvent_t pEvent, int uncbVREvent, TrackedDevicePose_t pTrackedDevicePose);
};
/** <i>native declaration : headers\openvr_capi.h:1371</i> */
public interface GetEventTypeNameFromEnum_callback extends Callback {
Pointer apply(int eType);
};
/** <i>native declaration : headers\openvr_capi.h:1372</i> */
public interface GetHiddenAreaMesh_callback extends Callback {
com.jme3.system.jopenvr.HiddenAreaMesh_t.ByValue apply(int eEye);
com.jme3.system.jopenvr.HiddenAreaMesh_t.ByValue apply(int eEye, int type);
};
/** <i>native declaration : headers\openvr_capi.h:1373</i> */
public interface GetControllerState_callback extends Callback {
byte apply(int unControllerDeviceIndex, VRControllerState_t pControllerState);
byte apply(int unControllerDeviceIndex, VRControllerState_t pControllerState, int unControllerStateSize);
};
/** <i>native declaration : headers\openvr_capi.h:1374</i> */
public interface GetControllerStateWithPose_callback extends Callback {
byte apply(int eOrigin, int unControllerDeviceIndex, VRControllerState_t pControllerState, TrackedDevicePose_t pTrackedDevicePose);
byte apply(int eOrigin, int unControllerDeviceIndex, VRControllerState_t pControllerState, int unControllerStateSize, TrackedDevicePose_t pTrackedDevicePose);
};
/**
* <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::TriggerHapticPulse">IVRSystem::TriggerHapticPulse</a> encapsulation.
*/
/** <i>native declaration : headers\openvr_capi.h:1375</i> */
public interface TriggerHapticPulse_callback extends Callback {
/**
* Trigger a single haptic pulse on a controller.<br><br>
* Note: After this call the application may not trigger another haptic pulse on this controller and axis combination for 5ms.
* <p>
* see <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::TriggerHapticPulse">IVRSystem::TriggerHapticPulse</a>
* @param unControllerDeviceIndex The tracked device index of the controller to trigger a haptic pulse on.
* @param unAxisId The ID of the axis to trigger a haptic pulse on.
* @param usDurationMicroSec The duration of the desired haptic pulse in microseconds.
*/
void apply(int unControllerDeviceIndex, int unAxisId, short usDurationMicroSec);
};
/** <i>native declaration : headers\openvr_capi.h:1376</i> */
public interface GetButtonIdNameFromEnum_callback extends Callback {
Pointer apply(int eButtonId);
};
/** <i>native declaration : headers\openvr_capi.h:1377</i> */
public interface GetControllerAxisTypeNameFromEnum_callback extends Callback {
Pointer apply(int eAxisType);
};
/** <i>native declaration : headers\openvr_capi.h:1378</i> */
public interface CaptureInputFocus_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1379</i> */
public interface ReleaseInputFocus_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1380</i> */
public interface IsInputFocusCapturedByAnotherProcess_callback extends Callback {
byte apply();
};
/** <i>native declaration : headers\openvr_capi.h:1381</i> */
public interface DriverDebugRequest_callback extends Callback {
int apply(int unDeviceIndex, Pointer pchRequest, Pointer pchResponseBuffer, int unResponseBufferSize);
};
/** <i>native declaration : headers\openvr_capi.h:1382</i> */
public interface PerformFirmwareUpdate_callback extends Callback {
int apply(int unDeviceIndex);
};
/** <i>native declaration : headers\openvr_capi.h:1383</i> */
public interface AcknowledgeQuit_Exiting_callback extends Callback {
void apply();
};
/** <i>native declaration : headers\openvr_capi.h:1384</i> */
public interface AcknowledgeQuit_UserPrompt_callback extends Callback {
void apply();
};

@ -8,6 +8,7 @@ import com.sun.jna.ptr.PointerByReference;
import java.util.Arrays;
import java.util.List;
/**
* <i>native declaration : headers\openvr_capi.h:1419</i><br>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
* a tool written by <a href="http://ochafik.com/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
* For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> , <a href="http://rococoa.dev.java.net/">Rococoa</a>, or <a href="http://jna.dev.java.net/">JNA</a>.
@ -19,8 +20,8 @@ public class VR_IVRTrackedCamera_FnTable extends Structure {
public VR_IVRTrackedCamera_FnTable.HasCamera_callback HasCamera;
/** C type : GetCameraFrameSize_callback* */
public VR_IVRTrackedCamera_FnTable.GetCameraFrameSize_callback GetCameraFrameSize;
/** C type : GetCameraIntrinisics_callback* */
public VR_IVRTrackedCamera_FnTable.GetCameraIntrinisics_callback GetCameraIntrinisics;
/** C type : GetCameraIntrinsics_callback* */
public VR_IVRTrackedCamera_FnTable.GetCameraIntrinsics_callback GetCameraIntrinsics;
/** C type : GetCameraProjection_callback* */
public VR_IVRTrackedCamera_FnTable.GetCameraProjection_callback GetCameraProjection;
/** C type : AcquireVideoStreamingService_callback* */
@ -29,6 +30,7 @@ public class VR_IVRTrackedCamera_FnTable extends Structure {
public VR_IVRTrackedCamera_FnTable.ReleaseVideoStreamingService_callback ReleaseVideoStreamingService;
/** C type : GetVideoStreamFrameBuffer_callback* */
public VR_IVRTrackedCamera_FnTable.GetVideoStreamFrameBuffer_callback GetVideoStreamFrameBuffer;
/** C type : GetVideoStreamTextureSize_callback* */
public VR_IVRTrackedCamera_FnTable.GetVideoStreamTextureSize_callback GetVideoStreamTextureSize;
/** C type : GetVideoStreamTextureD3D11_callback* */
public VR_IVRTrackedCamera_FnTable.GetVideoStreamTextureD3D11_callback GetVideoStreamTextureD3D11;
@ -36,39 +38,51 @@ public class VR_IVRTrackedCamera_FnTable extends Structure {
public VR_IVRTrackedCamera_FnTable.GetVideoStreamTextureGL_callback GetVideoStreamTextureGL;
/** C type : ReleaseVideoStreamTextureGL_callback* */
public VR_IVRTrackedCamera_FnTable.ReleaseVideoStreamTextureGL_callback ReleaseVideoStreamTextureGL;
/** <i>native declaration : headers\openvr_capi.h:1407</i> */
public interface GetCameraErrorNameFromEnum_callback extends Callback {
Pointer apply(int eCameraError);
};
/** <i>native declaration : headers\openvr_capi.h:1408</i> */
public interface HasCamera_callback extends Callback {
int apply(int nDeviceIndex, Pointer pHasCamera);
};
/** <i>native declaration : headers\openvr_capi.h:1409</i> */
public interface GetCameraFrameSize_callback extends Callback {
int apply(int nDeviceIndex, int eFrameType, IntByReference pnWidth, IntByReference pnHeight, IntByReference pnFrameBufferSize);
};
public interface GetCameraIntrinisics_callback extends Callback {
/** <i>native declaration : headers\openvr_capi.h:1410</i> */
public interface GetCameraIntrinsics_callback extends Callback {
int apply(int nDeviceIndex, int eFrameType, HmdVector2_t pFocalLength, HmdVector2_t pCenter);
};
/** <i>native declaration : headers\openvr_capi.h:1411</i> */
public interface GetCameraProjection_callback extends Callback {
int apply(int nDeviceIndex, int eFrameType, float flZNear, float flZFar, HmdMatrix44_t pProjection);
};
/** <i>native declaration : headers\openvr_capi.h:1412</i> */
public interface AcquireVideoStreamingService_callback extends Callback {
int apply(int nDeviceIndex, LongByReference pHandle);
};
/** <i>native declaration : headers\openvr_capi.h:1413</i> */
public interface ReleaseVideoStreamingService_callback extends Callback {
int apply(long hTrackedCamera);
};
/** <i>native declaration : headers\openvr_capi.h:1414</i> */
public interface GetVideoStreamFrameBuffer_callback extends Callback {
int apply(long hTrackedCamera, int eFrameType, Pointer pFrameBuffer, int nFrameBufferSize, CameraVideoStreamFrameHeader_t pFrameHeader, int nFrameHeaderSize);
};
/** <i>native declaration : headers\openvr_capi.h:1415</i> */
public interface GetVideoStreamTextureSize_callback extends Callback {
int apply(int nDeviceIndex, int eFrameType, VRTextureBounds_t pTextureBounds, IntByReference pnWidth, IntByReference pnHeight);
};
/** <i>native declaration : headers\openvr_capi.h:1416</i> */
public interface GetVideoStreamTextureD3D11_callback extends Callback {
int apply(long hTrackedCamera, int eFrameType, Pointer pD3D11DeviceOrResource, PointerByReference ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader_t pFrameHeader, int nFrameHeaderSize);
};
/** <i>native declaration : headers\openvr_capi.h:1417</i> */
public interface GetVideoStreamTextureGL_callback extends Callback {
int apply(long hTrackedCamera, int eFrameType, IntByReference pglTextureId, CameraVideoStreamFrameHeader_t pFrameHeader, int nFrameHeaderSize);
};
/** <i>native declaration : headers\openvr_capi.h:1418</i> */
public interface ReleaseVideoStreamTextureGL_callback extends Callback {
int apply(long hTrackedCamera, int glTextureId);
};
@ -76,7 +90,7 @@ public class VR_IVRTrackedCamera_FnTable extends Structure {
super();
}
protected List<String> getFieldOrder() {
return Arrays.asList("GetCameraErrorNameFromEnum", "HasCamera", "GetCameraFrameSize", "GetCameraIntrinisics", "GetCameraProjection", "AcquireVideoStreamingService", "ReleaseVideoStreamingService", "GetVideoStreamFrameBuffer", "GetVideoStreamTextureSize", "GetVideoStreamTextureD3D11", "GetVideoStreamTextureGL", "ReleaseVideoStreamTextureGL");
return Arrays.asList("GetCameraErrorNameFromEnum", "HasCamera", "GetCameraFrameSize", "GetCameraIntrinsics", "GetCameraProjection", "AcquireVideoStreamingService", "ReleaseVideoStreamingService", "GetVideoStreamFrameBuffer", "GetVideoStreamTextureSize", "GetVideoStreamTextureD3D11", "GetVideoStreamTextureGL", "ReleaseVideoStreamTextureGL");
}
public VR_IVRTrackedCamera_FnTable(Pointer peer) {
super(peer);

@ -44,7 +44,7 @@ public class MeshUtil {
verts[vertPos + 2] = 0f; // z
vertPos += 3;
DistortionCoordinates_t dc0;
DistortionCoordinates_t dc0 = new DistortionCoordinates_t();
if( application.getVRHardware().getVRSystem() == null ) {
// default to no distortion
texcoordR[coordPos] = u;
@ -54,7 +54,7 @@ public class MeshUtil {
texcoordB[coordPos] = u;
texcoordB[coordPos + 1] = 1 - v;
} else {
dc0 = ((VR_IVRSystem_FnTable)application.getVRHardware().getVRSystem()).ComputeDistortion.apply(eye, u, v);
((VR_IVRSystem_FnTable)application.getVRHardware().getVRSystem()).ComputeDistortion.apply(eye, u, v, dc0);
texcoordR[coordPos] = dc0.rfRed[0];
texcoordR[coordPos + 1] = 1 - dc0.rfRed[1];

@ -14,6 +14,7 @@ import com.jme3.input.lwjgl.GlfwMouseInputVR;
import com.jme3.input.vr.VRInputType;
import com.jme3.material.RenderState.BlendMode;
import com.jme3.math.Vector2f;
import com.jme3.scene.Node;
import com.jme3.system.AppSettings;
import com.jme3.system.lwjgl.LwjglWindowVR;
import com.jme3.texture.Texture;
@ -203,9 +204,12 @@ public class VRMouseManager {
Vector2f currentPos = getCursorPosition();
mouseImage.setLocalTranslation(currentPos.x, currentPos.y - ySize, application.getVRGUIManager().getGuiDistance() + 1f);
mouseImage.updateGeometricState();
mouseImage.getParent().updateGeometricState();
} else if( mouseImage.getParent() != null ) {
Node n = mouseImage.getParent();
mouseImage.removeFromParent();
n.updateGeometricState();
}
}
}

@ -38,6 +38,7 @@ import com.jme3.texture.Texture;
import com.jme3.texture.Texture2D;
import com.jme3.ui.Picture;
import com.sun.jna.Pointer;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.PointerByReference;
import java.awt.GraphicsEnvironment;
@ -48,105 +49,247 @@ import osvrrendermanageropengl.OSVR_ViewportDescription;
import osvrrendermanageropengl.OsvrRenderManagerOpenGLLibrary;
/**
*
* @author reden
* A VR view manager. This class enable to submit 3D views to the VR compositor.
* @author reden - phr00t - https://github.com/phr00t
* @author Julien Seinturier - (c) 2016 - JOrigin project - <a href="http://www.jorigin.org">http:/www.jorigin.org</a>
*/
public class VRViewManager {
private static final Logger logger = Logger.getLogger(VRViewManager.class.getName());
/**
* The name of the left view.
*/
public final static String LEFT_VIEW_NAME = "Left View";
/**
* The name of the right view.
*/
public final static String RIGHT_VIEW_NAME = "Right View";
private final VRApplication app;
private Camera camLeft,camRight;
private ViewPort viewPortLeft, viewPortRight;
private FilterPostProcessor ppLeft, ppRight;
private Camera leftCamera;
private ViewPort leftViewport;
private FilterPostProcessor leftPostProcessor;
private Texture2D leftEyeTexture;
private Texture2D leftEyeDepth;
private Camera rightCamera;
private ViewPort rightViewport;
private FilterPostProcessor rightPostProcessor;
private Texture2D rightEyeTexture;
private Texture2D rightEyeDepth;
// OpenVR values
private VRTextureBounds_t texBoundsLeft, texBoundsRight;
private Texture_t texTypeLeft, texTypeRight;
private VRTextureBounds_t leftTextureBounds;
private Texture_t leftTextureType;
private VRTextureBounds_t rightTextureBounds;
private Texture_t rightTextureType;
// OSVR values
OSVR_RenderBufferOpenGL.ByValue[] osvr_renderBuffer;
OSVR_ViewportDescription.ByValue osvr_viewDescFull, osvr_viewDescLeft, osvr_viewDescRight;
OSVR_ViewportDescription.ByValue osvr_viewDescFull;
OSVR_ViewportDescription.ByValue osvr_viewDescLeft;
OSVR_ViewportDescription.ByValue osvr_viewDescRight;
Pointer osvr_rmBufferState;
//private static boolean useCustomDistortion;
private float heightAdjustment;
private Texture2D leftEyeTex, rightEyeTex, dualEyeTex;
private Texture2D leftEyeDepth, rightEyeDepth;
private Texture2D dualEyeTex;
private final PointerByReference grabRBS = new PointerByReference();
private final static String LEFT_VIEW_NAME = "Left View";
private final static String RIGHT_VIEW_NAME = "Right View";
private float resMult = 1f;
//final & temp values for camera calculations
private final Vector3f finalPosition = new Vector3f();
private final Quaternion finalRotation = new Quaternion();
private final Vector3f hmdPos = new Vector3f();
private final Quaternion hmdRot = new Quaternion();
/*
do not use. set via preconfigure routine in VRApplication
/**
* Create a new VR view manager attached to the given {@link VRApplication VR application}.
* @param application the {@link VRApplication VR application} to which this manager is linked.
*/
@Deprecated
public static void _setCustomDistortion(boolean set) {
//useCustomDistortion = set;
public VRViewManager(VRApplication application){
this.app = application;
}
public VRViewManager(VRApplication forVRApp){
app = forVRApp;
/**
* Get the {@link Camera camera} attached to the left eye.
* @return the {@link Camera camera} attached to the left eye.
* @see #getRightCamera()
*/
public Camera getLeftCamera() {
return leftCamera;
}
private int getRightTexId() {
return (int)rightEyeTex.getImage().getId();
/**
* Get the {@link Camera camera} attached to the right eye.
* @return the {@link Camera camera} attached to the right eye.
* @see #getLeftCamera()
*/
public Camera getRightCamera() {
return rightCamera;
}
private int getFullTexId() {
return (int)dualEyeTex.getImage().getId();
/**
* Get the {@link ViewPort viewport} attached to the left eye.
* @return the {@link ViewPort viewport} attached to the left eye.
* @see #getRightViewport()
*/
public ViewPort getLeftViewport() {
return leftViewport;
}
/**
* Get the {@link ViewPort viewport} attached to the right eye.
* @return the {@link ViewPort viewport} attached to the right eye.
* @see #getLeftViewport()
*/
public ViewPort getRightViewport() {
return rightViewport;
}
/**
* Get the identifier of the left eye texture.
* @return the identifier of the left eye texture.
* @see #getRightTexId()
* @see #getFullTexId()
*/
private int getLeftTexId() {
return (int)leftEyeTex.getImage().getId();
return (int)leftEyeTexture.getImage().getId();
}
/**
* Get the identifier of the right eye texture.
* @return the identifier of the right eye texture.
* @see #getLeftTexId()
* @see #getFullTexId()
*/
private int getRightTexId() {
return (int)rightEyeTexture.getImage().getId();
}
/**
* Get the identifier of the full (dual eye) texture.
* @return the identifier of the full (dual eye) texture.
* @see #getLeftTexId()
* @see #getRightTexId()
*/
private int getFullTexId() {
return (int)dualEyeTex.getImage().getId();
}
/**
* Get the height adjustment to apply to the cameras before rendering.
* @return the height adjustment to apply to the cameras before rendering.
* @see #setHeightAdjustment(float)
*/
public float getHeightAdjustment() {
return heightAdjustment;
}
/**
* Set the height adjustment to apply to the cameras before rendering.
* @param amount the height adjustment to apply to the cameras before rendering.
* @see #getHeightAdjustment()
*/
public void setHeightAdjustment(float amount) {
heightAdjustment = amount;
}
/**
* Get the resolution multiplier.
* @return the resolution multiplier.
* @see #setResolutionMultiplier(float)
*/
public float getResolutionMuliplier() {
return resMult;
}
/**
* Set the resolution multiplier.
* @param resMult the resolution multiplier.
* @see #getResolutionMuliplier()
*/
public void setResolutionMultiplier(float resMult) {
this.resMult = resMult;
}
/**
* Initialize the system binds of the textures.
*/
private void initTextureSubmitStructs() {
texTypeLeft = new Texture_t();
texTypeRight = new Texture_t();
leftTextureType = new Texture_t();
rightTextureType = new Texture_t();
if( app.getVRHardware() instanceof OpenVR ) {
texBoundsLeft = new VRTextureBounds_t();
texBoundsRight = new VRTextureBounds_t();
leftTextureBounds = new VRTextureBounds_t();
rightTextureBounds = new VRTextureBounds_t();
// left eye
texBoundsLeft.uMax = 0.5f;
texBoundsLeft.uMin = 0f;
texBoundsLeft.vMax = 1f;
texBoundsLeft.vMin = 0f;
texBoundsLeft.setAutoSynch(false);
texBoundsLeft.setAutoRead(false);
texBoundsLeft.setAutoWrite(false);
texBoundsLeft.write();
leftTextureBounds.uMax = 0.5f;
leftTextureBounds.uMin = 0f;
leftTextureBounds.vMax = 1f;
leftTextureBounds.vMin = 0f;
leftTextureBounds.setAutoSynch(false);
leftTextureBounds.setAutoRead(false);
leftTextureBounds.setAutoWrite(false);
leftTextureBounds.write();
// right eye
texBoundsRight.uMax = 1f;
texBoundsRight.uMin = 0.5f;
texBoundsRight.vMax = 1f;
texBoundsRight.vMin = 0f;
texBoundsRight.setAutoSynch(false);
texBoundsRight.setAutoRead(false);
texBoundsRight.setAutoWrite(false);
texBoundsRight.write();
rightTextureBounds.uMax = 1f;
rightTextureBounds.uMin = 0.5f;
rightTextureBounds.vMax = 1f;
rightTextureBounds.vMin = 0f;
rightTextureBounds.setAutoSynch(false);
rightTextureBounds.setAutoRead(false);
rightTextureBounds.setAutoWrite(false);
rightTextureBounds.write();
// texture type
texTypeLeft.eColorSpace = JOpenVRLibrary.EColorSpace.EColorSpace_ColorSpace_Gamma;
texTypeLeft.eType = JOpenVRLibrary.EGraphicsAPIConvention.EGraphicsAPIConvention_API_OpenGL;
texTypeLeft.setAutoSynch(false);
texTypeLeft.setAutoRead(false);
texTypeLeft.setAutoWrite(false);
texTypeLeft.handle = -1;
texTypeRight.eColorSpace = JOpenVRLibrary.EColorSpace.EColorSpace_ColorSpace_Gamma;
texTypeRight.eType = JOpenVRLibrary.EGraphicsAPIConvention.EGraphicsAPIConvention_API_OpenGL;
texTypeRight.setAutoSynch(false);
texTypeRight.setAutoRead(false);
texTypeRight.setAutoWrite(false);
texTypeRight.handle = -1;
// FIXME: Synchronize with JMonkey given texture (at this time is linear but was Gamma with phr00t implementation)
leftTextureType.eColorSpace = JOpenVRLibrary.EColorSpace.EColorSpace_ColorSpace_Gamma;
//leftTextureType.eColorSpace = JOpenVRLibrary.EColorSpace.EColorSpace_ColorSpace_Linear;
leftTextureType.eType = JOpenVRLibrary.ETextureType.ETextureType_TextureType_OpenGL;
leftTextureType.setAutoSynch(false);
leftTextureType.setAutoRead(false);
leftTextureType.setAutoWrite(false);
leftTextureType.handle = -1;
// FIXME: Synchronize with JMonkey given texture (at this time is linear but was Gamma with phr00t implementation)
rightTextureType.eColorSpace = JOpenVRLibrary.EColorSpace.EColorSpace_ColorSpace_Gamma;
//rightTextureType.eColorSpace = JOpenVRLibrary.EColorSpace.EColorSpace_ColorSpace_Linear;
rightTextureType.eType = JOpenVRLibrary.ETextureType.ETextureType_TextureType_OpenGL;
rightTextureType.setAutoSynch(false);
rightTextureType.setAutoRead(false);
rightTextureType.setAutoWrite(false);
rightTextureType.handle = -1;
logger.config("Init eyes native texture binds");
logger.config(" Left eye texture");
logger.config(" address: "+leftTextureType.getPointer());
logger.config(" size: "+leftTextureType.size()+" bytes");
logger.config(" color space: "+JOpenVRLibrary.getEColorSpaceString(leftTextureType.eColorSpace));
logger.config(" type: "+JOpenVRLibrary.getETextureTypeString(leftTextureType.eType));
logger.config(" auto read: "+leftTextureType.getAutoRead());
logger.config(" auto write: "+leftTextureType.getAutoWrite());
logger.config(" handle address: "+leftTextureType.handle);
logger.config(" handle value: "+leftTextureType.handle);
logger.config("");
logger.config(" Right eye texture");
logger.config(" address: "+rightTextureType.getPointer());
logger.config(" size: "+rightTextureType.size()+" bytes");
logger.config(" color space: "+JOpenVRLibrary.getEColorSpaceString(rightTextureType.eColorSpace));
logger.config(" type: "+JOpenVRLibrary.getETextureTypeString(rightTextureType.eType));
logger.config(" auto read: "+rightTextureType.getAutoRead());
logger.config(" auto write: "+rightTextureType.getAutoWrite());
logger.config(" handle address: "+rightTextureType.handle);
logger.config(" handle value: "+rightTextureType.handle);
} else if( app.getVRHardware() instanceof OSVR ) {
// must be OSVR
osvr_renderBuffer = new OSVR_RenderBufferOpenGL.ByValue[2];
@ -179,13 +322,19 @@ public class VRViewManager {
}
}
private final PointerByReference grabRBS = new PointerByReference();
/**
* Register the OSVR OpenGL buffer.
* @param buf the OSVR OpenGL buffer.
*/
private void registerOSVRBuffer(OSVR_RenderBufferOpenGL.ByValue buf) {
OsvrRenderManagerOpenGLLibrary.osvrRenderManagerStartRegisterRenderBuffers(grabRBS);
OsvrRenderManagerOpenGLLibrary.osvrRenderManagerRegisterRenderBufferOpenGL(grabRBS.getValue(), buf);
OsvrRenderManagerOpenGLLibrary.osvrRenderManagerFinishRegisterRenderBuffers(((OSVR)app.getVRHardware()).getCompositor(), grabRBS.getValue(), (byte)0);
}
/**
* Send the textures to the two eyes.
*/
public void sendTextures() {
if( app.isInVR() ) {
VRAPI api = app.getVRHardware();
@ -193,12 +342,12 @@ public class VRViewManager {
// using the compositor...
int errl = 0, errr = 0;
if( app.isInstanceVRRendering() ) {
if( texTypeLeft.handle == -1 || texTypeLeft.handle != getFullTexId() ) {
texTypeLeft.handle = getFullTexId();
if( texTypeLeft.handle != -1 ) {
texTypeLeft.write();
if( leftTextureType.handle == -1 || leftTextureType.handle != getFullTexId() ) {
leftTextureType.handle = getFullTexId();
if( leftTextureType.handle != -1 ) {
leftTextureType.write();
if( api instanceof OSVR ) {
osvr_renderBuffer[OSVR.EYE_LEFT].colorBufferName = texTypeLeft.handle;
osvr_renderBuffer[OSVR.EYE_LEFT].colorBufferName = leftTextureType.handle;
osvr_renderBuffer[OSVR.EYE_LEFT].depthStencilBufferName = dualEyeTex.getImage().getId();
osvr_renderBuffer[OSVR.EYE_LEFT].write();
registerOSVRBuffer(osvr_renderBuffer[OSVR.EYE_LEFT]);
@ -207,30 +356,32 @@ public class VRViewManager {
} else {
if( api instanceof OpenVR ) {
int submitFlag = JOpenVRLibrary.EVRSubmitFlags.EVRSubmitFlags_Submit_Default;
errr = ((OpenVR)api).getCompositor().Submit.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, texTypeLeft, texBoundsRight, submitFlag);
errl = ((OpenVR)api).getCompositor().Submit.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, texTypeLeft, texBoundsLeft, submitFlag);
errr = ((OpenVR)api).getCompositor().Submit.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, leftTextureType, rightTextureBounds, submitFlag);
errl = ((OpenVR)api).getCompositor().Submit.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, leftTextureType, leftTextureBounds, submitFlag);
} else if( api instanceof OSVR ) {
((OSVR)api).handleRenderBufferPresent(osvr_viewDescLeft, osvr_viewDescRight,
osvr_renderBuffer[OSVR.EYE_LEFT], osvr_renderBuffer[OSVR.EYE_LEFT]);
}
}
} else if( texTypeLeft.handle == -1 || texTypeRight.handle == -1 ||
texTypeLeft.handle != getLeftTexId() || texTypeRight.handle != getRightTexId() ) {
texTypeLeft.handle = getLeftTexId();
if( texTypeLeft.handle != -1 ) {
texTypeLeft.write();
} else if( leftTextureType.handle == -1 || rightTextureType.handle == -1 ||
leftTextureType.handle != getLeftTexId() || rightTextureType.handle != getRightTexId() ) {
leftTextureType.handle = getLeftTexId();
if( leftTextureType.handle != -1 ) {
logger.fine("Writing Left texture to native memory at " + leftTextureType.getPointer());
leftTextureType.write();
if( api instanceof OSVR ) {
osvr_renderBuffer[OSVR.EYE_LEFT].colorBufferName = texTypeLeft.handle;
osvr_renderBuffer[OSVR.EYE_LEFT].colorBufferName = leftTextureType.handle;
if( leftEyeDepth != null ) osvr_renderBuffer[OSVR.EYE_LEFT].depthStencilBufferName = leftEyeDepth.getImage().getId();
osvr_renderBuffer[OSVR.EYE_LEFT].write();
registerOSVRBuffer(osvr_renderBuffer[OSVR.EYE_LEFT]);
}
}
texTypeRight.handle = getRightTexId();
if( texTypeRight.handle != -1 ) {
texTypeRight.write();
rightTextureType.handle = getRightTexId();
if( rightTextureType.handle != -1 ) {
logger.fine("Writing Right texture to native memory at " + leftTextureType.getPointer());
rightTextureType.write();
if( api instanceof OSVR ) {
osvr_renderBuffer[OSVR.EYE_RIGHT].colorBufferName = texTypeRight.handle;
osvr_renderBuffer[OSVR.EYE_RIGHT].colorBufferName = rightTextureType.handle;
if( rightEyeDepth != null ) osvr_renderBuffer[OSVR.EYE_RIGHT].depthStencilBufferName = rightEyeDepth.getImage().getId();
osvr_renderBuffer[OSVR.EYE_RIGHT].write();
registerOSVRBuffer(osvr_renderBuffer[OSVR.EYE_RIGHT]);
@ -238,37 +389,52 @@ public class VRViewManager {
}
} else {
if( api instanceof OpenVR ) {
errl = ((OpenVR)api).getCompositor().Submit.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, texTypeLeft, null,
errl = ((OpenVR)api).getCompositor().Submit.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Left, leftTextureType, null,
JOpenVRLibrary.EVRSubmitFlags.EVRSubmitFlags_Submit_Default);
errr = ((OpenVR)api).getCompositor().Submit.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, texTypeRight, null,
errr = ((OpenVR)api).getCompositor().Submit.apply(JOpenVRLibrary.EVREye.EVREye_Eye_Right, rightTextureType, null,
JOpenVRLibrary.EVRSubmitFlags.EVRSubmitFlags_Submit_Default);
} else if( api instanceof OSVR ) {
((OSVR)api).handleRenderBufferPresent(osvr_viewDescFull, osvr_viewDescFull,
osvr_renderBuffer[OSVR.EYE_LEFT], osvr_renderBuffer[OSVR.EYE_RIGHT]);
}
}
if( errl != 0 ) System.out.println("Submit left compositor error: " + Integer.toString(errl));
if( errr != 0 ) System.out.println("Submit right compositor error: " + Integer.toString(errr));
}
}
}
public Camera getCamLeft() {
return camLeft;
}
if( errl != 0 ){
logger.severe("Submit to left compositor error: " + JOpenVRLibrary.getEVRCompositorErrorString(errl)+" ("+Integer.toString(errl)+")");
logger.severe(" Texture color space: "+JOpenVRLibrary.getEColorSpaceString(leftTextureType.eColorSpace));
logger.severe(" Texture type: "+JOpenVRLibrary.getETextureTypeString(leftTextureType.eType));
logger.severe(" Texture handle: "+leftTextureType.handle);
public Camera getCamRight() {
return camRight;
}
logger.severe(" Left eye texture "+leftEyeTexture.getName()+" ("+leftEyeTexture.getImage().getId()+")");
logger.severe(" Type: "+leftEyeTexture.getType());
logger.severe(" Size: "+leftEyeTexture.getImage().getWidth()+"x"+leftEyeTexture.getImage().getHeight());
logger.severe(" Image depth: "+leftEyeTexture.getImage().getDepth());
logger.severe(" Image format: "+leftEyeTexture.getImage().getFormat());
logger.severe(" Image color space: "+leftEyeTexture.getImage().getColorSpace());
public ViewPort getViewPortLeft() {
return viewPortLeft;
}
public ViewPort getViewPortRight() {
return viewPortRight;
if( errr != 0 ){
logger.severe("Submit to right compositor error: " + JOpenVRLibrary.getEVRCompositorErrorString(errl)+" ("+Integer.toString(errl)+")");
logger.severe(" Texture color space: "+JOpenVRLibrary.getEColorSpaceString(rightTextureType.eColorSpace));
logger.severe(" Texture type: "+JOpenVRLibrary.getETextureTypeString(rightTextureType.eType));
logger.severe(" Texture handle: "+rightTextureType.handle);
logger.severe(" Right eye texture "+rightEyeTexture.getName()+" ("+rightEyeTexture.getImage().getId()+")");
logger.severe(" Type: "+rightEyeTexture.getType());
logger.severe(" Size: "+rightEyeTexture.getImage().getWidth()+"x"+rightEyeTexture.getImage().getHeight());
logger.severe(" Image depth: "+rightEyeTexture.getImage().getDepth());
logger.severe(" Image format: "+rightEyeTexture.getImage().getFormat());
logger.severe(" Image color space: "+rightEyeTexture.getImage().getColorSpace());
}
}
}
}
/**
* Initialize the VR view manager.
*/
public void initialize() {
logger.config("Initializing VR view manager.");
@ -292,7 +458,7 @@ public class VRViewManager {
long window = ((LwjglWindow)app.getContext()).getWindowHandle();
Vector2f windowSize = new Vector2f();
((OSVR)app.getVRHardware()).getRenderSize(windowSize);
windowSize.x = Math.max(windowSize.x * 2f, camLeft.getWidth());
windowSize.x = Math.max(windowSize.x * 2f, leftCamera.getWidth());
org.lwjgl.glfw.GLFW.glfwSetWindowSize(window, (int)windowSize.x, (int)windowSize.y);
app.getContext().getSettings().setResolution((int)windowSize.x, (int)windowSize.y);
app.reshape((int)windowSize.x, (int)windowSize.y);
@ -304,15 +470,11 @@ public class VRViewManager {
}
}
private float resMult = 1f;
public void setResolutionMultiplier(float resMult) {
this.resMult = resMult;
}
public float getResolutionMuliplier() {
return resMult;
}
/**
* Prepare the size of the given {@link Camera camera} to adapt it to the underlying rendering context.
* @param cam the {@link Camera camera} to prepare.
* @param xMult the camera width multiplier.
*/
private void prepareCameraSize(Camera cam, float xMult) {
Vector2f size = new Vector2f();
VRAPI vrhmd = app.getVRHardware();
@ -354,10 +516,39 @@ public class VRViewManager {
return;
}
leftEyeTex = (Texture2D)viewPortLeft.getOutputFrameBuffer().getColorBuffer().getTexture();
rightEyeTex = (Texture2D)viewPortRight.getOutputFrameBuffer().getColorBuffer().getTexture();
leftEyeDepth = (Texture2D)viewPortLeft.getOutputFrameBuffer().getDepthBuffer().getTexture();
rightEyeDepth = (Texture2D)viewPortRight.getOutputFrameBuffer().getDepthBuffer().getTexture();
leftEyeTexture = (Texture2D) leftViewport.getOutputFrameBuffer().getColorBuffer().getTexture();
rightEyeTexture = (Texture2D)rightViewport.getOutputFrameBuffer().getColorBuffer().getTexture();
leftEyeDepth = (Texture2D) leftViewport.getOutputFrameBuffer().getDepthBuffer().getTexture();
rightEyeDepth = (Texture2D)rightViewport.getOutputFrameBuffer().getDepthBuffer().getTexture();
/*
logger.config("Left eye texture "+leftEyeTexture.getName()+" ("+leftEyeTexture.getImage().getId()+")");
logger.config(" Type: "+leftEyeTexture.getType());
logger.config(" Size: "+leftEyeTexture.getImage().getWidth()+"x"+leftEyeTexture.getImage().getHeight());
logger.config(" Image depth: "+leftEyeTexture.getImage().getDepth());
logger.config(" Image format: "+leftEyeTexture.getImage().getFormat());
logger.config(" Image color space: "+leftEyeTexture.getImage().getColorSpace());
logger.config("Left eye depth "+leftEyeDepth.getName()+" ("+leftEyeDepth.getImage().getId()+")");
logger.config(" Type: "+leftEyeDepth.getType());
logger.config(" Size: "+leftEyeDepth.getImage().getWidth()+"x"+leftEyeDepth.getImage().getHeight());
logger.config(" Image depth: "+leftEyeDepth.getImage().getDepth());
logger.config(" Image format: "+leftEyeDepth.getImage().getFormat());
logger.config(" Image color space: "+leftEyeDepth.getImage().getColorSpace());
logger.config("Right eye texture "+rightEyeTexture.getName()+" ("+rightEyeTexture.getImage().getId()+")");
logger.config(" Type: "+rightEyeTexture.getType());
logger.config(" Size: "+rightEyeTexture.getImage().getWidth()+"x"+rightEyeTexture.getImage().getHeight());
logger.config(" Image depth: "+rightEyeTexture.getImage().getDepth());
logger.config(" Image format: "+rightEyeTexture.getImage().getFormat());
logger.config(" Image color space: "+rightEyeTexture.getImage().getColorSpace());
logger.config("Right eye depth "+rightEyeDepth.getName()+" ("+rightEyeDepth.getImage().getId()+")");
logger.config(" Type: "+rightEyeDepth.getType());
logger.config(" Size: "+rightEyeDepth.getImage().getWidth()+"x"+rightEyeDepth.getImage().getHeight());
logger.config(" Image depth: "+rightEyeDepth.getImage().getDepth());
logger.config(" Image format: "+rightEyeDepth.getImage().getFormat());
logger.config(" Image color space: "+rightEyeDepth.getImage().getColorSpace());
*/
// main viewport is either going to be a distortion scene or nothing
// mirroring is handled by copying framebuffers
app.getViewPort().detachScene(app.getRootNode());
@ -367,13 +558,13 @@ public class VRViewManager {
if( app.getVRHardware().getCompositor() == null ) {
Node distortionScene = new Node();
Material leftMat = new Material(app.getAssetManager(), "Common/MatDefs/VR/OpenVR.j3md");
leftMat.setTexture("Texture", leftEyeTex);
leftMat.setTexture("Texture", leftEyeTexture);
Geometry leftEye = new Geometry("box", MeshUtil.setupDistortionMesh(JOpenVRLibrary.EVREye.EVREye_Eye_Left, app));
leftEye.setMaterial(leftMat);
distortionScene.attachChild(leftEye);
Material rightMat = new Material(app.getAssetManager(), "Common/MatDefs/VR/OpenVR.j3md");
rightMat.setTexture("Texture", rightEyeTex);
rightMat.setTexture("Texture", rightEyeTexture);
Geometry rightEye = new Geometry("box", MeshUtil.setupDistortionMesh(JOpenVRLibrary.EVREye.EVREye_Eye_Right, app));
rightEye.setMaterial(rightMat);
distortionScene.attachChild(rightEye);
@ -386,16 +577,15 @@ public class VRViewManager {
}
if( app.getContext().getSettings().isSwapBuffers() ) {
setupMirrorBuffers(app.getCamera(), leftEyeTex, false);
setupMirrorBuffers(app.getCamera(), leftEyeTexture, false);
}
}
//final & temp values for camera calculations
private final Vector3f finalPosition = new Vector3f();
private final Quaternion finalRotation = new Quaternion();
private final Vector3f hmdPos = new Vector3f();
private final Quaternion hmdRot = new Quaternion();
/**
* Update the VR view manager.
* This method is called by the attached {@link VRApplication VR application} and should not be called manually.
* @param tpf the time per frame.
*/
public void update(float tpf) {
// grab the observer
@ -422,11 +612,11 @@ public class VRViewManager {
finalRotation.multLocal(hmdRot);
}
finalizeCamera(dev.getHMDVectorPoseLeftEye(), objPos, camLeft);
finalizeCamera(dev.getHMDVectorPoseRightEye(), objPos, camRight);
finalizeCamera(dev.getHMDVectorPoseLeftEye(), objPos, leftCamera);
finalizeCamera(dev.getHMDVectorPoseRightEye(), objPos, rightCamera);
} else {
camLeft.setFrame(objPos, objRot);
camRight.setFrame(objPos, objRot);
leftCamera.setFrame(objPos, objRot);
rightCamera.setFrame(objPos, objRot);
}
if( app.hasTraditionalGUIOverlay() ) {
@ -441,6 +631,12 @@ public class VRViewManager {
}
}
/**
* Place the camera within the scene.
* @param eyePos the eye position.
* @param obsPosition the observer position.
* @param cam the camera to place.
*/
private void finalizeCamera(Vector3f eyePos, Vector3f obsPosition, Camera cam) {
finalRotation.mult(eyePos, finalPosition);
finalPosition.addLocal(hmdPos);
@ -449,35 +645,36 @@ public class VRViewManager {
cam.setFrame(finalPosition, finalRotation);
}
/*
handles moving filters from the main view to each eye
/**
* Handles moving filters from the main view to each eye
*/
public void moveScreenProcessingToEyes() {
if( viewPortRight == null ) return;
if( rightViewport == null ) return;
syncScreenProcessing(app.getViewPort());
app.getViewPort().clearProcessors();
}
/*
sets the two views to use the list of processors
/**
* Sets the two views to use the list of {@link SceneProcessor processors}.
* @param sourceViewport the {@link ViewPort viewport} that contains the processors to use.
*/
public void syncScreenProcessing(ViewPort sourceViewport) {
if( viewPortRight == null ) return;
if( rightViewport == null ) return;
// setup post processing filters
if( ppRight == null ) {
ppRight = new FilterPostProcessor(app.getAssetManager());
ppLeft = new FilterPostProcessor(app.getAssetManager());
if( rightPostProcessor == null ) {
rightPostProcessor = new FilterPostProcessor(app.getAssetManager());
leftPostProcessor = new FilterPostProcessor(app.getAssetManager());
}
// clear out all filters & processors, to start from scratch
ppRight.removeAllFilters();
ppLeft.removeAllFilters();
viewPortLeft.clearProcessors();
viewPortRight.clearProcessors();
rightPostProcessor.removeAllFilters();
leftPostProcessor.removeAllFilters();
leftViewport.clearProcessors();
rightViewport.clearProcessors();
// if we have no processors to sync, don't add the FilterPostProcessor
if( sourceViewport.getProcessors().isEmpty() ) return;
// add post processors we just made, which are empty
viewPortLeft.addProcessor(ppLeft);
viewPortRight.addProcessor(ppRight);
leftViewport.addProcessor(leftPostProcessor);
rightViewport.addProcessor(rightPostProcessor);
// go through all of the filters in the processors list
// add them to the left viewport processor & clone them to the right
for(SceneProcessor sceneProcessor : sourceViewport.getProcessors()) {
@ -487,7 +684,7 @@ public class VRViewManager {
// just remove this filter, we will add it at the end manually
((FilterPostProcessor)sceneProcessor).removeFilter(f);
} else {
ppLeft.addFilter(f);
leftPostProcessor.addFilter(f);
// clone to the right
Filter f2;
if(f instanceof FogFilter){
@ -501,7 +698,7 @@ public class VRViewManager {
} else {
f2 = f; // dof, bloom, lightscattering etc.
}
ppRight.addFilter(f2);
rightPostProcessor.addFilter(f2);
}
}
} else if (sceneProcessor instanceof VRDirectionalLightShadowRenderer) {
@ -510,13 +707,13 @@ public class VRViewManager {
VRDirectionalLightShadowRenderer dlsr = (VRDirectionalLightShadowRenderer) sceneProcessor;
VRDirectionalLightShadowRenderer dlsrRight = dlsr.clone();
dlsrRight.setLight(dlsr.getLight());
viewPortRight.getProcessors().add(0, dlsrRight);
viewPortLeft.getProcessors().add(0, sceneProcessor);
rightViewport.getProcessors().add(0, dlsrRight);
leftViewport.getProcessors().add(0, sceneProcessor);
}
}
// make sure each has a translucent filter renderer
ppLeft.addFilter(new TranslucentBucketFilter());
ppRight.addFilter(new TranslucentBucketFilter());
leftPostProcessor.addFilter(new TranslucentBucketFilter());
rightPostProcessor.addFilter(new TranslucentBucketFilter());
}
private void setupCamerasAndViews() {
@ -532,32 +729,32 @@ public class VRViewManager {
// restore frustrum on distortion scene cam, if needed
if( app.isInstanceVRRendering() ) {
camLeft = origCam;
leftCamera = origCam;
} else if( app.compositorAllowed() == false ) {
origCam.setFrustumFar(100f);
origCam.setFrustumNear(1f);
camLeft = origCam.clone();
leftCamera = origCam.clone();
prepareCameraSize(origCam, 2f);
} else {
camLeft = origCam.clone();
leftCamera = origCam.clone();
}
camLeft.setFrustumPerspective(app.DEFAULT_FOV, app.DEFAULT_ASPECT, fNear, fFar);
leftCamera.setFrustumPerspective(app.DEFAULT_FOV, app.DEFAULT_ASPECT, fNear, fFar);
prepareCameraSize(camLeft, 1f);
if( app.getVRHardware() != null ) camLeft.setProjectionMatrix(app.getVRHardware().getHMDMatrixProjectionLeftEye(camLeft));
prepareCameraSize(leftCamera, 1f);
if( app.getVRHardware() != null ) leftCamera.setProjectionMatrix(app.getVRHardware().getHMDMatrixProjectionLeftEye(leftCamera));
//org.lwjgl.opengl.GL11.glEnable(org.lwjgl.opengl.GL30.GL_FRAMEBUFFER_SRGB);
if( app.isInstanceVRRendering() == false ) {
viewPortLeft = setupViewBuffers(camLeft, LEFT_VIEW_NAME);
camRight = camLeft.clone();
if( app.getVRHardware() != null ) camRight.setProjectionMatrix(app.getVRHardware().getHMDMatrixProjectionRightEye(camRight));
viewPortRight = setupViewBuffers(camRight, RIGHT_VIEW_NAME);
leftViewport = setupViewBuffers(leftCamera, LEFT_VIEW_NAME);
rightCamera = leftCamera.clone();
if( app.getVRHardware() != null ) rightCamera.setProjectionMatrix(app.getVRHardware().getHMDMatrixProjectionRightEye(rightCamera));
rightViewport = setupViewBuffers(rightCamera, RIGHT_VIEW_NAME);
} else {
viewPortLeft = app.getViewPort();
viewPortLeft.attachScene(app.getRootNode());
camRight = camLeft.clone();
if( app.getVRHardware() != null ) camRight.setProjectionMatrix(app.getVRHardware().getHMDMatrixProjectionRightEye(camRight));
leftViewport = app.getViewPort();
leftViewport.attachScene(app.getRootNode());
rightCamera = leftCamera.clone();
if( app.getVRHardware() != null ) rightCamera.setProjectionMatrix(app.getVRHardware().getHMDMatrixProjectionRightEye(rightCamera));
org.lwjgl.opengl.GL11.glEnable(org.lwjgl.opengl.GL30.GL_CLIP_DISTANCE0);
@ -568,7 +765,7 @@ public class VRViewManager {
}
// setup gui
app.getVRGUIManager().setupGui(camLeft, camRight, viewPortLeft, viewPortRight);
app.getVRGUIManager().setupGui(leftCamera, rightCamera, leftViewport, rightViewport);
if( app.getVRHardware() != null ) {
// call these to cache the results internally
@ -611,6 +808,13 @@ public class VRViewManager {
dualEyeTex.setMinFilter(Texture.MinFilter.BilinearNoMipMaps);
dualEyeTex.setMagFilter(Texture.MagFilter.Bilinear);
logger.config("Dual eye texture "+dualEyeTex.getName()+" ("+dualEyeTex.getImage().getId()+")");
logger.config(" Type: "+dualEyeTex.getType());
logger.config(" Size: "+dualEyeTex.getImage().getWidth()+"x"+dualEyeTex.getImage().getHeight());
logger.config(" Image depth: "+dualEyeTex.getImage().getDepth());
logger.config(" Image format: "+dualEyeTex.getImage().getFormat());
logger.config(" Image color space: "+dualEyeTex.getImage().getColorSpace());
//setup framebuffer to use texture
out.setDepthBuffer(Image.Format.Depth);
out.setColorTexture(dualEyeTex);

@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.apple.xcode.dsym.libopenvr_api.dylib</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>dSYM</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
Loading…
Cancel
Save