摘 要:
关键词:
一、引言
随着虚拟现实应用领域的日益扩大及应用内容的复杂化,尤其近两年网络图形技术的高速发展,计算机真实感图形已深入到人们的日常工作、学习、生活中,真实感图形实时绘制技术的需求急剧增加,使其成为计算机图形学的一项重要研究内容。以下我们主要介绍基于图像、点和图形与图像相结合这三种图形绘制技术。
二、基于图像的绘制技术
基于图像的图形绘制技术是从采样图像序列生成新视景图像的过程。首先在源场景中确定一系列的采样视点和采样方向,然后进行图像采样,并对得到的图像序列进行变换、组织,生成图像流场。依据观察者在虚拟场景中的位置和观察方向再从图像流场中检索生成新视景所需的光线信息从而恢复出图像。源场景可以是实景, 也可以是计算机合成场景, 且二者可以混合使用。
基于图像的图形绘制技术的理论基础是全光函数。全光函数为一参数化函数, 定义了空间任一视点处,在任何时刻和任一波长范围内的所有可见信息。用计算机图形学的术语,它描述了给定场景中所有可能的环境映照集合。
对空间中的任一视点,从该视点出发的任一视线均可用球面角和定义。若记光波长为X,则在T时刻,视点V处的全光函数定义为:
全光函数刻画了一给定场景中任一点处的环境映照,因而,它以图像形式给出了场景的精确描述。将视点,和球面角,及时刻代入全光函数的定义式中,即可生成一帧给定视点沿特定方向的视图。这一过程实际上是对全光函数的采样,所得视图为全光函数的一个样本。于是,基于图像的图形绘制问题可描述为:从给定全光函数的离散样本集合中重构连续的全光函数,然后,在新的视点位置重新采样该函数来绘制新的视图。即基于图像的图形绘制过程其实是全光函数的采样、重建和重采样过程。
由全光函数的定义可知,一般意义上的全光函数是7维的,需要采样的图像信息量很大,因此,直接构造全光函数往往非常困难。在实际应用中, 针对具体
的应用需求,我们可以合理地简化全光函数,以达到要求的实时绘制图像的效果。
我们通过限制观察者在一些离散的给定点观察场景,并忽略维全光函数中的波长、时间等其他参数,便得到一个维的全光函数:
其中, 、分别对应于相机在固定视点的水平观察方向和镜头的焦距。这是一种最简单的全光函数表达,又称为基于全景图集合的方法。
三、基于点的绘制技术
物体表面几何细分的极限是点,点模型用从几何体表面密集采样得到的离散点用来隐式地表示物体的表面。与传统的三角网格模型相比,点模型最显著的特点就是它不包含任何拓扑信息,如点与点之间的连接关系及点的邻域信息等,因此常被用来构建几何体难以描述的“软”物体(如烟、云、灰尘、火焰、水和树等)。
基于点的绘制技术将点作为绘制基本元素。通过适当的采样,场景对象被表示成一组密集的表面采样点,与这些点一起存储的还有点的颜色、深度和表面法向量等信息,根据这些点的信息经过表面重构,生成连续表面而非离散点云构成的真实感图形。使用点的几何信息,加上基于点的光照、纹理、阴影等处理就可得到真实感图形。由于保存了点及其几何信息,并且点的采样与视点无关,所以,基于点的某些处理过程可以从绘制过程分离,并经过一次采样后,可以进行多次不同视角的场景绘制,这样就提高了绘制速度,达到交互实时绘制的目的。
点绘制工作流如图1所示。
点绘制技术要注意三个关键点:
1. 存储效率。基于点的绘制方法只要求存储点的几何信息,而不需要点与点间的连接结构信息,看上去存储效率似乎高,其实不然。因为用点表示场景所需要的采样点比多边形网格多的多,因此,如何有效存储这些点是要解决的一个关键问题。
2. 绘制性能。这是采用基于点绘制技术的主要动机,当场景高度复杂,构成场景的三角片在屏幕投影比一个象素还小时,绘制单个点会更加有效。当前基于软件实现的点绘制算法和部分硬件加速算法都以提高绘制性能为其目标之一。
3. 绘制质量。点绘制技术最关键的工作是由离散点在屏幕重构没有空洞的连续表面。给定一组表面采样点,可以方便地把它们由物体空间转换到屏幕空间,并映射到屏幕象素,当多个表面的采样点映射到一个屏幕象素时,通过多种方法可以解决可见性问题,但困难在于,一个表面的采样点并不能映射到这个表面在屏幕上的所有象素,因而可能产生空洞。 解决这一问题的不同途径产生了目前各种各样的绘制方法,并且仍是进一步研究的关键。
四、基于图形与图像的混合绘制技术
基于几何模型的绘制方法和基于图像的绘制方法在解决通用平台实时真实感绘制问题上均存在着局限性,这使研究者开始考虑将两者结合起来,互补长短,寻找达到目标的新途径。
所谓混合绘制,指的就是同时采用几何及图像作为基本元素来绘制画面的技术。该技术根据一定的标准,动态地将部分场景简化为映射到简单几何体上的纹理图像,若简化引起的误差小于给定阈值,就直接利用纹理图像取代原场景几何来绘制画面。简单几何面置于被简化景物的中心,而简化误差被严格控制在给定的阈值内。这种绘制技术可以在一定误差条件下,以较小的代价来快速生成场景画面,同时仍保持正确的前后排序,所生成的图形质量也很高。
混合绘制最明显的应用是采用环境映照来表示远距离景物,如天空、山脉等,而近距离景物则采用传统几何绘制模式。该技术在各种模拟器的动态仿真及三维游戏中得到了广泛的应用,它可在一定误差条件下,以较少的代价来快速生成场景画面。但由于不论视点在何位置,对整个场景均取统一的环境映照,因而所生成的图像存在着较大的误差。
1996年,Shade等人提出了层次图像存储算法。该算法的基本出发点是,当
景物离视点较远时,在前后两帧画面上投影位置的变化非常小。因此,若将这些远距离景物在前一帧画面中的投影图像存储起来,并以该图像作为纹理映射到一简单几何体上,以近似取代该景物在其后续画面中的绘制,就能有效地减少当前视域中的可见面片,从而极大地提高画面的绘制效率。但是,当场景中有很多可见景物时,利用上述方法将产生非常多的纹理图像,需占用大量存储空间。为此,Shade等人利用二叉剖分技术对场景进行层次剖分,每
个节点中的所有景物根据其距离视点的远近,动态地在几何描述和纹理图像之间切换。这一算法的主要贡献在于给出了一种纹理表示与原景物几何描述间的误差估计,并给出了视点运动的安全区域。但该算法由于采用从后至前的绘制顺序来生成画面,因而对于高度复杂的场景,算法的效率将受到严重的影响。
为了提高绘制精度,Sillion等利用带纹理的多边形网格来逼近远距离景物,而近景则仍采用传统的几何绘制技术。考虑到对于高度复杂场景来说,将远距离景物简经成其纹理表示仍是一个非常耗时的过程,Sillion等采用预处理的方法来生成在不同视点范围处的远景纹理图像网格。与Shade的算法相比,这一算法具有更高的逼近精度。
后来,Snyder等人推出了一种新的动态场景自动分层技术,该技术基于K-d 树结构及传统的Newell消隐算法,设计了一个适合于动态场景的空间剖分技术,进而实现了动态场坟的自动排序和分层。
五、结论与展望
基于图像的绘制技术摆脱了处理复杂几何建模的困难, 通过与计算机视觉、虚拟现实等技术的结合将得到更快更好的发展。
基于点的绘制技术各类方法中,基于高斯滤波的表面足迹法呈现好的图象品质,可作为重点研究内容。如对采样模型中尖锐特征的绘制及采用硬件加速提高高品质图形的绘制速度。具有PHONG明暗着色的表面绘制,因基于变化的法向量,如何由离散点信息获取它们的值,也有许多新方法、新技术有待深入研究和开发。当前各种多分辨层次模型常专门针对某一种特定绘制算法,并且是不可交换使用的,如何设计有效的数据存储方式,以及在存储点的基本信息的同时,增加点的不透明度、曲率、散射函数等辅助信息仍值得研究。另外,在基于点的绘制技术中,由于点与点之间绘制次序的独立性,点绘制方法的并行实现对提高绘制质量和绘制速度将更加可行和有效,基于点的并行绘制也是值得研究的问题。
由于混合绘制技术研究还刚刚起步,还有待在下列问题或方面进一步研究和发展:
1. 有效的数据表示。为了达到基于图像的实时绘制,人们常常要在真实感和实
时性之间做权衡。许多系统不得不决定采用多少几何和多少图像;这样为了同时提高真实感和实时性,必须采取有效的数据表示。例如在绘制时采用从压缩数据直接绘制以及多分辨率表示,有效地节约了存取开销,同时又不影响绘制速度和真实感。
2. 重建景物表面的光照属性。目前大多数图像绘制算法都是假设景物表面为漫射表面,且在整个运动过程中,场院景的光照情况保持不变。显然,这种假设是理想化的,与实际应用具有很大的差距。因此,图像绘制必须在重建三维几何的同时也重建景物表面的光照属性。
3. 动态环境的绘制。直到目前为止,大多数基于图像的实时绘制技术方法都是
集中于静态环境。随着视频技术的发展,人们希望基于图像的实时绘制技术也能够应用到动态动态环境的绘制。这样必须研究:采样(应该捕获多少幅图片)和压缩(怎样减少数据量)。
参考文献:
冯月萍,钟慧湘. 基于离散点的点域绘制方法.吉林大学学报(理学版),2004
彭群生、鲍虎军、金小刚. 计算机真实感图形的算法基础,科学出版社,1999
徐丹、潘志庚、石教英. 虚拟现实中基于图像的绘制技术,《中国图像图形学报》,1998
郑新. 基于图像的快速绘制技术的研究.博士学位论文.中国科学院软件研究所,2001