查看: 1896|回复: 9

关于透明的问题

[复制链接]

该用户从未签到

发表于 2009-10-30 16:18:07 | 显示全部楼层 |阅读模式
请问大家,我做得透明纹理在某些角度下没有透明效果。这是怎么回事?

该用户从未签到

发表于 2009-10-30 17:55:34 | 显示全部楼层
是不是没有打开背面渲染啊~

该用户从未签到

发表于 2009-10-30 19:30:12 | 显示全部楼层
以前碰到过,,渲染顺序设置的问题~~~~~~你打开模型文件看看就知道了~~~~

该用户从未签到

 楼主| 发表于 2009-11-2 09:01:18 | 显示全部楼层
我做的模型是分层的,河水是一层,树是一层,建筑是一次,我现在想把水做成半透明,可以透过水看到下面一层的模型。请问我该怎么实现这种效果。谢谢大家!

该用户从未签到

发表于 2009-11-2 09:25:52 | 显示全部楼层
简单的用AlphaFunc和BlendFunc应该就可以了,注意渲染的先后次序。
如果想做的比较精致的话,还是推荐用着色器实现

该用户从未签到

 楼主| 发表于 2009-11-5 14:06:19 | 显示全部楼层
我用下面的代码实验
stateset->setMode(GL_LIGHTING, osg::StateAttribute::OFF);

stateset->setMode(GL_DEPTH_TEST, osg::StateAttribute::OFF);

stateset->setRenderBinDetails(-1,"RenderBin");
不知正确否!
结果有些偏差,不知什么原因,请大家帮忙分析下。
我之前遇到的问题是,在一定角度下可以看到透明效果,在一定角度下看不到,如图。

可以看到透明效果

可以看到透明效果

该用户从未签到

 楼主| 发表于 2009-11-5 14:13:24 | 显示全部楼层
未命名.GIF
用上面的代码修改后,在一定角度下可以看到透明效果,在另一角度下,后面的物体过于清晰,没有半透明的效果了。如图
1.GIF 2.GIF
请问,怎样设置才是正确的方法。
非常感谢大家!
未命名.GIF

该用户从未签到

发表于 2009-11-5 14:42:19 | 显示全部楼层
用GL_BLEND的时候,要十分注意渲染顺序的问题,可以通过设置两者的setRenderBinDetails保证树和河水是正好先后顺序绘制的

该用户从未签到

 楼主| 发表于 2009-11-9 08:24:54 | 显示全部楼层
搞定了,谢谢大家!

该用户从未签到

发表于 2009-11-10 21:59:56 | 显示全部楼层
怎么解决的 最终思路或者办法是怎么样的  给出来大家分享下啊~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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