stereo(7)
stereo - stereo viewing on Silicon Graphics systems
As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.
NAME stereo - stereo viewing on Silicon Graphics systems DESCRIPTION All SGI graphics systems have one or more ports for connecting stereo viewing equipment to enable 3-D stereo presentation of computer graphics imagery. The Stereo port provides power for the external viewing equipment, and provides a Stereo Field sync signal to synchronize the external viewing equipment to the time-multiplexed stereo video. When the Stereo Sync signal is High, the system is displaying the Right- Eye view; when it is low, the system is displaying the Left-Eye view. External stereo viewing equipment uses this signal to synchronize its time-multiplexing of the video into the viewer's left and right eyes, creating the illusion of a stereoptic presentation of the graphics images. For more information on creating Left-Eye and Right-Eye views, see the article, High Resolution Virtual Reality, by Michael Deering in ACM Computer Graphics, vol. 26, number 2, the 1992 SIGGRAPH proceedings, page 195. To display stereo images, a stereo-capable software application must be running on a stereo-capable graphics system, to which the appropriate external stereo viewing equipment has been attached. The system must be running a stereo-video format. See xsetmon(1), setmon(1G) and setmonitor(3G) for details on setting the system to stereo video format. Three different kinds of stereo are supported on SGI equipment. The first two methods use the stereo connection described above to synchronize external viewing equipment, such as the CrystalEyes stereo goggles. The third method is used for head mounted displays. 1. The most common is 1280x492 pixels per left/right field, at 60 field-pairs per second. All Silicon Graphics workstation models support this kind of stereo. This method has been called divided screen or split screen stereo in various documents, because the frame buffer is divided into 2 parts, one for each eye. Stereo applications render the left-eye view into the top half of the frame buffer, using lines 0-491. The right-eye view is rendered into the bottom half of the frame buffer using lines 532-1023 (on all systems except O2, which uses lines 512-1003). The application must adjust the transformation matrix to correct for the fact that pixels are not square in this format. There are two variations on split screen stereo. In the first, called old-style stereo, a single application takes over the entire screen and is responsible for all rendering, typically using the older IRIS GL application program interface. This kind of stereo is selected by giving the STR_RECT option to setmon. In the second variation, which uses the SGI Stereo X extension, applications can render stereo into a window on a desktop that includes other windows. The SGI Stereo X extension includes these functions: XSGIStereoQueryExtension, XSGIStereoQueryVersion, XSGIQueryStereoMode, XSGISetStereoMode, and XSGISetStereoBuffer. This kind of stereo is selected by giving the STR_TOP or STR_BOT option to setmon, or by selecting "Top" or "Bottom" when prompted by xsetmon after the user chooses a split-screen stereo timing table. The windowing system is responsible for putting up menus, popups, etc. in both the top and bottom halves of the screen, in order to make stereo-in-a-window work. 2. Another stereo method, Quadbuffer Stereo, dedicates separate frame buffers to each eye, so it uses four buffers when displaying double buffered stereo images. This method renders and displays square pixels, and does not require the windowing system to render its widgets in two places. Stereo applications render the left-eye and right-eye views to the same pixel locations in the screen or window, but select either the left buffer or right buffer when rendering views for the left or right eye, respectively. This method allows several different display resolutions, and has the advantage of allowing the software application to render to a square-pixel space. This results in higher image quality, especially for anti-aliased rendering. This method is typically selected by using setmon or xsetmon to load, for example, the 1024x768_96s timing table. 3. The third way of doing stereo is with the Multi-channel option (MCO), which dedicates a video channel per eye. This method is popular for virtual reality helmets, but is beyond the scope of this document. No Stereo Sync is needed for this kind of stereo. The two video channels must be genlocked together. See setmon(1G) and setmonitor(3G) for details on enabling the genlock function. In some multi-screen stereo applications it is desirable to genlock the stereo screens together. Care must be taken to ensure that right-eye views are locked together. For some older stereo formats, this may require several tries. See setmon(1G) for details on enabling the genlock function. ELECTRICAL INTERFACE There are four different types of stereo ports found on various Silicon Graphics systems. The DIN-8 powered serial port connectors, which are found on the Onyx and Crimson models, provide Stereo Sync in addition to serial communication signals for other types of peripherals. The serial signals are not used by external stereo viewing equipment, but the pin-out description of all signals on the DIN-8 is provided here for completeness. In order to support peripherals which draw power from the host system, the Challenge and Onyx systems provide two powered-peripheral serial ports. These ports have a DIN-8 connector. These ports share the tty2 and tty3 signal lines with the standard DB-9 connectors; if the DB-9 connector for tty2 is already in use, you cannot use the powered peripheral connector for tty2. Similarly, if tty3's DB-9 connector is connected to a peripheral, the powered peripheral port connected to the tty3 signal lines cannot also be used. The Stereo SYNC signal is brought out in parallel to both ports. The powered peripheral ports have the following pin assignments: __---__ / 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 _________________________________________ | | | | The Onyx and Crimson also provide Stereo Sync and Stereo Power as part of the 13W3 RGB video port. Note: the Elan and Indy products do NOT have stereo support in its 13W3 port. This connector has the following pin assignments: ------------------------------- \ 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 ______________________________ | | | | SEE ALSO xsetmon(1), setmon(1G), setmonitor(3G)