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.GraphicsDevice;
import java.awt.GraphicsEnvironment; import java.awt.GraphicsEnvironment;
import java.awt.HeadlessException;
import java.io.BufferedReader; import java.io.BufferedReader;
import java.io.File; import java.io.File;
import java.io.FileReader; import java.io.FileReader;
@ -274,11 +275,11 @@ public abstract class VRApplication implements Application, SystemListener {
logger.warning("VR disabled via code."); logger.warning("VR disabled via code.");
} else if( VRSupportedOS && DISABLE_VR == false ) { } else if( VRSupportedOS && DISABLE_VR == false ) {
if( CONSTRUCT_WITH_OSVR ) { if( CONSTRUCT_WITH_OSVR ) {
logger.config("Initializing OSVR...");
VRhardware = new OSVR(this); VRhardware = new OSVR(this);
logger.config("Creating OSVR wrapper [SUCCESS]");
} else { } else {
logger.config("Initializing OpenVR...");
VRhardware = new OpenVR(this); VRhardware = new OpenVR(this);
logger.config("Creating OpenVR wrapper [SUCCESS]");
} }
if( VRhardware.initialize() ) { if( VRhardware.initialize() ) {
setPauseOnLostFocus(false); setPauseOnLostFocus(false);
@ -395,7 +396,7 @@ public abstract class VRApplication implements Application, SystemListener {
*/ */
@Override @Override
public Camera getCamera() { public Camera getCamera() {
if( isInVR() && viewmanager != null && viewmanager.getCamLeft() != null ) { if( isInVR() && viewmanager != null && viewmanager.getLeftCamera() != null ) {
return dummyCam; return dummyCam;
} }
return cam; return cam;
@ -619,6 +620,9 @@ public abstract class VRApplication implements Application, SystemListener {
@Override @Override
public void start() { public void start() {
logger.config("Starting application...");
// set some default settings in-case // set some default settings in-case
// settings dialog is not shown // settings dialog is not shown
boolean loadSettings = false; boolean loadSettings = false;
@ -627,9 +631,16 @@ public abstract class VRApplication implements Application, SystemListener {
loadSettings = true; 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() ) { if( isInVR() && !compositorAllowed() ) {
logger.warning("VR Composition is not allowed.");
// "easy extended" mode // "easy extended" mode
// TO-DO: JFrame was removed in LWJGL 3, need to use new GLFW library to pick "monitor" display of VR device // 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 // first, find the VR device
@ -676,17 +687,22 @@ public abstract class VRApplication implements Application, SystemListener {
//VRwindow.pack(); //VRwindow.pack();
//VRwindow.setVisible(true); //VRwindow.setVisible(true);
//startCanvas(); //startCanvas();
logger.config("Starting application [SUCCESS]");
return; return;
} catch(Exception e) { } catch(Exception e) {
logger.log(Level.SEVERE, "Error during application start: "+e.getMessage(), e);
} }
} }
} }
if( !isInVR() ) { if( !isInVR() ) {
logger.config("VR mode disabled.");
// not in VR, show settings dialog // not in VR, show settings dialog
if( Platform.get() != Platform.MACOSX ) { if( Platform.get() != Platform.MACOSX ) {
if (!JmeSystem.showSettingsDialog(settings, loadSettings)) { if (!JmeSystem.showSettingsDialog(settings, loadSettings)) {
logger.config("Starting application [SUCCESS]");
return; return;
} }
} else { } else {
@ -720,6 +736,9 @@ public abstract class VRApplication implements Application, SystemListener {
} }
settings.setSwapBuffers(true); settings.setSwapBuffers(true);
} else { } else {
logger.config("VR mode enabled.");
// use basic mirroring window, skip settings window // use basic mirroring window, skip settings window
settings.setWidth(xWin); settings.setWidth(xWin);
settings.setHeight(yWin); settings.setHeight(yWin);
@ -734,17 +753,21 @@ public abstract class VRApplication implements Application, SystemListener {
} }
if( forceDisableMSAA ) { if( forceDisableMSAA ) {
logger.config("Disabling multisampling.");
// disable multisampling, which is more likely to break things than be useful // disable multisampling, which is more likely to break things than be useful
settings.setSamples(1); settings.setSamples(1);
} }
// set opengl mode // set opengl mode
if( tryOpenGL3 ) { if( tryOpenGL3 ) {
logger.config("Using LWJGL OpenGL 3 renderer.");
settings.setRenderer(AppSettings.LWJGL_OPENGL3); settings.setRenderer(AppSettings.LWJGL_OPENGL3);
} else { } else {
logger.config("Using LWJGL OpenGL 2 renderer.");
settings.setRenderer(AppSettings.LWJGL_OPENGL2); settings.setRenderer(AppSettings.LWJGL_OPENGL2);
} }
setSettings(settings); setSettings(settings);
start(JmeContext.Type.Display, false); start(JmeContext.Type.Display, false);
@ -914,11 +937,41 @@ public abstract class VRApplication implements Application, SystemListener {
/** /**
* Get the GUI node from the application. * Get the GUI node from the application.
* @return the GUI node from the application. * @return the GUI node from the application.
* @see #setGuiNode(Node)
*/ */
public Node getGuiNode(){ public Node getGuiNode(){
return guiNode; 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. * Get the root node of the application.
* @return 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() { public ViewPort getLeftViewPort() {
if( viewmanager == null ) return getViewPort(); 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() { public ViewPort getRightViewPort() {
if( viewmanager == null ) return getViewPort(); 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) { public void setBackgroundColors(ColorRGBA clr) {
if( viewmanager == null ) { if( viewmanager == null ) {
getViewPort().setBackgroundColor(clr); getViewPort().setBackgroundColor(clr);
} else if( viewmanager.getViewPortLeft() != null ) { } else if( viewmanager.getLeftViewport() != null ) {
viewmanager.getViewPortLeft().setBackgroundColor(clr); viewmanager.getLeftViewport().setBackgroundColor(clr);
if( viewmanager.getViewPortRight() != null ) viewmanager.getViewPortRight().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()); getCamera().setFrame(observer.getWorldTranslation(), observer.getWorldRotation());
} }
//FIXME: check if this code is necessary.
// Updates scene and gui states. // Updates scene and gui states.
rootNode.updateLogicalState(tpf); rootNode.updateLogicalState(tpf);
guiNode.updateLogicalState(tpf); guiNode.updateLogicalState(tpf);
@ -1284,21 +1338,28 @@ public abstract class VRApplication implements Application, SystemListener {
@Override @Override
public void initialize() { public void initialize() {
logger.config("Initialize VR application."); logger.config("Initialize VR application...");
initialize_internal(); initialize_internal();
cam.setFrustumFar(fFar); cam.setFrustumFar(fFar);
cam.setFrustumNear(fNear); cam.setFrustumNear(fNear);
dummyCam = cam.clone(); dummyCam = cam.clone();
if( isInVR() ) { if( isInVR() ) {
logger.config("VR mode enabled.");
if( VRhardware != null ) { if( VRhardware != null ) {
VRhardware.initVRCompositor(compositorAllowed()); VRhardware.initVRCompositor(compositorAllowed());
} else {
logger.warning("No VR system found.");
} }
viewmanager = new VRViewManager(this); viewmanager = new VRViewManager(this);
viewmanager.setResolutionMultiplier(resMult); viewmanager.setResolutionMultiplier(resMult);
inputManager.addMapping(RESET_HMD, new KeyTrigger(KeyInput.KEY_F9)); inputManager.addMapping(RESET_HMD, new KeyTrigger(KeyInput.KEY_F9));
setLostFocusBehavior(LostFocusBehavior.Disabled); setLostFocusBehavior(LostFocusBehavior.Disabled);
} else { } else {
logger.config("VR mode disabled.");
viewPort.attachScene(rootNode); viewPort.attachScene(rootNode);
guiViewPort.attachScene(guiNode); guiViewPort.attachScene(guiNode);
} }
@ -1316,12 +1377,12 @@ public abstract class VRApplication implements Application, SystemListener {
// print out camera information // print out camera information
if( isInVR() ) { if( isInVR() ) {
logger.info("VR Initialization Information"); logger.info("VR Initialization Information");
if( viewmanager.getCamLeft() != null ){ if( viewmanager.getLeftCamera() != null ){
logger.info("camLeft: " + viewmanager.getCamLeft().toString()); logger.info("camLeft: " + viewmanager.getLeftCamera().toString());
} }
if( viewmanager.getCamRight() != null ){ if( viewmanager.getRightCamera() != null ){
logger.info("camRight: " + viewmanager.getCamRight().toString()); 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.jme3.system.jopenvr.VR_IVRSystem_FnTable;
import com.sun.jna.Memory; import com.sun.jna.Memory;
import com.sun.jna.Pointer; 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.FloatBuffer;
import java.nio.IntBuffer; import java.nio.IntBuffer;
import java.nio.LongBuffer; import java.nio.LongBuffer;
import java.util.Locale; import java.util.Locale;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import jmevr.util.VRUtil; import jmevr.util.VRUtil;
@ -47,17 +52,17 @@ public class OpenVR implements VRAPI {
private static TrackedDevicePose_t.ByReference hmdTrackedDevicePoseReference; private static TrackedDevicePose_t.ByReference hmdTrackedDevicePoseReference;
protected static TrackedDevicePose_t[] hmdTrackedDevicePoses; protected static TrackedDevicePose_t[] hmdTrackedDevicePoses;
protected static IntBuffer hmdErrorStore; protected static IntByReference hmdErrorStore;
private static final Quaternion rotStore = new Quaternion(); private static final Quaternion rotStore = new Quaternion();
private static final Vector3f posStore = new Vector3f(); private static final Vector3f posStore = new Vector3f();
private static FloatBuffer tlastVsync; private static FloatByReference tlastVsync;
/** /**
* The actual frame count. * The actual frame count.
*/ */
public static LongBuffer _tframeCount; public static LongByReference _tframeCount;
// for debugging latency // for debugging latency
private int frames = 0; private int frames = 0;
@ -130,26 +135,27 @@ public class OpenVR implements VRAPI {
@Override @Override
public boolean initialize() { public boolean initialize() {
logger.config("Initializing OpenVR system."); logger.config("Initializing OpenVR system...");
hmdErrorStore = IntBuffer.allocate(1); hmdErrorStore = new IntByReference();
vrsystemFunctions = null; vrsystemFunctions = null;
JOpenVRLibrary.VR_InitInternal(hmdErrorStore, JOpenVRLibrary.EVRApplicationType.EVRApplicationType_VRApplication_Scene); JOpenVRLibrary.VR_InitInternal(hmdErrorStore, JOpenVRLibrary.EVRApplicationType.EVRApplicationType_VRApplication_Scene);
if( hmdErrorStore.get(0) == 0 ) { if( hmdErrorStore.getValue() == 0 ) {
// ok, try and get the vrsystem pointer.. vrsystemFunctions = new VR_IVRSystem_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRSystem_Version, hmdErrorStore).getPointer());
vrsystemFunctions = new VR_IVRSystem_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRSystem_Version, hmdErrorStore));
} }
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; return false;
} else { } else {
System.out.println("OpenVR initialized & VR connected."); logger.config("OpenVR initialized & VR connected.");
vrsystemFunctions.setAutoSynch(false); vrsystemFunctions.setAutoSynch(false);
vrsystemFunctions.read(); vrsystemFunctions.read();
tlastVsync = FloatBuffer.allocate(1); tlastVsync = new FloatByReference();
_tframeCount = LongBuffer.allocate(1); _tframeCount = new LongByReference();
hmdDisplayFrequency = IntBuffer.allocate(1); hmdDisplayFrequency = IntBuffer.allocate(1);
hmdDisplayFrequency.put( (int) JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayFrequency_Float); hmdDisplayFrequency.put( (int) JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_DisplayFrequency_Float);
@ -178,6 +184,7 @@ public class OpenVR implements VRAPI {
// init bounds & chaperone info // init bounds & chaperone info
VRBounds.init(); VRBounds.init();
logger.config("Initializing OpenVR system [SUCCESS]");
initSuccess = true; initSuccess = true;
return true; return true;
} }
@ -185,25 +192,41 @@ public class OpenVR implements VRAPI {
@Override @Override
public boolean initVRCompositor(boolean allowed) { public boolean initVRCompositor(boolean allowed) {
hmdErrorStore.put(0, 0); // clear the error store hmdErrorStore.setValue(0); // clear the error store
if( allowed && vrsystemFunctions != null ) { if( allowed && vrsystemFunctions != null ) {
compositorFunctions = new VR_IVRCompositor_FnTable(JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRCompositor_Version, hmdErrorStore));
if(compositorFunctions != null && hmdErrorStore.get(0) == 0 ){ IntByReference intptr = JOpenVRLibrary.VR_GetGenericInterface(JOpenVRLibrary.IVRCompositor_Version, hmdErrorStore);
System.out.println("OpenVR Compositor initialized OK!"); if (intptr != null){
if (intptr.getPointer() != null){
compositorFunctions = new VR_IVRCompositor_FnTable(intptr.getPointer());
if(compositorFunctions != null && hmdErrorStore.getValue() == 0 ){
compositorFunctions.setAutoSynch(false); compositorFunctions.setAutoSynch(false);
compositorFunctions.read(); compositorFunctions.read();
if( application.isSeatedExperience() ) { if( application.isSeatedExperience() ) {
compositorFunctions.SetTrackingSpace.apply(JOpenVRLibrary.ETrackingUniverseOrigin.ETrackingUniverseOrigin_TrackingUniverseSeated); compositorFunctions.SetTrackingSpace.apply(JOpenVRLibrary.ETrackingUniverseOrigin.ETrackingUniverseOrigin_TrackingUniverseSeated);
} else { } else {
compositorFunctions.SetTrackingSpace.apply(JOpenVRLibrary.ETrackingUniverseOrigin.ETrackingUniverseOrigin_TrackingUniverseStanding); compositorFunctions.SetTrackingSpace.apply(JOpenVRLibrary.ETrackingUniverseOrigin.ETrackingUniverseOrigin_TrackingUniverseStanding);
}
logger.config("OpenVR Compositor initialized");
} else {
logger.severe("OpenVR Compositor error: " + hmdErrorStore.getValue());
compositorFunctions = null;
} }
} else { } 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; 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 ) { if( compositorFunctions == null ) {
System.out.println("Skipping VR Compositor..."); logger.severe("Skipping VR Compositor...");
if( vrsystemFunctions != null ) { if( vrsystemFunctions != null ) {
vsyncToPhotons = vrsystemFunctions.GetFloatTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd, JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float, hmdErrorStore); vsyncToPhotons = vrsystemFunctions.GetFloatTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd, JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_SecondsFromVsyncToPhotons_Float, hmdErrorStore);
} else { } else {
@ -237,11 +260,11 @@ public class OpenVR implements VRAPI {
store.x = 1344f; store.x = 1344f;
store.y = 1512f; store.y = 1512f;
} else { } else {
IntBuffer x = IntBuffer.allocate(1); IntByReference x = new IntByReference();
IntBuffer y = IntBuffer.allocate(1); IntByReference y = new IntByReference();
vrsystemFunctions.GetRecommendedRenderTargetSize.apply(x, y); vrsystemFunctions.GetRecommendedRenderTargetSize.apply(x, y);
store.x = x.get(0); store.x = x.getValue();
store.y = y.get(0); store.y = y.getValue();
} }
} }
/* /*
@ -301,7 +324,7 @@ public class OpenVR implements VRAPI {
if( latencyWaitTime > 0 ) VRUtil.sleepNanos(latencyWaitTime); if( latencyWaitTime > 0 ) VRUtil.sleepNanos(latencyWaitTime);
vrsystemFunctions.GetTimeSinceLastVsync.apply(tlastVsync, _tframeCount); vrsystemFunctions.GetTimeSinceLastVsync.apply(tlastVsync, _tframeCount);
float fSecondsUntilPhotons = (float)timePerFrame - tlastVsync.get(0) + vsyncToPhotons; float fSecondsUntilPhotons = (float)timePerFrame - tlastVsync.getValue() + vsyncToPhotons;
if( enableDebugLatency ) { if( enableDebugLatency ) {
if( frames == 10 ) { if( frames == 10 ) {
@ -312,7 +335,7 @@ public class OpenVR implements VRAPI {
} }
// handle skipping frame stuff // handle skipping frame stuff
long nowCount = _tframeCount.get(0); long nowCount = _tframeCount.getValue();
if( nowCount - frameCount > 1 ) { if( nowCount - frameCount > 1 ) {
// skipped a frame! // skipped a frame!
if( enableDebugLatency ) System.out.println("Frame skipped!"); if( enableDebugLatency ) System.out.println("Frame skipped!");
@ -372,7 +395,7 @@ public class OpenVR implements VRAPI {
} else if(vrsystemFunctions == null){ } else if(vrsystemFunctions == null){
return cam.getProjectionMatrix(); return cam.getProjectionMatrix();
} else { } 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(); hmdProjectionLeftEye = new Matrix4f();
VRUtil.convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionLeftEye); VRUtil.convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionLeftEye);
return hmdProjectionLeftEye; return hmdProjectionLeftEye;
@ -386,7 +409,7 @@ public class OpenVR implements VRAPI {
} else if(vrsystemFunctions == null){ } else if(vrsystemFunctions == null){
return cam.getProjectionMatrix(); return cam.getProjectionMatrix();
} else { } 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(); hmdProjectionRightEye = new Matrix4f();
VRUtil.convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionRightEye); VRUtil.convertSteamVRMatrix4ToMatrix4f(mat, hmdProjectionRightEye);
return hmdProjectionRightEye; return hmdProjectionRightEye;
@ -454,11 +477,11 @@ public class OpenVR implements VRAPI {
vrsystemFunctions.GetStringTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd, vrsystemFunctions.GetStringTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd,
JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ManufacturerName_String, JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ManufacturerName_String,
str1, 128, hmdErrorStore); 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, vrsystemFunctions.GetStringTrackedDeviceProperty.apply(JOpenVRLibrary.k_unTrackedDeviceIndex_Hmd,
JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ModelNumber_String, JOpenVRLibrary.ETrackedDeviceProperty.ETrackedDeviceProperty_Prop_ModelNumber_String,
str2, 128, hmdErrorStore); str2, 128, hmdErrorStore);
if( hmdErrorStore.get(0) == 0 ) completeName += " " + str2.getString(0); if( hmdErrorStore.getValue() == 0 ) completeName += " " + str2.getString(0);
if( completeName.length() > 0 ) { if( completeName.length() > 0 ) {
completeName = completeName.toLowerCase(Locale.ENGLISH).trim(); completeName = completeName.toLowerCase(Locale.ENGLISH).trim();
if( completeName.contains("htc") || completeName.contains("vive") ) { if( completeName.contains("htc") || completeName.contains("vive") ) {

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

@ -3,8 +3,9 @@ package com.jme3.input.vr;
import com.jme3.math.Vector2f; import com.jme3.math.Vector2f;
import com.jme3.system.jopenvr.JOpenVRLibrary; import com.jme3.system.jopenvr.JOpenVRLibrary;
import com.jme3.system.jopenvr.VR_IVRChaperone_FnTable; 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. * A class that represents VR world bounds.
@ -13,6 +14,8 @@ import java.nio.FloatBuffer;
*/ */
public class VRBounds { public class VRBounds {
private static Logger logger = Logger.getLogger(VRBounds.class.getName());
private static VR_IVRChaperone_FnTable vrChaperone; private static VR_IVRChaperone_FnTable vrChaperone;
private static Vector2f playSize; 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. * @return <code>true</code> if the initialization is a success and <code>false</code> otherwise.
*/ */
public static boolean init() { public static boolean init() {
logger.config("Initialize VR bounds...");
if( vrChaperone == null ) { 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 ) { if( vrChaperone != null ) {
vrChaperone.setAutoSynch(false); vrChaperone.setAutoSynch(false);
vrChaperone.read(); vrChaperone.read();
FloatBuffer fbX = FloatBuffer.allocate(1); FloatByReference fbX = new FloatByReference();
FloatBuffer fbZ = FloatBuffer.allocate(1); FloatByReference fbZ = new FloatByReference();
vrChaperone.GetPlayAreaSize.apply(fbX, fbZ); 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 return true; // init success
} }
logger.warning("Initialize VR bounds [FAILED].");
return false; // failed to init return false; // failed to init
} }
logger.config("Initialize VR bounds already done.");
return true; // already initialized return true; // already initialized
} }

@ -106,7 +106,8 @@ public class OpenVRFilter extends Filter {
verts[vertPos+2] = 0f; // z verts[vertPos+2] = 0f; // z
vertPos += 3; 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] = dc0.rfRed[0];
texcoordR[coordPos+1] = 1 - dc0.rfRed[1]; texcoordR[coordPos+1] = 1 - dc0.rfRed[1];
@ -130,7 +131,8 @@ public class OpenVRFilter extends Filter {
verts[vertPos+2] = 0f; // z verts[vertPos+2] = 0f; // z
vertPos += 3; 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] = dc0.rfRed[0];
texcoordR[coordPos+1] = 1 - dc0.rfRed[1]; texcoordR[coordPos+1] = 1 - dc0.rfRed[1];

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

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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_nSize;
public int m_nFrameIndex; public int m_nFrameIndex;
public int m_nNumFramePresents; public int m_nNumFramePresents;
public int m_nNumMisPresented;
public int m_nNumDroppedFrames; public int m_nNumDroppedFrames;
public int m_nReprojectionFlags; public int m_nReprojectionFlags;
public double m_flSystemTimeInSeconds; public double m_flSystemTimeInSeconds;
@ -37,7 +39,7 @@ public class Compositor_FrameTiming extends Structure {
super(); super();
} }
protected List<String> getFieldOrder() { 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) { public Compositor_FrameTiming(Pointer peer) {
super(peer); super(peer);

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public int handle;
/** /**
* @see EGraphicsAPIConvention<br> * @see ETextureType<br>
* C type : EGraphicsAPIConvention * C type : ETextureType
*/ */
public int eType; public int eType;
/** /**
@ -33,8 +34,8 @@ public class Texture_t extends Structure {
/** /**
* @param handle void *<br> * @param handle void *<br>
* C type : void*<br> * C type : void*<br>
* @param eType @see EGraphicsAPIConvention<br> * @param eType @see ETextureType<br>
* C type : EGraphicsAPIConvention<br> * C type : ETextureType<br>
* @param eColorSpace @see EColorSpace<br> * @param eColorSpace @see EColorSpace<br>
* C type : EColorSpace * C type : EColorSpace
*/ */

@ -4,6 +4,7 @@ import com.sun.jna.Structure;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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>). * <i>native declaration : headers\openvr_capi.h:1101</i><br>
*
* <p>
* This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<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> * 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>. * 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 { 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; public int unPacketNum;
/**
* Bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask.
*/
public long ulButtonPressed; public long ulButtonPressed;
/**
* Bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask
*/
public long ulButtonTouched; 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]; public VRControllerAxis_t[] rAxis = new VRControllerAxis_t[5];
/**
* Create a new VR controller state.
*/
public VRControllerState_t() { public VRControllerState_t() {
super(); super();
} }
protected List<String> getFieldOrder() { protected List<String> getFieldOrder() {
return Arrays.asList("unPacketNum", "ulButtonPressed", "ulButtonTouched", "rAxis"); return Arrays.asList("unPacketNum", "ulButtonPressed", "ulButtonTouched", "rAxis");
} }
/** /**
* Create a new VR controller state. * @param rAxis struct vr::VRControllerAxis_t[5]<br>
* @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. * C type : VRControllerAxis_t[5]
* @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.
*/ */
public VRControllerState_t(int unPacketNum, long ulButtonPressed, long ulButtonTouched, VRControllerAxis_t rAxis[]) { public VRControllerState_t(int unPacketNum, long ulButtonPressed, long ulButtonTouched, VRControllerAxis_t rAxis[]) {
super(); super();
@ -61,34 +37,12 @@ public class VRControllerState_t extends Structure {
throw new IllegalArgumentException("Wrong array size !"); throw new IllegalArgumentException("Wrong array size !");
this.rAxis = rAxis; this.rAxis = rAxis;
} }
/**
* Create a new VR controller state.
* @param peer the pointer to the native structure.
*/
public VRControllerState_t(Pointer peer) { public VRControllerState_t(Pointer peer) {
super(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 { 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 { 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Pointer;
import com.sun.jna.Union; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; import java.util.List;
/** /**
* An event posted by the server to all running applications<br> * 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRApplications_FnTable.GetApplicationKeyByProcessId_callback GetApplicationKeyByProcessId;
/** C type : LaunchApplication_callback* */ /** C type : LaunchApplication_callback* */
public VR_IVRApplications_FnTable.LaunchApplication_callback LaunchApplication; public VR_IVRApplications_FnTable.LaunchApplication_callback LaunchApplication;
/** C type : LaunchDashboardOverlay_callback* */ /** C type : LaunchTemplateApplication_callback* */
public VR_IVRApplications_FnTable.LaunchTemplateApplication_callback LaunchTemplateApplication; public VR_IVRApplications_FnTable.LaunchTemplateApplication_callback LaunchTemplateApplication;
/** C type : LaunchApplicationFromMimeType_callback* */
public VR_IVRApplications_FnTable.LaunchApplicationFromMimeType_callback LaunchApplicationFromMimeType; public VR_IVRApplications_FnTable.LaunchApplicationFromMimeType_callback LaunchApplicationFromMimeType;
/** C type : LaunchDashboardOverlay_callback* */
public VR_IVRApplications_FnTable.LaunchDashboardOverlay_callback LaunchDashboardOverlay; public VR_IVRApplications_FnTable.LaunchDashboardOverlay_callback LaunchDashboardOverlay;
/** C type : CancelApplicationLaunch_callback* */ /** C type : CancelApplicationLaunch_callback* */
public VR_IVRApplications_FnTable.CancelApplicationLaunch_callback CancelApplicationLaunch; 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; public VR_IVRApplications_FnTable.SetApplicationAutoLaunch_callback SetApplicationAutoLaunch;
/** C type : GetApplicationAutoLaunch_callback* */ /** C type : GetApplicationAutoLaunch_callback* */
public VR_IVRApplications_FnTable.GetApplicationAutoLaunch_callback GetApplicationAutoLaunch; public VR_IVRApplications_FnTable.GetApplicationAutoLaunch_callback GetApplicationAutoLaunch;
/** C type : SetDefaultApplicationForMimeType_callback* */
public VR_IVRApplications_FnTable.SetDefaultApplicationForMimeType_callback SetDefaultApplicationForMimeType; public VR_IVRApplications_FnTable.SetDefaultApplicationForMimeType_callback SetDefaultApplicationForMimeType;
/** C type : GetDefaultApplicationForMimeType_callback* */ /** C type : GetDefaultApplicationForMimeType_callback* */
public VR_IVRApplications_FnTable.GetDefaultApplicationForMimeType_callback GetDefaultApplicationForMimeType; 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; public VR_IVRApplications_FnTable.GetApplicationsTransitionStateNameFromEnum_callback GetApplicationsTransitionStateNameFromEnum;
/** C type : IsQuitUserPromptRequested_callback* */ /** C type : IsQuitUserPromptRequested_callback* */
public VR_IVRApplications_FnTable.IsQuitUserPromptRequested_callback IsQuitUserPromptRequested; public VR_IVRApplications_FnTable.IsQuitUserPromptRequested_callback IsQuitUserPromptRequested;
/** C type : LaunchInternalProcess_callback* */
public VR_IVRApplications_FnTable.LaunchInternalProcess_callback LaunchInternalProcess; 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 { public interface AddApplicationManifest_callback extends Callback {
int apply(Pointer pchApplicationManifestFullPath, byte bTemporary); int apply(Pointer pchApplicationManifestFullPath, byte bTemporary);
}; };
/** <i>native declaration : headers\openvr_capi.h:1453</i> */
public interface RemoveApplicationManifest_callback extends Callback { public interface RemoveApplicationManifest_callback extends Callback {
int apply(Pointer pchApplicationManifestFullPath); int apply(Pointer pchApplicationManifestFullPath);
}; };
/** <i>native declaration : headers\openvr_capi.h:1454</i> */
public interface IsApplicationInstalled_callback extends Callback { public interface IsApplicationInstalled_callback extends Callback {
byte apply(Pointer pchAppKey); byte apply(Pointer pchAppKey);
}; };
/** <i>native declaration : headers\openvr_capi.h:1455</i> */
public interface GetApplicationCount_callback extends Callback { public interface GetApplicationCount_callback extends Callback {
int apply(); int apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1456</i> */
public interface GetApplicationKeyByIndex_callback extends Callback { public interface GetApplicationKeyByIndex_callback extends Callback {
int apply(int unApplicationIndex, Pointer pchAppKeyBuffer, int unAppKeyBufferLen); int apply(int unApplicationIndex, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
}; };
/** <i>native declaration : headers\openvr_capi.h:1457</i> */
public interface GetApplicationKeyByProcessId_callback extends Callback { public interface GetApplicationKeyByProcessId_callback extends Callback {
int apply(int unProcessId, Pointer pchAppKeyBuffer, int unAppKeyBufferLen); int apply(int unProcessId, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
}; };
/** <i>native declaration : headers\openvr_capi.h:1458</i> */
public interface LaunchApplication_callback extends Callback { public interface LaunchApplication_callback extends Callback {
int apply(Pointer pchAppKey); int apply(Pointer pchAppKey);
}; };
/** <i>native declaration : headers\openvr_capi.h:1459</i> */
public interface LaunchTemplateApplication_callback extends Callback { public interface LaunchTemplateApplication_callback extends Callback {
int apply(Pointer pchTemplateAppKey, Pointer pchNewAppKey, AppOverrideKeys_t pKeys, int unKeys); 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 { public interface LaunchApplicationFromMimeType_callback extends Callback {
int apply(Pointer pchMimeType, Pointer pchArgs); int apply(Pointer pchMimeType, Pointer pchArgs);
}; };
/** <i>native declaration : headers\openvr_capi.h:1461</i> */
public interface LaunchDashboardOverlay_callback extends Callback { public interface LaunchDashboardOverlay_callback extends Callback {
int apply(Pointer pchAppKey); int apply(Pointer pchAppKey);
}; };
/** <i>native declaration : headers\openvr_capi.h:1462</i> */
public interface CancelApplicationLaunch_callback extends Callback { public interface CancelApplicationLaunch_callback extends Callback {
byte apply(Pointer pchAppKey); byte apply(Pointer pchAppKey);
}; };
/** <i>native declaration : headers\openvr_capi.h:1463</i> */
public interface IdentifyApplication_callback extends Callback { public interface IdentifyApplication_callback extends Callback {
int apply(int unProcessId, Pointer pchAppKey); int apply(int unProcessId, Pointer pchAppKey);
}; };
/** <i>native declaration : headers\openvr_capi.h:1464</i> */
public interface GetApplicationProcessId_callback extends Callback { public interface GetApplicationProcessId_callback extends Callback {
int apply(Pointer pchAppKey); int apply(Pointer pchAppKey);
}; };
/** <i>native declaration : headers\openvr_capi.h:1465</i> */
public interface GetApplicationsErrorNameFromEnum_callback extends Callback { public interface GetApplicationsErrorNameFromEnum_callback extends Callback {
Pointer apply(int error); Pointer apply(int error);
}; };
/** <i>native declaration : headers\openvr_capi.h:1466</i> */
public interface GetApplicationPropertyString_callback extends Callback { public interface GetApplicationPropertyString_callback extends Callback {
int apply(Pointer pchAppKey, int eProperty, Pointer pchPropertyValueBuffer, int unPropertyValueBufferLen, IntByReference peError); 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 { public interface GetApplicationPropertyBool_callback extends Callback {
byte apply(Pointer pchAppKey, int eProperty, IntByReference peError); byte apply(Pointer pchAppKey, int eProperty, IntByReference peError);
}; };
/** <i>native declaration : headers\openvr_capi.h:1468</i> */
public interface GetApplicationPropertyUint64_callback extends Callback { public interface GetApplicationPropertyUint64_callback extends Callback {
long apply(Pointer pchAppKey, int eProperty, IntByReference peError); long apply(Pointer pchAppKey, int eProperty, IntByReference peError);
}; };
/** <i>native declaration : headers\openvr_capi.h:1469</i> */
public interface SetApplicationAutoLaunch_callback extends Callback { public interface SetApplicationAutoLaunch_callback extends Callback {
int apply(Pointer pchAppKey, byte bAutoLaunch); int apply(Pointer pchAppKey, byte bAutoLaunch);
}; };
/** <i>native declaration : headers\openvr_capi.h:1470</i> */
public interface GetApplicationAutoLaunch_callback extends Callback { public interface GetApplicationAutoLaunch_callback extends Callback {
byte apply(Pointer pchAppKey); byte apply(Pointer pchAppKey);
}; };
/** <i>native declaration : headers\openvr_capi.h:1471</i> */
public interface SetDefaultApplicationForMimeType_callback extends Callback { public interface SetDefaultApplicationForMimeType_callback extends Callback {
int apply(Pointer pchAppKey, Pointer pchMimeType); int apply(Pointer pchAppKey, Pointer pchMimeType);
}; };
/** <i>native declaration : headers\openvr_capi.h:1472</i> */
public interface GetDefaultApplicationForMimeType_callback extends Callback { public interface GetDefaultApplicationForMimeType_callback extends Callback {
byte apply(Pointer pchMimeType, Pointer pchAppKeyBuffer, int unAppKeyBufferLen); byte apply(Pointer pchMimeType, Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
}; };
/** <i>native declaration : headers\openvr_capi.h:1473</i> */
public interface GetApplicationSupportedMimeTypes_callback extends Callback { public interface GetApplicationSupportedMimeTypes_callback extends Callback {
byte apply(Pointer pchAppKey, Pointer pchMimeTypesBuffer, int unMimeTypesBuffer); byte apply(Pointer pchAppKey, Pointer pchMimeTypesBuffer, int unMimeTypesBuffer);
}; };
/** <i>native declaration : headers\openvr_capi.h:1474</i> */
public interface GetApplicationsThatSupportMimeType_callback extends Callback { public interface GetApplicationsThatSupportMimeType_callback extends Callback {
int apply(Pointer pchMimeType, Pointer pchAppKeysThatSupportBuffer, int unAppKeysThatSupportBuffer); int apply(Pointer pchMimeType, Pointer pchAppKeysThatSupportBuffer, int unAppKeysThatSupportBuffer);
}; };
/** <i>native declaration : headers\openvr_capi.h:1475</i> */
public interface GetApplicationLaunchArguments_callback extends Callback { public interface GetApplicationLaunchArguments_callback extends Callback {
int apply(int unHandle, Pointer pchArgs, int unArgs); int apply(int unHandle, Pointer pchArgs, int unArgs);
}; };
/** <i>native declaration : headers\openvr_capi.h:1476</i> */
public interface GetStartingApplication_callback extends Callback { public interface GetStartingApplication_callback extends Callback {
int apply(Pointer pchAppKeyBuffer, int unAppKeyBufferLen); int apply(Pointer pchAppKeyBuffer, int unAppKeyBufferLen);
}; };
/** <i>native declaration : headers\openvr_capi.h:1477</i> */
public interface GetTransitionState_callback extends Callback { public interface GetTransitionState_callback extends Callback {
int apply(); int apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1478</i> */
public interface PerformApplicationPrelaunchCheck_callback extends Callback { public interface PerformApplicationPrelaunchCheck_callback extends Callback {
int apply(Pointer pchAppKey); int apply(Pointer pchAppKey);
}; };
/** <i>native declaration : headers\openvr_capi.h:1479</i> */
public interface GetApplicationsTransitionStateNameFromEnum_callback extends Callback { public interface GetApplicationsTransitionStateNameFromEnum_callback extends Callback {
Pointer apply(int state); Pointer apply(int state);
}; };
/** <i>native declaration : headers\openvr_capi.h:1480</i> */
public interface IsQuitUserPromptRequested_callback extends Callback { public interface IsQuitUserPromptRequested_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1481</i> */
public interface LaunchInternalProcess_callback extends Callback { public interface LaunchInternalProcess_callback extends Callback {
int apply(Pointer pchBinaryPath, Pointer pchArguments, Pointer pchWorkingDirectory); 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() { public VR_IVRApplications_FnTable() {
super(); super();
} }
protected List<String> getFieldOrder() { 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) { public VR_IVRApplications_FnTable(Pointer peer) {
super(peer); super(peer);

@ -7,6 +7,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRChaperoneSetup_FnTable.SetWorkingPhysicalBoundsInfo_callback SetWorkingPhysicalBoundsInfo;
/** C type : GetLivePhysicalBoundsInfo_callback* */ /** C type : GetLivePhysicalBoundsInfo_callback* */
public VR_IVRChaperoneSetup_FnTable.GetLivePhysicalBoundsInfo_callback GetLivePhysicalBoundsInfo; public VR_IVRChaperoneSetup_FnTable.GetLivePhysicalBoundsInfo_callback GetLivePhysicalBoundsInfo;
/** C type : ExportLiveToBuffer_callback* */
public VR_IVRChaperoneSetup_FnTable.ExportLiveToBuffer_callback ExportLiveToBuffer; public VR_IVRChaperoneSetup_FnTable.ExportLiveToBuffer_callback ExportLiveToBuffer;
/** C type : ImportFromBufferToWorking_callback* */ /** C type : ImportFromBufferToWorking_callback* */
public VR_IVRChaperoneSetup_FnTable.ImportFromBufferToWorking_callback ImportFromBufferToWorking; public VR_IVRChaperoneSetup_FnTable.ImportFromBufferToWorking_callback ImportFromBufferToWorking;
/** <i>native declaration : headers\openvr_capi.h:1523</i> */
public interface CommitWorkingCopy_callback extends Callback { public interface CommitWorkingCopy_callback extends Callback {
byte apply(int configFile); byte apply(int configFile);
}; };
/** <i>native declaration : headers\openvr_capi.h:1524</i> */
public interface RevertWorkingCopy_callback extends Callback { public interface RevertWorkingCopy_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1525</i> */
public interface GetWorkingPlayAreaSize_callback extends Callback { public interface GetWorkingPlayAreaSize_callback extends Callback {
byte apply(FloatByReference pSizeX, FloatByReference pSizeZ); byte apply(FloatByReference pSizeX, FloatByReference pSizeZ);
}; };
/** <i>native declaration : headers\openvr_capi.h:1526</i> */
public interface GetWorkingPlayAreaRect_callback extends Callback { public interface GetWorkingPlayAreaRect_callback extends Callback {
byte apply(HmdQuad_t rect); byte apply(HmdQuad_t rect);
}; };
/** <i>native declaration : headers\openvr_capi.h:1527</i> */
public interface GetWorkingCollisionBoundsInfo_callback extends Callback { public interface GetWorkingCollisionBoundsInfo_callback extends Callback {
byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount); byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
}; };
/** <i>native declaration : headers\openvr_capi.h:1528</i> */
public interface GetLiveCollisionBoundsInfo_callback extends Callback { public interface GetLiveCollisionBoundsInfo_callback extends Callback {
byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount); byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
}; };
/** <i>native declaration : headers\openvr_capi.h:1529</i> */
public interface GetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback { public interface GetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback {
byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
}; };
/** <i>native declaration : headers\openvr_capi.h:1530</i> */
public interface GetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback { public interface GetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback {
byte apply(HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose); byte apply(HmdMatrix34_t pmatStandingZeroPoseToRawTrackingPose);
}; };
/** <i>native declaration : headers\openvr_capi.h:1531</i> */
public interface SetWorkingPlayAreaSize_callback extends Callback { public interface SetWorkingPlayAreaSize_callback extends Callback {
void apply(float sizeX, float sizeZ); void apply(float sizeX, float sizeZ);
}; };
/** <i>native declaration : headers\openvr_capi.h:1532</i> */
public interface SetWorkingCollisionBoundsInfo_callback extends Callback { public interface SetWorkingCollisionBoundsInfo_callback extends Callback {
void apply(HmdQuad_t pQuadsBuffer, int unQuadsCount); void apply(HmdQuad_t pQuadsBuffer, int unQuadsCount);
}; };
/** <i>native declaration : headers\openvr_capi.h:1533</i> */
public interface SetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback { public interface SetWorkingSeatedZeroPoseToRawTrackingPose_callback extends Callback {
void apply(HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose); void apply(HmdMatrix34_t pMatSeatedZeroPoseToRawTrackingPose);
}; };
/** <i>native declaration : headers\openvr_capi.h:1534</i> */
public interface SetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback { public interface SetWorkingStandingZeroPoseToRawTrackingPose_callback extends Callback {
void apply(HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose); void apply(HmdMatrix34_t pMatStandingZeroPoseToRawTrackingPose);
}; };
/** <i>native declaration : headers\openvr_capi.h:1535</i> */
public interface ReloadFromDisk_callback extends Callback { public interface ReloadFromDisk_callback extends Callback {
void apply(int configFile); void apply(int configFile);
}; };
/** <i>native declaration : headers\openvr_capi.h:1536</i> */
public interface GetLiveSeatedZeroPoseToRawTrackingPose_callback extends Callback { public interface GetLiveSeatedZeroPoseToRawTrackingPose_callback extends Callback {
byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose); byte apply(HmdMatrix34_t pmatSeatedZeroPoseToRawTrackingPose);
}; };
/** <i>native declaration : headers\openvr_capi.h:1537</i> */
public interface SetWorkingCollisionBoundsTagsInfo_callback extends Callback { public interface SetWorkingCollisionBoundsTagsInfo_callback extends Callback {
void apply(Pointer pTagsBuffer, int unTagCount); void apply(Pointer pTagsBuffer, int unTagCount);
}; };
/** <i>native declaration : headers\openvr_capi.h:1538</i> */
public interface GetLiveCollisionBoundsTagsInfo_callback extends Callback { public interface GetLiveCollisionBoundsTagsInfo_callback extends Callback {
byte apply(Pointer pTagsBuffer, IntByReference punTagCount); byte apply(Pointer pTagsBuffer, IntByReference punTagCount);
}; };
/** <i>native declaration : headers\openvr_capi.h:1539</i> */
public interface SetWorkingPhysicalBoundsInfo_callback extends Callback { public interface SetWorkingPhysicalBoundsInfo_callback extends Callback {
byte apply(HmdQuad_t pQuadsBuffer, int unQuadsCount); byte apply(HmdQuad_t pQuadsBuffer, int unQuadsCount);
}; };
/** <i>native declaration : headers\openvr_capi.h:1540</i> */
public interface GetLivePhysicalBoundsInfo_callback extends Callback { public interface GetLivePhysicalBoundsInfo_callback extends Callback {
byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount); byte apply(HmdQuad_t pQuadsBuffer, IntByReference punQuadsCount);
}; };
/** <i>native declaration : headers\openvr_capi.h:1541</i> */
public interface ExportLiveToBuffer_callback extends Callback { public interface ExportLiveToBuffer_callback extends Callback {
byte apply(Pointer pBuffer, IntByReference pnBufferLength); byte apply(Pointer pBuffer, IntByReference pnBufferLength);
}; };
/** <i>native declaration : headers\openvr_capi.h:1542</i> */
public interface ImportFromBufferToWorking_callback extends Callback { public interface ImportFromBufferToWorking_callback extends Callback {
byte apply(Pointer pBuffer, int nImportFlags); byte apply(Pointer pBuffer, int nImportFlags);
}; };

@ -2,10 +2,11 @@ package com.jme3.system.jopenvr;
import com.sun.jna.Callback; import com.sun.jna.Callback;
import com.sun.jna.Pointer; import com.sun.jna.Pointer;
import com.sun.jna.Structure; import com.sun.jna.Structure;
import java.nio.FloatBuffer; import com.sun.jna.ptr.FloatByReference;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRChaperone_FnTable.AreBoundsVisible_callback AreBoundsVisible;
/** C type : ForceBoundsVisible_callback* */ /** C type : ForceBoundsVisible_callback* */
public VR_IVRChaperone_FnTable.ForceBoundsVisible_callback ForceBoundsVisible; public VR_IVRChaperone_FnTable.ForceBoundsVisible_callback ForceBoundsVisible;
/** <i>native declaration : headers\openvr_capi.h:1493</i> */
public interface GetCalibrationState_callback extends Callback { public interface GetCalibrationState_callback extends Callback {
int apply(); int apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1494</i> */
public interface GetPlayAreaSize_callback extends Callback { 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 { public interface GetPlayAreaRect_callback extends Callback {
byte apply(HmdQuad_t rect); byte apply(HmdQuad_t rect);
}; };
/** <i>native declaration : headers\openvr_capi.h:1496</i> */
public interface ReloadInfo_callback extends Callback { public interface ReloadInfo_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1497</i> */
public interface SetSceneColor_callback extends Callback { public interface SetSceneColor_callback extends Callback {
void apply(HmdColor_t.ByValue color); void apply(HmdColor_t.ByValue color);
}; };
/** <i>native declaration : headers\openvr_capi.h:1498</i> */
public interface GetBoundsColor_callback extends Callback { public interface GetBoundsColor_callback extends Callback {
void apply(HmdColor_t pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t pOutputCameraColor); 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 { public interface AreBoundsVisible_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1500</i> */
public interface ForceBoundsVisible_callback extends Callback { public interface ForceBoundsVisible_callback extends Callback {
void apply(byte bForce); void apply(byte bForce);
}; };

@ -1,4 +1,5 @@
package com.jme3.system.jopenvr; package com.jme3.system.jopenvr;
import com.jme3.system.jopenvr.JOpenVRLibrary.VkPhysicalDevice_T;
import com.sun.jna.Callback; import com.sun.jna.Callback;
import com.sun.jna.Pointer; import com.sun.jna.Pointer;
import com.sun.jna.Structure; import com.sun.jna.Structure;
@ -7,6 +8,7 @@ import com.sun.jna.ptr.PointerByReference;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRCompositor_FnTable.PostPresentHandoff_callback PostPresentHandoff;
/** C type : GetFrameTiming_callback* */ /** C type : GetFrameTiming_callback* */
public VR_IVRCompositor_FnTable.GetFrameTiming_callback GetFrameTiming; public VR_IVRCompositor_FnTable.GetFrameTiming_callback GetFrameTiming;
/** C type : GetFrameTimings_callback* */
public VR_IVRCompositor_FnTable.GetFrameTimings_callback GetFrameTimings;
/** C type : GetFrameTimeRemaining_callback* */ /** C type : GetFrameTimeRemaining_callback* */
public VR_IVRCompositor_FnTable.GetFrameTimeRemaining_callback GetFrameTimeRemaining; public VR_IVRCompositor_FnTable.GetFrameTimeRemaining_callback GetFrameTimeRemaining;
/** C type : FadeToColor_callback* */ /** C type : GetCumulativeStats_callback* */
public VR_IVRCompositor_FnTable.GetCumulativeStats_callback GetCumulativeStats; public VR_IVRCompositor_FnTable.GetCumulativeStats_callback GetCumulativeStats;
/** C type wrapping */ /** C type : FadeToColor_callback* */
public VR_IVRCompositor_FnTable.FadeToColor_callback FadeToColor; public VR_IVRCompositor_FnTable.FadeToColor_callback FadeToColor;
/** C type : GetCurrentFadeColor_callback* */
public VR_IVRCompositor_FnTable.GetCurrentFadeColor_callback GetCurrentFadeColor;
/** C type : FadeGrid_callback* */ /** C type : FadeGrid_callback* */
public VR_IVRCompositor_FnTable.FadeGrid_callback FadeGrid; public VR_IVRCompositor_FnTable.FadeGrid_callback FadeGrid;
/** C type : GetCurrentGridAlpha_callback* */
public VR_IVRCompositor_FnTable.GetCurrentGridAlpha_callback GetCurrentGridAlpha;
/** C type : SetSkyboxOverride_callback* */ /** C type : SetSkyboxOverride_callback* */
public VR_IVRCompositor_FnTable.SetSkyboxOverride_callback SetSkyboxOverride; public VR_IVRCompositor_FnTable.SetSkyboxOverride_callback SetSkyboxOverride;
/** C type : ClearSkyboxOverride_callback* */ /** C type : ClearSkyboxOverride_callback* */
@ -68,12 +76,14 @@ public class VR_IVRCompositor_FnTable extends Structure {
public VR_IVRCompositor_FnTable.ShouldAppRenderWithLowResources_callback ShouldAppRenderWithLowResources; public VR_IVRCompositor_FnTable.ShouldAppRenderWithLowResources_callback ShouldAppRenderWithLowResources;
/** C type : ForceInterleavedReprojectionOn_callback* */ /** C type : ForceInterleavedReprojectionOn_callback* */
public VR_IVRCompositor_FnTable.ForceInterleavedReprojectionOn_callback ForceInterleavedReprojectionOn; public VR_IVRCompositor_FnTable.ForceInterleavedReprojectionOn_callback ForceInterleavedReprojectionOn;
/** C type wrapping */ /** C type : ForceReconnectProcess_callback* */
public VR_IVRCompositor_FnTable.ForceReconnectProcess_callback ForceReconnectProcess; public VR_IVRCompositor_FnTable.ForceReconnectProcess_callback ForceReconnectProcess;
/** C type : SuspendRendering_callback* */ /** C type : SuspendRendering_callback* */
public VR_IVRCompositor_FnTable.SuspendRendering_callback SuspendRendering; public VR_IVRCompositor_FnTable.SuspendRendering_callback SuspendRendering;
/** C type : GetMirrorTextureD3D11_callback* */ /** C type : GetMirrorTextureD3D11_callback* */
public VR_IVRCompositor_FnTable.GetMirrorTextureD3D11_callback GetMirrorTextureD3D11; public VR_IVRCompositor_FnTable.GetMirrorTextureD3D11_callback GetMirrorTextureD3D11;
/** C type : ReleaseMirrorTextureD3D11_callback* */
public VR_IVRCompositor_FnTable.ReleaseMirrorTextureD3D11_callback ReleaseMirrorTextureD3D11;
/** C type : GetMirrorTextureGL_callback* */ /** C type : GetMirrorTextureGL_callback* */
public VR_IVRCompositor_FnTable.GetMirrorTextureGL_callback GetMirrorTextureGL; public VR_IVRCompositor_FnTable.GetMirrorTextureGL_callback GetMirrorTextureGL;
/** C type : ReleaseSharedGLTexture_callback* */ /** C type : ReleaseSharedGLTexture_callback* */
@ -82,132 +92,179 @@ public class VR_IVRCompositor_FnTable extends Structure {
public VR_IVRCompositor_FnTable.LockGLSharedTextureForAccess_callback LockGLSharedTextureForAccess; public VR_IVRCompositor_FnTable.LockGLSharedTextureForAccess_callback LockGLSharedTextureForAccess;
/** C type : UnlockGLSharedTextureForAccess_callback* */ /** C type : UnlockGLSharedTextureForAccess_callback* */
public VR_IVRCompositor_FnTable.UnlockGLSharedTextureForAccess_callback UnlockGLSharedTextureForAccess; public VR_IVRCompositor_FnTable.UnlockGLSharedTextureForAccess_callback UnlockGLSharedTextureForAccess;
/** C type : GetVulkanInstanceExtensionsRequired_callback* */
/** C type wrapping */ 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 { public interface SetTrackingSpace_callback extends Callback {
/** C type wrapping */
void apply(int eOrigin); void apply(int eOrigin);
}; };
/** <i>native declaration : headers\openvr_capi.h:1587</i> */
/** C type wrapping */
public interface GetTrackingSpace_callback extends Callback { public interface GetTrackingSpace_callback extends Callback {
/** C type wrapping */
int apply(); int apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1588</i> */
/** C type wrapping */
public interface WaitGetPoses_callback extends Callback { 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); 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 { public interface GetLastPoses_callback extends Callback {
int apply(TrackedDevicePose_t pRenderPoseArray, int unRenderPoseArrayCount, TrackedDevicePose_t pGamePoseArray, int unGamePoseArrayCount); 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 { public interface GetLastPoseForTrackedDeviceIndex_callback extends Callback {
int apply(int unDeviceIndex, TrackedDevicePose_t pOutputPose, TrackedDevicePose_t pOutputGamePose); 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 { public interface Submit_callback extends Callback {
int apply(int eEye, Texture_t pTexture, VRTextureBounds_t pBounds, int nSubmitFlags); 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 { public interface ClearLastSubmittedFrame_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1593</i> */
public interface PostPresentHandoff_callback extends Callback { public interface PostPresentHandoff_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1594</i> */
public interface GetFrameTiming_callback extends Callback { public interface GetFrameTiming_callback extends Callback {
byte apply(Compositor_FrameTiming pTiming, int unFramesAgo); 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 { public interface GetFrameTimeRemaining_callback extends Callback {
float apply(); float apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1597</i> */
public interface GetCumulativeStats_callback extends Callback { public interface GetCumulativeStats_callback extends Callback {
void apply(Compositor_CumulativeStats pStats, int nStatsSizeInBytes); void apply(Compositor_CumulativeStats pStats, int nStatsSizeInBytes);
}; };
/** <i>native declaration : headers\openvr_capi.h:1598</i> */
public interface FadeToColor_callback extends Callback { public interface FadeToColor_callback extends Callback {
void apply(float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, byte bBackground); 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 { public interface FadeGrid_callback extends Callback {
void apply(float fSeconds, byte bFadeIn); 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 { public interface SetSkyboxOverride_callback extends Callback {
int apply(Texture_t pTextures, int unTextureCount); int apply(Texture_t pTextures, int unTextureCount);
}; };
/** <i>native declaration : headers\openvr_capi.h:1603</i> */
public interface ClearSkyboxOverride_callback extends Callback { public interface ClearSkyboxOverride_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1604</i> */
public interface CompositorBringToFront_callback extends Callback { public interface CompositorBringToFront_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1605</i> */
public interface CompositorGoToBack_callback extends Callback { public interface CompositorGoToBack_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1606</i> */
public interface CompositorQuit_callback extends Callback { public interface CompositorQuit_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1607</i> */
public interface IsFullscreen_callback extends Callback { public interface IsFullscreen_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1608</i> */
public interface GetCurrentSceneFocusProcess_callback extends Callback { public interface GetCurrentSceneFocusProcess_callback extends Callback {
int apply(); int apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1609</i> */
public interface GetLastFrameRenderer_callback extends Callback { public interface GetLastFrameRenderer_callback extends Callback {
int apply(); int apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1610</i> */
public interface CanRenderScene_callback extends Callback { public interface CanRenderScene_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1611</i> */
public interface ShowMirrorWindow_callback extends Callback { public interface ShowMirrorWindow_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1612</i> */
public interface HideMirrorWindow_callback extends Callback { public interface HideMirrorWindow_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1613</i> */
public interface IsMirrorWindowVisible_callback extends Callback { public interface IsMirrorWindowVisible_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1614</i> */
public interface CompositorDumpImages_callback extends Callback { public interface CompositorDumpImages_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1615</i> */
public interface ShouldAppRenderWithLowResources_callback extends Callback { public interface ShouldAppRenderWithLowResources_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1616</i> */
public interface ForceInterleavedReprojectionOn_callback extends Callback { public interface ForceInterleavedReprojectionOn_callback extends Callback {
void apply(byte bOverride); void apply(byte bOverride);
}; };
/** <i>native declaration : headers\openvr_capi.h:1617</i> */
public interface ForceReconnectProcess_callback extends Callback { public interface ForceReconnectProcess_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1618</i> */
public interface SuspendRendering_callback extends Callback { public interface SuspendRendering_callback extends Callback {
void apply(byte bSuspend); void apply(byte bSuspend);
}; };
/** <i>native declaration : headers\openvr_capi.h:1619</i> */
public interface GetMirrorTextureD3D11_callback extends Callback { public interface GetMirrorTextureD3D11_callback extends Callback {
int apply(int eEye, Pointer pD3D11DeviceOrResource, PointerByReference ppD3D11ShaderResourceView); 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 { public interface GetMirrorTextureGL_callback extends Callback {
int apply(int eEye, IntByReference pglTextureId, PointerByReference pglSharedTextureHandle); int apply(int eEye, IntByReference pglTextureId, PointerByReference pglSharedTextureHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1622</i> */
public interface ReleaseSharedGLTexture_callback extends Callback { public interface ReleaseSharedGLTexture_callback extends Callback {
byte apply(int glTextureId, Pointer glSharedTextureHandle); byte apply(int glTextureId, Pointer glSharedTextureHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1623</i> */
public interface LockGLSharedTextureForAccess_callback extends Callback { public interface LockGLSharedTextureForAccess_callback extends Callback {
void apply(Pointer glSharedTextureHandle); void apply(Pointer glSharedTextureHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1624</i> */
public interface UnlockGLSharedTextureForAccess_callback extends Callback { public interface UnlockGLSharedTextureForAccess_callback extends Callback {
void apply(Pointer glSharedTextureHandle); 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() { public VR_IVRCompositor_FnTable() {
super(); super();
} }
protected List<String> getFieldOrder() { 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) { public VR_IVRCompositor_FnTable(Pointer peer) {
super(peer); super(peer);

@ -6,6 +6,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRExtendedDisplay_FnTable.GetEyeOutputViewport_callback GetEyeOutputViewport;
/** C type : GetDXGIOutputInfo_callback* */ /** C type : GetDXGIOutputInfo_callback* */
public VR_IVRExtendedDisplay_FnTable.GetDXGIOutputInfo_callback GetDXGIOutputInfo; public VR_IVRExtendedDisplay_FnTable.GetDXGIOutputInfo_callback GetDXGIOutputInfo;
/** <i>native declaration : headers\openvr_capi.h:1390</i> */
public interface GetWindowBounds_callback extends Callback { public interface GetWindowBounds_callback extends Callback {
void apply(IntByReference pnX, IntByReference pnY, IntByReference pnWidth, IntByReference pnHeight); 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 { public interface GetEyeOutputViewport_callback extends Callback {
void apply(int eEye, IntByReference pnX, IntByReference pnY, IntByReference pnWidth, IntByReference pnHeight); 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 { public interface GetDXGIOutputInfo_callback extends Callback {
void apply(IntByReference pnAdapterIndex, IntByReference pnAdapterOutputIndex); void apply(IntByReference pnAdapterIndex, IntByReference pnAdapterOutputIndex);
}; };

@ -6,6 +6,7 @@ import com.sun.jna.ptr.IntByReference;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRNotifications_FnTable.CreateNotification_callback CreateNotification;
/** C type : RemoveNotification_callback* */ /** C type : RemoveNotification_callback* */
public VR_IVRNotifications_FnTable.RemoveNotification_callback RemoveNotification; public VR_IVRNotifications_FnTable.RemoveNotification_callback RemoveNotification;
/** <i>native declaration : headers\openvr_capi.h:1821</i> */
public interface CreateNotification_callback extends Callback { public interface CreateNotification_callback extends Callback {
int apply(long ulOverlayHandle, long ulUserValue, int type, Pointer pchText, int style, NotificationBitmap_t pImage, IntByReference pNotificationId); 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 { public interface RemoveNotification_callback extends Callback {
int apply(int notificationId); int apply(int notificationId);
}; };

@ -9,6 +9,7 @@ import com.sun.jna.ptr.PointerByReference;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVROverlay_FnTable.GetOverlayImageData_callback GetOverlayImageData;
/** C type : GetOverlayErrorNameFromEnum_callback* */ /** C type : GetOverlayErrorNameFromEnum_callback* */
public VR_IVROverlay_FnTable.GetOverlayErrorNameFromEnum_callback GetOverlayErrorNameFromEnum; public VR_IVROverlay_FnTable.GetOverlayErrorNameFromEnum_callback GetOverlayErrorNameFromEnum;
/** C type : SetOverlayFlag_callback* */ /** C type : SetOverlayRenderingPid_callback* */
public VR_IVROverlay_FnTable.SetOverlayRenderingPid_callback SetOverlayRenderingPid; public VR_IVROverlay_FnTable.SetOverlayRenderingPid_callback SetOverlayRenderingPid;
/** C type : GetOverlayRenderingPid_callback* */ /** C type : GetOverlayRenderingPid_callback* */
public VR_IVROverlay_FnTable.GetOverlayRenderingPid_callback GetOverlayRenderingPid; public VR_IVROverlay_FnTable.GetOverlayRenderingPid_callback GetOverlayRenderingPid;
/** C type : SetOverlayFlag_callback* */
public VR_IVROverlay_FnTable.SetOverlayFlag_callback SetOverlayFlag; public VR_IVROverlay_FnTable.SetOverlayFlag_callback SetOverlayFlag;
/** C type : GetOverlayFlag_callback* */ /** C type : GetOverlayFlag_callback* */
public VR_IVROverlay_FnTable.GetOverlayFlag_callback GetOverlayFlag; 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; public VR_IVROverlay_FnTable.SetOverlayAlpha_callback SetOverlayAlpha;
/** C type : GetOverlayAlpha_callback* */ /** C type : GetOverlayAlpha_callback* */
public VR_IVROverlay_FnTable.GetOverlayAlpha_callback GetOverlayAlpha; public VR_IVROverlay_FnTable.GetOverlayAlpha_callback GetOverlayAlpha;
/** C type : SetOverlayWidthInMeters_callback* */ /** C type : SetOverlayTexelAspect_callback* */
public VR_IVROverlay_FnTable.SetOverlayTexelAspect_callback SetOverlayTexelAspect; public VR_IVROverlay_FnTable.SetOverlayTexelAspect_callback SetOverlayTexelAspect;
/** C type : GetOverlayTexelAspect_callback* */ /** C type : GetOverlayTexelAspect_callback* */
public VR_IVROverlay_FnTable.GetOverlayTexelAspect_callback GetOverlayTexelAspect; 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; public VR_IVROverlay_FnTable.SetOverlaySortOrder_callback SetOverlaySortOrder;
/** C type : GetOverlaySortOrder_callback* */ /** C type : GetOverlaySortOrder_callback* */
public VR_IVROverlay_FnTable.GetOverlaySortOrder_callback GetOverlaySortOrder; public VR_IVROverlay_FnTable.GetOverlaySortOrder_callback GetOverlaySortOrder;
/** C type : SetOverlayWidthInMeters_callback* */
public VR_IVROverlay_FnTable.SetOverlayWidthInMeters_callback SetOverlayWidthInMeters; public VR_IVROverlay_FnTable.SetOverlayWidthInMeters_callback SetOverlayWidthInMeters;
/** C type : GetOverlayWidthInMeters_callback* */ /** C type : GetOverlayWidthInMeters_callback* */
public VR_IVROverlay_FnTable.GetOverlayWidthInMeters_callback GetOverlayWidthInMeters; 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; public VR_IVROverlay_FnTable.SetOverlayRaw_callback SetOverlayRaw;
/** C type : SetOverlayFromFile_callback* */ /** C type : SetOverlayFromFile_callback* */
public VR_IVROverlay_FnTable.SetOverlayFromFile_callback SetOverlayFromFile; public VR_IVROverlay_FnTable.SetOverlayFromFile_callback SetOverlayFromFile;
/** C type : GetOverlayTexture_callback* */
public VR_IVROverlay_FnTable.GetOverlayTexture_callback GetOverlayTexture; public VR_IVROverlay_FnTable.GetOverlayTexture_callback GetOverlayTexture;
/** C type : ReleaseNativeOverlayHandle_callback* */ /** C type : ReleaseNativeOverlayHandle_callback* */
public VR_IVROverlay_FnTable.ReleaseNativeOverlayHandle_callback ReleaseNativeOverlayHandle; 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; public VR_IVROverlay_FnTable.SetKeyboardTransformAbsolute_callback SetKeyboardTransformAbsolute;
/** C type : SetKeyboardPositionForOverlay_callback* */ /** C type : SetKeyboardPositionForOverlay_callback* */
public VR_IVROverlay_FnTable.SetKeyboardPositionForOverlay_callback SetKeyboardPositionForOverlay; 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 { public interface FindOverlay_callback extends Callback {
int apply(Pointer pchOverlayKey, LongByReference pOverlayHandle); int apply(Pointer pchOverlayKey, LongByReference pOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1705</i> */
public interface CreateOverlay_callback extends Callback { public interface CreateOverlay_callback extends Callback {
int apply(Pointer pchOverlayKey, Pointer pchOverlayFriendlyName, LongByReference pOverlayHandle); int apply(Pointer pchOverlayKey, Pointer pchOverlayFriendlyName, LongByReference pOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1706</i> */
public interface DestroyOverlay_callback extends Callback { public interface DestroyOverlay_callback extends Callback {
int apply(long ulOverlayHandle); int apply(long ulOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1707</i> */
public interface SetHighQualityOverlay_callback extends Callback { public interface SetHighQualityOverlay_callback extends Callback {
int apply(long ulOverlayHandle); int apply(long ulOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1708</i> */
public interface GetHighQualityOverlay_callback extends Callback { public interface GetHighQualityOverlay_callback extends Callback {
long apply(); long apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1709</i> */
public interface GetOverlayKey_callback extends Callback { public interface GetOverlayKey_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pchValue, int unBufferSize, IntByReference pError); 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 { public interface GetOverlayName_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pchValue, int unBufferSize, IntByReference pError); 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 { public interface GetOverlayImageData_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pvBuffer, int unBufferSize, IntByReference punWidth, IntByReference punHeight); 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 { public interface GetOverlayErrorNameFromEnum_callback extends Callback {
Pointer apply(int error); Pointer apply(int error);
}; };
/** <i>native declaration : headers\openvr_capi.h:1713</i> */
public interface SetOverlayRenderingPid_callback extends Callback { public interface SetOverlayRenderingPid_callback extends Callback {
int apply(long ulOverlayHandle, int unPID); int apply(long ulOverlayHandle, int unPID);
}; };
/** <i>native declaration : headers\openvr_capi.h:1714</i> */
public interface GetOverlayRenderingPid_callback extends Callback { public interface GetOverlayRenderingPid_callback extends Callback {
int apply(long ulOverlayHandle); int apply(long ulOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1715</i> */
public interface SetOverlayFlag_callback extends Callback { public interface SetOverlayFlag_callback extends Callback {
int apply(long ulOverlayHandle, int eOverlayFlag, byte bEnabled); int apply(long ulOverlayHandle, int eOverlayFlag, byte bEnabled);
}; };
/** <i>native declaration : headers\openvr_capi.h:1716</i> */
public interface GetOverlayFlag_callback extends Callback { public interface GetOverlayFlag_callback extends Callback {
int apply(long ulOverlayHandle, int eOverlayFlag, Pointer pbEnabled); int apply(long ulOverlayHandle, int eOverlayFlag, Pointer pbEnabled);
}; };
/** <i>native declaration : headers\openvr_capi.h:1717</i> */
public interface SetOverlayColor_callback extends Callback { public interface SetOverlayColor_callback extends Callback {
int apply(long ulOverlayHandle, float fRed, float fGreen, float fBlue); 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 { public interface GetOverlayColor_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfRed, FloatByReference pfGreen, FloatByReference pfBlue); 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 { public interface SetOverlayAlpha_callback extends Callback {
int apply(long ulOverlayHandle, float fAlpha); int apply(long ulOverlayHandle, float fAlpha);
}; };
/** <i>native declaration : headers\openvr_capi.h:1720</i> */
public interface GetOverlayAlpha_callback extends Callback { public interface GetOverlayAlpha_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfAlpha); int apply(long ulOverlayHandle, FloatByReference pfAlpha);
}; };
/** <i>native declaration : headers\openvr_capi.h:1721</i> */
public interface SetOverlayTexelAspect_callback extends Callback { public interface SetOverlayTexelAspect_callback extends Callback {
int apply(long ulOverlayHandle, float fTexelAspect); int apply(long ulOverlayHandle, float fTexelAspect);
}; };
/** <i>native declaration : headers\openvr_capi.h:1722</i> */
public interface GetOverlayTexelAspect_callback extends Callback { public interface GetOverlayTexelAspect_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfTexelAspect); int apply(long ulOverlayHandle, FloatByReference pfTexelAspect);
}; };
/** <i>native declaration : headers\openvr_capi.h:1723</i> */
public interface SetOverlaySortOrder_callback extends Callback { public interface SetOverlaySortOrder_callback extends Callback {
int apply(long ulOverlayHandle, int unSortOrder); int apply(long ulOverlayHandle, int unSortOrder);
}; };
/** <i>native declaration : headers\openvr_capi.h:1724</i> */
public interface GetOverlaySortOrder_callback extends Callback { public interface GetOverlaySortOrder_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference punSortOrder); int apply(long ulOverlayHandle, IntByReference punSortOrder);
}; };
/** <i>native declaration : headers\openvr_capi.h:1725</i> */
public interface SetOverlayWidthInMeters_callback extends Callback { public interface SetOverlayWidthInMeters_callback extends Callback {
int apply(long ulOverlayHandle, float fWidthInMeters); int apply(long ulOverlayHandle, float fWidthInMeters);
}; };
/** <i>native declaration : headers\openvr_capi.h:1726</i> */
public interface GetOverlayWidthInMeters_callback extends Callback { public interface GetOverlayWidthInMeters_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfWidthInMeters); int apply(long ulOverlayHandle, FloatByReference pfWidthInMeters);
}; };
/** <i>native declaration : headers\openvr_capi.h:1727</i> */
public interface SetOverlayAutoCurveDistanceRangeInMeters_callback extends Callback { public interface SetOverlayAutoCurveDistanceRangeInMeters_callback extends Callback {
int apply(long ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters); int apply(long ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters);
}; };
/** <i>native declaration : headers\openvr_capi.h:1728</i> */
public interface GetOverlayAutoCurveDistanceRangeInMeters_callback extends Callback { public interface GetOverlayAutoCurveDistanceRangeInMeters_callback extends Callback {
int apply(long ulOverlayHandle, FloatByReference pfMinDistanceInMeters, FloatByReference pfMaxDistanceInMeters); int apply(long ulOverlayHandle, FloatByReference pfMinDistanceInMeters, FloatByReference pfMaxDistanceInMeters);
}; };
/** <i>native declaration : headers\openvr_capi.h:1729</i> */
public interface SetOverlayTextureColorSpace_callback extends Callback { public interface SetOverlayTextureColorSpace_callback extends Callback {
int apply(long ulOverlayHandle, int eTextureColorSpace); int apply(long ulOverlayHandle, int eTextureColorSpace);
}; };
/** <i>native declaration : headers\openvr_capi.h:1730</i> */
public interface GetOverlayTextureColorSpace_callback extends Callback { public interface GetOverlayTextureColorSpace_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference peTextureColorSpace); int apply(long ulOverlayHandle, IntByReference peTextureColorSpace);
}; };
/** <i>native declaration : headers\openvr_capi.h:1731</i> */
public interface SetOverlayTextureBounds_callback extends Callback { public interface SetOverlayTextureBounds_callback extends Callback {
int apply(long ulOverlayHandle, VRTextureBounds_t pOverlayTextureBounds); int apply(long ulOverlayHandle, VRTextureBounds_t pOverlayTextureBounds);
}; };
/** <i>native declaration : headers\openvr_capi.h:1732</i> */
public interface GetOverlayTextureBounds_callback extends Callback { public interface GetOverlayTextureBounds_callback extends Callback {
int apply(long ulOverlayHandle, VRTextureBounds_t pOverlayTextureBounds); int apply(long ulOverlayHandle, VRTextureBounds_t pOverlayTextureBounds);
}; };
/** <i>native declaration : headers\openvr_capi.h:1733</i> */
public interface GetOverlayTransformType_callback extends Callback { public interface GetOverlayTransformType_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference peTransformType); int apply(long ulOverlayHandle, IntByReference peTransformType);
}; };
/** <i>native declaration : headers\openvr_capi.h:1734</i> */
public interface SetOverlayTransformAbsolute_callback extends Callback { public interface SetOverlayTransformAbsolute_callback extends Callback {
int apply(long ulOverlayHandle, int eTrackingOrigin, HmdMatrix34_t pmatTrackingOriginToOverlayTransform); int apply(long ulOverlayHandle, int eTrackingOrigin, HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
}; };
/** <i>native declaration : headers\openvr_capi.h:1735</i> */
public interface GetOverlayTransformAbsolute_callback extends Callback { public interface GetOverlayTransformAbsolute_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference peTrackingOrigin, HmdMatrix34_t pmatTrackingOriginToOverlayTransform); int apply(long ulOverlayHandle, IntByReference peTrackingOrigin, HmdMatrix34_t pmatTrackingOriginToOverlayTransform);
}; };
/** <i>native declaration : headers\openvr_capi.h:1736</i> */
public interface SetOverlayTransformTrackedDeviceRelative_callback extends Callback { public interface SetOverlayTransformTrackedDeviceRelative_callback extends Callback {
int apply(long ulOverlayHandle, int unTrackedDevice, HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); int apply(long ulOverlayHandle, int unTrackedDevice, HmdMatrix34_t pmatTrackedDeviceToOverlayTransform);
}; };
/** <i>native declaration : headers\openvr_capi.h:1737</i> */
public interface GetOverlayTransformTrackedDeviceRelative_callback extends Callback { public interface GetOverlayTransformTrackedDeviceRelative_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference punTrackedDevice, HmdMatrix34_t pmatTrackedDeviceToOverlayTransform); int apply(long ulOverlayHandle, IntByReference punTrackedDevice, HmdMatrix34_t pmatTrackedDeviceToOverlayTransform);
}; };
/** <i>native declaration : headers\openvr_capi.h:1738</i> */
public interface SetOverlayTransformTrackedDeviceComponent_callback extends Callback { public interface SetOverlayTransformTrackedDeviceComponent_callback extends Callback {
int apply(long ulOverlayHandle, int unDeviceIndex, Pointer pchComponentName); int apply(long ulOverlayHandle, int unDeviceIndex, Pointer pchComponentName);
}; };
/** <i>native declaration : headers\openvr_capi.h:1739</i> */
public interface GetOverlayTransformTrackedDeviceComponent_callback extends Callback { public interface GetOverlayTransformTrackedDeviceComponent_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference punDeviceIndex, Pointer pchComponentName, int unComponentNameSize); 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 { public interface ShowOverlay_callback extends Callback {
int apply(long ulOverlayHandle); int apply(long ulOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1741</i> */
public interface HideOverlay_callback extends Callback { public interface HideOverlay_callback extends Callback {
int apply(long ulOverlayHandle); int apply(long ulOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1742</i> */
public interface IsOverlayVisible_callback extends Callback { public interface IsOverlayVisible_callback extends Callback {
byte apply(long ulOverlayHandle); byte apply(long ulOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1743</i> */
public interface GetTransformForOverlayCoordinates_callback extends Callback { public interface GetTransformForOverlayCoordinates_callback extends Callback {
int apply(long ulOverlayHandle, int eTrackingOrigin, HmdVector2_t.ByValue coordinatesInOverlay, HmdMatrix34_t pmatTransform); 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 { public interface PollNextOverlayEvent_callback extends Callback {
byte apply(long ulOverlayHandle, VREvent_t pEvent, int uncbVREvent); byte apply(long ulOverlayHandle, VREvent_t pEvent, int uncbVREvent);
}; };
/** <i>native declaration : headers\openvr_capi.h:1745</i> */
public interface GetOverlayInputMethod_callback extends Callback { public interface GetOverlayInputMethod_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference peInputMethod); int apply(long ulOverlayHandle, IntByReference peInputMethod);
}; };
/** <i>native declaration : headers\openvr_capi.h:1746</i> */
public interface SetOverlayInputMethod_callback extends Callback { public interface SetOverlayInputMethod_callback extends Callback {
int apply(long ulOverlayHandle, int eInputMethod); int apply(long ulOverlayHandle, int eInputMethod);
}; };
/** <i>native declaration : headers\openvr_capi.h:1747</i> */
public interface GetOverlayMouseScale_callback extends Callback { public interface GetOverlayMouseScale_callback extends Callback {
int apply(long ulOverlayHandle, HmdVector2_t pvecMouseScale); int apply(long ulOverlayHandle, HmdVector2_t pvecMouseScale);
}; };
/** <i>native declaration : headers\openvr_capi.h:1748</i> */
public interface SetOverlayMouseScale_callback extends Callback { public interface SetOverlayMouseScale_callback extends Callback {
int apply(long ulOverlayHandle, HmdVector2_t pvecMouseScale); int apply(long ulOverlayHandle, HmdVector2_t pvecMouseScale);
}; };
/** <i>native declaration : headers\openvr_capi.h:1749</i> */
public interface ComputeOverlayIntersection_callback extends Callback { public interface ComputeOverlayIntersection_callback extends Callback {
byte apply(long ulOverlayHandle, VROverlayIntersectionParams_t pParams, VROverlayIntersectionResults_t pResults); 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 { public interface HandleControllerOverlayInteractionAsMouse_callback extends Callback {
byte apply(long ulOverlayHandle, int unControllerDeviceIndex); byte apply(long ulOverlayHandle, int unControllerDeviceIndex);
}; };
/** <i>native declaration : headers\openvr_capi.h:1751</i> */
public interface IsHoverTargetOverlay_callback extends Callback { public interface IsHoverTargetOverlay_callback extends Callback {
byte apply(long ulOverlayHandle); byte apply(long ulOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1752</i> */
public interface GetGamepadFocusOverlay_callback extends Callback { public interface GetGamepadFocusOverlay_callback extends Callback {
long apply(); long apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1753</i> */
public interface SetGamepadFocusOverlay_callback extends Callback { public interface SetGamepadFocusOverlay_callback extends Callback {
int apply(long ulNewFocusOverlay); int apply(long ulNewFocusOverlay);
}; };
/** <i>native declaration : headers\openvr_capi.h:1754</i> */
public interface SetOverlayNeighbor_callback extends Callback { public interface SetOverlayNeighbor_callback extends Callback {
int apply(int eDirection, long ulFrom, long ulTo); int apply(int eDirection, long ulFrom, long ulTo);
}; };
/** <i>native declaration : headers\openvr_capi.h:1755</i> */
public interface MoveGamepadFocusToNeighbor_callback extends Callback { public interface MoveGamepadFocusToNeighbor_callback extends Callback {
int apply(int eDirection, long ulFrom); int apply(int eDirection, long ulFrom);
}; };
/** <i>native declaration : headers\openvr_capi.h:1756</i> */
public interface SetOverlayTexture_callback extends Callback { public interface SetOverlayTexture_callback extends Callback {
int apply(long ulOverlayHandle, Texture_t pTexture); int apply(long ulOverlayHandle, Texture_t pTexture);
}; };
/** <i>native declaration : headers\openvr_capi.h:1757</i> */
public interface ClearOverlayTexture_callback extends Callback { public interface ClearOverlayTexture_callback extends Callback {
int apply(long ulOverlayHandle); int apply(long ulOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1758</i> */
public interface SetOverlayRaw_callback extends Callback { public interface SetOverlayRaw_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pvBuffer, int unWidth, int unHeight, int unDepth); 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 { public interface SetOverlayFromFile_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pchFilePath); int apply(long ulOverlayHandle, Pointer pchFilePath);
}; };
/** <i>native declaration : headers\openvr_capi.h:1760</i> */
public interface GetOverlayTexture_callback extends Callback { 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 { public interface ReleaseNativeOverlayHandle_callback extends Callback {
int apply(long ulOverlayHandle, Pointer pNativeTextureHandle); int apply(long ulOverlayHandle, Pointer pNativeTextureHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1762</i> */
public interface GetOverlayTextureSize_callback extends Callback { public interface GetOverlayTextureSize_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference pWidth, IntByReference pHeight); int apply(long ulOverlayHandle, IntByReference pWidth, IntByReference pHeight);
}; };
/** <i>native declaration : headers\openvr_capi.h:1763</i> */
public interface CreateDashboardOverlay_callback extends Callback { public interface CreateDashboardOverlay_callback extends Callback {
int apply(Pointer pchOverlayKey, Pointer pchOverlayFriendlyName, LongByReference pMainHandle, LongByReference pThumbnailHandle); 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 { public interface IsDashboardVisible_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1765</i> */
public interface IsActiveDashboardOverlay_callback extends Callback { public interface IsActiveDashboardOverlay_callback extends Callback {
byte apply(long ulOverlayHandle); byte apply(long ulOverlayHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1766</i> */
public interface SetDashboardOverlaySceneProcess_callback extends Callback { public interface SetDashboardOverlaySceneProcess_callback extends Callback {
int apply(long ulOverlayHandle, int unProcessId); int apply(long ulOverlayHandle, int unProcessId);
}; };
/** <i>native declaration : headers\openvr_capi.h:1767</i> */
public interface GetDashboardOverlaySceneProcess_callback extends Callback { public interface GetDashboardOverlaySceneProcess_callback extends Callback {
int apply(long ulOverlayHandle, IntByReference punProcessId); int apply(long ulOverlayHandle, IntByReference punProcessId);
}; };
/** <i>native declaration : headers\openvr_capi.h:1768</i> */
public interface ShowDashboard_callback extends Callback { public interface ShowDashboard_callback extends Callback {
void apply(Pointer pchOverlayToShow); void apply(Pointer pchOverlayToShow);
}; };
/** <i>native declaration : headers\openvr_capi.h:1769</i> */
public interface GetPrimaryDashboardDevice_callback extends Callback { public interface GetPrimaryDashboardDevice_callback extends Callback {
int apply(); int apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1770</i> */
public interface ShowKeyboard_callback extends Callback { public interface ShowKeyboard_callback extends Callback {
int apply(int eInputMode, int eLineInputMode, Pointer pchDescription, int unCharMax, Pointer pchExistingText, byte bUseMinimalMode, long uUserValue); 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 { public interface ShowKeyboardForOverlay_callback extends Callback {
int apply(long ulOverlayHandle, int eInputMode, int eLineInputMode, Pointer pchDescription, int unCharMax, Pointer pchExistingText, byte bUseMinimalMode, long uUserValue); 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 { public interface GetKeyboardText_callback extends Callback {
int apply(Pointer pchText, int cchText); int apply(Pointer pchText, int cchText);
}; };
/** <i>native declaration : headers\openvr_capi.h:1773</i> */
public interface HideKeyboard_callback extends Callback { public interface HideKeyboard_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1774</i> */
public interface SetKeyboardTransformAbsolute_callback extends Callback { public interface SetKeyboardTransformAbsolute_callback extends Callback {
void apply(int eTrackingOrigin, HmdMatrix34_t pmatTrackingOriginToKeyboardTransform); void apply(int eTrackingOrigin, HmdMatrix34_t pmatTrackingOriginToKeyboardTransform);
}; };
/** <i>native declaration : headers\openvr_capi.h:1775</i> */
public interface SetKeyboardPositionForOverlay_callback extends Callback { public interface SetKeyboardPositionForOverlay_callback extends Callback {
void apply(long ulOverlayHandle, com.jme3.system.jopenvr.HmdRect2_t.ByValue avoidRect); 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() { public VR_IVROverlay_FnTable() {
super(); super();
} }
protected List<String> getFieldOrder() { 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) { public VR_IVROverlay_FnTable(Pointer peer) {
super(peer); super(peer);

@ -7,6 +7,7 @@ import com.sun.jna.ptr.PointerByReference;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRRenderModels_FnTable.FreeTexture_callback FreeTexture;
/** C type : LoadTextureD3D11_Async_callback* */ /** C type : LoadTextureD3D11_Async_callback* */
public VR_IVRRenderModels_FnTable.LoadTextureD3D11_Async_callback LoadTextureD3D11_Async; 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; public VR_IVRRenderModels_FnTable.LoadIntoTextureD3D11_Async_callback LoadIntoTextureD3D11_Async;
/** C type : FreeTextureD3D11_callback* */
public VR_IVRRenderModels_FnTable.FreeTextureD3D11_callback FreeTextureD3D11; public VR_IVRRenderModels_FnTable.FreeTextureD3D11_callback FreeTextureD3D11;
/** C type : GetRenderModelName_callback* */ /** C type : GetRenderModelName_callback* */
public VR_IVRRenderModels_FnTable.GetRenderModelName_callback GetRenderModelName; 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; public VR_IVRRenderModels_FnTable.GetComponentState_callback GetComponentState;
/** C type : RenderModelHasComponent_callback* */ /** C type : RenderModelHasComponent_callback* */
public VR_IVRRenderModels_FnTable.RenderModelHasComponent_callback RenderModelHasComponent; public VR_IVRRenderModels_FnTable.RenderModelHasComponent_callback RenderModelHasComponent;
/** C type : GetRenderModelThumbnailURL_callback* */
public VR_IVRRenderModels_FnTable.GetRenderModelThumbnailURL_callback GetRenderModelThumbnailURL; public VR_IVRRenderModels_FnTable.GetRenderModelThumbnailURL_callback GetRenderModelThumbnailURL;
/** C type : GetRenderModelOriginalPath_callback* */ /** C type : GetRenderModelOriginalPath_callback* */
public VR_IVRRenderModels_FnTable.GetRenderModelOriginalPath_callback GetRenderModelOriginalPath; public VR_IVRRenderModels_FnTable.GetRenderModelOriginalPath_callback GetRenderModelOriginalPath;
/** C type : GetRenderModelErrorNameFromEnum_callback* */ /** C type : GetRenderModelErrorNameFromEnum_callback* */
public VR_IVRRenderModels_FnTable.GetRenderModelErrorNameFromEnum_callback GetRenderModelErrorNameFromEnum; public VR_IVRRenderModels_FnTable.GetRenderModelErrorNameFromEnum_callback GetRenderModelErrorNameFromEnum;
/** <i>native declaration : headers\openvr_capi.h:1799</i> */
public interface LoadRenderModel_Async_callback extends Callback { public interface LoadRenderModel_Async_callback extends Callback {
int apply(Pointer pchRenderModelName, PointerByReference ppRenderModel); int apply(Pointer pchRenderModelName, PointerByReference ppRenderModel);
}; };
/** <i>native declaration : headers\openvr_capi.h:1800</i> */
public interface FreeRenderModel_callback extends Callback { public interface FreeRenderModel_callback extends Callback {
void apply(RenderModel_t pRenderModel); void apply(RenderModel_t pRenderModel);
}; };
/** <i>native declaration : headers\openvr_capi.h:1801</i> */
public interface LoadTexture_Async_callback extends Callback { public interface LoadTexture_Async_callback extends Callback {
int apply(int textureId, PointerByReference ppTexture); int apply(int textureId, PointerByReference ppTexture);
}; };
/** <i>native declaration : headers\openvr_capi.h:1802</i> */
public interface FreeTexture_callback extends Callback { public interface FreeTexture_callback extends Callback {
void apply(RenderModel_TextureMap_t pTexture); void apply(RenderModel_TextureMap_t pTexture);
}; };
/** <i>native declaration : headers\openvr_capi.h:1803</i> */
public interface LoadTextureD3D11_Async_callback extends Callback { public interface LoadTextureD3D11_Async_callback extends Callback {
int apply(int textureId, Pointer pD3D11Device, PointerByReference ppD3D11Texture2D); int apply(int textureId, Pointer pD3D11Device, PointerByReference ppD3D11Texture2D);
}; };
/** <i>native declaration : headers\openvr_capi.h:1804</i> */
public interface LoadIntoTextureD3D11_Async_callback extends Callback { public interface LoadIntoTextureD3D11_Async_callback extends Callback {
int apply(int textureId, Pointer pDstTexture); int apply(int textureId, Pointer pDstTexture);
}; };
/** <i>native declaration : headers\openvr_capi.h:1805</i> */
public interface FreeTextureD3D11_callback extends Callback { public interface FreeTextureD3D11_callback extends Callback {
void apply(Pointer pD3D11Texture2D); void apply(Pointer pD3D11Texture2D);
}; };
/** <i>native declaration : headers\openvr_capi.h:1806</i> */
public interface GetRenderModelName_callback extends Callback { public interface GetRenderModelName_callback extends Callback {
int apply(int unRenderModelIndex, Pointer pchRenderModelName, int unRenderModelNameLen); int apply(int unRenderModelIndex, Pointer pchRenderModelName, int unRenderModelNameLen);
}; };
/** <i>native declaration : headers\openvr_capi.h:1807</i> */
public interface GetRenderModelCount_callback extends Callback { public interface GetRenderModelCount_callback extends Callback {
int apply(); int apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1808</i> */
public interface GetComponentCount_callback extends Callback { public interface GetComponentCount_callback extends Callback {
int apply(Pointer pchRenderModelName); int apply(Pointer pchRenderModelName);
}; };
/** <i>native declaration : headers\openvr_capi.h:1809</i> */
public interface GetComponentName_callback extends Callback { public interface GetComponentName_callback extends Callback {
int apply(Pointer pchRenderModelName, int unComponentIndex, Pointer pchComponentName, int unComponentNameLen); 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 { public interface GetComponentButtonMask_callback extends Callback {
long apply(Pointer pchRenderModelName, Pointer pchComponentName); long apply(Pointer pchRenderModelName, Pointer pchComponentName);
}; };
/** <i>native declaration : headers\openvr_capi.h:1811</i> */
public interface GetComponentRenderModelName_callback extends Callback { public interface GetComponentRenderModelName_callback extends Callback {
int apply(Pointer pchRenderModelName, Pointer pchComponentName, Pointer pchComponentRenderModelName, int unComponentRenderModelNameLen); 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 { public interface GetComponentState_callback extends Callback {
byte apply(Pointer pchRenderModelName, Pointer pchComponentName, VRControllerState_t pControllerState, RenderModel_ControllerMode_State_t pState, RenderModel_ComponentState_t pComponentState); 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 { public interface RenderModelHasComponent_callback extends Callback {
byte apply(Pointer pchRenderModelName, Pointer pchComponentName); byte apply(Pointer pchRenderModelName, Pointer pchComponentName);
}; };
/** <i>native declaration : headers\openvr_capi.h:1814</i> */
public interface GetRenderModelThumbnailURL_callback extends Callback { public interface GetRenderModelThumbnailURL_callback extends Callback {
int apply(Pointer pchRenderModelName, Pointer pchThumbnailURL, int unThumbnailURLLen, IntByReference peError); 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 { public interface GetRenderModelOriginalPath_callback extends Callback {
int apply(Pointer pchRenderModelName, Pointer pchOriginalPath, int unOriginalPathLen, IntByReference peError); 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 { public interface GetRenderModelErrorNameFromEnum_callback extends Callback {
Pointer apply(int error); Pointer apply(int error);
}; };

@ -5,6 +5,7 @@ import com.sun.jna.Structure;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRResources_FnTable.LoadSharedResource_callback LoadSharedResource;
/** C type : GetResourceFullPath_callback* */ /** C type : GetResourceFullPath_callback* */
public VR_IVRResources_FnTable.GetResourceFullPath_callback GetResourceFullPath; public VR_IVRResources_FnTable.GetResourceFullPath_callback GetResourceFullPath;
/** <i>native declaration : headers\openvr_capi.h:1869</i> */
public interface LoadSharedResource_callback extends Callback { public interface LoadSharedResource_callback extends Callback {
int apply(Pointer pchResourceName, Pointer pchBuffer, int unBufferLen); int apply(Pointer pchResourceName, Pointer pchBuffer, int unBufferLen);
}; };
/** <i>native declaration : headers\openvr_capi.h:1870</i> */
public interface GetResourceFullPath_callback extends Callback { public interface GetResourceFullPath_callback extends Callback {
int apply(Pointer pchResourceName, Pointer pchResourceTypeDirectory, Pointer pchPathBuffer, int unBufferLen); 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRScreenshots_FnTable.TakeStereoScreenshot_callback TakeStereoScreenshot;
/** C type : SubmitScreenshot_callback* */ /** C type : SubmitScreenshot_callback* */
public VR_IVRScreenshots_FnTable.SubmitScreenshot_callback SubmitScreenshot; public VR_IVRScreenshots_FnTable.SubmitScreenshot_callback SubmitScreenshot;
/** <i>native declaration : headers\openvr_capi.h:1858</i> */
public interface RequestScreenshot_callback extends Callback { public interface RequestScreenshot_callback extends Callback {
int apply(IntByReference pOutScreenshotHandle, int type, Pointer pchPreviewFilename, Pointer pchVRFilename); 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 { public interface HookScreenshot_callback extends Callback {
int apply(IntByReference pSupportedTypes, int numTypes); int apply(IntByReference pSupportedTypes, int numTypes);
}; };
/** <i>native declaration : headers\openvr_capi.h:1860</i> */
public interface GetScreenshotPropertyType_callback extends Callback { public interface GetScreenshotPropertyType_callback extends Callback {
int apply(int screenshotHandle, IntByReference pError); int apply(int screenshotHandle, IntByReference pError);
}; };
/** <i>native declaration : headers\openvr_capi.h:1861</i> */
public interface GetScreenshotPropertyFilename_callback extends Callback { public interface GetScreenshotPropertyFilename_callback extends Callback {
int apply(int screenshotHandle, int filenameType, Pointer pchFilename, int cchFilename, IntByReference pError); 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 { public interface UpdateScreenshotProgress_callback extends Callback {
int apply(int screenshotHandle, float flProgress); int apply(int screenshotHandle, float flProgress);
}; };
/** <i>native declaration : headers\openvr_capi.h:1863</i> */
public interface TakeStereoScreenshot_callback extends Callback { public interface TakeStereoScreenshot_callback extends Callback {
int apply(IntByReference pOutScreenshotHandle, Pointer pchPreviewFilename, Pointer pchVRFilename); int apply(IntByReference pOutScreenshotHandle, Pointer pchPreviewFilename, Pointer pchVRFilename);
}; };
/** <i>native declaration : headers\openvr_capi.h:1864</i> */
public interface SubmitScreenshot_callback extends Callback { public interface SubmitScreenshot_callback extends Callback {
int apply(int screenshotHandle, int type, Pointer pchSourcePreviewFilename, Pointer pchSourceVRFilename); 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.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRSettings_FnTable.GetSettingsErrorNameFromEnum_callback GetSettingsErrorNameFromEnum;
/** C type : Sync_callback* */ /** C type : Sync_callback* */
public VR_IVRSettings_FnTable.Sync_callback Sync; public VR_IVRSettings_FnTable.Sync_callback Sync;
/** C type : GetBool_callback* */
public VR_IVRSettings_FnTable.GetBool_callback GetBool;
/** C type : SetBool_callback* */ /** C type : SetBool_callback* */
public VR_IVRSettings_FnTable.SetBool_callback SetBool; public VR_IVRSettings_FnTable.SetBool_callback SetBool;
/** C type : GetInt32_callback* */
public VR_IVRSettings_FnTable.GetInt32_callback GetInt32;
/** C type : SetInt32_callback* */ /** C type : SetInt32_callback* */
public VR_IVRSettings_FnTable.SetInt32_callback SetInt32; public VR_IVRSettings_FnTable.SetInt32_callback SetInt32;
/** C type : GetFloat_callback* */
public VR_IVRSettings_FnTable.GetFloat_callback GetFloat;
/** C type : SetFloat_callback* */ /** C type : SetFloat_callback* */
public VR_IVRSettings_FnTable.SetFloat_callback SetFloat; public VR_IVRSettings_FnTable.SetFloat_callback SetFloat;
/** C type : GetString_callback* */
public VR_IVRSettings_FnTable.GetString_callback GetString;
/** C type : SetString_callback* */ /** C type : SetString_callback* */
public VR_IVRSettings_FnTable.SetString_callback SetString; 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* */ /** C type : RemoveSection_callback* */
public VR_IVRSettings_FnTable.RemoveSection_callback RemoveSection; public VR_IVRSettings_FnTable.RemoveSection_callback RemoveSection;
/** C type : RemoveKeyInSection_callback* */ /** C type : RemoveKeyInSection_callback* */
public VR_IVRSettings_FnTable.RemoveKeyInSection_callback RemoveKeyInSection; public VR_IVRSettings_FnTable.RemoveKeyInSection_callback RemoveKeyInSection;
/** <i>native declaration : headers\openvr_capi.h:1837</i> */
public interface GetSettingsErrorNameFromEnum_callback extends Callback { public interface GetSettingsErrorNameFromEnum_callback extends Callback {
Pointer apply(int eError); Pointer apply(int eError);
}; };
/** <i>native declaration : headers\openvr_capi.h:1838</i> */
public interface Sync_callback extends Callback { public interface Sync_callback extends Callback {
byte apply(byte bForce, IntByReference peError); byte apply(byte bForce, IntByReference peError);
}; };
public interface GetBool_callback extends Callback { /** <i>native declaration : headers\openvr_capi.h:1839</i> */
byte apply(Pointer pchSection, Pointer pchSettingsKey, byte bDefaultValue, IntByReference peError);
};
public interface SetBool_callback extends Callback { public interface SetBool_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, byte bValue, IntByReference peError); void apply(Pointer pchSection, Pointer pchSettingsKey, byte bValue, IntByReference peError);
}; };
public interface GetInt32_callback extends Callback { /** <i>native declaration : headers\openvr_capi.h:1840</i> */
int apply(Pointer pchSection, Pointer pchSettingsKey, int nDefaultValue, IntByReference peError);
};
public interface SetInt32_callback extends Callback { public interface SetInt32_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, int nValue, IntByReference peError); void apply(Pointer pchSection, Pointer pchSettingsKey, int nValue, IntByReference peError);
}; };
public interface GetFloat_callback extends Callback { /** <i>native declaration : headers\openvr_capi.h:1841</i> */
float apply(Pointer pchSection, Pointer pchSettingsKey, float flDefaultValue, IntByReference peError);
};
public interface SetFloat_callback extends Callback { public interface SetFloat_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, float flValue, IntByReference peError); void apply(Pointer pchSection, Pointer pchSettingsKey, float flValue, IntByReference peError);
}; };
public interface GetString_callback extends Callback { /** <i>native declaration : headers\openvr_capi.h:1842</i> */
void apply(Pointer pchSection, Pointer pchSettingsKey, Pointer pchValue, int unValueLen, Pointer pchDefaultValue, IntByReference peError);
};
public interface SetString_callback extends Callback { public interface SetString_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, Pointer pchValue, IntByReference peError); 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 { public interface RemoveSection_callback extends Callback {
void apply(Pointer pchSection, IntByReference peError); void apply(Pointer pchSection, IntByReference peError);
}; };
/** <i>native declaration : headers\openvr_capi.h:1848</i> */
public interface RemoveKeyInSection_callback extends Callback { public interface RemoveKeyInSection_callback extends Callback {
void apply(Pointer pchSection, Pointer pchSettingsKey, IntByReference peError); void apply(Pointer pchSection, Pointer pchSettingsKey, IntByReference peError);
}; };
@ -75,7 +88,7 @@ public class VR_IVRSettings_FnTable extends Structure {
super(); super();
} }
protected List<String> getFieldOrder() { 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) { public VR_IVRSettings_FnTable(Pointer peer) {
super(peer); super(peer);

@ -4,13 +4,12 @@ import com.sun.jna.Pointer;
import com.sun.jna.Structure; import com.sun.jna.Structure;
import com.sun.jna.ptr.FloatByReference; import com.sun.jna.ptr.FloatByReference;
import com.sun.jna.ptr.IntByReference; import com.sun.jna.ptr.IntByReference;
import java.nio.FloatBuffer; import com.sun.jna.ptr.LongByReference;
import java.nio.IntBuffer;
import java.nio.LongBuffer;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
/** /**
* OpenVR Function Pointer Tables<br> * 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> * 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> * 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>. * 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; public VR_IVRSystem_FnTable.IsTrackedDeviceConnected_callback IsTrackedDeviceConnected;
/** C type : GetBoolTrackedDeviceProperty_callback* */ /** C type : GetBoolTrackedDeviceProperty_callback* */
public VR_IVRSystem_FnTable.GetBoolTrackedDeviceProperty_callback GetBoolTrackedDeviceProperty; public VR_IVRSystem_FnTable.GetBoolTrackedDeviceProperty_callback GetBoolTrackedDeviceProperty;
/** C type : GetFloatTrackedDeviceProperty_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>
*/
public VR_IVRSystem_FnTable.GetFloatTrackedDeviceProperty_callback GetFloatTrackedDeviceProperty; public VR_IVRSystem_FnTable.GetFloatTrackedDeviceProperty_callback GetFloatTrackedDeviceProperty;
/** C type : GetInt32TrackedDeviceProperty_callback* */ /** C type : GetInt32TrackedDeviceProperty_callback* */
public VR_IVRSystem_FnTable.GetInt32TrackedDeviceProperty_callback GetInt32TrackedDeviceProperty; public VR_IVRSystem_FnTable.GetInt32TrackedDeviceProperty_callback GetInt32TrackedDeviceProperty;
/** C type : GetUint64TrackedDeviceProperty_callback* */ /** C type : GetUint64TrackedDeviceProperty_callback* */
@ -117,25 +83,8 @@ public class VR_IVRSystem_FnTable extends Structure {
public VR_IVRSystem_FnTable.GetControllerState_callback GetControllerState; public VR_IVRSystem_FnTable.GetControllerState_callback GetControllerState;
/** C type : GetControllerStateWithPose_callback* */ /** C type : GetControllerStateWithPose_callback* */
public VR_IVRSystem_FnTable.GetControllerStateWithPose_callback GetControllerStateWithPose; public VR_IVRSystem_FnTable.GetControllerStateWithPose_callback GetControllerStateWithPose;
/** C type : TriggerHapticPulse_callback* */
/**
* 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>
*/
public VR_IVRSystem_FnTable.TriggerHapticPulse_callback TriggerHapticPulse; public VR_IVRSystem_FnTable.TriggerHapticPulse_callback TriggerHapticPulse;
/** C type : GetButtonIdNameFromEnum_callback* */ /** C type : GetButtonIdNameFromEnum_callback* */
public VR_IVRSystem_FnTable.GetButtonIdNameFromEnum_callback GetButtonIdNameFromEnum; public VR_IVRSystem_FnTable.GetButtonIdNameFromEnum_callback GetButtonIdNameFromEnum;
/** C type : GetControllerAxisTypeNameFromEnum_callback* */ /** C type : GetControllerAxisTypeNameFromEnum_callback* */
@ -154,194 +103,179 @@ public class VR_IVRSystem_FnTable extends Structure {
public VR_IVRSystem_FnTable.AcknowledgeQuit_Exiting_callback AcknowledgeQuit_Exiting; public VR_IVRSystem_FnTable.AcknowledgeQuit_Exiting_callback AcknowledgeQuit_Exiting;
/** C type : AcknowledgeQuit_UserPrompt_callback* */ /** C type : AcknowledgeQuit_UserPrompt_callback* */
public VR_IVRSystem_FnTable.AcknowledgeQuit_UserPrompt_callback AcknowledgeQuit_UserPrompt; 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 { 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 { 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 { public interface GetProjectionRaw_callback extends Callback {
void apply(int eEye, FloatByReference pfLeft, FloatByReference pfRight, FloatByReference pfTop, FloatByReference pfBottom); 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 { 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 { public interface GetEyeToHeadTransform_callback extends Callback {
HmdMatrix34_t.ByValue apply(int eEye); HmdMatrix34_t.ByValue apply(int eEye);
}; };
/** <i>native declaration : headers\openvr_capi.h:1346</i> */
public interface GetTimeSinceLastVsync_callback extends Callback { 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 { public interface GetD3D9AdapterIndex_callback extends Callback {
int apply(); int apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1348</i> */
public interface GetDXGIOutputInfo_callback extends Callback { public interface GetDXGIOutputInfo_callback extends Callback {
void apply(IntByReference pnAdapterIndex); void apply(IntByReference pnAdapterIndex);
}; };
/** <i>native declaration : headers\openvr_capi.h:1349</i> */
public interface IsDisplayOnDesktop_callback extends Callback { public interface IsDisplayOnDesktop_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1350</i> */
public interface SetDisplayVisibility_callback extends Callback { public interface SetDisplayVisibility_callback extends Callback {
byte apply(byte bIsVisibleOnDesktop); byte apply(byte bIsVisibleOnDesktop);
}; };
/** <i>native declaration : headers\openvr_capi.h:1351</i> */
public interface GetDeviceToAbsoluteTrackingPose_callback extends Callback { public interface GetDeviceToAbsoluteTrackingPose_callback extends Callback {
void apply(int eOrigin, float fPredictedSecondsToPhotonsFromNow, TrackedDevicePose_t pTrackedDevicePoseArray, int unTrackedDevicePoseArrayCount); 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 { public interface ResetSeatedZeroPose_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1353</i> */
public interface GetSeatedZeroPoseToStandingAbsoluteTrackingPose_callback extends Callback { public interface GetSeatedZeroPoseToStandingAbsoluteTrackingPose_callback extends Callback {
HmdMatrix34_t.ByValue apply(); HmdMatrix34_t.ByValue apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1354</i> */
public interface GetRawZeroPoseToStandingAbsoluteTrackingPose_callback extends Callback { public interface GetRawZeroPoseToStandingAbsoluteTrackingPose_callback extends Callback {
HmdMatrix34_t.ByValue apply(); HmdMatrix34_t.ByValue apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1355</i> */
public interface GetSortedTrackedDeviceIndicesOfClass_callback extends Callback { public interface GetSortedTrackedDeviceIndicesOfClass_callback extends Callback {
int apply(int eTrackedDeviceClass, IntByReference punTrackedDeviceIndexArray, int unTrackedDeviceIndexArrayCount, int unRelativeToTrackedDeviceIndex); 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 { public interface GetTrackedDeviceActivityLevel_callback extends Callback {
int apply(int unDeviceId); int apply(int unDeviceId);
}; };
/** <i>native declaration : headers\openvr_capi.h:1357</i> */
public interface ApplyTransform_callback extends Callback { public interface ApplyTransform_callback extends Callback {
void apply(TrackedDevicePose_t pOutputPose, TrackedDevicePose_t pTrackedDevicePose, HmdMatrix34_t pTransform); 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 { public interface GetTrackedDeviceIndexForControllerRole_callback extends Callback {
int apply(int unDeviceType); int apply(int unDeviceType);
}; };
/** <i>native declaration : headers\openvr_capi.h:1359</i> */
public interface GetControllerRoleForTrackedDeviceIndex_callback extends Callback { public interface GetControllerRoleForTrackedDeviceIndex_callback extends Callback {
int apply(int unDeviceIndex); int apply(int unDeviceIndex);
}; };
/** <i>native declaration : headers\openvr_capi.h:1360</i> */
public interface GetTrackedDeviceClass_callback extends Callback { public interface GetTrackedDeviceClass_callback extends Callback {
int apply(int unDeviceIndex); int apply(int unDeviceIndex);
}; };
/** <i>native declaration : headers\openvr_capi.h:1361</i> */
public interface IsTrackedDeviceConnected_callback extends Callback { public interface IsTrackedDeviceConnected_callback extends Callback {
byte apply(int unDeviceIndex); byte apply(int unDeviceIndex);
}; };
/** <i>native declaration : headers\openvr_capi.h:1362</i> */
public interface GetBoolTrackedDeviceProperty_callback extends Callback { public interface GetBoolTrackedDeviceProperty_callback extends Callback {
byte apply(int unDeviceIndex, int prop, IntBuffer pError); byte apply(int unDeviceIndex, int prop, IntByReference pError);
}; };
/** <i>native declaration : headers\openvr_capi.h:1363</i> */
/**
* <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::GetTrackedDeviceProperty">IVRSystem::GetTrackedDeviceProperty</a> encapsulation.
*/
public interface GetFloatTrackedDeviceProperty_callback extends Callback { public interface GetFloatTrackedDeviceProperty_callback extends Callback {
float apply(int unDeviceIndex, int prop, IntByReference pError);
/**
* 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);
}; };
/** <i>native declaration : headers\openvr_capi.h:1364</i> */
public interface GetInt32TrackedDeviceProperty_callback extends Callback { 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 { 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 { public interface GetMatrix34TrackedDeviceProperty_callback extends Callback {
HmdMatrix34_t.ByValue apply(int unDeviceIndex, int prop, IntByReference pError); 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 { 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 { public interface GetPropErrorNameFromEnum_callback extends Callback {
Pointer apply(int error); Pointer apply(int error);
}; };
/** <i>native declaration : headers\openvr_capi.h:1369</i> */
public interface PollNextEvent_callback extends Callback { public interface PollNextEvent_callback extends Callback {
byte apply(VREvent_t pEvent, int uncbVREvent); byte apply(VREvent_t pEvent, int uncbVREvent);
}; };
/** <i>native declaration : headers\openvr_capi.h:1370</i> */
public interface PollNextEventWithPose_callback extends Callback { public interface PollNextEventWithPose_callback extends Callback {
byte apply(int eOrigin, VREvent_t pEvent, int uncbVREvent, TrackedDevicePose_t pTrackedDevicePose); 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 { public interface GetEventTypeNameFromEnum_callback extends Callback {
Pointer apply(int eType); Pointer apply(int eType);
}; };
/** <i>native declaration : headers\openvr_capi.h:1372</i> */
public interface GetHiddenAreaMesh_callback extends Callback { 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 { 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 { 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);
}; };
/** <i>native declaration : headers\openvr_capi.h:1375</i> */
/**
* <a href="https://github.com/ValveSoftware/openvr/wiki/IVRSystem::TriggerHapticPulse">IVRSystem::TriggerHapticPulse</a> encapsulation.
*/
public interface TriggerHapticPulse_callback extends Callback { 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); void apply(int unControllerDeviceIndex, int unAxisId, short usDurationMicroSec);
}; };
/** <i>native declaration : headers\openvr_capi.h:1376</i> */
public interface GetButtonIdNameFromEnum_callback extends Callback { public interface GetButtonIdNameFromEnum_callback extends Callback {
Pointer apply(int eButtonId); Pointer apply(int eButtonId);
}; };
/** <i>native declaration : headers\openvr_capi.h:1377</i> */
public interface GetControllerAxisTypeNameFromEnum_callback extends Callback { public interface GetControllerAxisTypeNameFromEnum_callback extends Callback {
Pointer apply(int eAxisType); Pointer apply(int eAxisType);
}; };
/** <i>native declaration : headers\openvr_capi.h:1378</i> */
public interface CaptureInputFocus_callback extends Callback { public interface CaptureInputFocus_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1379</i> */
public interface ReleaseInputFocus_callback extends Callback { public interface ReleaseInputFocus_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1380</i> */
public interface IsInputFocusCapturedByAnotherProcess_callback extends Callback { public interface IsInputFocusCapturedByAnotherProcess_callback extends Callback {
byte apply(); byte apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1381</i> */
public interface DriverDebugRequest_callback extends Callback { public interface DriverDebugRequest_callback extends Callback {
int apply(int unDeviceIndex, Pointer pchRequest, Pointer pchResponseBuffer, int unResponseBufferSize); 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 { public interface PerformFirmwareUpdate_callback extends Callback {
int apply(int unDeviceIndex); int apply(int unDeviceIndex);
}; };
/** <i>native declaration : headers\openvr_capi.h:1383</i> */
public interface AcknowledgeQuit_Exiting_callback extends Callback { public interface AcknowledgeQuit_Exiting_callback extends Callback {
void apply(); void apply();
}; };
/** <i>native declaration : headers\openvr_capi.h:1384</i> */
public interface AcknowledgeQuit_UserPrompt_callback extends Callback { public interface AcknowledgeQuit_UserPrompt_callback extends Callback {
void apply(); void apply();
}; };

@ -8,6 +8,7 @@ import com.sun.jna.ptr.PointerByReference;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; 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> * 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> * 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>. * 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; public VR_IVRTrackedCamera_FnTable.HasCamera_callback HasCamera;
/** C type : GetCameraFrameSize_callback* */ /** C type : GetCameraFrameSize_callback* */
public VR_IVRTrackedCamera_FnTable.GetCameraFrameSize_callback GetCameraFrameSize; public VR_IVRTrackedCamera_FnTable.GetCameraFrameSize_callback GetCameraFrameSize;
/** C type : GetCameraIntrinisics_callback* */ /** C type : GetCameraIntrinsics_callback* */
public VR_IVRTrackedCamera_FnTable.GetCameraIntrinisics_callback GetCameraIntrinisics; public VR_IVRTrackedCamera_FnTable.GetCameraIntrinsics_callback GetCameraIntrinsics;
/** C type : GetCameraProjection_callback* */ /** C type : GetCameraProjection_callback* */
public VR_IVRTrackedCamera_FnTable.GetCameraProjection_callback GetCameraProjection; public VR_IVRTrackedCamera_FnTable.GetCameraProjection_callback GetCameraProjection;
/** C type : AcquireVideoStreamingService_callback* */ /** C type : AcquireVideoStreamingService_callback* */
@ -29,6 +30,7 @@ public class VR_IVRTrackedCamera_FnTable extends Structure {
public VR_IVRTrackedCamera_FnTable.ReleaseVideoStreamingService_callback ReleaseVideoStreamingService; public VR_IVRTrackedCamera_FnTable.ReleaseVideoStreamingService_callback ReleaseVideoStreamingService;
/** C type : GetVideoStreamFrameBuffer_callback* */ /** C type : GetVideoStreamFrameBuffer_callback* */
public VR_IVRTrackedCamera_FnTable.GetVideoStreamFrameBuffer_callback GetVideoStreamFrameBuffer; public VR_IVRTrackedCamera_FnTable.GetVideoStreamFrameBuffer_callback GetVideoStreamFrameBuffer;
/** C type : GetVideoStreamTextureSize_callback* */
public VR_IVRTrackedCamera_FnTable.GetVideoStreamTextureSize_callback GetVideoStreamTextureSize; public VR_IVRTrackedCamera_FnTable.GetVideoStreamTextureSize_callback GetVideoStreamTextureSize;
/** C type : GetVideoStreamTextureD3D11_callback* */ /** C type : GetVideoStreamTextureD3D11_callback* */
public VR_IVRTrackedCamera_FnTable.GetVideoStreamTextureD3D11_callback GetVideoStreamTextureD3D11; 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; public VR_IVRTrackedCamera_FnTable.GetVideoStreamTextureGL_callback GetVideoStreamTextureGL;
/** C type : ReleaseVideoStreamTextureGL_callback* */ /** C type : ReleaseVideoStreamTextureGL_callback* */
public VR_IVRTrackedCamera_FnTable.ReleaseVideoStreamTextureGL_callback ReleaseVideoStreamTextureGL; public VR_IVRTrackedCamera_FnTable.ReleaseVideoStreamTextureGL_callback ReleaseVideoStreamTextureGL;
/** <i>native declaration : headers\openvr_capi.h:1407</i> */
public interface GetCameraErrorNameFromEnum_callback extends Callback { public interface GetCameraErrorNameFromEnum_callback extends Callback {
Pointer apply(int eCameraError); Pointer apply(int eCameraError);
}; };
/** <i>native declaration : headers\openvr_capi.h:1408</i> */
public interface HasCamera_callback extends Callback { public interface HasCamera_callback extends Callback {
int apply(int nDeviceIndex, Pointer pHasCamera); int apply(int nDeviceIndex, Pointer pHasCamera);
}; };
/** <i>native declaration : headers\openvr_capi.h:1409</i> */
public interface GetCameraFrameSize_callback extends Callback { public interface GetCameraFrameSize_callback extends Callback {
int apply(int nDeviceIndex, int eFrameType, IntByReference pnWidth, IntByReference pnHeight, IntByReference pnFrameBufferSize); 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); 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 { public interface GetCameraProjection_callback extends Callback {
int apply(int nDeviceIndex, int eFrameType, float flZNear, float flZFar, HmdMatrix44_t pProjection); 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 { public interface AcquireVideoStreamingService_callback extends Callback {
int apply(int nDeviceIndex, LongByReference pHandle); int apply(int nDeviceIndex, LongByReference pHandle);
}; };
/** <i>native declaration : headers\openvr_capi.h:1413</i> */
public interface ReleaseVideoStreamingService_callback extends Callback { public interface ReleaseVideoStreamingService_callback extends Callback {
int apply(long hTrackedCamera); int apply(long hTrackedCamera);
}; };
/** <i>native declaration : headers\openvr_capi.h:1414</i> */
public interface GetVideoStreamFrameBuffer_callback extends Callback { public interface GetVideoStreamFrameBuffer_callback extends Callback {
int apply(long hTrackedCamera, int eFrameType, Pointer pFrameBuffer, int nFrameBufferSize, CameraVideoStreamFrameHeader_t pFrameHeader, int nFrameHeaderSize); 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 { public interface GetVideoStreamTextureSize_callback extends Callback {
int apply(int nDeviceIndex, int eFrameType, VRTextureBounds_t pTextureBounds, IntByReference pnWidth, IntByReference pnHeight); 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 { public interface GetVideoStreamTextureD3D11_callback extends Callback {
int apply(long hTrackedCamera, int eFrameType, Pointer pD3D11DeviceOrResource, PointerByReference ppD3D11ShaderResourceView, CameraVideoStreamFrameHeader_t pFrameHeader, int nFrameHeaderSize); 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 { public interface GetVideoStreamTextureGL_callback extends Callback {
int apply(long hTrackedCamera, int eFrameType, IntByReference pglTextureId, CameraVideoStreamFrameHeader_t pFrameHeader, int nFrameHeaderSize); 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 { public interface ReleaseVideoStreamTextureGL_callback extends Callback {
int apply(long hTrackedCamera, int glTextureId); int apply(long hTrackedCamera, int glTextureId);
}; };
@ -76,7 +90,7 @@ public class VR_IVRTrackedCamera_FnTable extends Structure {
super(); super();
} }
protected List<String> getFieldOrder() { 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) { public VR_IVRTrackedCamera_FnTable(Pointer peer) {
super(peer); super(peer);

@ -44,7 +44,7 @@ public class MeshUtil {
verts[vertPos + 2] = 0f; // z verts[vertPos + 2] = 0f; // z
vertPos += 3; vertPos += 3;
DistortionCoordinates_t dc0; DistortionCoordinates_t dc0 = new DistortionCoordinates_t();
if( application.getVRHardware().getVRSystem() == null ) { if( application.getVRHardware().getVRSystem() == null ) {
// default to no distortion // default to no distortion
texcoordR[coordPos] = u; texcoordR[coordPos] = u;
@ -54,7 +54,7 @@ public class MeshUtil {
texcoordB[coordPos] = u; texcoordB[coordPos] = u;
texcoordB[coordPos + 1] = 1 - v; texcoordB[coordPos + 1] = 1 - v;
} else { } 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] = dc0.rfRed[0];
texcoordR[coordPos + 1] = 1 - dc0.rfRed[1]; 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.input.vr.VRInputType;
import com.jme3.material.RenderState.BlendMode; import com.jme3.material.RenderState.BlendMode;
import com.jme3.math.Vector2f; import com.jme3.math.Vector2f;
import com.jme3.scene.Node;
import com.jme3.system.AppSettings; import com.jme3.system.AppSettings;
import com.jme3.system.lwjgl.LwjglWindowVR; import com.jme3.system.lwjgl.LwjglWindowVR;
import com.jme3.texture.Texture; import com.jme3.texture.Texture;
@ -203,9 +204,12 @@ public class VRMouseManager {
Vector2f currentPos = getCursorPosition(); Vector2f currentPos = getCursorPosition();
mouseImage.setLocalTranslation(currentPos.x, currentPos.y - ySize, application.getVRGUIManager().getGuiDistance() + 1f); mouseImage.setLocalTranslation(currentPos.x, currentPos.y - ySize, application.getVRGUIManager().getGuiDistance() + 1f);
mouseImage.updateGeometricState(); mouseImage.updateGeometricState();
mouseImage.getParent().updateGeometricState();
} else if( mouseImage.getParent() != null ) { } else if( mouseImage.getParent() != null ) {
Node n = mouseImage.getParent();
mouseImage.removeFromParent(); mouseImage.removeFromParent();
n.updateGeometricState();
} }
} }
} }

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