查看: 979|回复: 4

图片与三维地形的淡入淡出

[复制链接]

该用户从未签到

发表于 2011-3-16 18:25:51 | 显示全部楼层 |阅读模式
我现在想让视点从一小块地形(尺寸为100mX100m)的上方移到地形的一个点上,视点的初始高度为10000米,
这样的话,刚开始这块地形是显示在屏幕的一块地方上,覆盖不了全部屏幕(感觉不真实),所以我想在10000米到1000米之间用个大的地形图片来代替
向下看到的景象,1000米到0米之间用这块地形,请问如何实现图片和地形的交替啊,也就是视点到1000米的地方,地形图片逐渐消失,三维地形逐渐出现!

我现在淡入淡出可以实现图片的消失,小地形的慢慢出现实现不了,请问有什么好的实现方法吗,谢谢!!!

该用户从未签到

发表于 2011-3-17 08:46:05 | 显示全部楼层
可以给地形节点一个Material并在回调中改变颜色的Alpha值,实现淡入效果

该用户从未签到

 楼主| 发表于 2011-3-17 09:02:27 | 显示全部楼层
好的,我试一下,谢谢锐哥!!!

该用户从未签到

 楼主| 发表于 2011-3-21 17:03:05 | 显示全部楼层
本帖最后由 zhoujiajun2010 于 2011-3-21 17:13 编辑

请问锐哥,我通过设置材质的Alpha值,怎么实现不了啊,
    osg::ref_ptr<osg::Node> node=osgDB::readNodeFile("cessna.osg");
    osg::ref_ptr<osg::StateSet>state=new osg::StateSet();
    state=node->getOrCreateStateSet();  
    osg::ref_ptr<osg::Material> material=new osg::Material();
    material->setAlpha(osg::Material::FRONT_AND_BACK,0.5);
    state->setAttributeAndModes( material, osg::StateAttribute::ON );
     material->setEmission( osg::Material::FRONT_AND_BACK, osg::Vec4( 1.0f, 1.0f, 1.0f, 0.1f ) );

您看一下是不是那地方出错了啊,谢谢!!!

该用户从未签到

发表于 2011-3-22 08:22:28 | 显示全部楼层
您是否没有设置AlphaFunc和BlendFunc!这与您设置图片淡入淡出的原理是相同的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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