OSG设置半透明显示

OSG设置半透明显示,需要设置显示颜色的alpha值小于1,且开启融合模式,设置渲染方式为透明方式。

osg::Geometry* polyGeom = new osg::Geometry();
//颜色为半透明颜色
osg::ref_ptr<osg::Vec4Array> shared_colors = new osg::Vec4Array;
shared_colors->push_back(osg::Vec4(1.0f,0.0f,0.0f,0.2f));//注意最末尾的0.2
polyGeom->setColorArray(shared_colors.get());

//开启融合操作
polyGeom ->getOrCreateStateSet()->setMode(GL_BLEND, osg::StateAttribute::ON);
//设置渲染模式
polyGeom ->getOrCreateStateSet()->setRenderingHint(osg::StateSet::TRANSPARENT_BIN);
//关闭光照,这样任意面,都可以看到半透明效果。
polyGeom ->getOrCreateStateSet()->setMode(GL_LIGHTING, osg::StateAttribute::OFF);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值