[comp.sys.sgi] Batch graphics processing

stephens@SLOWHAND.WES.ARMY.MIL (06/19/91)

this is probably a dumb question but here goes.....

i have a home-brewed gl code that displays an animation sequence
of transient data. to produce an video tape of these frames i presently
	i) draw an image
	ii) do a scrsave to get the rgb image file
	iii) return to (i) until seqeunce is finished.
	iv) convert the rgb to a yuv format
	v) ship the yuv's to an abekas a60
	vi) then make a tape (BetaCam ---> vhs)

this is very time comsuming (a small nuisance). the real problem is that
this scheme precludes me from doing anything else on the graphics console,
which seems to be a real waste of resources. some of these things presently
occupies the graphics console for hours.

my question is this: is there a way to get the image without actually
putting it on the screen, i.e., to 'batch' process the graphic
rendering? i know some packages do this batch processing (wavefront's
advanced visualizer). so i know it can be done.

any help would be greatly appreciated.

thanks,

mike (stephens@slowhand.wes.army.mil)

blythe@sgi.com (David Blythe) (06/20/91)

In article <9106182040.AA09980@slowhand.wes.army.mil> stephens@SLOWHAND.WES.ARMY.MIL writes:
>
>
>this is probably a dumb question but here goes.....
>
>i have a home-brewed gl code that displays an animation sequence
>of transient data. to produce an video tape of these frames i presently
>	i) draw an image
>	ii) do a scrsave to get the rgb image file
>	iii) return to (i) until seqeunce is finished.
>	iv) convert the rgb to a yuv format
>	v) ship the yuv's to an abekas a60
>	vi) then make a tape (BetaCam ---> vhs)
>
>this is very time comsuming (a small nuisance). the real problem is that
>this scheme precludes me from doing anything else on the graphics console,
>which seems to be a real waste of resources. some of these things presently
>occupies the graphics console for hours.
>
>my question is this: is there a way to get the image without actually
>putting it on the screen, i.e., to 'batch' process the graphic
>rendering? i know some packages do this batch processing (wavefront's
>advanced visualizer). so i know it can be done.

If you use the graphics library to draw the image, then you have to draw
on the screen unless you buy one of the fancier video options, e.g. video
creator which doesn't need to use the console.  Programs such as the
advanced visualizer use a software rendering algorithm rather than graphics
library  (taking *much* longer and doing a more sophisticated job of rendering 
e.g. anti-aliasing, phong shading ...).  If you want to do things on
a budget (perhaps not, if you have an abekas), you can certainly speed
things up a lot by having your drawing program read the window back using
lrectread(), doing the conversion to yuv and writing out the appropriate
format file ... or talk directly to the abekas).  On a multiprocessor system
you could do a nice job of pipelining all of these operations if you wanted to
minimize the the amount of time for which the console was tied up.  Personally,
I saved up long animation generation projects for weekends and long weekends 
and vacations since they don't usually need baby sitting ....

	david blythe
	blythe@sgi.com