Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
Tojiro's avatar
Tojiro
Protege
12 years ago

Client distortion with Latency Testing in 0.3.2?

I've got an application that's required to use client distortion rendering and I'm trying to implement support for the Latency Tester, but it seems that the 0.3.2 SDK is missing some critical pieces. Specifically, ovrHmd_ProcessLatencyTest looks like the right place to start but it appears that someone forgot to implement the function! If you try to call it your program fails to link, and searching for "ovrHmd_ProcessLatencyTest" yields only one instance of the string from OVR_CAPI.h. Oops?

I can see that the the SDK is handling latency testing properly internally, getting the required color from FrameTimeManager::GetFrameLatencyTestDrawColor(), but that doesn't help those of us trying to use the C API.

Is this just an oversight, or is latency testing + client distortion not intended to be a supported configuration?

2 Replies

  • Looking into it a bit further, it seems like this is just a naming mismatch. In the header the function is called ovrHmd_ProcessLatencyTest, but in the cpp file there's a function that looks an awful lot like the same thing called ovrHmd_GetLatencyTestDrawColor. Can someone create a "sync up the function names" bug for the Oculus crew?
  • I take it back. GetLatencyTestDrawColor isn't the right API since it doesn't initialize the latency tester hardware. The following code does work, though:

    OVR_EXPORT ovrBool ovrHmd_ProcessLatencyTest(ovrHmd hmd, unsigned char rgbColorOut[3])
    {
    HMDState* p = (HMDState*)hmd;
    return p->ProcessLatencyTest(rgbColorOut);
    }