VorpX Driver Preview: Skyrim, Fallout 3, BioShock, and More with the Oculus Rift — Unlock the VR in Your Games Library (videos)

boizb

We take an exclusive early look at VorpX, a new commercial 3D Driver from developer Ralf Ostertag which promises to graft Oculus Rift support onto existing games that were developed and released long before the Rift was even a twinkle in Palmer Luckey’s eye. How well can it work? Let’s find out.

Inject VR Into Your Old Games

The Oculus Rift Developer Kit is finally in people’s hands (including ours!)! in fact, according to Palmer Luckey, all Kickstarter Dev Kits will have shipped to their lucky recipients by the end of May. And despite both the original Kickstarter pitch and Oculus VR’s constant assertions since it’s spectacular $2.5M successful funding run that this is resolutely NOT ready for the regular gamer, not many listened. To be honest, there wasn’t much chance that the most exciting development in gaming for years wasn’t going to be snapped up by gamers looking to bring their 90s dreams of Virtual Reality to life.

So it’s day zero for VR then, which of course means that very few actual games exist with support for the Rift. So, what do Rift owners give their new gadget to feed in the mean time?

Bioshock using Geometry Mode

Bioshock using Geometry Mode

Take me straight to the games!

What is VorpX?

For a Virtual Reality HMD (Head Monuted Display) to deliver a compelling experience, you need to address a few issues that unsupported games suffer from:

1. There’s no Head Tracking support. Moving your head has no effect on your view of the game’s world.

2. There’s no image pre-warping. The Oculus Rift uses Aspheric lenses which distorts light passing through them to achieve it’s high Field of View. So, in order for games to ‘look’ right to the user, the image must be  warped (or undistoreted [sic] if you like) to correct this distortion and any aberrations.

3. Stereo 3D support is currently provided as either GPU specific implementations (i.e. nVidia 3D Vision) or 3rd party drivers (i.e. Tri-Def).

From the official website:

VorpX is a 3d-driver for DirectX9-11 games that is specifically geared towards VR-devices like the Oculus Rift. Additionally to ‘making games 3d’ it offers various features to tackle many of the issues that arise when playing games on the Rift that are not designed for it.

To explain further, VorpX hijacks the rendering and input IO pipeline when a game initiates 3D acceleration and maps head-tracking input data from the HMD to mouse commands within the game.  Along the way, VorpX also forces the rendering of two in-game ‘cameras’ so that distinct, shifted views (one for each eye) can be presented to the HMD’s screen. Finally, the views are ‘warped’ to accompany the Oculus Rift’s Aspheric lenses and presented to the HMD’s display ready for viewing.

The practical upshot of all this is that you can (in theory at least) play many games in your library using the Rift, with high-FOV, Stereo 3D and head tracking as if the game had been built with support from the beginning. In theory it’s a little more complicated than that (which we’ll come to later) but this is the core premise behind the product.

For all these reasons, you can understand why VorpX is one of the most hotly anticipated bits of software in the VR community. With that in mind, I spent a couple of weeks with a beta preview version recording my thoughts, observations, configuration tips and gameplay to give you the fullest possible picture on whether VorpX is for you.

Know Your Buffers: 3D Reconstruction Explained

As mentioned, VorpX forces the rendering of Stereoscopic 3D as part of it’s injection process – essentially shoehorning depth where none previously existed – hence ‘Reconstruction’.

VorpX supports 2 main methods of 3D Reconstruction, Geometry and Z-Buffer (or 2D + Depth) based rendering. It’s important to understand the differences between them as it helps illustrate the flexibility and power of VorpX whist highlighting some of the compromises that are needed to make it work effectively.

Z-Buffer Mode (aka 2D + Depth)

The default mode in VorpX (referred to as ‘normal’  in the menu), Z-Buffer reconstruction renders depth based on objects position on the Z-axis in a 3D rendered scene. I defer to this excellent article on 3D rendering at Gamasutra:

2D + depth rendering creates the 3D effect in games by sampling the geometry in the scene to obtain the depth-map, and then using it to generate a second point of view from the regular 2D color image. This technique renders the scene for the left eye, and then creates the image for the right eye using a per-pixel displacement based on the depth map — making the results geometrically accurate.

The key advantage to the 2D + depth technique is the low impact that its integration has on production. It requires that the game only render frames once, which has a low performance impact on the game.

Features: 

  • Extremely fast.
  • Effective at adding depth and scale to first person views.
  • Requires few if any tweaks to game configurations to work.
  • 3D / Parallax effect limited when compared to Geometry mode.

Geometry Mode

The traditional method of rendering 2 distinct views of the same scene, mimicking the way our eyes view the real world. Again from Gamasutra:

In comparison, dual rendering creates the strongest 3D effect, and is used for movies as well as in video games. For movies, to create stereoscopic 3D images using the effect of parallax, film makers need to capture two images shot from slightly different angles. This means 3D-compatible cameras are needed in order to record the two images simultaneously. This allows one image for each eye to be projected onto the same screen to create a 3D effect.

In the case of video games, to construct a three-dimensional virtual world, game makers need to position characters, buildings and other objects in a manner that simulates a miniature version of the real world. In doing this, they can position two cameras to capture slightly dissimilar images of the same scene, just as the right and left eyes would do.

Features:

  • Strongest and most effective 3D / Parallax effect
  • High rendering overhead. Up to 50% slower
  • Lowest compatibility for existing games (shader / lighting and post processing effects can cause glitches)

These two methods with their drastically different approaches to 3D rendering clearly both have their strengths and weaknesses. So it’s refreshing to note that VorpX not only includes both options, but that you can swap them on-the-fly whilst the game is running, giving you the ability to decide which method suits which game suits which method best. There is one caveat here however, Geometry mode will only work with games which can run in DirectX 9 mode.

Anyway, with the science is out of the way, onto the important stuff .. Games!

Comments

  1. Roger says

    Aside from Mega being a pain to download from (since when does Firefox need some sort of special permission to download a large file, while asking you to click on a none existent icon to give it permission) the Bioshock mp4 link is downloading the Dear Esther video.

  2. Covariant says

    The FOV seems a bit low. Most of the demos out there (and Half-Life 2) seem to be setting the FOV in the 110-120 range. When watching your videos in my Rift, things seem a bit…zoomed-in. Also, when looking straight ahead I can see the edges of the displayed game region, which slightly lessens the FOV and immersion. Does the vorpX driver offer a way to adjust this?

    • Ralf Ostertag says

      How far one can see into the periphery of the screen differs depending on inividual eyesight and other factors. Generally I’d like to have as less twaekable settings as possible for the sake of better usability, but in this case it seems useful to make it adjustable. Seems to be only way to ensure that everyone gets the best possible FOV.

  3. Covariant says

    Thanks for the quick response. That’s great news. I definitely noticed that the visibility of the periphery depended on how close my eyes were to the lenses. To be fair, even as is I was only losing a tiny, tiny bit, but it’s nice to hear that will be adjustable, as every little bit of FOV helps with immersion.

  4. Alexander says

    I’ve heard people talk about the perfomance loss several times, 5-10% for z-Buffer, 50% for geometrical.
    But no one ever said what the base performance was about.
    Is it the performance I get when running the game in 1280×800, oder the performance I would get when rendering it in 640×800?

    • xxxyyy says

      I’d like to know that too… but it seems nobody is answering.
      What test should we do to understand if our PC will be good for the Rift?
      What’s the base performance we have to add that extra load of 5-10% or 50% to?
      Run the specific game at 1280×800 or 640×800 (with vsync on I suppose)? Or what else?

    • Paul James says

      With V-Sync engaged, for all games in Z-Buffer mode all games ran at 60FPS (so therefore plenty of headroom with my machine’s spec. You calculate Geometry from there – but in reality, without a length set of benchmark runs I can’t give you a definitive answer.

      It was a challenging article to get live as it was without getting in to the nitty-gritty of benchmarking. Perhaps we’ll revisit in the future, but I’d suggest you’ll be better off waiting for the trial version and seeing for yourself.

Leave a Reply