(none)

Lance M. Optican - LMO lmo at lsr-vax.UUCP
Thu Apr 12 03:23:06 AEST 1990


To: Info-Iris
Subject: Animation at 60 fps

	I would like some advice on using graphics
computers for Real-Time Animation of OPTICAL FLOW.
This would allow us to simulate the visual effects
of self- or relative-motion between an observer and
the environment.  Our application is to study how
the brain deals with visual motion.

	I need to update the screen 60 times per second,
and I want to run with something like a Stereographics Co.
adapter to get stereo.  In 80% of our cases, we can
pre-compute the images, and load them like a movie
at 60 fps.  In the other 20% of our cases, we would
like to move the image under interactive control of
the user.  The images we currently use are fields of
up to 10,000 random dots (not stereo), precomputed
and then DMA-pumped into an EGA card on a PC-AT
(Intel 80286).  We would like to use some more
realistic objects, in addition to the dot fields.

	I have tested some sample code on SGI 4D-25TG,
4D-70GT, and 4D-120GTX machines.  The 4D-25TG seems unable
to run above 30 fps (even when displaying only 100 dots).
There was also a strange BUG on the 4d-25TG that showed
up when I ran a program that simulated a stop-watch.  I
tried to update the position of the sweep hand every frame.
At every multiple of 45 degrees around the compass, the
sweep hand slows down or speeds up by about a factor
of two!  SGI's Chuck Molyneaux saw this test, but was
mystified as to the source of the problem.  I suspect
it may be a mistake in the microcode that does vectors.
Could the code be some kind of Bresenham's algorithm,
but written only for slope of line between 0 and 1?  For
other slopes, the points would then first have to be
transformed to reverse the end points and invert the slope,
thereby slowing down the machine enough to miss a frame.

	I could get simple dot fields on the GT machines
to run at 60 fps, but only if the number of dots was limited
(about 2000 dots).  I also run into trouble when trying
to do stereo, for which I am using a modification of the
"Iris Universe" program for changing the perspective of
the left & right viewpoints.  The problem seems to be that
the screen clear (czclear()) takes about 8 msec, and the
viewing transformations are also slow.  At the suggestion
of Nancy Marks of SGI, I have turned these transformations
into objects, but that has not speeded things up enough to
increase the dot fields even to the complexity we get now
on the PC-AT!

	I would appreciate any advice on how to make the
Iris 4D-85GT run faster in this application.  (Budgetary
restrictions (about $50K) prevent us from moving up to the
new 4D-xxxVGX system, even though it is almost an order
of magnitude faster.)  Also, if anyone knows of alternative
approaches (such as video frame buffers that can show
1024x1024 resolution images at 60 fps) I would like to
hear about them.  All of these applications
would have to run under a real-time Irix kernel to be of
any use, since we can't have the displayed image jerking
as the operating system decides to do things.  Thus, if
anyone has any experience with the SGI real-time Irix used
in animation, I would like to hear about it.  As always,
my ordering deadline is imminent!  Any information reaching
me before April 15 will be greatly appreciated!

		Thanks,

		Lance Optican
		National Eye Institute
		Bethesda, Maryland
		(uunet!lsr-vax!lmo)



More information about the Comp.sys.sgi mailing list