-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi Lorne,
On 23/11/15 20:29, Lorne Covington wrote:
>
> I had always assumed that to do multi-projector CAVEs with active
> shutter glasses you needed to use expensive solutions like nVidi
> Quadro cards.
>
...
> Anyone try this? Or something similar with consumer ATI cards?
>
It is a bit more complicated than this. If the projectors are
connected to the same card, then the outputs are in sync. However -
this is an undocumented behaviour and may break with the next release
of the Nvidia drivers or hardware.
If you are using multiple cards (that is not the same thing as SLI!
SLI means you are using 2 cards to render *ONE* image), the cards will
drift apart over time, so I wouldn't rely on them being "frame locked"
(in quotes, because if the stereo is wrong, they are by definition not
frame locked - showing different image, despite their refresh being in
sync).
Re number of projectors per card - I believe that a GeForce (not
Quadro) allows only 2 outputs to be used simultaneously, regardless of
how many connectors are present on the card. If you connect a 3rd
screen, it will not work and tell you to disable one of the other two.
I haven't tested this with the very recent 9xx GeForces because I
don't have one, but the older 5/6/7xx series don't allow for more than
2 simultaneous outputs - I had to always turn off one of my monitors
when I wanted to use a Rift, despite having 4 output connectors on the
card.
The various splitters and such are not going to help you much, because
a splitter only duplicates existing image on two (or multiple)
screens. I don't think there are (cheap) splitters that would take a
side-by-side image and divide it into two outputs. There are some USB
graphic cards meant to provide additional outputs for laptops, but
that is not usable for 3D.
Re stereo sync for glasses - there I have done quite a bit of research
and work recently, trying to build a synchronization circuit for
common shutter glasses that would work without requiring a Quadro. In
short - it doesn't work unless you have a Quadro, because Nvidia seems
to drop frames in their driver as a way to manage vsync.
My hypothesis is that instead of actually blocking the rendering queue
when the application is too fast and has rendered more than 2-3 frames
ahead in the command queue, they silently drop a frame. That is not a
problem for an average game, but it breaks stereo horribly - you have
left/right/left/left/right suddenly because the "right" frame in the
middle was dropped.
This leads to a nasty "flash" every few frames when the stereo flips
around (where a frame was dropped) and recovers. Quadros don't do this
(even when stereo isn't enabled) and neither GeForce when the 3DVision
mode is enabled, so it is clearly driver related. Of course, if you
are using a Quadro or 3DVision, you don't need my home-grown circuit ...
Paradoxically, the dumbest possible shutter glasses (aka this type:
http://img.tomshardware.com/us/2001/12/18/win/3d-glasses-pny.jpg )
without any PLL or complicated driver (mine are just 2 LCD panels
directly wired to a 3.5mm jack) are best for this, because if I
synchronize them from a mark on the screen, they switch immediately
compensating for the dropped frame and making the glitch somewhat
tolerable.
The more modern glasses (IR/radio synced) will invariably use a PLL as
a "flywheel" to overcome periods of time when no sync is being
received and cannot deal with rapid changes of the sync signal -
leading to the horrid flashes of reversed stereo. Some glasses will
not even synchronize to a signal derived from a screen refresh
directly, because there is so much frame jitter there (again only on
GeForce, not on Quadros).
BTW, things like calling glFinish(), setting up a swap barrier, etc.
don't make any difference with this.
Re DLP-link - DLP link is unusable for driving a multiple-projector
setup. First, there is no relationship between the video signal from
the computer and what is the projector sending to the glasses as
synchronization using those quick white flashes. The projector simply
assumes that e.g. the first frame arriving is for the left eye and
then keeps swapping left/right from that. That works while the signal
is stable with little jitter (otherwise you will need to use the
"invert 3D" button often) and a single projector.
However, it breaks horribly when you have two or multiple projectors.
The projectors will not be synchronized (their color wheels don't spin
at exactly same speeds, they are not in phase neither) and you will
get broken stereo whenever you will look at the boundary between two
projectors. Also multiple projectors sending the DLP-link sync signal
at the same time will lead to horribly confused glasses ...
To conclude, I am afraid that there isn't really a way to build a
sensible CAVE with active stereo for cheap right now. If you want
stereo and don't want to spend for Quadro, synchronization cards and
high speed projectors, go with passive stereo instead. That you can
drive with a single GeForce per side (each 2 projectors) and it will
work. Unfortunately, it is more complicated mechanically and more
expensive to run. The mechanics could be avoided by using stereo
projectors that use a single lens for both left and right images
(basically 2 projectors sharing a lens), but all that I have seen were
horribly expensive.
All the best,
Jan
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iD8DBQFWU4lan11XseNj94gRAhkaAKDU1Z4BLoaRlWESUuuLLjf2lIvhqwCgsn2c
RYp4DG4zAExCnys2BVPlD3s=
=p+jc
-----END PGP SIGNATURE-----