关键词:
可见性剔除技术(Visibility Culling)
多细节层次技术
(
Level of Detail
,
LOD
)
在数字艺术的海洋里,涉及到许多技术,这些技术主要集中在图形和图象绘制处理过程中,比如可见性剔除技术、
多细节层次技术
等。下面是我在做毕业设计时候整理的一些最基本的知识,希望对刚入门的朋友有所帮助。
可见性剔除技术:
可见性剔除技术(
Visibility Culling
)是通过评估一个绘制元素或一组绘制元素的可见性或不可见性来快速地剔除不可见的绘制元素,从而减少送入绘制管道(
Rendering Pipe
)的绘制元素的数量,来达到提高绘制速度的虚拟世界快速绘制技术。
应用可见性剔除技术可将虚拟世界包含的全部绘制元素提炼为一个近似的可见集(
Potentially Visible Set
,
PVS
)。根据可见性评估的依据,可见性剔除算法可分为三类
:
视域剔除(
View-Frustum Culling
),遮挡剔除(
Occlusion Culling
)和背面
剔除(
Back-Face Culling
)。这三类算法剔除不可见面的原则如下:
● 视域剔除:如果一个绘制元素位于视域平头四棱锥(平截头体)之外,则该绘制元素必不可见;
● 遮挡剔除:如果一个绘制元素被其他不透明绘制元素(组)所遮挡,则该绘制元素必不可见;
● 背面剔除:如果一个绘制元素的法线方向背离视点观察方向,则该绘制元素必不可见。
多细节层次技术
:
多细节层次(
Level of Detail
,
LOD
)技术算法的核心思想是简化场景。所谓简化场景,即将原先的模型通过若干的处理手段将其复杂度降低,同时保证一定的相似度。对于大多数的应用场合,模型一般表示为一组多边形,所谓的模型复杂度是通过多边形的数量来衡量的。而相似度,一般是通过处理后的模型与原先的模型之间的某种误差度量来衡量的。不同的简化算法往往定义了不同的误差度量。
LOD
最初是为简化采样密集的多面网格物体的数据结构而设计的一种算法。由于稠密的采样点为三维对象数据的存贮、传输及绘制带来了极大的困难,所以,许多研究者试图通过顶点合并等方法将这种复杂多面体网格进行简化。 LOD技术基于场景简化的思想,在不影响画面视觉效果的前提条件下通过逐次简化景物的表面细节来减少场景的几何复杂性,从而提高绘制算法的效率。
LOD
技术通常对每一原始多面体模型建立几个不同逼近精度的几何模型,与原模型相比,每个模型均保留了一定层次的细节。当从近处观察物体时,采用精细模型,而当从远处观察物体时则采用较为粗糙的模型。同时,在两个相邻层次模型之间形成光滑的视觉过渡,即几何形状过渡,以避免视点连续变化时两个不同层次的模型间产生明显的跳跃。这样,计算机在生成场景时,根据该物体所在位置与视点间的远近关系不同,分别使用不同精细程度的模型,避免了不必要的计算,既能节约时间又不会降低场景的逼真度,使计算的效率大大提高。
多细节层次模型通常分成两类:静态多细节层次模型和动态多细节层次模型。所谓静态多细节层次模型是一组具有不同复杂度和相似度的模型,每一个模型对应一个细节层次,这些模型在绘制前由简化算法生成。而在动态多细节层次模型中,没有显式的细节层次存在,在绘制过程中,由对应绘制算法自动生成与视点相关的细节层次。
动态多细节层次模型的生成技术主要包括几何渐变算法等。该算法采用自上而下的四叉树结构来生成三角形网格,并采用无附加代价估计法来进行不同模型的几何形变。