Week 51/2013: UI experience and Oculus Rift enhancements

edited 2013 Dec 30 in Developers
Last week I was working on UI improvements, Doom invulnerability effect, and Oculus Rift support.

The Doom invulnerability effect is now similar to vanilla Doom (inverted monochrome). This has only recently become possible thanks to the frame buffer improvements that allow shaders to be applied on the drawn graphics. All in all, the old rendering code is now quite fully wrapped in new GL2 code that allows us to be more flexible with the rendered view even though we are not yet able to apply shaders or other improved techniques in the game world or on objects.

As noted in the tracker, Doomsday's new UI dialogs and menus have been somewhat clunky to use as popups have required a full mouse click to close. I applied a significant change to the popup behavior so that one can now click on widgets outside the popup — the popup will still close, but one doesn't need two clicks to access something outside it. This makes the experience much more fluid when using the task bar, menus, and dialogs.

The rest of my time I spent on improving the 3D video and Oculus Rift support.
3d_vr_dialog.jpg
There is now a dialog for changing 3D mode, VR, and Oculus Rift settings. If you have a Rift connected, I've also included a button for easily configuring all relevant settings with suitable values.

As I now have an Oculus Rift to personally test Doomsday on, I've managed to apply several usability and rendering improvements. Most importantly, I managed to reduce head tracking latency for an improved experience. I also fixed some discrepancies between the left and right eye views when it comes to the automap and partially transparent graphics. Also, with the sidebar open the automap is now clipped properly (although in Oculus Rift mode the sidebar will take up pretty much the entire view).

Quad-buffering was briefly broken by the frame buffer changes, however now it should be working again. It can be enabled in the new 3D & VR dialog by switching to "Hardware stereo" mode, however currently you may encounter a crash if your video card doesn't actually support 3D in hardware.

As per project tradition, the original plan was to release the stable 1.13 just before the holiday break (i.e., tomorrow), however due to the number of changes still going on I'm not comfortable with calling it stable quite yet. Fortunately, as unstable builds are being made available throughout the week, the tradition is still upheld after a fashion.

The Candidate phase is still continuing. Please submit any issues you notice into the Tracker. The upcoming holidays will likely keep us away from the keyboard for a while, though.

Comments

  • Apologies for potentially being ignorant; but I think the standard view mode would better named 'no 3d' or something similar, rather than 'mono'.

    Though I don't have any 3D equipment to test with and that may be the reason why, nor any understanding of 3D view modes, I notice that when I select 'Stereo Hardware', whatever that is, that there seems to be rendering issues with planes being rendered through walls.

    None of the other modes appear to have any rendering issues beyond the readability of the taskbar UI in Oculus rift mode (but as mentioned I'm not using the actual hardware, so the UI may be clear if one is actually using the hardware).
  • Vermil wrote:
    Apologies for potentially being ignorant; but I think the standard view mode would better named 'no 3d' or something similar, rather than 'mono'.
    The idea is that "mono" is opposite to the "stereo"(scopic) modes. We are not using "stereo" in the UI, though. I'll think about revising the terms.
    Though I don't have any 3D equipment to test with and that may be the reason why, nor any understanding of 3D view modes, I notice that when I select 'Stereo Hardware', whatever that is, that there seems to be rendering issues with planes being rendered through walls.
    Unless your video card supports 3D in hardware, you shouldn't use the "Hardware stereo" mode. We'll look into somehow detecting this capability so that we can disable this setting if it's not appropriate for the video card in use.
    None of the other modes appear to have any rendering issues beyond the readability of the taskbar UI in Oculus rift mode (but as mentioned I'm not using the actual hardware, so the UI may be clear if one is actually using the hardware).
    See How to use Oculus Rift in the wiki.
  • Mono and Stereo do indeed make sense to knowledgable people, but I feel 'no 3D' or similar would be more widely understood.

    At least on my computer, switching from Hardware Stereo to Oculus Rift causes the screen to no longer update; the game itself seems to continue to be playable in the background. Closing Dday properly (i.e through quitting via the menu) then seems to create a config that crashes Dday on startup.

    I also notice that in Oculus Rift mode, that the menu fog seems to behave differently if the player is on a game splash screen to in a map. On a splash screen it covers the whole screen, while in game it only covers the game UI. Also that the intermission screens are letterboxed while the title screens are full screen, in Oculus Rift mode.
  • To add something to the above; I just got a crash when trying to start Dday in Oculus Rift mode. So I'm now leaning on it being a random crash at start up in Oculus Rift mode (when Dday tries to start the actual game, rather than engine startup), rather than a corrupted config.

    I'll upgrade to 1.13 stable and keep an eye out for the crash occurring again.
Sign In or Register to comment.