随着图形学硬件的发展,人们对于视觉效果的追求也越来越高,技术人员的关注点也已不再是如何提高裁剪算法和扫描算法的速度,而是如何获得更优质的显示效果。
在计算机图形显示设备上生成一幅高真实感的场景图像,一般需要经过场景描述(即建模过程)、坐标变换、颜色与纹理映射、绘制与显示等几个过程。在这几个过程中,坐标变换过程是最难以理解的部分,在新手学习过程中也是最容易出错的部分。如果说其他部分关系到显示效果的优劣,那么坐标变换过程则是场景能否被正确显示、能否被看到的关键。
三维坐标变换的过程包括四个步骤,它们依次是世界变换、视图变换、投影变换、视窗变换。其中世界变换实现主要负责场景中各个物体之间的位置关系,将物体坐标由其自身为基准的坐标,变换到整个场景统一的世界坐标。视图变换将物体坐标由世界坐标变换为以观察者为基准的视图坐标系中。投影变换将观察者看到的世界从三维世界中投影到二维平面世界中。投影变换分为两种,一种是正射投影,另一种是透视投影。正射投影多用于建筑蓝图或工业模型设计,在投影过程中,同样大小的物体投影后占据屏幕大小也相同;透视投影多用于动画模拟和真实感图形图像,在透视投影中,同样大小的物体当离观察者距离较远时所占屏幕面积较小。视窗变换根据最终显示窗口的大小,将图形学中的逻辑坐标变换为操作系统中的像素坐标。
随着计算机硬件的发展,尤其是图形硬件的发展,计算机图形学中的经典问题,如裁剪问题、多边形转换问题、消隐问题都已不再是图形学的瓶颈,取而代之的是建模问题、控制问题、纹理贴图、光照计算、硬件加速等问题,而在近几年的图形技术发展过程中,很多问题已经由研究者们提供了大量的解决方案。目前,在三维图形学中仍然关注的研究重点有如下这几个部分:
1.三维模型建模技术
三维图形学研究的第一个方面是如何快速地模拟真实世界或建立虚拟世界中的场景,因此需要在整个场景中观察什么东西,以及场景中展示的物体如何获得是一个关键问题。随着计算机处理能力的提高,人们对可视化效果的要求越来越高,所表示的模型规模越来越大,模型的细节程度也越来越详细,详细庞大的模型使得建模过程越来越复杂。研究快速建模方法,寻找更优质的模型表示方法以及使用更少的数据准确地表示模型,是三维图形学所研究的一个问题。
在三维图形学中,制作虚拟物品一般有下面三个途径:一是通过编程方法直接生成,二是使用商品化的软件辅助制作,三是通过摄像机或三维扫描仪进行拍摄。在技术实现上,建模基本可分为两步:第一步称为几何建模,主要包括用多边形或三角形拼构成对象的立体外形;第二步称为物理建模,主要包括对几何建模的结果进行纹理、颜色、光照等处理。用几何建模建立模型主要有三种方法:线框模型(也称为多边形建模)、曲面模型和实体模型。
对于上述所述的三种建模方法,多边形建模是被广泛使用的方法,在屏幕上看到的几何图形由许多互相连接的小三角形组成,这些三角形被称为“面片”。每个面片有不同的尺寸和方向,同一模型的面片数越多,则模型的细节就越细腻。
曲面建模是通过曲线(通常是Bezier曲线)表示表面区域边界而实现的模型定义方式,边界线之间的区域是平滑过渡的,曲面建模技术可以使用很少的细节表示出很光滑的形状,同时这种表示形式可以实现快速参数化变形。
实体造型技术是基于计算机辅助设计和制造发展起来的建模技术,能处理类似于打孔等复杂的模型表示,并可以实现自动消隐计算、侧影轮廓线等模型特征求解,对于模型的重心、体积等也可以很快求解。实体造型技术包括CSG体素构造表示、实体边界表示、八叉树表示、基于特征的实体造型等方法。
2.模型变形及匹配技术
三维图形学需要研究的第二个主要方面是模型变形。图形学中所展现出来的模型,只有少部分是通过原始建模过程建出来的,更多的模型是通过变形技术实现的。随着应用领域的扩展,变形技术变得更加重要,而超大模型的变形和大规模模型的快速变形技术成为了一个研究难题。本书中所研究的很大一部分内容,就是进行模型变形方面的研究,相关章节会给出更为详细的模型变形方面的技术现状及前沿信息。(www.xing528.com)
3.三维场景快速绘制技术
三维图形学研究的第三个方面是快速绘制技术。随着图形学的发展,现在的仿真应用的技术中,对模型的精细程度以及仿真规模,都提出了更高的要求对于仿真应用中,实时性是一个需要着重考虑的因素,因此研究超大模型或大规模仿真应用的快速绘制技术,是三维图形学中研究的一个课题。
大规模场景的实时绘制问题是虚拟场景实时生成和可视化的关键问题,也是实现实时交互性的前提。计算机三维图形学中,加快场景渲染速度往往有两种途径:一种是提高图形系统的性能,另一种就是减少场景中所需渲染的面片数。减少场景所需渲染面片数的三个重要途径:场景面片剔除、LOD简化和基于图像的渲染。
对场景面片进行剔除是减少计算量十分明显的一种加速方法,在图形运行库(如OpenGL和DirectX)中,每个面片都根据顶点顺序分为正面和背面。在渲染过程中可以指定渲染其中一面,这对于闭合物体,将减少一半的纹理和光照计算量。除图形系统运行库所内置的背面剔除算法之外,在系统渲染中所常用的剔除方法还有:视景剔除、遮挡剔除、误差合并。
视景剔除是指对场景中的物体,根据当前视点的位置和视域范围,计算物体的可视性,对当前视点下不可见的物体进行剔除。视景剔除算法一般来源于二维图形学中的裁剪算法。遮挡剔除是指对经过视景剔除保留下来的物体,根据当前的视点与面片的位置关系,通过计算面片的相互遮挡关系,剔除被遮挡的面片。误差合并是指根据面片对最终屏幕图像的贡献率,当贡献率小于既定的阈值时,对该面片进行剔除,并将其两侧的面片合并以填补这个形成的孔洞。
图形渲染过程中,使用LOD方法进行加速已经成为了一个标准式方法,大规模场景绘制中的LOD方法,基本经历了离散层次细节技术到连续层次细节技术的历程。LOD的核心思想是将模型组织成不同细节程度的层次,绘制时按视点需求进行适当选择。研究者们针对LOD技术进行了近30年的研究,目的是寻找更好的途径,在尽量少影响最终可视效果的前提下,使绘制量减到最少。但LOD方法有两个不可避免的问题,一个是对最终效果逼真度的影响,另一个是在LOD技术中不同层次的模型的过渡不平滑性。更为详细的LOD的介绍,将在本书的与绘制相关的章节中进行。
基于图像的渲染方法是减少绘制所需面片的另一种思路,它通过将场景做成图像,然后通过纹理映射的形式,应用于场景中。对于基于图像的渲染来说,绘制的面片数与场景的复杂程度无关,可以大幅度减少绘制的面片数。本书中所介绍的“动态纹理技术”是基于图像渲染的一种发展形式,在快速绘制的那一章里,将会有“基于图像的渲染方法”的详细介绍和描述。
4.图形硬件加速技术
三维图形学研究的第四个方面是硬件加速技术。图形学的发展离不开图形硬件的发展,图形学硬件的发展反过来又推动图形学技术的发展。随着GPU编程的普及,越来越多地开始运用CPU/GPU协作的并行计算模式。研究大规模应用的硬件加速技术成为一个新的热点。
图形硬件加速技术是本文所介绍和研究的一个重点内容,随着nVidia公司GPGPU架构以及近期的统一渲染架构的提出,目前越来越多的软件开始使用“图形硬件加速技术”,而且,图像硬件加速技术已不再是计算机图形学的专利,而是成为了各种应用的加速器,如高清电影编码解码、数据压缩与分析、图像处理、计算机视觉等方面都开始应用图形硬件加速技术。最近的Adobe Photoshop软件的CS5版本,已经开始应用图形硬件加速,硬件加速应用的火热程度由此可见一斑,其应用普及时代或许即将来临。本书将详细介绍图形硬件加速的原理以及实现方法,并在各章节的应用实例中穿插其具体应用方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。