Class VROverlay


  • public class VROverlay
    extends java.lang.Object
    Overlay management methods.
    • Method Detail

      • nVROverlay_FindOverlay

        public static int nVROverlay_FindOverlay​(long pchOverlayKey,
                                                 long pOverlayHandle)
        Unsafe version of: FindOverlay
      • VROverlay_FindOverlay

        public static int VROverlay_FindOverlay​(java.nio.ByteBuffer pchOverlayKey,
                                                java.nio.LongBuffer pOverlayHandle)
        
        public static int VROverlay_FindOverlay​(java.lang.CharSequence pchOverlayKey,
                                                java.nio.LongBuffer pOverlayHandle)
        
        Finds an existing overlay with the specified key.
      • nVROverlay_CreateOverlay

        public static int nVROverlay_CreateOverlay​(long pchOverlayKey,
                                                   long pchOverlayName,
                                                   long pOverlayHandle)
        Unsafe version of: CreateOverlay
      • VROverlay_CreateOverlay

        public static int VROverlay_CreateOverlay​(java.nio.ByteBuffer pchOverlayKey,
                                                  java.nio.ByteBuffer pchOverlayName,
                                                  java.nio.LongBuffer pOverlayHandle)
        
        public static int VROverlay_CreateOverlay​(java.lang.CharSequence pchOverlayKey,
                                                  java.lang.CharSequence pchOverlayName,
                                                  java.nio.LongBuffer pOverlayHandle)
        
        Creates a new named overlay. All overlays start hidden and with default settings.
      • VROverlay_DestroyOverlay

        public static int VROverlay_DestroyOverlay​(long ulOverlayHandle)
        Destroys the specified overlay. When an application calls ShutdownInternal all overlays created by that app are automatically destroyed.
      • VROverlay_SetHighQualityOverlay

        public static int VROverlay_SetHighQualityOverlay​(long ulOverlayHandle)
        Specify which overlay to use the high quality render path.

        This overlay will be composited in during the distortion pass which results in it drawing on top of everything else, but also at a higher quality as it samples the source texture directly rather than rasterizing into each eye's render texture first. Because if this, only one of these is supported at any given time. It is most useful for overlays that are expected to take up most of the user's view (e.g. streaming video). This mode does not support mouse input to your overlay.

      • VROverlay_GetHighQualityOverlay

        public static long VROverlay_GetHighQualityOverlay()
        Returns the overlay handle of the current overlay being rendered using the single high quality overlay render path. Otherwise it will return VR.k_ulOverlayHandleInvalid.
      • nVROverlay_GetOverlayKey

        public static int nVROverlay_GetOverlayKey​(long ulOverlayHandle,
                                                   long pchValue,
                                                   int unBufferSize,
                                                   long pError)
        Unsafe version of: GetOverlayKey
      • VROverlay_GetOverlayKey

        public static int VROverlay_GetOverlayKey​(long ulOverlayHandle,
                                                  @Nullable
                                                  java.nio.ByteBuffer pchValue,
                                                  java.nio.IntBuffer pError)
        
        public static java.lang.String VROverlay_GetOverlayKey​(long ulOverlayHandle,
                                                               int unBufferSize,
                                                               java.nio.IntBuffer pError)
        
        Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including the terminating null character. VR.k_unVROverlayMaxKeyLength will be enough bytes to fit the string.
      • nVROverlay_GetOverlayName

        public static int nVROverlay_GetOverlayName​(long ulOverlayHandle,
                                                    long pchValue,
                                                    int unBufferSize,
                                                    long pError)
        Unsafe version of: GetOverlayName
      • VROverlay_GetOverlayName

        public static int VROverlay_GetOverlayName​(long ulOverlayHandle,
                                                   @Nullable
                                                   java.nio.ByteBuffer pchValue,
                                                   java.nio.IntBuffer pError)
        
        public static java.lang.String VROverlay_GetOverlayName​(long ulOverlayHandle,
                                                                int unBufferSize,
                                                                java.nio.IntBuffer pError)
        
        Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including the terminating null character. VR.k_unVROverlayMaxNameLength will be enough bytes to fit the string.
      • nVROverlay_SetOverlayName

        public static int nVROverlay_SetOverlayName​(long ulOverlayHandle,
                                                    long pchName)
        Unsafe version of: SetOverlayName
      • VROverlay_SetOverlayName

        public static int VROverlay_SetOverlayName​(long ulOverlayHandle,
                                                   java.nio.ByteBuffer pchName)
        
        public static int VROverlay_SetOverlayName​(long ulOverlayHandle,
                                                   java.lang.CharSequence pchName)
        
        Sets the name to use for this overlay.
      • nVROverlay_GetOverlayImageData

        public static int nVROverlay_GetOverlayImageData​(long ulOverlayHandle,
                                                         long pvBuffer,
                                                         int unBufferSize,
                                                         long punWidth,
                                                         long punHeight)
        Unsafe version of: GetOverlayImageData
      • VROverlay_GetOverlayImageData

        public static int VROverlay_GetOverlayImageData​(long ulOverlayHandle,
                                                        java.nio.ByteBuffer pvBuffer,
                                                        java.nio.IntBuffer punWidth,
                                                        java.nio.IntBuffer punHeight)
        Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height will be set and VR.EVROverlayError_VROverlayError_ArrayTooSmall is returned.
      • nVROverlay_GetOverlayErrorNameFromEnum

        public static long nVROverlay_GetOverlayErrorNameFromEnum​(int error)
        Unsafe version of: GetOverlayErrorNameFromEnum
      • VROverlay_SetOverlayRenderingPid

        public static int VROverlay_SetOverlayRenderingPid​(long ulOverlayHandle,
                                                           int unPID)
        Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), by default this is the pid of the process that made the overlay.
      • VROverlay_GetOverlayRenderingPid

        public static int VROverlay_GetOverlayRenderingPid​(long ulOverlayHandle)
        Gets the pid that is allowed to render to this overlay.
      • nVROverlay_GetOverlayFlag

        public static int nVROverlay_GetOverlayFlag​(long ulOverlayHandle,
                                                    int eOverlayFlag,
                                                    long pbEnabled)
        Unsafe version of: GetOverlayFlag
      • VROverlay_SetOverlayColor

        public static int VROverlay_SetOverlayColor​(long ulOverlayHandle,
                                                    float fRed,
                                                    float fGreen,
                                                    float fBlue)
        Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel.
      • nVROverlay_GetOverlayColor

        public static int nVROverlay_GetOverlayColor​(long ulOverlayHandle,
                                                     long pfRed,
                                                     long pfGreen,
                                                     long pfBlue)
        Unsafe version of: GetOverlayColor
      • VROverlay_GetOverlayColor

        public static int VROverlay_GetOverlayColor​(long ulOverlayHandle,
                                                    java.nio.FloatBuffer pfRed,
                                                    java.nio.FloatBuffer pfGreen,
                                                    java.nio.FloatBuffer pfBlue)
        Gets the color tint of the overlay quad.
      • VROverlay_SetOverlayAlpha

        public static int VROverlay_SetOverlayAlpha​(long ulOverlayHandle,
                                                    float fAlpha)
        Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity.
      • nVROverlay_GetOverlayAlpha

        public static int nVROverlay_GetOverlayAlpha​(long ulOverlayHandle,
                                                     long pfAlpha)
        Unsafe version of: GetOverlayAlpha
      • VROverlay_GetOverlayAlpha

        public static int VROverlay_GetOverlayAlpha​(long ulOverlayHandle,
                                                    java.nio.FloatBuffer pfAlpha)
        Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0).
      • VROverlay_SetOverlayTexelAspect

        public static int VROverlay_SetOverlayTexelAspect​(long ulOverlayHandle,
                                                          float fTexelAspect)
        Sets the aspect ratio of the texels in the overlay. 1.0 means the texels are square. 2.0 means the texels are twice as wide as they are tall.

        Defaults to 1.0.

      • nVROverlay_GetOverlayTexelAspect

        public static int nVROverlay_GetOverlayTexelAspect​(long ulOverlayHandle,
                                                           long pfTexelAspect)
        Unsafe version of: GetOverlayTexelAspect
      • VROverlay_GetOverlayTexelAspect

        public static int VROverlay_GetOverlayTexelAspect​(long ulOverlayHandle,
                                                          java.nio.FloatBuffer pfTexelAspect)
        Gets the aspect ratio of the texels in the overlay. Defaults to 1.0.
      • VROverlay_SetOverlaySortOrder

        public static int VROverlay_SetOverlaySortOrder​(long ulOverlayHandle,
                                                        int unSortOrder)
        Sets the rendering sort order for the overlay. Overlays are rendered this order:
        • Overlays owned by the scene application
        • Overlays owned by some other application

        Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same sort order are rendered back to front base on distance from the HMD.

        Sort order defaults to 0.

      • nVROverlay_GetOverlaySortOrder

        public static int nVROverlay_GetOverlaySortOrder​(long ulOverlayHandle,
                                                         long punSortOrder)
        Unsafe version of: GetOverlaySortOrder
      • VROverlay_GetOverlaySortOrder

        public static int VROverlay_GetOverlaySortOrder​(long ulOverlayHandle,
                                                        java.nio.IntBuffer punSortOrder)
        Gets the sort order of the overlay. See SetOverlaySortOrder for how this works.
      • VROverlay_SetOverlayWidthInMeters

        public static int VROverlay_SetOverlayWidthInMeters​(long ulOverlayHandle,
                                                            float fWidthInMeters)
        Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across.
      • nVROverlay_GetOverlayWidthInMeters

        public static int nVROverlay_GetOverlayWidthInMeters​(long ulOverlayHandle,
                                                             long pfWidthInMeters)
        Unsafe version of: GetOverlayWidthInMeters
      • VROverlay_GetOverlayWidthInMeters

        public static int VROverlay_GetOverlayWidthInMeters​(long ulOverlayHandle,
                                                            java.nio.FloatBuffer pfWidthInMeters)
        Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across.
      • VROverlay_SetOverlayAutoCurveDistanceRangeInMeters

        public static int VROverlay_SetOverlayAutoCurveDistanceRangeInMeters​(long ulOverlayHandle,
                                                                             float fMinDistanceInMeters,
                                                                             float fMaxDistanceInMeters)
        For high-quality curved overlays only, sets the distance range in meters from the overlay used to automatically curve the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved.
      • nVROverlay_GetOverlayAutoCurveDistanceRangeInMeters

        public static int nVROverlay_GetOverlayAutoCurveDistanceRangeInMeters​(long ulOverlayHandle,
                                                                              long pfMinDistanceInMeters,
                                                                              long pfMaxDistanceInMeters)
      • VROverlay_GetOverlayAutoCurveDistanceRangeInMeters

        public static int VROverlay_GetOverlayAutoCurveDistanceRangeInMeters​(long ulOverlayHandle,
                                                                             java.nio.FloatBuffer pfMinDistanceInMeters,
                                                                             java.nio.FloatBuffer pfMaxDistanceInMeters)
        For high-quality curved overlays only, gets the distance range in meters from the overlay used to automatically curve the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved.
      • nVROverlay_GetOverlayTextureColorSpace

        public static int nVROverlay_GetOverlayTextureColorSpace​(long ulOverlayHandle,
                                                                 long peTextureColorSpace)
        Unsafe version of: GetOverlayTextureColorSpace
      • VROverlay_GetOverlayTextureColorSpace

        public static int VROverlay_GetOverlayTextureColorSpace​(long ulOverlayHandle,
                                                                java.nio.IntBuffer peTextureColorSpace)
        Gets the overlay's current colorspace setting.
      • nVROverlay_SetOverlayTextureBounds

        public static int nVROverlay_SetOverlayTextureBounds​(long ulOverlayHandle,
                                                             long pOverlayTextureBounds)
        Unsafe version of: SetOverlayTextureBounds
      • VROverlay_SetOverlayTextureBounds

        public static int VROverlay_SetOverlayTextureBounds​(long ulOverlayHandle,
                                                            VRTextureBounds pOverlayTextureBounds)
        Sets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner.
      • nVROverlay_GetOverlayTextureBounds

        public static int nVROverlay_GetOverlayTextureBounds​(long ulOverlayHandle,
                                                             long pOverlayTextureBounds)
        Unsafe version of: GetOverlayTextureBounds
      • VROverlay_GetOverlayTextureBounds

        public static int VROverlay_GetOverlayTextureBounds​(long ulOverlayHandle,
                                                            VRTextureBounds pOverlayTextureBounds)
        Gets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner.
      • nVROverlay_GetOverlayRenderModel

        public static int nVROverlay_GetOverlayRenderModel​(long ulOverlayHandle,
                                                           long pchValue,
                                                           int unBufferSize,
                                                           long pColor,
                                                           long pError)
        Unsafe version of: GetOverlayRenderModel
      • VROverlay_GetOverlayRenderModel

        public static int VROverlay_GetOverlayRenderModel​(long ulOverlayHandle,
                                                          java.nio.ByteBuffer pchValue,
                                                          HmdColor pColor,
                                                          java.nio.IntBuffer pError)
        Gets render model to draw behind this overlay.
      • nVROverlay_SetOverlayRenderModel

        public static int nVROverlay_SetOverlayRenderModel​(long ulOverlayHandle,
                                                           long pchRenderModel,
                                                           long pColor)
      • VROverlay_SetOverlayRenderModel

        public static int VROverlay_SetOverlayRenderModel​(long ulOverlayHandle,
                                                          java.nio.ByteBuffer pchRenderModel,
                                                          HmdColor pColor)
      • VROverlay_SetOverlayRenderModel

        public static int VROverlay_SetOverlayRenderModel​(long ulOverlayHandle,
                                                          java.lang.CharSequence pchRenderModel,
                                                          HmdColor pColor)
      • nVROverlay_GetOverlayTransformType

        public static int nVROverlay_GetOverlayTransformType​(long ulOverlayHandle,
                                                             long peTransformType)
        Unsafe version of: GetOverlayTransformType
      • VROverlay_GetOverlayTransformType

        public static int VROverlay_GetOverlayTransformType​(long ulOverlayHandle,
                                                            java.nio.IntBuffer peTransformType)
        Returns the transform type of this overlay.
      • nVROverlay_SetOverlayTransformAbsolute

        public static int nVROverlay_SetOverlayTransformAbsolute​(long ulOverlayHandle,
                                                                 int eTrackingOrigin,
                                                                 long pmatTrackingOriginToOverlayTransform)
        Unsafe version of: SetOverlayTransformAbsolute
      • nVROverlay_GetOverlayTransformAbsolute

        public static int nVROverlay_GetOverlayTransformAbsolute​(long ulOverlayHandle,
                                                                 long peTrackingOrigin,
                                                                 long pmatTrackingOriginToOverlayTransform)
        Unsafe version of: GetOverlayTransformAbsolute
      • VROverlay_GetOverlayTransformAbsolute

        public static int VROverlay_GetOverlayTransformAbsolute​(long ulOverlayHandle,
                                                                java.nio.IntBuffer peTrackingOrigin,
                                                                HmdMatrix34 pmatTrackingOriginToOverlayTransform)
        Gets the transform if it is absolute. Returns an error if the transform is some other type.
      • nVROverlay_SetOverlayTransformTrackedDeviceRelative

        public static int nVROverlay_SetOverlayTransformTrackedDeviceRelative​(long ulOverlayHandle,
                                                                              int unTrackedDevice,
                                                                              long pmatTrackedDeviceToOverlayTransform)
      • VROverlay_SetOverlayTransformTrackedDeviceRelative

        public static int VROverlay_SetOverlayTransformTrackedDeviceRelative​(long ulOverlayHandle,
                                                                             int unTrackedDevice,
                                                                             HmdMatrix34 pmatTrackedDeviceToOverlayTransform)
        Sets the transform to relative to the transform of the specified tracked device.
      • nVROverlay_GetOverlayTransformTrackedDeviceRelative

        public static int nVROverlay_GetOverlayTransformTrackedDeviceRelative​(long ulOverlayHandle,
                                                                              long punTrackedDevice,
                                                                              long pmatTrackedDeviceToOverlayTransform)
      • VROverlay_GetOverlayTransformTrackedDeviceRelative

        public static int VROverlay_GetOverlayTransformTrackedDeviceRelative​(long ulOverlayHandle,
                                                                             java.nio.IntBuffer punTrackedDevice,
                                                                             HmdMatrix34 pmatTrackedDeviceToOverlayTransform)
        Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type.
      • nVROverlay_SetOverlayTransformTrackedDeviceComponent

        public static int nVROverlay_SetOverlayTransformTrackedDeviceComponent​(long ulOverlayHandle,
                                                                               int unDeviceIndex,
                                                                               long pchComponentName)
      • VROverlay_SetOverlayTransformTrackedDeviceComponent

        public static int VROverlay_SetOverlayTransformTrackedDeviceComponent​(long ulOverlayHandle,
                                                                              int unDeviceIndex,
                                                                              java.nio.ByteBuffer pchComponentName)
        
        public static int VROverlay_SetOverlayTransformTrackedDeviceComponent​(long ulOverlayHandle,
                                                                              int unDeviceIndex,
                                                                              java.lang.CharSequence pchComponentName)
        
        Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is drawing the device. Overlays with this transform type cannot receive mouse events.
      • nVROverlay_GetOverlayTransformTrackedDeviceComponent

        public static int nVROverlay_GetOverlayTransformTrackedDeviceComponent​(long ulOverlayHandle,
                                                                               long punDeviceIndex,
                                                                               long pchComponentName,
                                                                               int unComponentNameSize)
      • VROverlay_GetOverlayTransformTrackedDeviceComponent

        public static int VROverlay_GetOverlayTransformTrackedDeviceComponent​(long ulOverlayHandle,
                                                                              java.nio.IntBuffer punDeviceIndex,
                                                                              java.nio.ByteBuffer pchComponentName)
        Gets the transform information when the overlay is rendering on a component.
      • nVROverlay_GetOverlayTransformOverlayRelative

        public static int nVROverlay_GetOverlayTransformOverlayRelative​(long ulOverlayHandle,
                                                                        long ulOverlayHandleParent,
                                                                        long pmatParentOverlayToOverlayTransform)
      • VROverlay_GetOverlayTransformOverlayRelative

        public static int VROverlay_GetOverlayTransformOverlayRelative​(long ulOverlayHandle,
                                                                       java.nio.LongBuffer ulOverlayHandleParent,
                                                                       HmdMatrix34 pmatParentOverlayToOverlayTransform)
      • nVROverlay_SetOverlayTransformOverlayRelative

        public static int nVROverlay_SetOverlayTransformOverlayRelative​(long ulOverlayHandle,
                                                                        long ulOverlayHandleParent,
                                                                        long pmatParentOverlayToOverlayTransform)
      • VROverlay_SetOverlayTransformOverlayRelative

        public static int VROverlay_SetOverlayTransformOverlayRelative​(long ulOverlayHandle,
                                                                       long ulOverlayHandleParent,
                                                                       HmdMatrix34 pmatParentOverlayToOverlayTransform)
      • VROverlay_ShowOverlay

        public static int VROverlay_ShowOverlay​(long ulOverlayHandle)
        Shows the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this.
      • VROverlay_HideOverlay

        public static int VROverlay_HideOverlay​(long ulOverlayHandle)
        Hides the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this.
      • VROverlay_IsOverlayVisible

        public static boolean VROverlay_IsOverlayVisible​(long ulOverlayHandle)
        Returns true if the overlay is visible.
      • nVROverlay_GetTransformForOverlayCoordinates

        public static int nVROverlay_GetTransformForOverlayCoordinates​(long ulOverlayHandle,
                                                                       int eTrackingOrigin,
                                                                       long coordinatesInOverlay,
                                                                       long pmatTransform)
      • nVROverlay_PollNextOverlayEvent

        public static boolean nVROverlay_PollNextOverlayEvent​(long ulOverlayHandle,
                                                              long pEvent,
                                                              int uncbVREvent)
        Unsafe version of: PollNextOverlayEvent
      • VROverlay_PollNextOverlayEvent

        public static boolean VROverlay_PollNextOverlayEvent​(long ulOverlayHandle,
                                                             VREvent pEvent,
                                                             int uncbVREvent)
        
        public static boolean VROverlay_PollNextOverlayEvent​(long ulOverlayHandle,
                                                             VREvent pEvent)
        
        Returns true and fills the event with the next event on the overlay's event queue, if there is one.

        If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent struct.

      • nVROverlay_GetOverlayInputMethod

        public static int nVROverlay_GetOverlayInputMethod​(long ulOverlayHandle,
                                                           long peInputMethod)
        Unsafe version of: GetOverlayInputMethod
      • VROverlay_GetOverlayInputMethod

        public static int VROverlay_GetOverlayInputMethod​(long ulOverlayHandle,
                                                          java.nio.IntBuffer peInputMethod)
        Returns the current input settings for the specified overlay.
      • nVROverlay_GetOverlayMouseScale

        public static int nVROverlay_GetOverlayMouseScale​(long ulOverlayHandle,
                                                          long pvecMouseScale)
        Unsafe version of: GetOverlayMouseScale
      • VROverlay_GetOverlayMouseScale

        public static int VROverlay_GetOverlayMouseScale​(long ulOverlayHandle,
                                                         HmdVector2 pvecMouseScale)
        Gets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is typically the size of the underlying UI in pixels.
      • nVROverlay_SetOverlayMouseScale

        public static int nVROverlay_SetOverlayMouseScale​(long ulOverlayHandle,
                                                          long pvecMouseScale)
        Unsafe version of: SetOverlayMouseScale
      • VROverlay_SetOverlayMouseScale

        public static int VROverlay_SetOverlayMouseScale​(long ulOverlayHandle,
                                                         HmdVector2 pvecMouseScale)
        Sets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is typically the size of the underlying UI in pixels (not in world space).
      • nVROverlay_ComputeOverlayIntersection

        public static boolean nVROverlay_ComputeOverlayIntersection​(long ulOverlayHandle,
                                                                    long pParams,
                                                                    long pResults)
        Unsafe version of: ComputeOverlayIntersection
      • VROverlay_ComputeOverlayIntersection

        public static boolean VROverlay_ComputeOverlayIntersection​(long ulOverlayHandle,
                                                                   VROverlayIntersectionParams pParams,
                                                                   VROverlayIntersectionResults pResults)
        Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the specified settings. Returns false if there is no intersection.
      • VROverlay_IsHoverTargetOverlay

        public static boolean VROverlay_IsHoverTargetOverlay​(long ulOverlayHandle)
        Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" by the virtual mouse pointer.
      • VROverlay_GetGamepadFocusOverlay

        public static long VROverlay_GetGamepadFocusOverlay()
        Returns the current Gamepad focus overlay.
      • VROverlay_SetGamepadFocusOverlay

        public static int VROverlay_SetGamepadFocusOverlay​(long ulNewFocusOverlay)
        Sets the current Gamepad focus overlay.
      • nVROverlay_SetOverlayDualAnalogTransform

        public static int nVROverlay_SetOverlayDualAnalogTransform​(long ulOverlay,
                                                                   int eWhich,
                                                                   long pvCenter,
                                                                   float fRadius)
      • nVROverlay_GetOverlayDualAnalogTransform

        public static int nVROverlay_GetOverlayDualAnalogTransform​(long ulOverlay,
                                                                   int eWhich,
                                                                   long pvCenter,
                                                                   long pfRadius)
      • nVROverlay_SetOverlayTexture

        public static int nVROverlay_SetOverlayTexture​(long ulOverlayHandle,
                                                       long pTexture)
        Unsafe version of: SetOverlayTexture
      • VROverlay_SetOverlayTexture

        public static int VROverlay_SetOverlayTexture​(long ulOverlayHandle,
                                                      Texture pTexture)
        Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see SetOverlayRenderingPid).
      • VROverlay_ClearOverlayTexture

        public static int VROverlay_ClearOverlayTexture​(long ulOverlayHandle)
        Use this to tell the overlay system to release the texture set for this overlay.
      • nVROverlay_SetOverlayRaw

        public static int nVROverlay_SetOverlayRaw​(long ulOverlayHandle,
                                                   long pvBuffer,
                                                   int unWidth,
                                                   int unHeight,
                                                   int unDepth)
        Unsafe version of: SetOverlayRaw
      • VROverlay_SetOverlayRaw

        public static int VROverlay_SetOverlayRaw​(long ulOverlayHandle,
                                                  java.nio.ByteBuffer pvBuffer,
                                                  int unWidth,
                                                  int unHeight,
                                                  int unDepth)
        Separate interface for providing the data as a stream of bytes, but there is an upper bound on data that can be sent. This function can only be called by the overlay's renderer process.
      • nVROverlay_SetOverlayFromFile

        public static int nVROverlay_SetOverlayFromFile​(long ulOverlayHandle,
                                                        long pchFilePath)
        Unsafe version of: SetOverlayFromFile
      • VROverlay_SetOverlayFromFile

        public static int VROverlay_SetOverlayFromFile​(long ulOverlayHandle,
                                                       java.nio.ByteBuffer pchFilePath)
        
        public static int VROverlay_SetOverlayFromFile​(long ulOverlayHandle,
                                                       java.lang.CharSequence pchFilePath)
        
        Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. This function can only be called by the overlay's renderer process
      • nVROverlay_GetOverlayTexture

        public static int nVROverlay_GetOverlayTexture​(long ulOverlayHandle,
                                                       long pNativeTextureHandle,
                                                       long pNativeTextureRef,
                                                       long pWidth,
                                                       long pHeight,
                                                       long pNativeFormat,
                                                       long pAPIType,
                                                       long pColorSpace,
                                                       long pTextureBounds)
        Unsafe version of: GetOverlayTexture
      • VROverlay_GetOverlayTexture

        public static int VROverlay_GetOverlayTexture​(long ulOverlayHandle,
                                                      PointerBuffer pNativeTextureHandle,
                                                      long pNativeTextureRef,
                                                      java.nio.IntBuffer pWidth,
                                                      java.nio.IntBuffer pHeight,
                                                      java.nio.IntBuffer pNativeFormat,
                                                      java.nio.IntBuffer pAPIType,
                                                      java.nio.IntBuffer pColorSpace,
                                                      VRTextureBounds pTextureBounds)
        Get the native texture handle/device for an overlay you have created.

        On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound.

        The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above.

        You MUST call ReleaseNativeOverlayHandle with pNativeTextureHandle once you are done with this texture.

        pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *. pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle.

      • VROverlay_ReleaseNativeOverlayHandle

        public static int VROverlay_ReleaseNativeOverlayHandle​(long ulOverlayHandle,
                                                               long pNativeTextureHandle)
        Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object, so only do it once you stop rendering this texture.
      • nVROverlay_GetOverlayTextureSize

        public static int nVROverlay_GetOverlayTextureSize​(long ulOverlayHandle,
                                                           long pWidth,
                                                           long pHeight)
        Unsafe version of: GetOverlayTextureSize
      • VROverlay_GetOverlayTextureSize

        public static int VROverlay_GetOverlayTextureSize​(long ulOverlayHandle,
                                                          java.nio.IntBuffer pWidth,
                                                          java.nio.IntBuffer pHeight)
        Get the size of the overlay texture.
      • nVROverlay_CreateDashboardOverlay

        public static int nVROverlay_CreateDashboardOverlay​(long pchOverlayKey,
                                                            long pchOverlayFriendlyName,
                                                            long pMainHandle,
                                                            long pThumbnailHandle)
        Unsafe version of: CreateDashboardOverlay
      • VROverlay_CreateDashboardOverlay

        public static int VROverlay_CreateDashboardOverlay​(java.nio.ByteBuffer pchOverlayKey,
                                                           java.nio.ByteBuffer pchOverlayFriendlyName,
                                                           java.nio.LongBuffer pMainHandle,
                                                           java.nio.LongBuffer pThumbnailHandle)
        
        public static int VROverlay_CreateDashboardOverlay​(java.lang.CharSequence pchOverlayKey,
                                                           java.lang.CharSequence pchOverlayFriendlyName,
                                                           java.nio.LongBuffer pMainHandle,
                                                           java.nio.LongBuffer pThumbnailHandle)
        
        Creates a dashboard overlay and returns its handle.
      • VROverlay_IsDashboardVisible

        public static boolean VROverlay_IsDashboardVisible()
        Returns true if the dashboard is visible.
      • VROverlay_IsActiveDashboardOverlay

        public static boolean VROverlay_IsActiveDashboardOverlay​(long ulOverlayHandle)
        Returns true if the dashboard is visible and the specified overlay is the active system Overlay.
      • VROverlay_SetDashboardOverlaySceneProcess

        public static int VROverlay_SetDashboardOverlaySceneProcess​(long ulOverlayHandle,
                                                                    int unProcessId)
        Sets the dashboard overlay to only appear when the specified process ID has scene focus.
      • nVROverlay_GetDashboardOverlaySceneProcess

        public static int nVROverlay_GetDashboardOverlaySceneProcess​(long ulOverlayHandle,
                                                                     long punProcessId)
      • VROverlay_GetDashboardOverlaySceneProcess

        public static int VROverlay_GetDashboardOverlaySceneProcess​(long ulOverlayHandle,
                                                                    java.nio.IntBuffer punProcessId)
        Gets the process ID that this dashboard overlay requires to have scene focus.
      • nVROverlay_ShowDashboard

        public static void nVROverlay_ShowDashboard​(long pchOverlayToShow)
        Unsafe version of: ShowDashboard
      • VROverlay_ShowDashboard

        public static void VROverlay_ShowDashboard​(java.nio.ByteBuffer pchOverlayToShow)
        
        public static void VROverlay_ShowDashboard​(java.lang.CharSequence pchOverlayToShow)
        
        Shows the dashboard.
      • VROverlay_GetPrimaryDashboardDevice

        public static int VROverlay_GetPrimaryDashboardDevice()
        Returns the tracked device that has the laser pointer in the dashboard.
      • nVROverlay_ShowKeyboard

        public static int nVROverlay_ShowKeyboard​(int eInputMode,
                                                  int eLineInputMode,
                                                  long pchDescription,
                                                  int unCharMax,
                                                  long pchExistingText,
                                                  boolean bUseMinimalMode,
                                                  long uUserValue)
        Unsafe version of: ShowKeyboard
      • nVROverlay_ShowKeyboardForOverlay

        public static int nVROverlay_ShowKeyboardForOverlay​(long ulOverlayHandle,
                                                            int eInputMode,
                                                            int eLineInputMode,
                                                            long pchDescription,
                                                            int unCharMax,
                                                            long pchExistingText,
                                                            boolean bUseMinimalMode,
                                                            long uUserValue)
        Unsafe version of: ShowKeyboardForOverlay
      • nVROverlay_GetKeyboardText

        public static int nVROverlay_GetKeyboardText​(long pchText,
                                                     int cchText)
        Unsafe version of: GetKeyboardText
      • VROverlay_GetKeyboardText

        public static int VROverlay_GetKeyboardText​(@Nullable
                                                    java.nio.ByteBuffer pchText)
        
        public static java.lang.String VROverlay_GetKeyboardText​(int cchText)
        
        Get the text that was entered into the text input.
      • VROverlay_HideKeyboard

        public static void VROverlay_HideKeyboard()
        Hide the virtual keyboard.
      • nVROverlay_SetKeyboardTransformAbsolute

        public static void nVROverlay_SetKeyboardTransformAbsolute​(int eTrackingOrigin,
                                                                   long pmatTrackingOriginToKeyboardTransform)
        Unsafe version of: SetKeyboardTransformAbsolute
      • nVROverlay_SetKeyboardPositionForOverlay

        public static void nVROverlay_SetKeyboardPositionForOverlay​(long ulOverlayHandle,
                                                                    long avoidRect)
      • VROverlay_SetKeyboardPositionForOverlay

        public static void VROverlay_SetKeyboardPositionForOverlay​(long ulOverlayHandle,
                                                                   HmdRect2 avoidRect)
        Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left.
      • nVROverlay_SetOverlayIntersectionMask

        public static int nVROverlay_SetOverlayIntersectionMask​(long ulOverlayHandle,
                                                                long pMaskPrimitives,
                                                                int unNumMaskPrimitives,
                                                                int unPrimitiveSize)
        Unsafe version of: SetOverlayIntersectionMask
      • VROverlay_SetOverlayIntersectionMask

        public static int VROverlay_SetOverlayIntersectionMask​(long ulOverlayHandle,
                                                               VROverlayIntersectionMaskPrimitive.Buffer pMaskPrimitives)
        Sets a list of primitives to be used for controller ray intersection typically the size of the underlying UI in pixels(not in world space).
      • nVROverlay_GetOverlayFlags

        public static int nVROverlay_GetOverlayFlags​(long ulOverlayHandle,
                                                     long pFlags)
      • VROverlay_GetOverlayFlags

        public static int VROverlay_GetOverlayFlags​(long ulOverlayHandle,
                                                    java.nio.IntBuffer pFlags)
      • nVROverlay_ShowMessageOverlay

        public static int nVROverlay_ShowMessageOverlay​(long pchText,
                                                        long pchCaption,
                                                        long pchButton0Text,
                                                        long pchButton1Text,
                                                        long pchButton2Text,
                                                        long pchButton3Text)
        Unsafe version of: ShowMessageOverlay
      • VROverlay_ShowMessageOverlay

        public static int VROverlay_ShowMessageOverlay​(java.nio.ByteBuffer pchText,
                                                       java.nio.ByteBuffer pchCaption,
                                                       java.nio.ByteBuffer pchButton0Text,
                                                       @Nullable
                                                       java.nio.ByteBuffer pchButton1Text,
                                                       @Nullable
                                                       java.nio.ByteBuffer pchButton2Text,
                                                       @Nullable
                                                       java.nio.ByteBuffer pchButton3Text)
        
        public static int VROverlay_ShowMessageOverlay​(java.lang.CharSequence pchText,
                                                       java.lang.CharSequence pchCaption,
                                                       java.lang.CharSequence pchButton0Text,
                                                       @Nullable
                                                       java.lang.CharSequence pchButton1Text,
                                                       @Nullable
                                                       java.lang.CharSequence pchButton2Text,
                                                       @Nullable
                                                       java.lang.CharSequence pchButton3Text)
        
        Show the message overlay. This will block and return you a result.
      • VROverlay_CloseMessageOverlay

        public static void VROverlay_CloseMessageOverlay()
        If the calling process owns the overlay and it's open, this will close it.