LOD

作者: blue_lights | 来源:发表于2021-08-17 10:14 被阅读0次

LOD:  Level of Detail

LOD是Level Of Details的缩写即多层次细节。在计算机图形学中,LOD就是为了支持当物体远离观察者或者物体的重要程度不同,位置不同,速度不同或者视角相关的参数不同需要减少渲染3D模型的复杂度。LOD技术增加渲染效率的本质是通过增加图形管线的工作量,主要是通过顶点数据进行交换的。大部分情况下,被减少的视角效果不会被注意到,因为对于非常远的物体或者快速移动的物体的影响是非常小的。

在大量顶点和材质的场景中,为了提升渲染帧率

1、几何体(更少的顶点)

2、更简单的材质(更快的着色器)

3、关闭阴影

4、用一个冒名顶替者替换几个小实体

在今天的OpenGL图像示例,示出的方法,借助于其中在程序开始时对于给定的3D模型LOD水平的任意数量(大号伊维尔基尼ø ˚F d可以产生etail)。随着每个新的 LOD 级别,三角形区域的数量逐渐减少 - 通过三角形边缘的塌陷(edge collapse):

然而,在执行边缘折叠之前,必须首先澄清折叠在多大程度上使模型几何结构完好无损。在上面的例子中,有几条边,它们的折叠不会改变方形几何,但边 ( v2 v5 ) 是最合适的,因为在这里你从索引中选择顶点 2还是顶点 5并不重要缓冲区已删除。

根据由相应边定界的三角形表面的数量来区分 3D 模型的边是有意义的。这里也讲到所谓的偏侧性。如果一条边只划定一个三角形表面,那么就说一个一侧边1 个侧边),一条边界定两个三角形表面,然后说一个两侧边2 个侧边),等等

。现在可以从上图推导出可能的边塌陷的两个条件:

折叠边必须是两侧的。

边的角点也必须是其他两侧(并且只有两侧)边的角点。

在第一步中,我们的过程会搜索所有可能发生塌陷的边,并确定每个 LOD 级别的边塌陷次数(要生成的 LOD 级别越多,每个级别必须执行的边塌陷越少) )。为了使模型几何体在倒塌后尽可能保持完整,在每次倒塌之前首先搜索可能的最短边。在执行了针对 LOD 级别的所有边缘折叠之后,最终会更新索引缓冲区。

一个通知:

LOD 友好的 3D 模型 3D 模型的设计方式对 LOD 关卡的质量有着不可忽视的影响。如果可能,基本网格(最低 LOD 级别)应由单个基本组件组成,其细节不能进一步减少。在第二步中,可以将附加细节集成到基本组件中。

例子:

球形物体 => 立方体,双金字塔(基本组件) 

天线 => 金字塔(基本组件) 

轮 => 长方体(基本组件)

圆锥 => 金字塔(基本组件)

参考文章:

为 3D 模型生成 LOD 级别:

https://www.spieleprogrammierung.net/2010/04/opengl-3-lod-stufen-fur-ein-3d-modell.html

探索游戏中的LOD技术 - 网格简化:

https://zhuanlan.zhihu.com/p/51944864

相关文章

网友评论

      本文标题:LOD

      本文链接:https://www.haomeiwen.com/subject/rvmbbltx.html