|
楼主 |
发表于 2013-9-25 15:45:40
|
显示全部楼层
array 发表于 2013-9-25 14:16
这样是会产生毛边的,必须做pcf,建议您还是考虑用alpha通道
锐爷正解,颜色的过渡区域确实出现了大问题。关于alpha通道不是很了解,我一设置直接使模型半透明了,而想要的是模型不透明纹理根据黑色呈度透明。我的代码如下:- osg::BlendColor *bc=new osg::BlendColor(osg::Vec4(0,0,0,0));
- osg::BlendFunc * bf=new osg::BlendFunc();
- ss->setAttributeAndModes(bf,osg::StateAttribute::ON);
- ss->setAttributeAndModes(bc,osg::StateAttribute::ON);
- bf->setSource(osg::BlendFunc::CONSTANT_ALPHA);
- bf->setDestination(osg::BlendFunc::ONE_MINUS_CONSTANT_ALPHA);
- bc->setConstantColor(osg::Vec4(0,0, 0,0.4f));
复制代码 其他的不懂了,请锐爷好好指导一番,谢谢!
|
|