Class OVRGL
- java.lang.Object
-
- org.lwjgl.ovr.OVRGL
-
public class OVRGL extends java.lang.ObjectNative bindings to libOVR, using the Oculus SDK C API.This class contains OpenGL specific functionality.
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static intovr_CreateMirrorTextureGL(long session, OVRMirrorTextureDesc desc, PointerBuffer out_MirrorTexture)Creates a Mirror Texture which is auto-refreshed to mirror Rift contents produced by this application.static intovr_CreateTextureSwapChainGL(long session, OVRTextureSwapChainDesc desc, PointerBuffer out_TextureSwapChain)Creates a TextureSwapChain suitable for use with OpenGL.static intovr_GetMirrorTextureBufferGL(long session, long mirrorTexture, int[] out_TexId)Array version of:GetMirrorTextureBufferGLstatic intovr_GetMirrorTextureBufferGL(long session, long mirrorTexture, java.nio.IntBuffer out_TexId)Gets a the underlying buffer as a GL texture name.static intovr_GetTextureSwapChainBufferGL(long session, long chain, int index, int[] out_TexId)Array version of:GetTextureSwapChainBufferGLstatic intovr_GetTextureSwapChainBufferGL(long session, long chain, int index, java.nio.IntBuffer out_TexId)Get a specific buffer within the chain as a GL texture name.
-
-
-
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- anovrSessionpreviously returned byCreatedesc- the requested texture properties. See notes for more info about texture format.out_TextureSwapChain- returns the createdovrTextureSwapChain, which will be valid upon a successful return value, else it will beNULL. This texture swap chain must be eventually destroyed viaDestroyTextureSwapChainbefore destroying the HMD withDestroy.- Returns:
- an
ovrResultindicating success or failure. In the case of failure, useGetLastErrorInfoto 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- anovrSessionpreviously returned byCreatechain- anovrTextureSwapChainpreviously returned byCreateTextureSwapChainGLindex- the index within the chain to retrieve. Must be between 0 and length (seeGetTextureSwapChainLength) or may pass -1 to get the buffer at theCurrentIndexlocation. (Saving a call toGetTextureSwapChainCurrentIndex)out_TexId- returns the GL texture object name associated with the specific index requested- Returns:
- an
ovrResultindicating success or failure. In the case of failure, useGetLastErrorInfoto 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- anovrSessionpreviously returned byCreatedesc- the requested mirror texture descriptionout_MirrorTexture- returns the createdOVRMirrorTexture, which will be valid upon a successful return value, else it will beNULL. This texture must be eventually destroyed viaDestroyMirrorTexturebefore destroying the HMD withDestroy.- Returns:
- an
ovrResultindicating success or failure. In the case of failure, useGetLastErrorInfoto 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- anovrSessionpreviously returned byCreatemirrorTexture- anOVRMirrorTexturepreviously returned byCreateMirrorTextureGLout_TexId- returns the GL texture object name associated with the mirror texture- Returns:
- an
ovrResultindicating success or failure. In the case of failure, useGetLastErrorInfoto 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
-
-