I am C/C++ programmer trying my hand at VR development. I've been following the recent evolution push in VR headset tech, waiting for a right one. As simple and straight forward possible, no special mediums or dedicated APIs dictating limits to what you can display. Compared to other headsets Pi seemed most suitable for this purpose. With HDMI video connection I thought it would work just like a standard secondary monitor - "If the computer can render, I can display", leaving it to the dev to work out stereo imaging with screen splitting and what not, no problem. For the most part it seems that it indeed does run that way. Moving a video to the extended part of the desktop and fullscreening it, looks good, as expected.
I quickly put together an application in Direct3D11 to render a simple cube, and for some reason setting the application to fullscreen mode makes the headset device disconnect. The application falls back to windowed mode to primary display, shortly after which the headset reconnects like I just pluged it in.
I don't know what causes this.
It leads me to believe it has some driver differences from a standard monitor.
Does anyone have any insight - why / how to fix?
Computer: Acer Aspire V (laptop)
OS: Windows 10
Processor: Intel Core i5-6267U
Graphics: Intel Iris 550
PiPlay Version: 22.214.171.124(20171228)
The call inside DX:
- "out" is the enum of the second display (Pi), because otherwise is fullscreens into the primary display.
- the resolution is lower and different ratio, stretched across screen by fullscreen mode. Though it shouldn't make a difference?
- importing .exe to PiPlay and running from it gives the same result.
I didn't find documentation, except some information on these forums about getting gyroscope data for input with sdk files, which I haven't installed yet because right now I'm just trying to get the visual sample to work. Or do I have to work with the SDK in any case?
This is a thread not strictly related to the problem. Anyone doing low level API testing / development is wellcome to comment their observations and experience. With this thread I am hoping to get a working sample in C++ D3D11 with full integration of the headset functionality. The project will be uploaded and shared with any future readers looking for a way to quickstart.