Forum Discussion
ScottieBizzle
12 years agoExplorer
Windowless and "Extend Desktop to the HMD"
I've got a windowed 3D app ( with multiple docked windows ), my UI is using my custom DirectX11 drawing API ( so no child CWnd/HWNDs, just one base window ), all the "virtual" child windows are all drawn using DX into the base window's render target, then dirty areas are presented to screen. Basically all my 3D rendering is done offscreen, copied to a sub area of the base target then presented which I can't use for my HMD swap buffer.

So I envision a user putting on their HMD and switching to Oculus mode in the app which starts a rendering/simulation loop at 75+ f/s. I then render into a final oversized target ( ready for warping ), render that to my app viewport so the user can visualize as usual, then I must copy that to my HMD swap buffer and present it to the device.
I realize I'd need a window when using "Extend Desktop to the HMD", but when using "Direct HMD Access from Apps", is it possible to avoid having create and use a window at all in my case? If create the window and remove WS_VISIBLE nothing shows up in the device. If I create the window and offset it by -5000, hiding it out of view, it works, but I'm trying to avoid a hack like this.
Any way around this or cleaner way to hide the dummy window? I think I knew how to remove it from showing in the task bar, just not on the desktop without screwing up the final image in the device.
Thanks
Scott

So I envision a user putting on their HMD and switching to Oculus mode in the app which starts a rendering/simulation loop at 75+ f/s. I then render into a final oversized target ( ready for warping ), render that to my app viewport so the user can visualize as usual, then I must copy that to my HMD swap buffer and present it to the device.
I realize I'd need a window when using "Extend Desktop to the HMD", but when using "Direct HMD Access from Apps", is it possible to avoid having create and use a window at all in my case? If create the window and remove WS_VISIBLE nothing shows up in the device. If I create the window and offset it by -5000, hiding it out of view, it works, but I'm trying to avoid a hack like this.
Any way around this or cleaner way to hide the dummy window? I think I knew how to remove it from showing in the task bar, just not on the desktop without screwing up the final image in the device.
Thanks
Scott
No RepliesBe the first to reply
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 12 years ago
- 12 years ago