Jump to content

Crash when submitting OpenGL textures to OpenVR while hand detection is running


Recommended Posts

Hello, I'm trying to integrate Hand Tracking SDK (0.8.0) onto my OpenVR application written in C++ and using OpenGL for rendering.

 

Unfortunately, my app begins to always crash within the first few frames after integration of the SDK although I could receive valid tracking data before crashing.

It looks that something wrong is occuring at IVRCompositor::Submit, because If I omit to call this, my app runs without crashing.

 

I've tried the UE4 plugin and found that it works fine, thus begin to suspect that there is some inconsistency issue when running the SDK on OpenVR+OpenGL based apps.

After looking into the developer forum, I found the simillar topic about SRWorks SDK which is already solved with binary modification.

https://community.viveport.com/t5/Vive-SRWorks-SDK/How-do-I-integrate-SRWorks-SDK-to-another-OpenVR-projects/m-p/19927#M201

 

 

Any suggestion/information is helpful!

Thank you

Link to comment
Share on other sites

Hi  

 

I think there is one difference between Hand Tracking SDK and SRWorks SDK, that we don't actuall use DirectX and OpenGL APIs. So the problem might be different though they have similar behaviors.

 

Can you problem a minimum working sample for us to reproduce your error and check how to fix it in Hand Tracking SDK?

 

Also, I think you need to initialize OpenVR in your application first before starting Hand Tracking SDK.

 

Best Regards,

Zhongyang

Link to comment
Share on other sites

Hello  

 

Thanks for your quick reply!

 

Based on your suggestion, I've tried to see if the problem reproduces using the openvr's official examples "hellovr_opengl" and "hellovr_dx12" (https://github.com/ValveSoftware/openvr/tree/master/samples).

The result is that "hellovr_opengl" app crashes with in the first few frames while "hellovr_dx12" app runs without any problem.

 

- To build them on my Windows 10 x64, I've used the solution/project files for x86 build, which are contained in the openvr samples above, and made minimal necessary modification to them for x64 build.

- Hand Tracking SDK is used following the documentation.

    - StartGestureDetection at the end of CMainApplication::BInit()

    - StopGestureDetection in the beginning of CMainApplication::Shutdown()

    - the problem occurs even if I don't call GetGestureResult

    - when the app crashes, access violation at vcruntime140.dll is sometimes reported by the debugger

 

I think it will not take much time to arrange them, but if you need the actual codes for further investigation, let me somehow send them to you.

 

Best Regards

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...