This is an exisiting project.
Here is the basic node structure:

                    Root
                       |
                    NodeA
                     /       \
             NodeB     NodeC

I want to disable writes to the color buffer before Node A, and then I don't
want to enable them until Node C. That way, Node A, and Node B are drawn but
only the depth buffer is updated, but then when Node C is drawn, both the
color buffer and the depth buffer are updated.

Here is my code:

osg::ColorMask *colormaskOff = new osg::ColorMask(false, false, false,
false);
osg::ColorMask *colormaskON = new osg::ColorMask(true, true, true, true);

osg::StateSet* state = NodeAParent->getOrCreateStateSet();
state->setAttribute(colormaskOff);

 osg::StateSet* state2 = NodeCParent->getOrCreateStateSet();
state2->setAttribute(colormaskON);

So you can see my dilema.

In the code I see that the glColorMask gets called with the correct data,
however, because of the graph topology, NodeA and NodeB get drawn to the
color buffer even though I disabled it in the Root (NodeAParent), it gets
enabled for NodeA (NodeCParent).

Is it possible to stick come kind of node inbetween NodeA and NodeC? What
type of node should that be? Can there be a blank node?

Thanks,

Judie
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to