stereo on iris

Bates TAD/HRNAB ms294 x2601 blbates at AERO4.LARC.NASA.GOV
Fri Feb 12 23:01:48 AEST 1988


   Interesting that you should pose that question now, I was just experimenting
with that last week.  Personally, I think lookat() is the best way to do it.
I've got a program that I use to look at 3D grids, it rotates, magnifies,
translates, and changes the perspective.  I modified it slightly so that, in
one buffer the object was drawn in RED with lookat() offset to the right about
1.0 and in the other buffer I draw in BLUE with lookat() offset to the left 
about 1.0.  Then I swap buffers back & forth, and look at the screen with
MAGENTA & CYAN filters.  One thing I notice was that depending on how deep the
object was I needed to adjust the field of view.  With very deep objects, I
needed a narrow view, with shallow objects, I could use a larger view. Usually,
my field of view was less than 20 degrees.  In FORTRAN:

      call getsiz(xlength,ylength)
      .
      .
      .
      totext=max(abs(xmax-xmin),abs(ymax-ymin),abs(zmax-zmin))*1.25
      .
      .
      far=totext*1.5-viewpnt
      if(far.le.0) then
         far=totext*1.0e-4
      endif
      near=-viewpnt
      if(near.ge.far.or.near.le.far*1.0e-3.or.near.le.0) then
         near=far*1.0e-2
      endif
      call perspe(fovy,real(xlength)/real(ylength),near,far)
      if(red) then
         call lookat(viewpnt-totext,xpos-1.0,ypos,viewpnt,xpos,ypos,-900)
      else
         call lookat(viewpnt-totext,xpos+1.0,ypos,viewpnt,xpos,ypos,-900)
      endif

   I adjust xpos & ypos for translations and viewpnt for magnifications.
If you are doing zbuffering near can't be 0.0 or < far*1.0e-3.  The near to far
ratio is not carved in stone, but the 0.0 is.
   I hope this is of some help, if you have any questions just ask.  The RED
and BLUE works ok, but I the stereo viewer would be better.  You might try
my way to test how things look and then get hard copy in the correct colors
for the stereo viewer.
   Good luck.
			     Brent L. Bates



More information about the Comp.sys.sgi mailing list