论文研究-计算机辅助设计中的色彩调和美度评价模型.pdf

所需积分/C币:9 2019-09-11 18:50:57 1.43MB .PDF
收藏 收藏
举报

LOD(Level Of Detail,层次细节)技术是解决大规模地形实时渲染的关键技术之一,通过这种技术可以较好地简化场景的复杂度,减少图形显示的失真度,满足一定的实时性要求。传统的算法将四叉树和LOD技术相结合将大规模数字高程模型数据(DEM)进行分块,并对块内数据按照分辨率的大小分层存储。通过对四叉树的研究,在限制性四叉树的基础上引入预处理算法,提高了地形读取速度,增强了实时显示效果。该算法是基于限制性四叉树的一种高效的规则网格划分方法,内存开销少,降低了CPU的负担。实验结果表明该算法提高了地形导入的效率,能实现大规模地形的实时漫游。
王道臣,万旺根,唐经洲,等:基于限制性四叉树IOD大规模地形预处理算法2007,43(24)109 BOOL ISSubdivided (3)将四叉树数据记录到数组的同时也要把数组信息记录 到文件中,直到预处理过程完毕,这时就生成了*QUD文件, x、y表示当前节点的中心网格,widt表示当前地形的大文件不仅记录了节点本身的信息同时也记录了其子节点的相 小,evel表示当前地形节点的lod,num可以迅速索引到当前节关信息。这样在地形渲染时易于对地形进行管理。在记录过程 点的父节点、子节点以及相邻的节点。 QuadTreeNode* Children4中,会遇到大量的指针数据,处理时不能简单地把指针指向的 表示当前节点的四个子节点。定义 Children0-3分别表示”左地址记录下来,而是需要将指向的内容也一一记录。处理的方 上”、“右上”、左下”、“右下”象限; Is Subdivided表示当前地形节法同样也需要构建数组,将指针指向的内容对应地拷贝到数组 点的细分标志位,如果为真则进行细分,否则为叶节点;ror中来。在处理二维数组时,需要建立一个辅助数组来记录第二 表示节点的误差值,在后面的节点划分时会进一步的说明。 维的元素个数。整个算法流程如图8所示。 32预处理算法设计 建立四又树数保存节点到 把数组信息记 为了避免每次调入地形的时候都要进行一次四叉树划分, 组NODE NODE数组中 录到文件中 场景调用 本文采用预处理算法。四又树均是指定结束条件自动递规生 图8流程图 成,但是这种递规算法的复杂度都是指数级,使得每次调入地 形都要花费一定的时间去做四叉树划分。预处理算法就是不改4结论 变递归条件和在每次划分结果都是一样的树形结构的情况下, 根据上述方法,在 vc.net环境下使用 direc3D把简单的地 把地形一次性划分,把计算好的四又树信息以*QUD文件的形按照限制性四叉树进行分块,并使用视锥体剔除技术使得渲 方式记录,作为对地形的预处理;之后每次渲染时就可以从文染速度有了明显的提高。其中地形的高度图是通过 coast 件中读取四叉树信息,避免递归的多次使用,从而大大提高了 Mountain64aw文件得到的。渲染效果如图9所示。 读入地形的速度。四叉树在內存屮一般都是通过指针 Children 来查找下一个子节点的位置,为了能够记录到文件中,需要 对其进行如下处理 (1)根据节点个数建立一个四叉树数组NODE;深度遍历 四叉树,将各个节点信息按照遍历顺序拷贝到数组对应元素 中,为了判断一个点是否需要划分,需要建立一个节点评价系 图9地形渲染 统,来决定一个点何时该对一个节点进行继续分割。把这个评 价系统分成两个部分:一是与视点相关的;二是地形本身的粗 下面对地形的读入,用两种方法做了比较,在测试平台相 糙程度。希望离视点近的地方细节尽量多,反之则尽量少,地形同的情况下测试结果如表1。 起伏较大的地方则需要较多的细节。事先将地形的粗糙度信息 表1测试结果 存储在一个2维数组中,判断时调入内存使用。判断公式为 测试内容 四叉树划分/ms编译文件读 8540个面、322个节点 389 100 D·C1·max(C2R,1) 7430个面、289个节点 3568个面、165个节点 L表示节点中心到视点的距离,D为节点的大小,C1为可以调 2800个面、145个节点 100 37 节的囚子,C1越大则地形的细节越多,反之细节越少,C2是期 望因子,R是地形的粗糙度值,粗糙度值在预处理阶段计算,它 从测试结果可以看出,在面数和节点相同的情况下,相对 也是一个递规过稈。首先考虑一个节点中四个子节点如果被划于一般的四叉树划分算法,利用预编译算法调入所需要的时问 分和不被划分会引起一定的误差值,误差值越大说明该节点越要少的多。因此利用预编译算法效果明显,同时减少了CPU的 粗糙。为了保持粗糙值的单调性,父节点的误差值要大于等于开销。预编译算法的主要优点就是将四叉树划分的递规过程从 子节点的误差值,因此取子节点中的最大的误差值作为节点的多次变为一次,既符合工程开发流程,也减少了地形调入等待 误差值。 的时间。预编译算法使用限制性四叉树划分,避免了裂缝的产 (2)对于每个节点的四个子节点 Children{4],本来保存的生,减少了算法的复杂度,提高了运算的速度。该算法可以在开 是其子节点在内存中的位置,这里将根据每个节点的序号发的时候作为预处理模块添加到开发工具中,丰富了开发工 (mm),将其重新排序填入数组NODF相应位置,填到数组中具。该算法也可以用于简单的虚拟展览展示场景的划分,以及 后, Children4就改为填写子节点对应于数组中的位置,即一个二维的场景管理。它可以与八叉树相结合,进行场景管理的划 偏移量,如果该子节点为空,就用0代替。深度遍历四叉树,从分。通过预处理算法可以提高引擎的效率,加快了开发流程,可 根节点Rot开始,递归来完成NODE的填写。如图7所示。 以作为引擎的一个功能模块。(收稿日期:2007年3月) NI 参考文献: IndexDataoXo0000000 0X00000001 0X000000ea [1 Lindstrom P, Koller D, Ribarsky W, et al. Real-time, continuous 0X00000000 0X00000002 0X00000000 levcl of dctail rendering of height ficlds [Cy/Procccdings of SIG- 0X00000001 0X000x00000 GRAPH'96, ACM SIGGRAPH, 1996, 10(4): 109-118 0XC0000000 0X0000000e 0X00000000 [2 Hugues Hoppe. Smooth view-dependent level-of-detail control and 0X00000002 0X00000002b 0X00000000 its application to terrain rendering C/Proceedings IEEE Visualiza 图7数组记录四叉树 (下转207页)

...展开详情
试读 3P 论文研究-计算机辅助设计中的色彩调和美度评价模型.pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    抢沙发
    一个资源只可评论一次,评论内容不能少于5个字
    weixin_38743737 你的留言是对我莫大的支持
    2019-09-11
    • 至尊王者

      成功上传501个资源即可获取
    关注 私信 TA的资源
    上传资源赚积分,得勋章
    最新推荐
    论文研究-计算机辅助设计中的色彩调和美度评价模型.pdf 9积分/C币 立即下载
    1/3
    论文研究-计算机辅助设计中的色彩调和美度评价模型.pdf第1页

    试读已结束,剩余2页未读...

    9积分/C币 立即下载 >