Stereo 3D Drivers

May 2014

I’ve recently been using a few of the currently available stereo 3D drivers and wanted to share my experiences and opinions on them. The drivers I’ve been using are TriDef, Vorpx, Vireio Perception 2.0, as well as Nvidia 3D Vision drivers. My testing has primarily consisted of using the Oculus Rift DK1, Sony HMZ-T1, and a SA Photonics SA-55. I’ve used the stereo 3D drivers listed above in Skyrim, Battlefield 4, Call of Duty, Doom 3 BFG, and other games. Here I’ll focus mainly on my experience in Skyrim. I’ll also show fps screen shots for the Sony HMZ, Oculus Rift DK1, and SA-55. My computer is a water cooled custom build using an Intel i7-4770k overclocked to 4.5GHz, twin water cooled overclocked Nvidia 780Ti Superclocked GPUs, 8GB Corsair Vengeance Pro 2400MHz memory, and a MSI Z87M motherboard.

Before we jump into the pros and cons of the various 3D stereo drivers, there’s a few terms that need defining. First, there are a few different ways some of the drivers are doing 3D stereo. “Geometry” mode is where the scene is rendered from two camera viewpoints much like your eyes. One view is sent to one eye and the other view is sent to the other. This mode is the most demanding because you’re generating two scenes for every moment of the game. So instead of running your GPU at 1920×1080 @ 60Hz, you running double the data for a left and right eye view. There are some tricks that can be played but that’s the overall idea. Typically this mode results in about half the frame rate you typically get when using just your desktop monitor. This makes sense because basically you’re generating scene data for two monitors: a left eye and a right eye.

Then there’s “Z-buffer” mode or “depth buffer mode”. Tridef 3D calls this mode “PowerVR”. With Z-buffer the scene is rendered along with the depth of the objects in the scene. The depth number of the object determines the offset of that particular object in each of the left and right views. You can think of it as the distance between the same object in the left and right views. However the left and right views are using the same pixels in the scene. This results in not having to render the scene twice like in geometry mode and so there’s a bandwidth savings. Z-buffer can have some odd effects because the true 3D content isn’t actually available. The most noticeable effect is that objects can appear flat but at varying depths. This makes sense based on how Z-buffer mode works. The major benefit of Z-buffer mode is a much higher frame rate.

Tridef 3D
Tridef 3D was useful for all three of the HMDs: Oculus Rift DK1, Sony HMZ, and SA-55. Tridef has beta support for Oculus Rift DK1 and overall it works well. It only works in “Geometry” stereo mode for the Oculus Rift, which can limit the frame rate if your system isn’t up to the task. Tridef 3D doesn’t currently support “Z-buffer” stereo mode for the Oculus Rift DK1 which can be extremely useful for getting higher frame rates. It does support Z-buffer mode for other stereo formats like SBS or Top-Bottom. With Z-buffer mode you lose some stereo 3D quality but for the most part the extra fps is worth the trade off. Tridef 3D is not an Oculus only driver like Vorpx. Tridef 3D can offer other stereo 3D formats like normal side-by-side, dual project out, interlaced, page flipping, and others. Tridef 3D runs $39.99.

Tridef Stereo modes

Overall these additional stereo formats make Tridef 3D much more useful in general when you have HMDs other than the Rift. SBS mode works with the Sony HMZ although your horizontal resolution is cut in half. The greatest use I had from Tridef was using its dual projector output with the SA Photonics SA-55. The SA-55 has separate left and right eye HDMI input and so Tridef is the only current stereo 3D driver that can give me stereo on the SA-55. A limitation is that it’s only for DirectX 9 games. Tridef says DirectX 10 and 11 don’t support dual projector out. Nvidia 3D Vision supports dual projector output but only on their professional Quadro line of video cards.

Below you can see Tridef screenshots of Skyrim in High and Ultra modes for the Oculus Rift DK1. In the upper left hand corner you can see the FRAPS frames-per-second (fps) number. Tridef is using Geometry mode here to render the stereo 3D scene.
Tridef Skyrim Ultra Oculus Rift DK1
Tridef Skyrim High Oculus Rift

A 16 fps difference between the two modes. But what’s more important to note is that my computer is super charged and even it isn’t running Skyrim Ultra mode at 60Hz using the Tridef 3D stereo drivers. You’ll see later that with Nvidia 3D Vision it hits 60fps without issue.

Tridef 3D Dual Projection Mode
Now lets look at the “Dual Projection” output of Tridef. The SA-55 from SA Photonics has a 1920×1200 OLED panel per eye! That’s over a 55 degree horizontal field of view. That’s pushing a lot of data even for a high end machine. Below is the screenshot for this Tridef stereo mode in Skyrim Ultra mode and then Skyrim High mode.

Skyrim Ultra Mode SA-55 Tridef
Skyrim High mode SA-55 Tridef

Even with an i7 overclocked and water cooled with dual GTX 780Ti’s overclocked and watercooled we’re still not hitting 60fps in Dual Projector mode!! Crazy. High mode fairs a bit better. VR needs some serious horse power if we’re going to see HMDs with HD resolution in each eye! Now the above images are still set to the 100 degree FOV so we can have a more even comparison to the other images in this write up. However, if you set it to the appropriate 55 degree FOV to match the SA-55 then frame rates go up.

Skyrim Ultra Tridef SA-55 55 deg fov
Skyrim High Tridef SA-55 55 deg fov

Lesson here is to make sure you’re not over taxing your system for no good reason. Not having a FOV matched to your HMD specs will also probably make you sick. Here we keep everything to 100 degree FOV for comparison purposes. The fps would also go up on the Sony HMZ if you set the FOV to 45 degrees. We would probably also have a much better frame rates if Nvidia would allow more stereo formats like Dual Projection in its GeForce line of graphics cards (see Nvidia section below).

Vorpx is currently the best stereo 3D driver for the Oculus Rift DK1. It supports “Geometry” mode, as well as “Z-buffer”, and “Z-buffer adaptive”. It’s most powerful and useful feature is the “peak mode” that allows you to see the edges of your display that are normally out of view due to the heavy distortion of the Oculus Rift DK1.

Vorpx peak mode

However, Vorpx biggest down fall is that it only supports Oculus Rift DK1. The Vorpx description says its for HMDs but the Rift is the only one I’m aware of that it actually supports. Vorpx is available for $39.99 per computer.

Vorpx Panel

Below you can see Vorpx screenshots of Skyrim in High and Ultra modes for the Oculus Rift DK1. This is using the default “Normal” mode which is a Geometry based stereo 3D. A 22 fps difference between the two.
Vorpx Skyrim Ultra Oculus Rift
Vorpx Skyrim High Oculus Rift

Now you can also see the benefit of Z-buffer mode. Below you can see the same scene but with Vorpx in “Z-normal” mode. Z-adaptive mode has almost identical fps. The same settings used for the Tridef screen capture were used.
Vorpx Skyrim Ultra Z-buffer Oculus Rift
Vorpx Skyrim High Z-buffer Oculus Rift

With Z-buffer mode we have 60fps for both Skyrim Ultra and Skyrim High modes. Quite impressive. Some people will argue against Z-buffer due to some of its 3D anomalies but I think it works quite nicely.

Vireio Perception 2.0
Vireio Perception 2.0 is a great stereo 3D driver because it’s free and open sourced. It is also a more general 3D driver because it supports formats other than Oculus Rift DK1. Vireio Perception supports SBS, over-under, interleaved, checkboard, Oculus Rift, and various anaglyph modes. It also supports several tracker modes: HillCrest, FreeTrack, Shared Memory Tracker, and the Oculus Tracker. The best part is its open sourced so you can add your own HMD and tracker support!! I’ve added the Pololu Mini-IMU9 version 1 and version 2 trackers to Vireio for my own VR setups.

Vireio panel 2 Vireio Panel 3

Below I show the scene we’re now very familar with taken using the Vireio Perception 3D drivers. Again, Skyrim Ultra mode is shown followed by Skyrim High mode.

Vireio Skyrim Ultra Geo Oculus Rift
Vireio Skyrim High Geo Oculus Rift

A 15 fps difference between the two modes.

Nvidia 3D Vision
Nvidia 3D Vision has the best performance of any of the stereo 3D drivers I’ve tested. I can get 60 fps no problem with the Sony HMZ even when I render 100 deg FOV like with the Oculus Rift DK1. There is a slight resolution difference of 1280×720 compared to the Oculus Rift DK1 resolution of 1280×800. There’s also a format difference. The Sony HMZ uses frame packed stereo 3D defined by the HDMI 1.4a/b standard. A left and right view point is being generated just like in the Geometry stereo discussed above. However, the way its sent out the graphics card is different then the SBS format of the Oculus Rift. The Sony HMZ takes a 1280×720 left right frame pair @ 60Hz. This is really 120Hz. So the bandwidth to the Sony HMZ is even higher than the Oculus Rift DK1. Yet, the Nvidia 3D Vision fps is the highest of them all. This kind of makes sense as Nvidia is making the graphics card so they can optimize their stereo 3D driver better than anyone else.

Below is a screen shot of the Sony HMZ running Skyrim in Ultra mode. The fps are at 60Hz so I didn’t even bother to run Skyrim in High mode.

Nvidia Skyrim Ultra Geo Sony HMZ

Concluding Remarks
One of the first points is that you need a really high end computer if you’re planning on doing stereo for an HMD. If you’re only concerned with using the Oculus Rift DK1 then Vorpx is the best solution. If you need a more general stereo 3D driver then Tridef 3D is a good solution. If open source and free are your main concerns then Vireio Perception is great for tweaking and custom integration. However, if Nvidia 3D Vision supports your HMD stereo format then you can’t beat it. It has by far the best performance.

There are also a ton of different menu options in each driver that I didn’t discuss above. I’ll leave those for you to check out.

Each one of the stereo 3D drivers has its uses depending on your system configuration. Each has its place and may work better or worse depending on your application or game. I use all of them where ever its appropriate.