Stereographics on SGI systems.

From Nekochan
Revision as of 14:43, 24 July 2013 by Canavan (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
CrystalEyes1.JPG
CrystalEyes2.JPG


Stereographics is a process whereby the image in the left eye differs from the right eye giving a sharp image of extrodinary depth.

SGI’s high-end machines, the Onyx® and Crimson® lines, may be configured to run square-pixel windowed stereo with separate addressable buffers for left and right eye views, at 960x680 pixels per eye(108 fields per second). This does not require any more pixel memory than already exists to support the planar 1280x1024. Some SGI high-end computers have additional display RAM available, and they cansupport other square-pixel windowed stereo resolutions, though higherresolutions come at the expense of field rate. For example, such high-endhigh-display-memory SGI systems support 1024x768 pixels per eye butonly at 96 fields per second, which is high enough to have a flicker freeeffect for all but very bright images.


SGI workstations including Indy and Octane include a connector near or on the graphics card with the small image of a pair of shutter glasses next to it. This connector is used to connect to a box which generates synchronisation signals. There are two main types. One is DB9 and the other is mini DIN. The box generates synchronisation signals and the glasses alternate displaying images in each eye. This disparitity of information causes the frontal area of the brain to post process the information into something that can be seen in those movies with the red/blue glasses or the books of dots which people people squint at.

Crystal Eyes are a common shutter glasses and give an effect that can be more stable a look more solid than anaglyphs of the movies like Avatar, Jaws3D or the SIRDS of books like the Magic Eye.

Above-Below Subfields

The standard CrystalEyes system displays stereoscopic images bydoubling the screen refresh rate, thus causing left- and right-eye stereopair elements to overlap. An infrared link synchronizes liquid crystalshutter glasses, allowing the user to perceive true stereoscopic depth.In order to be compatible with this stereoscopic hardware system,graphics software must run full-screen, using the Above-Below stereoscopic format. This stereoscopic format consists of mapping avertically-compressed left-eye subfield to the top half of the display, and a vertically-compressed right-eye subfield to the bottom half of thedisplay.

Warning

The lens on these glasses is extremely fragile. Do not flex the glasses in the slightest, Do not push keyboards across the desk against the glasses. You will see spiderweb like cracks through the lens, if you do. One person has accidentially killed 3 pairs over about 20 years with them.

Emitters

To paraphrase canavan ...

It might be theoretically possible to build your own with only a few components, i.e. 2 555 timers and a few transistors, IR diodes etc. There are no current reports of success with this. You just need a 50us IR pulse when the 3d Sync signal goes down, and a 125us pulse when it goes up. Using a microcontroller to enable adjustable delay by +- a few microseconds would be nice, especially negative "delays" would be useful to prevent the top of the screen from darkening in some modes.


Inside of an emitter
Inside of an emitter box
Top of an emitter
Top of an emitter box
Back of an emitter
Back of an emitter box
Bottom of an emitter
Bottom of an emitter box

Based on the information from Recondas ...

SGI’s high-end machines, the Onyx® and Crimson® lines, may be configured to run square-pixel windowed stereo with separate addressable buffers for left and right eye views, at 960x680 pixels per eye (108 fields per second). This does not require any more pixel memory than already exists to support the planar 1280x1024. Some SGI highend computers have additional display RAM available, and they can support other square-pixel windowed stereo resolutions, though higher resolutions come at the expense of field rate. For example, such high-end high-display-memory SGI systems support 1024x768 pixels per eye but only at 96 fields per second, which is high enough to have a flicker free effect for all but very bright images.


Connectors

Stereographics connectors are always located in close proximity to graphics connectors with an image of a set of glasses and the characters 3 dash D next to it. For example the two different connector next to the Indy (top) and Octane (bottom) 13w3 connectors, pictured to the right of this page.

The MGRAS boards that use DB-9, which is the same reason the Indigo2 IMPACT uses DB-9 while Indigo2 ExtremeGraphics uses a mini-DIN. more appropriate to associate a graphics subsystem with a connector type rather than workstation. The VPro boards (verified on V6,V8,V12) use the same mini-DIN as the ExtremeGraphics. Since the Tezro uses V12 gfx, and my Fuel with V12 has the same mini-DIN...

Indy-back.png
Octane-back.png

                                    __---__
                                     /   2   \
                                    /4       5\
                                   /           \
                                  ( 1    8    3 )
                                   \           /
                                    \ 6     7 /
                                     ---___---

                     _________________________________________
                     |Pin | Name | Description                |
                     | 1  | DTR  | Data Terminal Ready        |
                     | 2  | CTS  | Clear To Send              |
                     | 3  | SYNC | Stereo Sync/GND (jumpered) |
                     | 4  | RD   | Receive Data               |
                     | 5  | TD   | Transmit Data              |
                     | 6  | SG   | Signal Ground              |
                     | 7  | GND  | Ground point               |
                     ||_8  ||_V10P ||_10V supply                 |



                          -------------------------------
                          \ A1   1  2  3  4  5   A2  A3 /
                           \   6  7  8  9  10          /
                            ---------------------------

          ______________________________________________________________
          |Pin | Name       | Description                               |
          |A1  | RED        | Analog Red signal                         |
          |A2  | GRN        | Analog Green signal + optional video sync |
          |A3  | BLU        | Analog Blue signal                        |
          | 1  | N/C        |                                           |
          | 2  | MONTYPE_0  | Monitor ID bit 0                          |
          | 3  | N/C        |                                           |
          | 4  | STEREO     | Stereo Sync signal                        |
          | 5  | STEREO_PWR | Stereo Power, +10V                        |
          | 6  | MONTYPE_1  | Monitor ID bit 1                          |
          | 7  | MONTYPE_2  | Monitor ID bit 2                          |
          | 8  | GND        |                                           |
          | 9  | GND        |                                           |
          ||10  ||_GND        ||___________________________________________|



     Indy, Indigo, Indigo2 (Elan, Extreme, XS, or XZ), and O2 models use a
     micro-DIN connector for the following Stereo port:

                                      __---__
                                     /   3   \
                                    /         \
                                   / 2       1 \
                                  (             )
                                   \     #     /
                                    \         /
                                     ---___---

                          ______________________________
                          |Pin | Name   | Description   |
                          | 1  | PWR    | +12V          |
                          | 2  | GND    | Signal Ground |
                          ||_3  ||_STEREO ||_Stereo Sync   |



     Indigo2 and Octane models with IMPACT graphics use a DB9 connector for
     stereo.  This connector has the following pin assignments:

                                --------------------
                                \  5  4  3  2  1  /
                                 \   9  8  7  6  /
                                  ---------------

                          ______________________________
                          |Pin | Name   | Description   |
                          | 1  | STEREO | Stereo Sync   |
                          | 6  | GND    | Signal Ground |
                          | 7  | GND    | Signal Ground |
                          ||_8  ||_PWR    ||_+12V          |





CrystalEyes3.jpg
CrystalEyes4.jpg

How to display

Once the cables are connected run the command: xsetmon

Stereo-gfx-1.png

Look for a mode which has "s" at the end of it. In the server tab, check that this mode has Sync Source set to External and the Sync Voltage to TTL.. Click the load button.

Run a Stereographic capable program.

Stereo-gfx-2.png

OpenInventor will display a pop up menu by right clicking in the view area, choose "Preferences" and then click the "Stereo Viewing" check box.The space station example gives reasonable effects /usr/share/data/models/vehicles/spacestation.iv Navigate to this file from the desktop and launch it.

Choose the hand tool and spin the image so that it has some aspect rotatinng to and from the viewer. Dolly the image close to the viewer.The image displayed without the glasses should look ghosted as both data sets are being presented to both eyes. Put the glasses on and enjoy the image. Done correctly it should pop out of the monitor by up to 30cm or half a foot as it rotates and be solid without ghosting.


Programming notes

There is support in GLUT for the glasses..


/* fullscreen_stereo.c  --  GLUT support for full screen stereo mode  on SGI
   workstations. */

/* 24-Oct-95 Mike Blackwell  mkb@cs.cmu.edu */

#include <stdlib.h>
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/extensions/SGIStereo.h>

/* We need to access some GLUT internal variables - this include file  is
   found in the GLUT source code distribution. */

/* XXX I do not normally encourage programs to use GLUT internals.  Programs
   that do (like this one) are inherently unportable GLUT programs.  In the
   case of SGI's low-end stereo there was enough demand to warrant supplying
   an example, and the low-end stereo is not clean enough to be supported
   directly in GLUT. -mjk */

#include "glutint.h"

#include "fullscreen_stereo.h"

/* XXX Video display modes for stereo are selected by running
   /usr/gfx/setmon; in IRIX 6.2 and later releases, the XSGIvc API supplies
   the functionality of setmon and more. */

void
start_fullscreen_stereo(void)
{
  int event, error;

  if (!XSGIStereoQueryExtension(__glutDisplay, &event, &error)) {
    fprintf(stderr, "Stereo not supported on this display!\n");
    exit(0);
  }
  if (XSGIQueryStereoMode(__glutDisplay, __glutCurrentWindow->win) < 0) {
    fprintf(stderr, "Stereo not supported on this window!\n");
    exit(0);
  }
  if (system("/usr/gfx/setmon -n STR_BOT") != 0) {
    fprintf(stderr, "setmon attempt failed!\n");
    stop_fullscreen_stereo();
    exit(0);
  }
}

void
stop_fullscreen_stereo(void)
{
  system("/usr/gfx/setmon -n 72hz");
}

void
stereo_left_buffer(void)
{
  XSGISetStereoBuffer(__glutDisplay, __glutCurrentWindow->win, STEREO_BUFFER_LEFT);
  XSync(__glutDisplay, False);
  glViewport(0, 0, XMAXSCREEN, YSTEREO);
}

void
stereo_right_buffer(void)
{
  XSGISetStereoBuffer(__glutDisplay, __glutCurrentWindow->win, STEREO_BUFFER_RIGHT);
  XSync(__glutDisplay, False);
  glViewport(0, 0, XMAXSCREEN, YSTEREO);
}

Modern Stereographics

The Crystal Eyes Stereoglasses are incompatible with Samsung Series7 3-D TV and 3-D BluRay player...

The rate at which the modern devices flicker the signal from the transmitter (in the TV) is different.

The principle and methods however is exactly the same as the original SGI systems.


Health Warning

Some people have adverse reactions

 Might want to put a message on the site about those things can seriously cause you pain. 
 I was laid up in bed for a day and a half with an utterly splitting migrane, didn't eat and was pretty ill twice.

See Also

  • "The CrystalEyes Handbook" by Lenny Lipton, 1991, StereoGraphics Corp.