• Pages

  • Recent Posts

  • Recent Comments

  • Archives

  • Fri 6 Nov 2009

    VR with a single computer

    Published at 14:17   Category Virtual Reality  

    [Update 19 Nov 2009: Added link to ATI Eyefinity card]

    As an exercise, I was thinking about all the VR systems you could create using only one single computer, ie no cluster.

    I will not be able to cover all the possible combinations, but I will expose several issues that need to be addressed.

    I’ll also try to update this page based on up-to-date information.

    • Introduction

    Several limitations or bottleneck need to be considered :

    On a purely physical aspect :

    - Number of graphic outputs : How many projectors / screens can you plug ?

    - Numberof input ports : How many serial / usb / etc ports are available ?

    Regarding computing power :

    - Number of CPUs

    - Number of GPUs

    - Buses bandwidths : Texture upload, tracking data …

    On a software level :

    - Is your pipeline multi-thread (support of multiple CPUs) ?

    - Is your 3d engine multi-pipe (support of multiple GPUs ) ?

    - What is the bottleneck of your application ? Is it CPU bound ? GPU bound ? … This aspect is the most overlooked by clients

    • Systems using only one graphic output

    The following system only use one VGA or DVI plug.

    Fishtank VR

    nvidia3dvision1

    Fishtank VR is VR with a small screen. It can be an old CRT monitor with active glasses, a new Zalman screen with passive glasses, a DLP 3D screen, the new nvidia 3D Vision system using LCD screens and active glasses …

    Single projector wall

    With only one graphics output, the wall will be in mono or using active stereo (OpenGL/Quadro only, or both OGL&DirectX with Geforce (and some limitations) if you use nVidia 3D Vision system).

    Using two graphics outputs the wall can use passive stereo that use polarized glasses, See “With two graphics outputs”

    HMDs

    Head mounted displays, also known as VR goggles, require most of the time either one video input (with active stereo, ie alternate frame rendering), or two video inputs (one for each eye).

    J-Dome

    The J-Dome only requires one projector :

    YouTube Preview Image

    R-Screen

    The Clarte’s R-Screen only requires one projector :

    YouTube Preview Image

    Panoscope

    The Panoscope only requires one projector :

    Panoscope (c) Laval Virtual

    Virtual Showcase

    Esiea’s Virtual Showcase only requires one projector :

    YouTube Preview Image
    • With two graphics outputs

    The two graphics outputs can be on the same graphics card or on two different graphics card. Choosing between one or the other is a matter of computing power, budget and ease of programming. Using two graphics cards will improve the performances if the GPU is the bottleneck, but it can also add some coding complexity. If you’re using two GPUs it would also be better to multithread your 3d pipeline and use one CPU per GPU.

    Holostage

    The holostage is a L shaped wall. It requires two stereoscopic projectors, ie two active stereo outputs.

    An HoloStage © Arnaud Muthelet

    Workbench

    The workbench looks a lot like the holostage, but is much smaller :

    Holobench – Photos © PSA Peugeot Citroën Mediatheque.

    YouTube Preview Image


    Passive stereo wall

    A passive stereo wall uses two projectors (one for each eye) with polarized filters and matching polarized glasses.

    Stereo HMDs  with two inputs

    Those HMDs have two video inputs, one for each eye.

    Passive stereo screens

    Planar 3D SD2620W 26″ Widescreen Stereo/3D Monitor

    Using a semi-transparent, polarized mirror, this kind of screen is used with passive glasses.

    • More than two graphics outputs

    If you have two graphics cards theoretically you have four outputs. Several solution exist to extend that number :

    - The Nvidia Quadroplex systems can have up to 4 GPUs (and 8 outputs) to be used by one computer.

    - The ATI Eyefinity card has 6 outputs.

    - Cyviz xpo.3 image splitter allows to take one very high resolution image and split it to several projectors.

    • Driving a Cave with a single computer ?

    With the increase in CPU cores and using several Quadroplex it seems reasonable to think that we should be able to drive a small (in projector number) CAVE with one computer in the near future although there is some software complexity that still needs to be adressed.

    7 Comments »

    1. very nice overview! thank you very much, keep on your great work!

      Comment by herc — Saturday, 7 November 2009 @ 12:01

    2. I am especially interested in solutions where one computer drives multiple projectors. We tried around with a four-screen quadro plex and had OK (but not great) framerates. Has anyone tried driving a VR app with eight views on a single computer?

      Comment by choco — Monday, 9 November 2009 @ 18:04

    3. Were you only with the nvidia mosaic driver or did you use a multi-pipe enabled 3d engine ?

      Comment by cb — Monday, 9 November 2009 @ 22:58

    4. You might also consider adding in the Matrox TripleHead2Go, which can split a single VGA or DVI (depending on the model) signal into 3, to create virtual resolutions of up to 5040×1050 across 3 displays (using only one port on the graphics card).

      More info here:
      http://www.widescreengamingforum.com/wiki/index.php/TH2Go_FAQ

      Comment by Count Buggula — Wednesday, 11 November 2009 @ 21:44

    5. You’re totally right, I’ve never played with those.
      However if your application is fill-rate limited the perfomance should drop when increasing the resolution.
      Such a large framebuffer also requires more graphics memory.
      More gpus will have more power and memory, but it is also harder to get the most of it.

      Comment by cb — Wednesday, 11 November 2009 @ 23:13

    6. Correct – in order to do something like that on one PC you’re going to need a really beefy graphics card, and would likely get best performance by running 2 cards in SLI or Crossfire. It’s a different kind of approach, but at least a valid way to get some sort of a VR solution on a single PC.

      It’s actaully gained a decent amount of support as a viable solution for the gaming community – add headtracking software (http://www.free-track.net/english/) and you can not only get a low-cost single PC VR, it can be used for many games as well.

      Comment by Count Buggula — Wednesday, 11 November 2009 @ 23:34

    7. http://www.engadget.com/2009/11/22/sewells-displaylink-enabled-usb-to-dvi-vga-hdmi-adapter-doe/

      A USB adapter that outputs DVI !

      Comment by Sébastien "cb" Kuntz — Monday, 23 November 2009 @ 10:59

    RSS feed for comments on this post. TrackBack URI

    Leave a comment



    Notify me of follow-up comments via email.