On Tue, 2007-06-19 at 17:13 +0200, Stephan Maximilian Huber wrote:
> Hi Jeremy,
> 
> the video looks very nice. I am also investigating cairo and osg ( I
> need to import SVG files for a new application) and it works ok.
> Jeremy L. Moles schrieb: 
> > - The window "borders" are drawn using Cairo (so that they're nice and
> > round and antialiased). They can be scaled to any size without loss in
> > clarity (but suffer from the fact when drawn, they don't perfectly blend
> > to the most discerning eye because they're actually rendered on a full
> > transparent surface and not on top of the actual OpenGL scene/color
> > buffer).
> >   
> If I understand you correctly, then you can fix this very simple:
> Cairo uses premultiplied alpha, if you change your blendfunc, your
> alpha should be ok again.
> 
> geode->getOrCreateStateSet()->setAttributeAndModes(new
> osg::BlendFunc(osg::BlendFunc::ONE,
> osg::BlendFunc::ONE_MINUS_SRC_ALPHA));

Wow, that made a huge difference. :) I'm tempted to make another video
just to show the amazing difference in quality...

Out of curiosity, is your code public? I'm curious to see how someone
else integrated Cairo and OSG. You can find my implementation (osgCairo)
here:

     svn co http://svn.const.lugatgt.org/osgCairo/trunk

Are you somehow directly using the main OpenGL color buffer as your
surface (is this even possible?) Are you drawing on individual textures
(also Cairo surfaces) similar to me?

Perhaps I can steal all your good ideas and we could call it
"collaboration!?" :) *grin*

> here's my demo-screenshot ;-)
> 
> cheers, 
> Stephan
> 
> 
> 
> 
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to