查看: 10624|回复: 28

一个火山地形的演示

[复制链接]

该用户从未签到

发表于 2008-10-13 01:50:52 | 显示全部楼层 |阅读模式
 

  这是前段时间刚做的一个火山地形的演示,,很多东西都没有加进来(保密的 ),,,,地形的dem可以从网上下到的,,不过,只有单个dem,,,没有什么纹理影像~~~~其中,该演示中的纹理和等高线是根据dem中的高程值实时生成的,,纹理就是通俗的根据高程来确定的颜色,,,这样就可以方便的根据颜色来确定所在目标的海拔~~~等高线就比较郁闷了,,折磨我可长一段时间,,死去活来的~~~~~~~

  场景优化还不是好,虽然设置了5层LOD,,,但在一般的机器上只能跑出十多帧 ~~~~~这个还请高手指点指点~~~~~~~

  这里好久没发帖了,,增加一点新鲜空气。。。。。。。。跟大家共享一下,哈哈~~~~~:lol :lol :lol

    1.png

   
    2.png
    3.png
   
    5.png
    6.png
    7.png
   
   



该用户从未签到

发表于 2008-10-13 08:41:42 | 显示全部楼层

该用户从未签到

发表于 2008-10-13 10:33:44 | 显示全部楼层
坐个板凳的,虽说不懂地形

该用户从未签到

发表于 2008-10-13 13:45:25 | 显示全部楼层
强烈要求放出代码,呵呵

该用户从未签到

发表于 2008-10-13 13:49:41 | 显示全部楼层
不是很清楚你的渲染方式。我的建议如下:
使用顶点着色进行的实时渲染确实是很消耗资源的。
我建议要么将等高线转换为贴图,与原来的贴图进行混合后显示。简单的说就是把等高线画在贴图上。这样做的方法优点是显示效率很高。缺点是如果要需要隐藏等高线的话就要准备两套贴图,进行切换。可能切换时会消耗资源,就看你的切换方法如何了。另外就是,由于等高线是贴图,距离很近的话效果可能就不理想了。
另外一个建议就是,将等高线转化为线,并根据不同的高度显示出来。不同的高度指定不同的颜色。然后和dem一起显示出来。这样虽然没有前一个效率高,但应该比你原来的要快些。缺点是,可能和dem过近的地方会闪。

该用户从未签到

 楼主| 发表于 2008-10-13 14:42:47 | 显示全部楼层
强烈要求放出代码,呵呵


这不是开源项目~~

等高线做成贴图的效果在近处的时候的确非常模糊~

我试过可以根据dem先写出等高线,可是,效果叠加后的匹配不上了,也不太清楚为什么,可能是vpb重投影的缘故,,根据ive写出来的,效果跟实时的差不多~~~~~~~

我想想看再和大家讨论~~~~~

该用户从未签到

 楼主| 发表于 2008-10-15 18:41:15 | 显示全部楼层
sky兄,能不能把如何用lod实现的代码发来看看,关于一直不知道从何处下手,谢谢!


LOD代码可以参考VPB中的实现,,,有时间会整理出来的,呵呵~~~~~~~~

该用户从未签到

发表于 2009-4-1 09:12:49 | 显示全部楼层
想问一下,等值线填充方法,不知道有何算法或者参考文献?谢谢!

该用户从未签到

发表于 2009-8-6 16:13:01 | 显示全部楼层
以前听说过osg,但直到今天才进来看看,开眼了

该用户从未签到

发表于 2009-8-21 09:44:39 | 显示全部楼层
本帖最后由 lab_zj 于 2009-8-21 09:46 编辑

等高线如果是以GL_LINES或GL_LINE_LOOP之类方式绘制然后叠加上去的话,那可能需要设置“多边形偏移”。因为我看你的图,那问题应该就是Z缓冲重叠导致的。
我用别的图形引擎弄过这类东西,对于面向叠加线而出现的这种问题,通常都是多边形偏移没设或设置不正确导致的,我相信,对于OSG也是一样,因为都是基于OpenGL的。

该用户从未签到

发表于 2009-8-21 18:01:36 | 显示全部楼层
"纹理根据dem中的高程值实时生成",是怎么做到的?

该用户从未签到

发表于 2009-9-28 18:34:26 | 显示全部楼层
我也想知道等高线是怎么算出来的?有一组散乱点如何求出等高线

该用户从未签到

发表于 2009-11-16 19:42:32 | 显示全部楼层
观摩学习~~

该用户从未签到

发表于 2010-3-21 12:32:34 | 显示全部楼层
学习了

该用户从未签到

发表于 2010-4-17 10:36:34 | 显示全部楼层
围观

该用户从未签到

发表于 2010-5-8 11:08:47 | 显示全部楼层
学习中。。。。。。。

该用户从未签到

发表于 2010-7-23 11:41:01 | 显示全部楼层
我也想研究一下地形怎么做的……现在还是摸不着头脑,不知从何下手啊……

该用户从未签到

发表于 2010-7-25 04:01:59 | 显示全部楼层

该用户从未签到

发表于 2011-3-17 19:18:18 | 显示全部楼层
向大家请教个问题,OSG里面的帧速是根据什么确定的,为什么不是恒定的,两个机子里面就不一样,而且即使在同一个程序里,如果把模型切换到线或点显示的时候,帧速就慢下来了,请知道的同行告诉我是什么原因,不胜感谢!!

该用户从未签到

发表于 2011-3-29 21:12:28 | 显示全部楼层
果然高手如云。。。

该用户从未签到

发表于 2011-4-7 21:21:34 | 显示全部楼层
回复 21# xsyasxf


    像星星一样多啊……而且是各个领域……

该用户从未签到

发表于 2011-6-22 10:51:32 | 显示全部楼层
求教,为甚我用VPB生成的地形,里面的山很小很凌乱呢。。用的90M高程,命令是-l 8 --geocentric --TERRAIN

该用户从未签到

发表于 2011-7-20 17:54:58 | 显示全部楼层
在像素shader里等高线也就四五行代码。极其简单。

该用户从未签到

发表于 2011-7-20 18:10:46 | 显示全部楼层
回复 24# sky11811


    此言差矣,呵呵~

    考虑一种情况,如果一条等高线恰好在一个极其平坦的位置上,那么这条等高线会变成很粗的一条线,甚至会变成一个面。

    所以精确的做法,还是使用追踪等高线算法,追踪出线数据,然后显示。

该用户从未签到

发表于 2011-7-20 19:19:51 | 显示全部楼层
是啊  您说的有理

该用户从未签到

发表于 2011-7-27 11:07:16 | 显示全部楼层
请问高手们,要达到楼主这地形的效果,我现在想到的两种方法

1. 通过vpb 生成ive,然后加载到场景中,获得osgTerrain::TerrainTile的方式按高度值
    设置不同的颜色。

2. 修改vpb源码,在创建ive的同时生成不同颜色贴图的dds文件。

我的思路对吗?

该用户从未签到

发表于 2011-8-11 20:32:35 | 显示全部楼层
地形dem什么的都不懂啊

该用户从未签到

发表于 2012-5-31 20:01:41 | 显示全部楼层
dem的精度好高啊,顶一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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