查看: 1859|回复: 5

材质透明问题

[复制链接]

该用户从未签到

发表于 2012-7-27 14:16:00 | 显示全部楼层 |阅读模式
  1. //设置材质
  2.         osg::Material* front = new osg::Material;
  3.         front->setColorMode(osg::Material::AMBIENT);
  4.         front->setAlpha(osg::Material::FRONT_AND_BACK,0.5);
  5.         front->setAmbient(osg::Material::FRONT_AND_BACK,osg::Vec4(1.0f,1.0f,0.0f,0.5f));
  6.         front->setDiffuse(osg::Material::FRONT_AND_BACK,osg::Vec4(1.0f,1.0f,0.0f,0.5f));
  7.         root->getOrCreateStateSet()->setAttributeAndModes(front);
复制代码
请问如上设置材质透明度之后为什么没有显示透明效果?应如何改进一下?
QQ截图20120727141329.png

该用户从未签到

发表于 2012-7-27 15:23:44 | 显示全部楼层
blend on

该用户从未签到

 楼主| 发表于 2012-7-28 14:40:49 | 显示全部楼层
liuzhiyu123 发表于 2012-7-27 15:23
blend on

请问是添加如下吗?好像依然没有效果,同上一样:
  1. root->getOrCreateStateSet()->setMode(GL_BLEND,osg::StateAttribute::ON);
复制代码

该用户从未签到

发表于 2012-8-1 17:15:26 | 显示全部楼层
设置setRenderingHint(TRANSPARENT_BIN),把对象放置到透明队列里

该用户从未签到

发表于 2012-8-2 08:11:06 | 显示全部楼层
tiantangtl 发表于 2012-7-28 14:40
请问是添加如下吗?好像依然没有效果,同上一样:

array的方法最直接 ss里面直接设置了blendfunc

该用户从未签到

 楼主| 发表于 2012-8-2 15:18:54 | 显示全部楼层
嗯,谢谢楼上各位,问题解决了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表