查看: 1827|回复: 6

求教在osgocean中用shader实现航迹的方法

[复制链接]

该用户从未签到

发表于 2011-5-23 11:29:53 | 显示全部楼层 |阅读模式
按照我想的方法是把运动物体经过的点都存储进一张类似高度图的一张纹理中,然后再osgocean中根据该张贴图的高度值进行顶点的颜色混合。从而实现航迹效果。但是,有个难以解决的问题,就是这张高度图如果按照海洋的实际大小来计算的话,那么纹理的尺寸和规模是相当庞大的。我想,我的想法应该是有某些错误,希望高手不吝赐教。能够指出一个在OSGOCEAN中利用shader来实现航迹的大体方法就可以。

该用户从未签到

发表于 2011-5-23 12:46:06 | 显示全部楼层
如果您的海洋是分块的,那么可以对这个高度图纹理也进行分块;另一种方法是view-dependent的策略

该用户从未签到

 楼主| 发表于 2011-5-23 13:46:43 | 显示全部楼层
您有关于view-dependent策略的论文或者资料吗?能否提点一二?谢谢。至于海洋分块的问题,我对osgocean中的代码参看发现整个海洋应该是一个整块儿的,根据视点的远近来对海洋进行分级细化。这样的话高度图的纹理就不太好处理。

该用户从未签到

发表于 2011-5-24 08:59:50 | 显示全部楼层
这个策略应该是比较常见的了,阴影或者矢量纹理覆盖的实现中都有用到,您可以在google上搜索一下

该用户从未签到

 楼主| 发表于 2011-5-24 12:10:22 | 显示全部楼层
回复 4# array


    好的,我去找一下。谢谢您。

该用户从未签到

 楼主| 发表于 2011-5-24 16:54:39 | 显示全部楼层
回复 4# array


    不好意思,array。我刚才在GOOGLE上搜了一下。关于你说的策略的内容没有什么详细的资料。按我的理解,您是否让我根据当前视点的位置,确定在摄像机范围内的海洋范围,然后混合一张航迹纹理呢?我的思路有点混乱了,能稍微深入一点说明下吗?谢谢了。
   我的设想是,设定一个跟主相机相同视角的RTT相机,该相机的节点下只有航迹网格的场景,然后该相机与主相机的移动都是相同的,这样我就可以获取当前视角下哪些航迹网格在视角内,将RTT相机的内容关联到一张纹理上,在主相机渲染时与海面进行混合。但是有几个问题没想明白:
    1.如何确定这张纹理的大小;
    2.该纹理如何与海面进行纹理混合,如何确定当前视角下的海面区域

该用户从未签到

发表于 2011-5-25 08:46:01 | 显示全部楼层
您是否让我根据当前视点的位置,确定在摄像机范围内的海洋范围,然后混合一张航迹纹理呢
基本上是这个意思,view-dependent shadow应该是很常见的算法,google上一搜一大把。至于混合,您不可避免地要大量应用着色器的技术
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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