Class XrDriver

java.lang.Object
gaiasky.vr.openxr.XrDriver
All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable

public class XrDriver extends Object implements com.badlogic.gdx.utils.Disposable
Handles initialization and lifecycle of OpenXR. Only active when Gaia Sky is run in VR mode.
  • Field Details

    • systemId

      public long systemId
    • missingXrDebug

      public boolean missingXrDebug
    • runtimeName

      public String runtimeName
    • runtimeVersionString

      public String runtimeVersionString
    • hmdName

      public String hmdName
    • systemString

      public String systemString
    • runtimeVersion

      public long runtimeVersion
    • xrInstance

      public org.lwjgl.openxr.XrInstance xrInstance
    • xrSession

      public org.lwjgl.openxr.XrSession xrSession
    • xrDebugMessenger

      public org.lwjgl.openxr.XrDebugUtilsMessengerEXT xrDebugMessenger
    • xrAppSpace

      public org.lwjgl.openxr.XrSpace xrAppSpace
    • views

      public org.lwjgl.openxr.XrView.Buffer views
    • swapChains

      public XrDriver.SwapChain[] swapChains
    • viewConfigs

      public org.lwjgl.openxr.XrViewConfigurationView.Buffer viewConfigs
    • viewConfigType

      public final int viewConfigType
      See Also:
    • currentFrameTime

      public long currentFrameTime
  • Constructor Details

    • XrDriver

      public XrDriver()
  • Method Details

    • createOpenXRInstance

      public void createOpenXRInstance()
      Creates the OpenXR instance object. First method to call in the OpenXR initialization sequence.
    • initializeXRSystem

      public void initializeXRSystem()
      Creates the system with which to later create a session. Second method to call in the OpenXR initialization sequence.
    • getXrGraphicsRequirements

      public org.lwjgl.openxr.XrGraphicsRequirementsOpenGLKHR getXrGraphicsRequirements(org.lwjgl.system.MemoryStack stack)
    • checkOpenGL

      public void checkOpenGL()
    • initializeOpenXRSession

      public void initializeOpenXRSession(long windowHandle)
      Creates the XrSession object. Third method to call in the OpenXR initialization sequence.
    • createOpenXRReferenceSpace

      public void createOpenXRReferenceSpace()
      Creates an XrSpace from the previously created session. Fourth method to call in the OpenXR initialization sequence.
    • createOpenXRSwapchains

      public void createOpenXRSwapchains()
      Initializes the XR swapchains. Fifth method to call in the OpenXR initialization sequence.
    • initializeOpenGLFrameBuffers

      public void initializeOpenGLFrameBuffers()
    • initializeInput

      public void initializeInput()
    • renderFrameOpenXR

      public void renderFrameOpenXR()
      Renders the next frame with the current renderer.
    • getPath

      public long getPath(String name)
    • getLastPollEventsResult

      public boolean getLastPollEventsResult()
    • pollEvents

      public boolean pollEvents()
      Polls pending events in the OpenXR system.
      Returns:
      True if we must stop, false otherwise.
    • dispose

      public void dispose()
      Specified by:
      dispose in interface com.badlogic.gdx.utils.Disposable
    • disposeInput

      public void disposeInput()
    • check

      public void check(int result) throws IllegalStateException
      Throws:
      IllegalStateException
    • check

      public void check(int result, String method)
    • checkNoException

      public void checkNoException(int result)
    • checkNoException

      public void checkNoException(int result, String method)
    • getWidth

      public int getWidth()
    • getHeight

      public int getHeight()
    • getControllerDevices

      public com.badlogic.gdx.utils.Array<XrControllerDevice> getControllerDevices()
    • addListener

      public void addListener(XrInputListener listener)
      Adds a XrInputListener to receive events
    • removeListener

      public void removeListener(XrInputListener listener)
      Removes a XrInputListener
    • setRenderer

      public void setRenderer(XrRenderer renderer)
    • hasRenderer

      public boolean hasRenderer()
    • isRunning

      public boolean isRunning()