[comp.sys.sgi] writing frontbuffer to backbuffer

tjh@bu-pub.bu.edu (12/14/89)

Is there a way to write directly from the frontbuffer to the backbuffer
or the zbuffer?  That is without doing a rectread and then a rectwrite.

-Tim
tjh@bu-pub.bu.edu

tarolli@riva.esd.sgi.com (Gary Tarolli) (12/15/89)

In article <44586@bu-cs.BU.EDU>, tjh@bu-pub.bu.edu writes:
> Is there a way to write directly from the frontbuffer to the backbuffer
> or the zbuffer?  That is without doing a rectread and then a rectwrite.
> 
> -Tim
> tjh@bu-pub.bu.edu

Rectcopy does a framebuffer to framebuffer copy without the host cpu getting
too involved.  the command readsource() specifies where to get the pixels
from and frontbuffer(),backbuffer(), zdraw() specify where to put the pixels.
You can also zoom the pixels on certain machines.

Check the rectcopy man page for details...
--
						Gary Tarolli

gavin@krypton.sgi.com (Gavin A. Bell) (12/15/89)

tjh@bu-pub.bu.edu writes:
>Is there a way to write directly from the frontbuffer to the backbuffer
>or the zbuffer?  That is without doing a rectread and then a rectwrite.
>-Tim  tjh@bu-pub.bu.edu

Sure, use the rectcopy command.  See the man page for more info, but
you should do something like:

readsource(SRC_FRONT);
backbuffer(TRUE);	/* Use zbuffer(TRUE) if you want to write to z */
rectcopy(args here);

--gavin

rpaul@dasys1.UUCP (Rod Paul) (12/19/89)

The only thing I can suggest is, if you know prior to drawing a frame that the
same image should be drawn in both buffers is:

	frontbuffer(TRUE);
	backbuffer(TRUE);

of course you'll have to keep tabs of which buffer is being displayed and then
issue:

	frontbuffer(FALSE);
	backbuffer(TRUE);

or visa/versa, but come to think of it, I'm not sure if you'll need to keep
tabs on which buffer is being displayed, do soe tests.

Hope this helps.