查看: 973|回复: 4

关于贴png纹理的问题

[复制链接]

该用户从未签到

发表于 2012-7-3 22:21:59 | 显示全部楼层 |阅读模式
在场景中要贴几张png的纹理   我采用了Billboard节点  readNodeFile载入png图像  作为纹理付给节点

对于StateSet一项   只写了setMode(GL_BLEND,osg::StateAttribute::ON);

得到的效果如图

4.JPG

颜色实在太浅  根本看不清

如果注释掉上面一行  

得到的效果如图

unBlend.jpg

视角拉远有白边产生  要拉的很近白边才会消失

请问各位又什么好的解决方法

该用户从未签到

发表于 2012-7-4 08:04:31 | 显示全部楼层
怎么可能是readNodeFile?应该是readImageFile。您是要实现混合?那应该设置renderHint,先渲染不透明的,在渲染透明的

该用户从未签到

 楼主| 发表于 2012-7-4 08:25:17 | 显示全部楼层
liuzhiyu123 发表于 2012-7-4 08:04
怎么可能是readNodeFile?应该是readImageFile。您是要实现混合?那应该设置renderHint,先渲染不透明的,在 ...

啊 写错了。。  就是用的readImageFile  我试一下renderHint。。

该用户从未签到

 楼主| 发表于 2012-7-4 14:09:38 | 显示全部楼层
liuzhiyu123 发表于 2012-7-4 08:04
怎么可能是readNodeFile?应该是readImageFile。您是要实现混合?那应该设置renderHint,先渲染不透明的,在 ...

刚看了代码

setRenderingHint(osg::State::TRANSPARENT_BIN);状态下 是上面图显示的结果 拉远景有白边  拉近看也显得轮廓粗糙

如果加上setMode(GL_BLEND,osg::StateAttribute::ON); 则是下面图的效果 png图和原图比较像 可是因为透明度的关系  根本看不清

该用户从未签到

发表于 2012-7-10 09:30:17 | 显示全部楼层
您的贴图本身的Alpha通道做的有问题吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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