[sci.virtual-worlds] Stereoglasses, active technology

andyrose@uunet.UU.NET (Andy Rose) (09/15/90)

Bruce Land, manager of Visualization and Information Technologies
at Cornell Theory Center has plans for 3D glasses drawn up and
ready to go.  These are based on SEGA game glasses ($30-$50) and
an RS-232 connector with some capacitors and stuff.  Total cost is 
well under $100.

For these to be effective you need a computer which can alternate
between two graphic buffers at rates quicker than 10 times a second.
30 times a second is of course great.  This is not to tough for 
displaying a left eye frame and than a right eye frame of a static
image.  If you wish to animate, you need to compute a left eye frame
and a right eye frame and display them at the above rates.  This
is not easy.  Silicon Graphics, Stardent, RS6000, and other machines
in this class can barely do it, especially as quantity of polygons
grows.  

Basically you send a pulse out the serial port to tell the glasses to 
dim the open lens and open the dim lens.  The dimming is accomplished
with a 5v 400hz signal.  See the schematic for power requirements.
It would be nice to build a set with batteries, or even infrared
for wireless.  And having a super duper hard disk with direct access to
the display memory (consider the screaming disk) which could dump
1 megabyte (640*480*24 bits) images at 1/30th of a second would also
be cool.  Then you could atleast display precomputed frames in real time.

One manufacturer at SIGGRAPH suggested I by 9 of his disk drives and put them 
in a ring around the video memory and blah.. blah.. as his voice grew
fainter.

send e-mail to OX7Y@CORNELLF.TN.CORNELL.EDU for the plans.
Don't forget to mention you heard it here first...

This is of course all free...

-- 
Andrew Newkirk Rose '91
Department of Visualization
Cornell National Supercomputing Facility / Theory Center
632 Engineering and Theory Building

jmunkki@hila.hut.fi (Juri Munkki) (09/15/90)

In article <7571@milton.u.washington.edu> dartvax!batcomputer!andyrose@uunet.UU.
NET (Andy Rose) writes:
>Bruce Land, manager of Visualization and Information Technologies
>at Cornell Theory Center has plans for 3D glasses drawn up and
>ready to go.  These are based on SEGA game glasses ($30-$50) and
>an RS-232 connector with some capacitors and stuff.  Total cost is 
>well under $100.

Connecting the glasses to just about any computer is really easy.
My interface costs about $10 to $20, so I guess it must be pretty
close to what Mr. Land has designed. A lot of people have been very
interested in these glasses and some have built the interface. The
big problem has been finding the glasses in the US. The glasses were
discontinued at just about the same time I first posted the article
about the glasses in comp.graphics and some other groups (virtual-
worlds didn't exist at the time).

I have heard of plans to resume production of the glasses, but so
far no one has actually reported that they would be available again.

Does Mr. Land sell the glasses and the interface or does he have a
guaranteed way of getting the glasses?

>For these to be effective you need a computer which can alternate
>between two graphic buffers at rates quicker than 10 times a second.
>30 times a second is of course great.

30 times per second is merely adequate. If you have any amount of
backlighting, even 30 frames per second will flicker. I wouldn't
want to use the glasses if I only had a 10 frames per second rate.

>This is not to tough for
>displaying a left eye frame and than a right eye frame of a static
>image.  If you wish to animate, you need to compute a left eye frame
>and a right eye frame and display them at the above rates.  This
>is not easy.  Silicon Graphics, Stardent, RS6000, and other machines
>in this class can barely do it, especially as quantity of polygons
>grows.

If you wish to animate, you can use two frame buffers or use palette
animation to do the switching. This method guarantees that you can
switch every time your monitor does a vertical blanking, so you get
the minimum amount of flicker. You need four buffers to do double-
buffered animation in stereo. If I divide my Macintosh II screen into
4 2-bit bitplanes, I can do stereo animation with four colors. If
you have a 32-bit frame buffer with a CLUT, it is quite probable that
you can have 256 color animation in stereo. A graphics accelerator
is recommended. :-)

For an example of how to do animation with a display card that doesn't
support multiple pages or cluts, blit from offscreen buffers at vertical
blanking time and draw using four offscreen buffers. Any rate of animation
can be achieved as long as there is time left after the blit.

Sources and documentation can be found with anonymous ftp from vega.hut.fi.
The files are stored in /pub/mac/finnish/sega3d, but there is an ASCII+GIF
version of the document.

Please also note that +-5V might be enough for the glasses, but at least
I was informed that +-10V is the right voltage. My interface generates
about +-9V on a Macintosh serial port.


   ____________________________________________________________________________
  / Juri Munkki     /  Helsinki University of Technology   /  Wind  / Project /
 / jmunkki@hut.fi  /  Computing Center Macintosh Support  /  Surf  /  STORM  /
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

jet@karazm.math.uh.edu (J. Eric Townsend) (09/15/90)

In article <7571@milton.u.washington.edu> dartvax!batcomputer!andyrose@uunet.UU.
NET (Andy Rose) writes:
>Basically you send a pulse out the serial port to tell the glasses to 
>dim the open lens and open the dim lens.

This has been available for the CBM Amiga for some time now.  I forget
the exact name of the lcd goggles (I think it's X-Specs or something
noxious like that.  Made by "Haitex", I think).  Anyway, it's a set
of lcd-shutter glasses for around $100.  Comes with a couple of moderately
neat games which take advantage of the boffo graphics chips on the
stock Amiga.  Lots cheaper than an RS6000 or SGI machine if you just
want to play around with simple ideas.
--
J. Eric Townsend -- University of Houston Dept. of Mathematics (713) 749-2120
Internet: jet@uh.edu
Bitnet: jet@UHOU
Skate UNIX(r)

mkwan@mullauna.cs.mu.OZ.AU (Matthew Kwan) (09/15/90)

dartvax!batcomputer!andyrose@uunet.UU.NET (Andy Rose) writes:

>Basically you send a pulse out the serial port to tell the glasses to 
>dim the open lens and open the dim lens.  The dimming is accomplished
>with a 5v 400hz signal.  See the schematic for power requirements.
>It would be nice to build a set with batteries, or even infrared
>for wireless.  And having a super duper hard disk with direct access to
>the display memory (consider the screaming disk) which could dump
>1 megabyte (640*480*24 bits) images at 1/30th of a second would also
>be cool.  Then you could atleast display precomputed frames in real time.

I went to the AUSGRAPH trade show this week in Melbourne, and Silicon
Graphics had a 3-D setup running with wireless glasses.
The glasses were synchronized with an IR transmitter mounted on the
top of the monitor, and were completely separate (i.e. had batteries
built-in).
It was running off a Personal Iris with a special 3-D adaptor. Basically
you draw the left picture in the top half of the screen, the right in
the bottom, and the hardware does the rest.
The demo I saw was an X-29 fighter fully rendered in real time. It
was really impressive when it flew straight at you.

The cost - $3600 (Australian dollars) on top of the cost of an Iris.
Probably ~$2500 in the US.

So the hardware DOES exist. All you need is the software.

------------------------------------------------------------------------
Matthew Kwan
        - The man with no .signature

greg@walt.cc.utexas.edu (Greg Harp) (09/15/90)

In article <1990Sep14.215405.2521@santra.uucp> jmunkki@hila.hut.fi (Juri Munkki)
 writes:
>>For these to be effective you need a computer which can alternate
>>between two graphic buffers at rates quicker than 10 times a second.
>>30 times a second is of course great.
>
>30 times per second is merely adequate. If you have any amount of
>backlighting, even 30 frames per second will flicker. I wouldn't
>want to use the glasses if I only had a 10 frames per second rate.
>
>>This is not to tough for
>>displaying a left eye frame and than a right eye frame of a static
>>image.  If you wish to animate, you need to compute a left eye frame
>>and a right eye frame and display them at the above rates.  This
>>is not easy.  Silicon Graphics, Stardent, RS6000, and other machines
>>in this class can barely do it, especially as quantity of polygons
>>grows.
>
>If you wish to animate, you can use two frame buffers or use palette
>animation to do the switching. This method guarantees that you can
>switch every time your monitor does a vertical blanking, so you get
>the minimum amount of flicker. You need four buffers to do double-
>buffered animation in stereo. If I divide my Macintosh II screen into
>4 2-bit bitplanes, I can do stereo animation with four colors. If
>you have a 32-bit frame buffer with a CLUT, it is quite probable that
>you can have 256 color animation in stereo. A graphics accelerator
>is recommended. :-)

I planned to (and forgot) to say this earlier: Why do you have to _draw_
30 (or more) frames a second?  I agree that to achieve stereo effect, the
left and right images must be displayed alternately every 30th of a second.

HOWEVER, what keeps you from showing one frame, say, three times?  Most
graphics-oriented machines can display _some_ type of image every tenth
of a second.  (My Amiga certainly can handle filled polygons with "smart
shading" at this rate and faster with only a 68000, and many consumer-level
machines can at least do half that.)

In order to trick the eye, a rate of >30 frames a second (about 33) must
be used.  When I used an interlaced video mode on my NTSC monitor, a 30 Hz
flicker is apparent at high contrast.

But we must accept that most VR junkies don't have SGI's.  I don't think
the major breakthroughs in VR come from the people with the SGI's, DataGloves,
Eyephones, etc., anyway.  Certainly affordable VR doesn't come from these
people.  For VR to become a reality, we must build up from the bottom.

>  / Juri Munkki     /  Helsinki University of Technology   /  Wind  / Project /
> / jmunkki@hut.fi  /  Computing Center Macintosh Support  /  Surf  /  STORM  /
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Just my $0.02...


        _ _  Disclaimer:  "What I _really_ meant was..."
AMIGA! //// 
      ////   "Don't look so frightened.  This is just a passing phase -- one of
_ _  ////  my bad days." --Roger Waters, Pink Floyd's The Wall, One of My Turns
\\\\////        
 \\XX//           Greg Harp                greg@ccwf.cc.utexas.edu
Stolen from an idea by es1@cunixb.cc.columbia.edu [Ethan Solomita]:
    execute (Saddam_Hussein);

cphoenix@csli.Stanford.EDU (Chris Phoenix) (09/15/90)

In article <7609@milton.u.washington.edu> mkwan@mullauna.cs.mu.OZ.AU (Matthew Kw
an) writes:
>I went to the AUSGRAPH trade show this week in Melbourne, and Silicon
>Graphics had a 3-D setup running with wireless glasses.
>The glasses were synchronized with an IR transmitter mounted on the
>top of the monitor, and were completely separate (i.e. had batteries
>built-in).
>It was running off a Personal Iris with a special 3-D adaptor. Basically
>you draw the left picture in the top half of the screen, the right in
>the bottom, and the hardware does the rest.

You mean that if you looked at the screen without any glasses you'd see 
a picture on the top half of the screen and a different version of it on
the bottom half of the screen? 
This sounds like it wants prism glasses to merge the picture, not fancy
$2500 wireless LCD glasses.  I thought the point of LCD glasses was so you
could put a picture on the full screen...
Some people have told me that you actually do get a good 3-D view with
simple prism glasses (molded plastic, *cheap*) and drawing on two halves
of the screen.  This is another possibility for cheap 3-D effects.

-- 
War is a little naked kid running along a road and screaming because the 
napalm hurts so bad. War is young men in body bags -- theirs and ours. And 
the dying doesn't necessarily have anything to do with baseball, apple pie 
and the Grand Old Flag.  -- Mike Royko

jmunkki@hila.hut.fi (Juri Munkki) (09/15/90)

In article <7613@milton.u.washington.edu> greg@walt.cc.utexas.edu (Greg Harp) wr
ites:
>I planned to (and forgot) to say this earlier: Why do you have to _draw_
>30 (or more) frames a second?  I agree that to achieve stereo effect, the
>left and right images must be displayed alternately every 30th of a second.
>
>HOWEVER, what keeps you from showing one frame, say, three times?  Most
>graphics-oriented machines can display _some_ type of image every tenth
>of a second.  (My Amiga certainly can handle filled polygons with "smart
>shading" at this rate and faster with only a 68000, and many consumer-level
>machines can at least do half that.)

Because the Amiga has very flexible and well documented graphics hardware,
doing stereo animation on it should be quite simple. Most workstations and
business oriented computers aren't quite that easy to use.

The most important thing is that you should have a way of getting a vertical
blanking signal to the program. This is something that the Amiga and Macintosh
certainly have, but I doubt that most unix workstations have it available. If
you can't synchronize with the video monitor, you get flicker.

Assuming that you have a vertical retrace signal, you now need a way to quickly
switch frame buffers. The Macintosh Plus and SE have two frame buffers. You
can't have true double buffering with just two frame buffers, if you need
stereo as well. You have to blit to these buffers for every step of your
animation. Macintosh II can have a large variety of graphics cards. Probably
the most popular is the 8-bit graphics card. As I said, you can divide that
into four 2-bit planes and get true stereo double buffering.

The Amiga can set the frame buffer address to anything as long as it is
in video memory. Although there usually is a shortage of video RAM, in
this case I think it will be totally adequate even for animation.

PCs have a variety of different graphics adapters, so you have to code
for each one separately, if you want your program to be any good. If I
remember correctly, CGA doesn't have a way to switch video buffers,
since there simply isn't enough video memory. EGA and VGA might be able
to do better, but I'm not really familiar with PC displays, so I'll let
someone else comment on those.

The NeXT has a 2-bit video buffer and as far as I know, it currently doesn't
have any extra memory to do buffer changes. I also doubt that they have
documented any way to change the clut (if it even has one) to change it
so that it has two 1-bit video buffers. The NeXT might have a vertical
blanking interrupt, but I haven't seen mention of it in the documentation.

I am not familiar with Suns, but my guess is that their software interface
(usually X-windows) was not designed to work in stereo. If you have a color
display, you can play the same tricks as on a Macintosh, but I don't know
if you will be able to find a vertical sync signal.

Let's assume that you want to do animation:

 1) You could redraw everything ~30 times per second. This is not really
    a good technique, but some quick testing can be done this way. I
    wrote a short program that displays a few lines in stereo. Once you
    have too many lines, you can't keep up with the display and you
    get flicker. My recommendation: Don't do this unless you have to.

 2a To do double buffered animation in stereo, you have two buffers that
    are alternately displayed and two buffers that you draw into. If your
    hardware doesn't support multiple buffers, but has a vertical blanking
    interrupt, you can try to blit during vertical blanking and draw with
    the time that you have left over. This works quite well on fast machines
    with 1-bit bitmaps.

 2b If your hardware does support multiple buffers, you just do the buffer
    switch during vertical blanking. This leaves you with plenty of time
    to do animation.

 2c To be compatible with head mounted displays with two monitors, you should
    never assume that you can modify either of the buffers that are currently
    active (being displayed).

 3) If you have relatively static displays or can guarantee that changes
    occur in both buffers relatively simultaneously, you can use just two
    buffers and draw into them directly. This saves you a lot of trouble,
    but it's now harder to animate the whole screen. For 3D CAD this is
    probably marginally acceptable, but for VR, it is totally unacceptable.

>In order to trick the eye, a rate of >30 frames a second (about 33) must
>be used.  When I used an interlaced video mode on my NTSC monitor, a 30 Hz
>flicker is apparent at high contrast.

That's what I said. Why repeat it? Actually StereoGraphics (who makes
the CrystalEyes glasses that are sold for many computers including SGI)
recommends a monitor with a refresh rate of 120Hz. That leaves you with
60Hz per eye.

>But we must accept that most VR junkies don't have SGI's.  I don't think
>the major breakthroughs in VR come from the people with the SGI's, DataGloves,
>Eyephones, etc., anyway.  Certainly affordable VR doesn't come from these
>people.  For VR to become a reality, we must build up from the bottom.

Why would you say that? The PowerGlove is not owned by VPL Research and they
are developing a PC version. Someone has to work out the concepts behind
the hardware and software before you can make an affordable version. Would
there be a PowerGlove, if the DataGlove didn't exist?

I think one of the most interesting recent development is the Private Eye
monitor. It shouldn't be hard to adapt that technology to work in Stereo
and in conjunction with a head tracker. The concept is simple and once it
is mass-produced, the price will be affordable even in stereo. It also
seems quite simple to make the device display in color as well. At the moment
this technology costs quite a bit (about $500 for a single monitor), but
the devices are practically hand-built. The same thing applies to the
DataGlove and probably the Polhemus trackers as well. Once these things
are needed in quantities of 10 000 or 100 000, the prices will go down.

   ____________________________________________________________________________
  / Juri Munkki     /  Helsinki University of Technology   /  Wind  / Project /
 / jmunkki@hut.fi  /  Computing Center Macintosh Support  /  Surf  /  STORM  /
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

mkwan@mullauna.cs.mu.OZ.AU (Matthew Kwan) (09/16/90)

cphoenix@csli.Stanford.EDU (Chris Phoenix) writes:

>>It was running off a Personal Iris with a special 3-D adaptor. Basically
>>you draw the left picture in the top half of the screen, the right in
>>the bottom, and the hardware does the rest.

>You mean that if you looked at the screen without any glasses you'd see 
>a picture on the top half of the screen and a different version of it on
>the bottom half of the screen? 

Sorry if I didn't make myself clear. I mean that you write in the
top and bottom halves of the screen, and the adaptor takes those
images, makes them full-sized, and alternates them.

When you look at the screen without glasses you get the 2 images
superimposed.

The advantage of this system is that you only need one double-buffer,
and you can use the existing z-buffering hardware. The only difference
is that it runs at half speed - which on a Silicon Graphics is still
approx 15000 polygons/sec.

Is there anyone from Silicon Graphics who can confirm this? I may
have got some of the details wrong.

---------------------------------------------------------------------
Matthew Kwan
        - The man with no .signature

tomw%orac.esd.sgi.com@SGI.COM (Tom Weinstein) (09/16/90)

In article <7622@milton.u.washington.edu> cphoenix@csli.Stanford.EDU (Chris Phoe
nix) writes:
> In article <7609@milton.u.washington.edu> mkwan@mullauna.cs.mu.OZ.AU (Matthew 
Kw
> an) writes:

>>I went to the AUSGRAPH trade show this week in Melbourne, and Silicon
>>Graphics had a 3-D setup running with wireless glasses.
>>The glasses were synchronized with an IR transmitter mounted on the
>>top of the monitor, and were completely separate (i.e. had batteries
>>built-in).
>>It was running off a Personal Iris with a special 3-D adaptor. Basically
>>you draw the left picture in the top half of the screen, the right in
>>the bottom, and the hardware does the rest.

> You mean that if you looked at the screen without any glasses you'd see 
> a picture on the top half of the screen and a different version of it on
> the bottom half of the screen? 
> This sounds like it wants prism glasses to merge the picture, not fancy
> $2500 wireless LCD glasses.  I thought the point of LCD glasses was so you
> could put a picture on the full screen...
> Some people have told me that you actually do get a good 3-D view with
> simple prism glasses (molded plastic, *cheap*) and drawing on two halves
> of the screen.  This is another possibility for cheap 3-D effects.

There are two modes that the monitor can be in.  It can be in normal
1280x1024 mode, or it can be in stero 1280x512 mode which looks to the
software like 1280x1024 mode, but the top half of the screen is one
stereo buffer and the bottom half is the other stereo buffer.  The video
hardware then alternates between the buffers, sending out sync signals
through a little IR box that you can sit on top of your monitor.

--
Tom Weinstein
Silicon Graphics, Inc., Entry Systems Division, Window Systems
tomw@orac.esd.sgi.com
Any opinions expressed above are mine, not sgi's.

tomw%orac.esd.sgi.com@SGI.COM (Tom Weinstein) (09/16/90)

In article <7571@milton.u.washington.edu> dartvax!batcomputer!andyrose@uunet.UU.
NET (Andy Rose) writes:

> For these to be effective you need a computer which can alternate
> between two graphic buffers at rates quicker than 10 times a second.
> 30 times a second is of course great.  This is not to tough for 
> displaying a left eye frame and than a right eye frame of a static
> image.  If you wish to animate, you need to compute a left eye frame
> and a right eye frame and display them at the above rates.  This
> is not easy.  Silicon Graphics, Stardent, RS6000, and other machines
> in this class can barely do it, especially as quantity of polygons
> grows.  

The Personal Iris can barely do it.  Note that the PI is the low end of
our hardware.  The high end can draw 1,000,000 flat shaded polygons per
second, and 100,000 texture mapped polygons per second.  I doubt it
would have any problem drawing reasonably complex scenes at 60Hz.

--
Tom Weinstein
Silicon Graphics, Inc., Entry Systems Division, Window Systems
tomw@orac.esd.sgi.com
Any opinions expressed above are mine, not sgi's.

jcs@crash.cts.com (John Schultz) (09/17/90)

In article <7609@milton.u.washington.edu> mkwan@mullauna.cs.mu.OZ.AU (Matthew Kw
an) writes:
>
>
>
>I went to the AUSGRAPH trade show this week in Melbourne, and Silicon
>Graphics had a 3-D setup running with wireless glasses.
>The glasses were synchronized with an IR transmitter mounted on the
>top of the monitor, and were completely separate (i.e. had batteries
>built-in).

  StereoGraphics makes the Crystal Eyes, wireless shutters. Unlike the
Sega or X-Specs (Nintendo), they are wireless, have large shutters with
excellent light transmittance/blockage, and run at 120 hz (aot 60).  No
flicker and very bright images are the result.  You can set up a pair of
game glasses for under $100, while the Crystal Eyes are $2000.
 

  John

  (independent)