[comp.graphics] IRIS ANIMATION QUESTIONS

mgreen@cs.toronto.edu (Marc Green) (07/31/90)

I just bought an IRIS but have been unable to perform animation the
way I'd like. I'm hoping that someone may have had similar experience
and offer some suggestions.

I want to create animation by predrawing a series of frames and
panning/scrolling to them. (The pictures have to be drawn pixel by
pixel and cannot be redrawn in one or two sweeps so double buffering
doesn't work. Even so I need at least 4 frames.) In my old system, I
had hardware zoom and pan. I could do animation by:

1) zooming up to create off screen memory. The lower resolution was
OK. I can get by with 256 X 256.

2) then draw 4-8 frames off screen

3) and then make a movie by cycling them through the display buffer
for viewing.

Can I simulate this on the IRIS?

I can work in color map mode and reduced resolution is OK. 

Marc Green
Trent University

sergio@sergio.uucp (Sergio Perrone/30000) (07/31/90)

In article <90Jul31.082130edt.7234@neat.cs.toronto.edu> mgreen@cs.toronto.edu (Marc Green) writes:
>I just bought an IRIS but have been unable to perform animation the
>way I'd like. I'm hoping that someone may have had similar experience
>and offer some suggestions.
>
>I want to create animation by predrawing a series of frames and
>panning/scrolling to them. (The pictures have to be drawn pixel by
>pixel and cannot be redrawn in one or two sweeps so double buffering
>doesn't work. Even so I need at least 4 frames.) In my old system, I
>had hardware zoom and pan. I could do animation by:
>
>1) zooming up to create off screen memory. The lower resolution was
>OK. I can get by with 256 X 256.
>
>2) then draw 4-8 frames off screen
>
>3) and then make a movie by cycling them through the display buffer
>for viewing.
>
>Can I simulate this on the IRIS?
>
>I can work in color map mode and reduced resolution is OK. 
>
>Marc Green
>Trent University

How's this for an alternative...

1.  Open a graphics window, draw frames one at a time; as each one is drawn
    capture it into an array with rectread/lrectread.  Dump to a file or 
    keep in memory.  The array might be this -

    long int x[NUMFRAMES][256*256];

    for RGB data.

2.  Assuming your window is fullscreen, do ...

    rectzoom( 1280.0/256.0, 1024.0/256.0 );

3.  Now loop through your frames...

    for (i = 0; i < 8; i++){
      rectwrite/lrectwrite( 0, 0, 256-1, 256-1, x[i] );
    }

At the reduced resolution, this is tolerably fast on a PI and quite fast
on a GT/GTX/etc.

Marc

--- Marc Andreessen, IBM AWD Austin, sergio@sergio.austin.ibm.com   ---
--- Words and ideas contained herein are independent of IBM policy. ---

mgreen@cs.toronto.edu (Marc Green) (08/05/90)

I've received a number of responses to my question on IRIS animation.
Every one suggested the same solution: hide images in the back and z
buffers and lrectwrite to the front buffer. This is far too slow. 

It appears that the Personal IRIS is simply not very good for
animation. You can only copy a 200x200 area in one sweep. The only
reasonable way to do animation of large, complex scenes is to hardware
pan and scroll to by changing the entry point in memory. The IRIS,
strangely, does not have this feature, although it is common in lower
powered systems, such as those based on the TI34020 chip and other AT
boards.

Thanks to all who resonded

spl@cs.nps.navy.mil (steve lamont) (08/05/90)

In article <90Aug4.130538edt.7478@neat.cs.toronto.edu> mgreen@cs.toronto.edu (Marc Green) writes:
>I've received a number of responses to my question on IRIS animation.
>Every one suggested the same solution: hide images in the back and z
>buffers and lrectwrite to the front buffer. This is far too slow. 

Lrectwrite() does not move pixels from the back buffer to the front buffer.  
This is the job of swapbuffers().  I haven't used a PI for this kind of stuff
so I don't know how fast or slow lrectwrite() is in writing from *memory* to
the buffer, but it should be reasonably quick -- backplane speeds, I'd venture
to guess.

>It appears that the Personal IRIS is simply not very good for
>animation. You can only copy a 200x200 area in one sweep. ...

I don't know where the 200x200 restriction comes in.  I've copied larger
images than that without problem.  Is the PI's GL different in this respect
from the 4D/2x0 series?  I don't recall seeing any difference mentioned in the
documentation.  
 
When I go in to abuse the IRIS this afternoon, I'll take a look.

>       ... You can only copy a 200x200 area in one sweep. The only
>reasonable way to do animation of large, complex scenes is to hardware
>pan and scroll to by changing the entry point in memory. The IRIS,
>strangely, does not have this feature, although it is common in lower
>powered systems, such as those based on the TI34020 chip and other AT
>boards.

The IRIS's long suit, I'll admit, is really not in pixel pushing, as much as
in dealling with geometric objects, more or less directly.  You don't say what
kind of animation you're doing or how you're rendering the scenes, so it is
impossible to suggest, with any possibility of being helpful, any ways
improving graphic performance.  Just remember that the SGI has a "geometry
engine" architecture.  You may have to rethink your application completely
in order to get best use of the machine.

							spl (the p stands for
							polygon pusher)
-- 
Steve Lamont, SciViGuy -- (408) 646-2752
NPS Confuser Center, Code 0141/Naval Postgraduate School Monterey, CA 93940
"You're okay," said Honeysuckle.  "The dogs like you."
			- Charles Bukowski, "How to Get Published"

robert@texas.esd.sgi.com (Robert Skinner) (08/15/90)

In article <90Aug4.130538edt.7478@neat.cs.toronto.edu>,
mgreen@cs.toronto.edu (Marc Green) writes:
|> I've received a number of responses to my question on IRIS animation.
|> Every one suggested the same solution: hide images in the back and z
|> buffers and lrectwrite to the front buffer. This is far too slow. 

As Steve LaMont says in another followup, pushing pixels is not the strong
suit of any IRIS (although future releases will be better at this to
accomodate the X imaging model).  The IRIS is geared to draw geometry 
at interactive speeds.  You can alter the geometry/viewpoint each frame to 
animate whatever you want.

|> 
|> It appears that the Personal IRIS is simply not very good for
|> animation. 

This is a pretty blanket statement.  True, the IRIS doesn't do
flipbook animation very well.  As I said above, the IRIS's strong suit
is drawing geometry.  *A Lot* of people do animation with geometry.

Robert Skinner
robert@sgi.com

	You will wake up this morning and get yourself a beer