Forum Discussion
jfeh
11 years agoHonored Guest
OpenGL : retrieving the framebuffer of an attached window
Hi, As I mentioned in the midst of another topic, I would like to know if and how it is possible to retrieve the framebuffer's content currently displayed in the Rift at every frame (e.g. using glR...
jherico
11 years agoAdventurer
"jfeh" wrote:
Thanks jherico for confirming my point. It is indeed straightforward to reproduce with a simple test program that renders to optimal texture sizes (returned by ovrHmd_GetFovTextureSize when giving it the optimal FOV stored in location m_hmd->DefaultEyeFov as well as giving it a value of 1.0 for the pixelsPerDisplayPixel) bu with different windows sizes (at very low resolutions, it is kind of a 80's revival for CG :-)).
There is a point that is still not clear in my opinion : when attaching a window to the hmd, is it the content of the window's backbuffer that is copied to the Rift's screen, or vice versa ?
With Direct3D, the SDK behaves as documented. The on-screen window isn't critical to the display, doesn't need to be visible, and it's size does not impact the Rift quality. With OpenGL, the onscreen window must be the same size as the Rift display.
My assumption is that because of the piss-poor way Windows treats OpenGL (supporting only the 1.1 API) that much more of the OpenGL framework ends up in the video driver, compared to Direct3D. With Direct3D, Oculus probably has more opportunity to intercept images at different points in the pipeline, thus negating the need to have an onscreen window the same size as the Rift display or even visible.
With OpenGL, Oculus is more limited in terms of when they can grab the screen image and transfer it to the display, leading to the limitations we see.
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 1 year ago