Package org.lwjgl.ovr

Class OVRGL



  • public class OVRGL
    extends java.lang.Object
    Native bindings to libOVR, using the Oculus SDK C API.

    This class contains OpenGL specific functionality.

    • Method Detail

      • ovr_CreateTextureSwapChainGL

        public static int ovr_CreateTextureSwapChainGL(long session,
                                                       OVRTextureSwapChainDesc desc,
                                                       PointerBuffer out_TextureSwapChain)
        Creates a TextureSwapChain suitable for use with OpenGL.

        The format provided should be thought of as the format the distortion compositor will use when reading the contents of the texture. To that end, it is highly recommended that the application requests texture swap chain formats that are in sRGB-space (e.g. OVR.OVR_FORMAT_R8G8B8A8_UNORM_SRGB) as the distortion compositor does sRGB-correct rendering. Furthermore, the app should then make sure "glEnable(GL_FRAMEBUFFER_SRGB);" is called before rendering into these textures. Even though it is not recommended, if the application would like to treat the texture as a linear format and do linear-to-gamma conversion in GLSL, then the application can avoid calling "glEnable(GL_FRAMEBUFFER_SRGB);", but should still pass in an sRGB variant for the format. Failure to do so will cause the distortion compositor to apply incorrect gamma conversions leading to gamma-curve artifacts.

        Parameters:
        session - an ovrSession previously returned by Create
        desc - the requested texture properties. See notes for more info about texture format.
        out_TextureSwapChain - returns the created ovrTextureSwapChain, which will be valid upon a successful return value, else it will be NULL. This texture swap chain must be eventually destroyed via DestroyTextureSwapChain before destroying the HMD with Destroy.
        Returns:
        an ovrResult indicating success or failure. In the case of failure, use GetLastErrorInfo to get more information.
      • ovr_GetTextureSwapChainBufferGL

        public static int ovr_GetTextureSwapChainBufferGL(long session,
                                                          long chain,
                                                          int index,
                                                          java.nio.IntBuffer out_TexId)
        Get a specific buffer within the chain as a GL texture name.
        Parameters:
        session - an ovrSession previously returned by Create
        chain - an ovrTextureSwapChain previously returned by CreateTextureSwapChainGL
        index - the index within the chain to retrieve. Must be between 0 and length (see GetTextureSwapChainLength) or may pass -1 to get the buffer at the CurrentIndex location. (Saving a call to GetTextureSwapChainCurrentIndex)
        out_TexId - returns the GL texture object name associated with the specific index requested
        Returns:
        an ovrResult indicating success or failure. In the case of failure, use GetLastErrorInfo to get more information.
      • ovr_CreateMirrorTextureGL

        public static int ovr_CreateMirrorTextureGL(long session,
                                                    OVRMirrorTextureDesc desc,
                                                    PointerBuffer out_MirrorTexture)
        Creates a Mirror Texture which is auto-refreshed to mirror Rift contents produced by this application.

        The format provided should be thought of as the format the distortion compositor will use when writing into the mirror texture. It is highly recommended that mirror textures are requested as sRGB formats because the distortion compositor does sRGB-correct rendering. If the application requests a non-sRGB format (e.g. R8G8B8A8_UNORM) as the mirror texture, then the application might have to apply a manual linear-to-gamma conversion when reading from the mirror texture. Failure to do so can result in incorrect gamma conversions leading to gamma-curve artifacts and color banding.

        Parameters:
        session - an ovrSession previously returned by Create
        desc - the requested mirror texture description
        out_MirrorTexture - returns the created OVRMirrorTexture, which will be valid upon a successful return value, else it will be NULL. This texture must be eventually destroyed via DestroyMirrorTexture before destroying the HMD with Destroy.
        Returns:
        an ovrResult indicating success or failure. In the case of failure, use GetLastErrorInfo to get more information.
      • ovr_GetMirrorTextureBufferGL

        public static int ovr_GetMirrorTextureBufferGL(long session,
                                                       long mirrorTexture,
                                                       java.nio.IntBuffer out_TexId)
        Gets a the underlying buffer as a GL texture name.
        Parameters:
        session - an ovrSession previously returned by Create
        mirrorTexture - an OVRMirrorTexture previously returned by CreateMirrorTextureGL
        out_TexId - returns the GL texture object name associated with the mirror texture
        Returns:
        an ovrResult indicating success or failure. In the case of failure, use GetLastErrorInfo to get more information.
      • ovr_GetTextureSwapChainBufferGL

        public static int ovr_GetTextureSwapChainBufferGL(long session,
                                                          long chain,
                                                          int index,
                                                          int[] out_TexId)
        Array version of: GetTextureSwapChainBufferGL
      • ovr_GetMirrorTextureBufferGL

        public static int ovr_GetMirrorTextureBufferGL(long session,
                                                       long mirrorTexture,
                                                       int[] out_TexId)
        Array version of: GetMirrorTextureBufferGL