Page 1 of 1

Accessing Oculus features from Source SDK Base 2013 MP

PostPosted: Fri Mar 07, 2014 3:45 pm
by SM Sith Lord
I am using the -vr support that the Source SDK Base 2013 Multiplayer has. It works great, but there are a couple of issues I need to address with how the Source engine implements the Oculus SDK.

First of all, when ever I bring up a VGUI panel that has mouse input, the entire render area of the screen turns black. If I disable mouse input on the panel, the render area no longer has this issue. This is only an issue if -vr is active, otherwise it all works as expected.

Short video of the issue: http://youtu.be/khm5cJYb8KU?t=3m55s

Second, my program is like a 3D desktop and it launches other programs. Some of these other programs are VR games with Oculus head tracking support. The Oculus is only able to send head tracking information to a single program, so to allow for other VR games to function properly when launched I need to disable the head tracking features of my Source mod when the player launches his stuff.

Since I am new to using the VR support that Valve built into the Source SDK Base 2013, I do not know how to accomplish this from my C++ code. Can anybody give me some tips on how I would go about disabling/enabling head tracking support from within my Source engine mod?

Thanks for taking the time to read about my problems.

Re: Accessing Oculus features from Source SDK Base 2013 MP

PostPosted: Sun Mar 09, 2014 5:36 am
by SM Sith Lord
I have solved all of these problems except for releasing the VR device so that other programs can begin to use it.

Re: Accessing Oculus features from Source SDK Base 2013 MP

PostPosted: Sun Mar 09, 2014 9:28 pm
by Vicpop
What ended up causing the black screens?

Re: Accessing Oculus features from Source SDK Base 2013 MP

PostPosted: Sun Mar 09, 2014 9:55 pm
by SM Sith Lord
I just had to modify CClientVirtualReality::RenderHUDQuad( bool bBlackout, bool bTranslucent ) to follow a different set of rules for when it applies translucent.

I've tried using CClientVirtualReality::Shutdown() to release the VR device, but no luck so far. Other VR games are still unable to capture the device.