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