To whom it may concern:
I think I found a solution to the alpha-blending problem. I changed the
following 2 lines in createModel():
stateset->setMode(GL_BLEND,osg::StateAttribute::ON);
stateset->setAttribute(new
osg::AlphaFunc(osg::AlphaFunc::GREATER,alphaFuncValue));
to:
stateset->setAttributeAndModes(new osg::BlendFunc, osg::StateAttribute::ON
);
osg::AlphaFunc* alphaFunc = new osg::AlphaFunc;
alphaFunc->setFunction(osg::AlphaFunc::GEQUAL,alphaFuncValue);
stateset->setAttributeAndModes( alphaFunc, osg::StateAttribute::ON );
Now alpha blending is behaving as expected.
On 11/27/06, Jacob Foshee <[EMAIL PROTECTED]> wrote:
Howdy,
I cannibalized the osgvolume example to do some volume rendering for
my application.
The only function I changed was the main() function (primarily because
it is not my main function, and my data has already been loaded). I
only have one channel in my data, so I set desiredPixelFormat to
GL_LUMINANCE.
I ran into 2 problems:
- alphaFuncValue seems to be ineffective. No matter what I set the
alpha cut-off value to, I get the same results in my rendering.
Blending is working, but it seems to behave as if alphaFuncValue is
0.0.
- The corners of the volume get clipped off at certain angles. As a
remedy, I pass a cube size of 1.5 to createCube() rather than 1.0. Is
there a better solution?
Thanks! And Kudos to the author (I think it was Robert) for making it
so easy to get up and running w/ volume rendering.
Jacob
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/