Skip to main content
Participant
April 30, 2015

ovrHmd_GetEyePoses affecting OpenGL Rendering

We're working on a proof of concept app using some 3rd party OpenGL rendering software and we're having an issue with materials rendering mostly transparent after calling ovrHmd_GetEyePoses, or ovrHmd_EndFrame. At least with ovrHmd_EndFrame I can understand that having an effect on the OpenGL state, but I don't understand why ovrHmd_GetEyePoses would affect rendering at all.

As it stands I've reduced our sample app (derived from OculusTinyRoom) to the minimal amount of code that renders to a window, not even the rift (no BeginFrame or EndFrame). If I comment out the ovrHmd_GetEyePoses function call all the materials renders in the window properly opaque. Uncommented, transparent.

Any ideas?

    2 replies

    Up and Coming
    May 4, 2015
    You are probably memory stomping.
    You said you do not init the oculus... If you are passing in a NULL for the first parameter, hmd, that function will blow up, because hmd->Handle will resolve to something, and the test for hmds being NULL will fail to do the right thing. Use the debugger!
    CadsoftITAuthor
    Participant
    May 6, 2015
    No, I am calling ovr_Initialize and overHmd_Create. There's definitely some weirdness with GetEyePoses, another thread on this forum notes that you actually have to call GetEyePoses for anything to display on the Rift, which means it's doing more than just returning eye transformations.