zoukankan      html  css  js  c++  java
  • 大规模地形渲染--消除裂缝

    由于是采用四叉树结构,不同级别的分块之间可能会出现裂缝(Cracks)。

     

    如上图所示,在点A,B处可能会由于两个分块不共享顶点而出现裂缝。目前有不少解决裂缝的方法,主要分为跳点法和加点法。跳点法就是在较高分辨率的分块的边界上跳过一些点不绘制,这样可以保持相邻分块的连续性。加点法就是在较低分辨率的分块边界上新增一些顶点以达到两个分块顶点保持连续的目的。无论是新增点还是去除点都需要对整个地形进行遍历并且对相关分块重新进行三角形剖分,而且丧失了分块的独立性,给我们利用分块的Cache带来了难度,增加了问题的复杂性,进而影响到效率。

        我们采用一种效率更高的消除裂缝的办法。对每个分块的四条边,在现有的顶点的基础上再延伸出一圈,他们和单个分块的边界共享顶点,只是高度值不同,这种延伸出来的一圈叫做“裙子”(Skirts)。投影之后只要保证顶点的高度值足够大,两个分块的裙子可以把裂缝遮挡住。当然,这种消除裂缝的方式会增加绘制的三角形绘制数量,但是通过测试发现,对于现在的图形处理器来讲,这种三角形数量的额外增加不会带来多少性能上的下降。

    渲染程序截图:


    有关Terrain LOD和Skirt的讨论 http://www.gamedev.net/community/forums/topic.asp?topic_id=376154

  • 相关阅读:
    取某个关键词以及之后的数据
    从SQL下载大量数据到Excel
    SQL 分页
    whereis linux文件搜索
    crontab Linux定时器工具
    Angular
    工具
    百度OAuth2.0登录
    JS事件学习 拖拽,鼠标键盘事件实例汇总
    信息栏滚动效果学习总结
  • 原文地址:https://www.cnblogs.com/zengqh/p/2642052.html
Copyright © 2011-2022 走看看