Underlay planes in Performer

New Message Reply Date view Thread view Subject view Author view

Kent Watsen (watsen++at++netcom.com)
Wed, 8 Feb 1995 18:51:36 -0800 (PST)


Greetings all,

I sometimes have the need to use a performer channel
for the sole purpose of rendering non-scene graph
imagery into. For instance, I may want to use a
channel to render a gui into. Obviously, my gui
doesn't have to be redrawn 30 times a second. I
therefore have the option to not clear the channel
from one frame to the next and only drawn a new
gui frame when something changes. Now comes the
unique feature that what it is that actually changes
can be rendered with just a few GL calls (like
the stem of a dial or a digit of a number) but
I need to clear out old data first which results
in my redrawing the whole gui. I would like to
render the static portion of the gui into the
underlay plane of the channel in question (a one
time operation) and be able to clear and re-draw
the normal plane data (a quick operation) either
30 times a second or whenever something changes.

Using pure Performer/GL code suggests setting the
geoset to be rendered into the underlay plane
appropriately with pfGSetMode(UNDERLAY). Then, at
load time, push the pipeline into underdraw mode,
render the underlay plane, and then restore to
normal draw mode with

        drawmode(UNDERDRAW);
        // render the geoset
        drawmode(NORMALDRAW);

This however does nothing for me. Do I need to
allocate the underlay plane(s) and call gconfig()?
Do I need to doublebuffer my underlay planes as well?
In general, are the front and back buffers for UNDER,
NORMAL, OVER, and CURSOR DRAW modes always the size
of the viewport opened on the pipe? What about the
accumulation buffer? I have successfully performed
a realtime convolution of a performer-rendered
backbuffer, but only when using less then or equal to
640x480 (or so it seems). If I go above some magical
size, the accbuf kicks into software emulation (bad).
Anyway, I've digressed, I'm trying to render into the
underlay plane for a single channel (if possible) so
that a certain amount of work doesn't have to be redone.

I've read man pages and looked for example code, but
am still empty-handed. I'm running 1.2 and an ONYX
RE2 with two RM4s and IRIS 5.2.

Kent Watsen
DCS Corporation
Simulation Branch
703.683.8430 x369


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2.0b2 on Mon Aug 10 1998 - 17:50:57 PDT

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.