bach@USCN.BITNET (BitNet Users Of Southern Tech) (12/20/88)
Could someone out there who has done some animation on apollo workstations please give me some hints ? I am attempting to do some animated sequences on a DN4000 and I am not having much success. The main problem is image flicker. I have seen some pretty good animation sequences on the apollo, so I'm sure that it can be done somehow. I am using GPR and doing BLTs to display memory. Apparently this is not the correct approach. If anyone has any advice, I would really appreciate it. Source code and/or code fragments would be of great help. Stephen O. Berger (aka "Cheese")
krowitz@RICHTER.MIT.EDU (David Krowitz) (12/21/88)
If you can manage it, what you want to do is to draw your next frame in a bitmap in the hidden display memory rather than in main memory and BLT it onto the display. Unfortunately, the hidden display memory on the DN3xxx/4xxx is much smaller than on previous machines, so you can't really draw a whole screen, only small objects which you are going to place onto the screen. The graphics hardware on the DN3xxx/4xxx is not all that fast (the "C" and "E" color options) compared to the DN550/560 and the DN660. I understand that the new "F" option color display is much faster. Try to avoid BLT'ing whole screens -- the more data you have to move, the worse the flickering -- it's frequently faster to erase only the section of the screen where something has changed and to redraw that small section. Take a look at the code for BZONE and STWAR in the ADUS library. They may give you a few ideas, although they both do line drawings, not filled-area graphics. -- David Krowitz krowitz@richter.mit.edu (18.83.0.109) krowitz%richter@eddie.mit.edu krowitz%richter@athena.mit.edu krowitz%richter.mit.edu@mitvma.bitnet (in order of decreasing preference)
tweed@apollo.COM (David Tweed) (12/22/88)
In article <8812201611.AA09712@richter.mit.edu> krowitz@RICHTER.MIT.EDU (David Krowitz) writes: > .... Try to avoid BLT'ing whole screens -- the more > data you have to move, the worse the flickering -- it's > frequently faster to erase only the section of the screen > where something has changed and to redraw that small section. > Take a look at the code for BZONE and STWAR in the ADUS library. > They may give you a few ideas, although they both do line > drawings, not filled-area graphics. > > -- David Krowitz I've done some hacking to BZONE, and written a similar application myself (asteroids). These programs actually "undraw" a figure in order to move it. That is, the figure is drawn in black in its old position, moved, then drawn in its visible color. The objects are stored in GPR multi- or poly-line format so that they can be passed directly to GPR for both drawing and undrawing. This allows you to take advantage of whatever optimizations have been implemented in GPR. In particular, I believe that on the DN580(-T)/590, the entire operation is handled by the graphics hardware. (The only things BLT'd in BZONE are the little knob on the end of the joystick, the little tank images that tell you how many you have left, and the toggle switch. And they don't even bother to use hidden memory to hold them!) -- Dave Tweed -- # {mit-erl,yale,uw-beaver}!apollo!tweed # Apollo Computer Inc. # # apollo!tweed@eddie.mit.edu # Chelmsford, MA 01824 # # tweed@apollo.uucp # 617/256-6600 # # ARPA: tweed@apollo.com UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!tweed