3D计算机图形学读书笔记—Wat版本
1、明暗处理简史
从20世纪70年代中期以来,图像的真实性一直是计算机追求的动机。图形的真实性的基础是光与物体间交互的计算。这种计算可分为两个方面。即局部反射模型的建立和全局反射模型的建立。局部或直接反射模型只考虑物体与光源间的相互作用,就好像物体和光线在一个黑暗的空间漂浮着。即只考虑物体的第一次反射。全局反射模型考虑光线是如何从一个物体反射并传到另一个物体上的。大部分图像使用Phong的局部反射模型(1975年首次报道),很少使用光线跟踪模型(1980年首次公开),用辐射度方法(1984年)的也很少。在最重要的计算机图形学刊物上(SIGGRAPH会议年度论文集),更关注应用如:关注动画、可视化和虚拟现实。在光-场景交互方法学方面还在进行着大量研究。
2、两个紧接着出现的进步是隐藏面消除算法和明暗处理图像技术的发展,它们模拟物体与光源的相互作用。最普通的算法是Z缓冲器算法。在明暗处理图像技术中,主要技术支持是Phong反射模型。它常常在运行结束时使反射的光比它接收到的光还要多。其参数是基于来自一个表面的光反射的最粗略的估计。该模型产生了大量的图像,因为该模型合适并易于实现。以理论为基础的反射模型试图更准确地建模反射,并且其参数具有物理意义,即这些参数对于一个真实的表面是可以测量的。例如,光在一个各向同性的表面(如塑料)上的反射与其在一个各向异性的表面(如抛光的铬)上的反射是不同的,这种影响可以通过明确的建模表面特性来模拟。这类模型试图在毫米级模拟光的行为(这时,粗糙程度和表面几何因素比光的波长要打许多)。这类模型的目的是模拟材料特性—不同的材料为何看起来有区别。反过来,一个模型的参数可以从一个真实的表面测得,并用于模拟。更完善的或理论性更高的局部反射模型似乎还没有得到广泛的采纳甚至实现。所有这些试图要精确建模来自表面的光的模型都是局部模型,也就是说,他们只考虑了光与物体的相互作用。由此产生的主要问题之一就是明暗处理没有被纳入到模型中(明暗处理是种由于全局交互而产生的现象),因此必须用一个单独的算法进行计算。
Phong反射模型的建立加强了对添加明暗处理算法和纹理映射的研究,而这两项研究又增强了明暗处理物体的外观效果,并减弱了基本Phong模型的那种看起来像漂浮在自由空间中的塑料的感觉。
3、建模全局交互
20世纪80年代出现两个具有重大意义的全局模型,即试图评估物体间相互作用的光反射模型。全局交互产生的现象包括确定一个明暗处理区内的光强度、物体之间相互产生的反射(光学相互作用)以及被称为颜色泄露的细微影响,这种颜色泄露使得从一个漫反射表面发出的颜色渗入到另一个邻近的物体表面(漫反射相互作用)。明暗处理区域内的光强度只能通过全局交互计算确定。根据定义,明暗处理区域不能直接从光源得到光,而只能从其他物体反射的光中间接得到光。当我们在一个场景中看到一个闪光的物体时,你可能希望从上面看到其他物体的反射。像镀铬板这样非常光滑的表面的特性更像一面镜子,它记录下其周围所有物体表面的细节,并根据其自身的表面曲率对所有这一切进行几何变形。
成功的全局模型有光线跟踪和辐射度。然而,在其基本实现中,这两个模型都只是照顾到了全局照明的一个方面。光线跟踪方法实现了完美的光学反射---非常光滑的物体互相反射。而辐射度建模漫反射相互作用,即光从粗糙表面反射出来,照明其他物体。漫反射相互作用在室内人造材料中是普遍存在的,如将地毯铺到地板上或墙上的粗糙修饰。在房间中,不能看到光源的区域是由漫反射相互作用来照明的。由于这两种模型所模拟的现象互不相交,所以由两个模型产生的图像也具有标识性的特性。光线跟踪的图像非常适合于完美的递归反射以及锐角折射的情况,而辐射度模型的图像通常适用于柔和光照室内物体并且不包含闪光的物体。
计算机图形学并不是一种纯粹的科学,在计算机图形学中有关光与表面相互作用的许多研究工作都是采用现有的物理模型,然后再用一个计算机图形学算法加以模拟,这就可能会对元数学模型引入许多简化,以便使其可以作为计算机图形学的算法来执行。由于实际的原因,计算机图形学中进行了简化,在数学家看来这可能过于粗糙,而这种过程仍然能成为成功的原因是当我们观察一个合成的场景时,我们并没有感觉到在数学上进行了简化,除非简化到出现了走样的程度。然而,大多数人可以很容易将一副计算机图像与一副照片区分开。这样一来,计算机图像就有了一个属于其自己的”真实性”。该真实性是模型的函数,一个计算机图形与一副真实场景的照片之间的相近程度因采用方法的不同而有很大差别。在计算机图形学中“照片真实性”是指图像看起来真实,而不是按像素对像素的方式逼近一幅照片。这种对计算机图形学产生的图像的主观判断稍稍降低了广泛采用的“照片真实性”的含义,但情况确实如此。在人类对于计算机图形学图像与等价于真实场景的图像的感知进行比较方面精油很少量的研究。