Newsgroups: comp.sys.hp

> > : I have temporarily a HP9000/720 on my desk. Behind it is a socket
> > : which says "Stereo". I assumed that it's there for sound, right?
> > : Or is it there just to fool the fools?
> > 
> > It doesn't say "Stereo", it says "Audio". It is for an alternate output
> > for the internal speaker, which is hooked up to a 3 voice beeper. The
> > 720 does not have digital audio in/out capability.
> 
> I'll bet it does say "Stereo".  There is a stereo video signal connector
> on the CRX24 and CRX24Z display boards.  With a pricey, non-standard,
> monitor and a pair of LCD shutter glasses, plus software, you can wire
> it up to show 3D stereo images.  Unfortunately, this isn't well supported.
> 

Here is some information about how you can go about "seeing" stereo
on a series 700 workstation.
--
Howard Stroyan                                         
Hewlett-Packard                                        hstroyan@fc.hp.com
User Interface Technology Division                     



STEREOSCOPIC VIEWING USING THE HP SERIES 700 WORKSTATION
--------------------------------------------------------

Hewlett-Packard supports stereoscopic viewing on the following
graphics subsystems of the Series 700 workstation family:

     * TurboVRX (TVRX)
     * CRX-24Z
     * CRX-24

Hewlett-Packard's support of this feature involves both hardware and
software to enable stereo viewing.  Hewlett-Packard provides
hardware in the form of a stereoscopic sync signal from a BNC
connector on the graphics subsystem.  A third party display solution
must be purchased (see below) to use this signal and to display the
image.  Hewlett-Packard provides software support for stereo display
through the Starbase graphics library.   


HARDWARE REQUIRED
In addition to a Series 700 workstation with one of the above
graphics subsystems (TVRX, CRX-24Z, or CRX-24), stereoscopic viewing
requires that a third-party display solution be purchased.  The
third-party solution requires both a time-multiplex viewer and a
multi-sync monitor capable of operating at a 140 Hz vertical trace
rate.  The stereoscopic sync signal is available off the HP graphics
subsystem in the form of a BNC connector.  The graphics hardware
also contributes support in its ability to be switched into the 140
Hz split screen mode of video refresh.  This mode is toggled via a
Starbase software interface (the STEREO gescape).


1) Third-party solutions for time-multiplex viewing hardware include:

       * Stereographics Corporation
	 2171-H East Francisco Blvd.
	 San Rafael, CA  94901

	 Phone (415) 459-4500
	 FAX   (415) 459-3020

	 Model No. M21SR-1
	    Includes: Stereo-ready add-on Crystal-Eyes system
	    containing eyewear and emitter and 21" color display.
	     
         Price: $4800. (approximate)

       * Tektronix, Inc.
	 Display Products Operation
	 P.O. Box 500
	 Mail Station 46-943
	 Beaverton, OR  97077-0001

	 Phone (503) 627-5000
	   or  1-800-835-9433 ext.5000
         FAX   (503) 627-1070

	 Model No. SGS-610 ("Kit")
            19" 3D Display Kit includes
		- 19" Screen-sized, Liquid Crystal Modulator with
		  Anti-Reflective Coating,
		- Stereo Modulator Driver,
		- Velcro Mounting Strips,
		- Stereo Viewing Glasses (4 pair)

	 (It is recommended that you consult technical help at
	 Tektronix to determine whether response time is acceptable
	 with this solution running at 140-144 Hz.)
         
	 (Also note the mismatch in screen size between the 19"
	 Tektronix Stereo Modulator and the size of the Hitachi   
	 monitor shown below.  Some monitors which are labelled as
	 20" are actually 19" by other measurement criteria.)

	 Price: $3495.  19" Stereo Modulator (approximate price)
                 $500.  Optional 6-function driver box (approx.)


2) The monitor required for stereoscopic viewing on the Series 700
   systems mentioned above must be multi-sync and capable of
   operating at a 140 Hz vertical trace rate. (Double the 72 Hz
   standard refresh rate would be 144 Hz.  A refresh rate of 140 Hz
   is sufficient.)  The monitors shown below meet the needs:

       * Hitachi SuperScan Series Monitors
	   Pro-21 Monitor (21" screen)
		  (Model No. CM2187MU)
	   Pro-20 Monitor (20" screen)
		  (Model No. *unknown*)
           
	   Hitachi (Nissei Sangyo America Ltd.)
	   Phone: 1-800-441-4832 (for nearest dealer)

	   These monitors feature:
	     * Flat Screen
	     * Dynamic Focus
	     * Invar Mask
	     * Anti-Reflective Coating
	     * Variable Resolutions with high Refresh Rates
	       (VGA to 1600x1200 @ 30 to 78 kHz)


SOFTWARE REQUIREMENTS
The application enables stereoscopic viewing by using the "STEREO"
gescape in the Starbase graphics library.  Viewing is done in
half-screen resolution (1280x512) with pixels presented in a 2:1   
aspect ratio. 

The time-mutltiplex stereo mode splits the frame buffer in to two
separate display regions.  The upper 1280x512 region contains the
image presented to the left eye.  The lower 1280x512 region contains
the image presented to the right eye.  The application must render
the appropriate images into these two regions of the frame buffer to
produce a stereo pair.

The cursor support is not stereo specific.  A stereo cursor can be
implemented by using two standard Starbase "echos" in the stereo
mode.


SOFTWARE CODING TIPS
Here a few tips on coding a Starbase application to make use of 
a stereoscopic display.

Concepts: 

    Since the stereo display mode splits the frame buffer into left 
    and right regions, two images must be rendered for each display.  
    The 2:1 aspect ratio of each image must accommodated in the images.
    If the stereo pair to be displayed is a pre-generated pair of images
    (e.g.  digitized imagery), then the images need to be resampled to a
    2:1 aspect ratio before transfer to the frame buffer.  If the images
    are to be generated via Starbase graphics primitive rendering, then
    the Starbase viewport needs to be initialized to produce the
    expected aspect ratio.

Display Environment:

    The use of the time-multiplex stereo display mode can be
    confusing when used with the X11 Window system.  The stereo mode
    requires that the entire display surface be dedicated to stereo
    viewing while stereo is in operation.  On the TVRX this can be 
    accomplished by operating Starbase in the "raw" device mode.
    On "raw" device mode is not supported on the CRX-24 and CRX-24Z.
    On these devices, stereo viewing should be established by first 
    creating an X window which exactly fills the complete screen area
    (1280x1024 with upper left corner at 0,0).  Depending on the X
    window manager in use (i.e. mwm, vuewm, ...) some X resources 
    may need to be configured to allow the creation of such a window.
    (see see the appropiate window manager man page for information of
     setting client decoration, postioning, and window size policies).

Rendering Stereoscopic 3D images in Starbase:

    If the application desires to use Starbase as the mechanism to 
    render 3D objects in stereo views, the following hints are
    applicable.

    View Matrix: 
	Stereo viewing requires that left and right views be 
	generated.  There are many texts which describe the
	synthesis of viewing transformation matrices that will
	produce realistic stereo pairs.  
	The idea is to synthesis the two views by moving the 
	eye point and maintaining a fixed reference point
	(the point where the two views cross).
	
	A correction is in required to deal with the non-perpendicular
	viewing plane of the screen.  The most common solution is to 
	post-concatinate the following transformations to alter the 
	skew of the viewing transform and produce left/right eye corrections.
               _                 _
              |   1   0   0   0   |
              |   0   1   0   0   |
	    T    =|   0   0   1  -1/f |
	     left |  f/20 0   0   1   |
               -                 -

               -                 -
              |   1   0   0   0   |
              |   0   1   0   0   |
	   T     =|   0   0   1  -1/f |
	    right | -f/20 0   0   1   |
               -                 -
	
		Where f is the focal length.

    Setup:
	/* allow the the non 1:1 aspect ratio in the viewing model */
	mapping_mode(fildes,TRUE);

	/* activate the stereo viewing mode */
	arg1.i[0] = TRUE;  
	gescape(fildes, STEREO, &arg1, &arg2);

    Render Left Eye:
	/* if hidden surface removal is used, it needs to be disable
	   while modifying the p1_p1 settings */
	hidden_surface(fildes,FALSE,FALSE); 

	/* by modifying the p1_p2 settings the current rendering
	   region can be mapped the the left/right image area */
	set_p1_p2(fildes,FRACTIONAL, 0.0, 0.0, 0.0, 1.0, 0.5, 1.0);

	/* re-establish the VDC extent after the p1_p2 change */
	vdc_extent(fildes, -1.0, -1.0, -1.0, 1.0, 1.0, 1.0);

	/* re-activate HSR if in use */
	hidden_surface(fildes,TRUE,FALSE);

	/* establish the left-eye viewing model */
	view_camera(fildes, left_camera);

	/* correction for non-perpendicular display plane */
	view_matrix3d(fildes, left, POST_CONCAT_VW);

	RENDER LEFT IMAGE

    Render Right Eye:
	/* repeat the steps above, but this time for the right eye */

Newsgroups: comp.sys.hp