查看: 1582|回复: 2

如何给地形按区域铺设纹理

[复制链接]

该用户从未签到

发表于 2009-8-30 22:33:17 | 显示全部楼层 |阅读模式
具体问题是这样的.
有一片地形在Osg中是一个节点,与之对应的应用中,要求将这个地形按不同区域(一个带有岛的多边形区域)使用不同的纹理.
一开始一直想通过重采样,将地形节点按照目标区域分割能多个节点 然后分别贴纹理.但是这样的区域有好几千个,地形面积有十多万平方公里.计算量太大.后期一旦变动区域 就会有大量的重复计算.

用纹理烘焙得到的结果 太模糊,不能达到要求.

不知道有没有其他比较好的解决办法.
我下一步考虑使用GLSL来做。我的想法是在地形之上通过GLSL覆盖一层纹理上去.而这个纹理这是按照目标区域的形状铺好的.这样在不断放大的过程中,我可以不断铺设更精细的纹理覆盖上去.而且后期会要求修改这些区域,如果是动态铺设上去,那么在区域修改后只要刷新就可以了.
不知道这个方法是否可行.

期望做过类似工作的人,有空时都讨论讨论。最近搞这个比较上火.

该用户从未签到

发表于 2009-8-30 23:24:34 | 显示全部楼层
没有太好的方法,也没有孰优孰劣的定论,国际上同样是各家有各家的做法。几何和纹理的方式都是可行的,但也没有万全的解决方案,需要您自己动手去实现。
几何的方法研究的最早,但是难以应用于多边形的显示,就算是google earth在这方面也不完善;纹理烘焙的方法目前较为流行,各个地形分块分别渲染自己的纹理,只要分块数不是很多,这种方法还是基本可行的,例如Skyline的实现;而View-Dependent的纹理(也就是您的想法)虽然听起来最好,但是实现的算法太过复杂,目前似乎还停留在实验室研究阶段,没有实际应用的案例。

该用户从未签到

发表于 2009-8-31 09:35:50 | 显示全部楼层
你的做法可能,不过,,可能渲染效率不会太高~~~~我前段时间偶尔看了一下WOW里面地形及纹理分配匹配的一些做法,,觉得很多可以值得借鉴的地方,,你网上搜一下应该会找到相关的资料~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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