图形学中的几何光学理论与视觉现象

光线是从光源发射(emitted)通过介质往特定方向传播的电磁波

光源类型主要有3种:平行光(如太阳)、点光源(如灯泡)和聚光灯

几何光学en)是利用几何学研究光学的学术方法,用来解释现实中的视觉现象(Visual appearance

注:光的干涉和衍射不是几何光学研究的范畴,需要使用波动光学理论来研究

几何光学理论

在均匀介质中,光是沿直线传播的,且速度是恒定的

v = λ * f

注1:v为速度   λ为波长  f为频率

注2:真空中不同频率的光的速度都是c。频率高的光,波长就短;频率低的光,波长就长   -- 如:紫光、红光

注3:频率是源的振动决定的。因此,单一色光在不同介质中频率是不变

注4:人眼感应光的颜色是由光子能量决定的,E=hν,能量由频率决定,蓝光能量大红光相对小,频率决定人眼对光颜色的感知

          颜色是视网膜对不同频率光子的感觉。不同频率的光子大小和自转速度不同(频率低个大转速低,频率高个小转速高),打到视网膜上的感觉也就不同,就会感觉到不同颜色

          三原色光子混合会让视网膜感觉到平均光子大小,便是混合成另一种颜色的感觉

注5:光是直射的,因此会产生影子

光的反射定律

反射角等于入射角

光的折射定律  又称为“斯涅尔定律”(Snell's law

光在真空中的速度 c(约等于3.00×108 m/s)与在透明介质中的速度 v 之比,称之为该介质的绝对折射率,简称折射率(≥1)

折射率决定了进入介质时光的路径弯曲或折射的程度

注:λ 0 为光在真空中的波长,λ 为光在介质中的波长

光在真空中的折射率等于 1,通常我们认为光在空气中的折射率也近视为1 

水的折射率:1.333   // 表示光在真空中的传播速度(波长)是在水中传播速度(波长)的1.333倍
玻璃的折射率:1.5~1.7
水晶的折射率:2.0
钻石的折射率:2.4

除了与介质有关外,折射率还与光的频率有关;频率高的光,折射率大,能形成更大的偏折角度

折射率还决定了反射的光量到达界面时,以及全反射和布儒斯特角Brewster's angle)的临界角

视觉现象

色散

光的色散dispersion of light):在相同介质中,不同的频率的光,因为行进速度不同,造成在折射过程中偏折角度不同

牛顿在1666年最先利用三棱镜观察到光的色散,把太阳光分解为彩色光带(光谱)

彩虹是由于下雨以后,天上悬浮着很多极小的水滴,太阳光沿着一定角度射入,这些小水滴就发生了色散

 

全反射

全反射,又称全内反射(total internal reflection)是一种光学现象。当光线经过两个不同折射率的介质时,部分的光线会于介质的界面被折射,其余的则被反射

但是,在当光线从光密介质(较高折射率的介质)进入到光疏介质(较低折射率的介质),入射角比临界角大时(光线远离法线),光线会停止进入另一界面(折射光线消失),反之会全部向内面反射

全反射的临界角为:

例如当光线从玻璃进入空气时会发生,但当光线从空气进入玻璃则不会。光导纤维、海市蜃楼、沸腾的水中气泡显得十分明亮、水中观察绿海龟在出水面形成镜面反射,都是因为发生了全内反射

光与所有物质作用只存在两种现象:散射(scattering)和吸收(absorption)

散射(scattering):光线通过不均匀介质时(如物体表面、有尘土的空气、含有杂质的半透明物等)出现的现象;散射不会改变光量,它只是使其改变方向

光的散射一般又分为反射(reflection)和折射(refraction)

吸收(absorption)发生在物质内部,其会导致某些波长的光转变成另一种能量(如热能)并消失;吸收会减少光量,但不会影响其方向

当我们看到“某个物体是红色”,实际上是因为它反射了更多的红光波长,而吸收了其他波长

镜面反射(specular reflection):在物体表面上的反射  特点:反射出来的光集中在某个方向上;物体微平面越光滑,方向越集中,高光区域越小,高光越亮

漫反射diffuse reflection):经历折射->吸收->重新从入射点,沿着各个方向散射出物体表面    特点:反射出来的光均匀地分散在表面法线指向的半球区域内,没有方向性

在现实世界中,物体都会有这两种反射。物体微平面越光滑,镜面反射越强,漫反射越弱;相反,微平面越粗糙,镜面反射越弱,漫反射越强

在微观尺度上,即小于一个像素但是大于光波长的尺寸,物体表面并不是绝对光滑的,这时虽然在单个光束与表面交互上可以看作该面是光滑的,但是在一个像素尺寸上,它确是不光滑的

物体的微平面(Microfacet)的光滑程度可以用粗糙度来衡量;物体有大体分为非金属和金属两大类,其中金属会立即吸收所有折射的光线,而不同透明度和材质特性的非金属,反射、吸收、折射等会有很大差异,从而呈现丰富多样的外观

次表面散射SubSurface Scattering,简称SSS):经历折射->吸收->重新从入射点为中心的圆的区域,沿着各个方向重新散射出物体表面

对于不透明物体,由于重新散射出来的区域非常小,我们一般使用漫反射光模型来简化

但对于一些半透明物体,如:皮肤、玉、蜡、大理石、牛奶等,则需用次表面散射模型来渲染;次表面散射会让模型看起来更亮,更有通透感

注:红色区域表示一个像素的大小,当出射光集中分布在红色区域内时,则认为次表面散射效果可忽略,用漫反射简化处理即可

       当出射光线较为均匀地分布在绿色区域内时,则需要单独考虑次表面散射效果

透射(transmittance):对于比较薄的半透明物体,一些光线经历折射->吸收->从物体另外一面散射出物体表面    特点:反射出来的光均匀地分散在另外一面法线指向的半球区域内,没有方向性 

 

参与介质(Participating Media)

如云、烟、雾、霾等在自然界中普遍存在的,它们导致了很多有趣的视觉现象。

当光在这些参与介质中传播时,部分被吸收,其他则经过多次散射从不同的位置离开表面。

参与介质整个内部都是半透明的,光线能够从一边进入,然后从另外一边离开。

参与介质能够有效地增强环境的氛围,以及对场景深度的感知。

焦散caustics

光经过弯曲的表面反射或折射后,多束光落在同一个点上,导致这些点的光照特别明亮

  

光泽反射glossy refection) 

物体的微平面越光滑,反射光线的方向范围就越集中,高光区域就越亮,将周围环境映射到模型表面就显得越清晰 

菲涅尔反射Fresnel Reflectance

当光由一种介质进入另一种不同的介质,在光滑的表面发生反射和折射时,入射光被反射和折射的比率分别应该是多少呢?

菲涅尔公式(Fresnel Equation)反映出光线的反射比率与入射角和介质的折射率有关

在真实世界中,非金属均有不同程度的菲涅尔反射效果:对于大部分入射方向其反射率仅为4%左右,而当几乎水平于表面方向(即入射角为90度)时,它的反射率几乎为100%

注1:光线入射角越小,入射光线越垂直于物体表面

注2:虚线部分表示偏振效应,在电磁学中一个矢量场可以分解为平行于入射面分量P和垂直于入射面分量S。

其中对于平行于入射面分量P,它当入射角接近57度时,所有的反射光完全被偏振,此时反射光线和折射光线相互垂直,这也叫做起偏角或者布儒斯特角(Brewster's angle)。这就是为什么太阳镜可以减少接近水平方向非金属的反射强光

各向异性高光(Anisotropic Specular Highlights)

由于物体微平面上有着朝着某些方向的小凹槽(凸起,纤维或划痕),使得这些方向上高光反射与其他方向存在明显不同。

任何具有细粒度的东西都主要在一个方向上。如头发,锅碗瓢盆,拉丝金属等

颜色渗透Color Bleeding

漫反射光从物体内部反射出来后,会携带这个物体的颜色,从而使靠近该物体周围的物品染上其颜色。

这种经过一次或多次反射或折射形成的环境光对于Diffuse表面的影响非常重要,如靠近红色墙壁长方体的那个面呈现一些红色

这种效果并不是直接来自光源,而是环境,是一种间接光照

半透明(translucent)

光线依次穿过多个半透明的物体后,会按照三原色叠加规律来呈现最后的颜色

阴影(Shadow)

阴影对于人眼对3D场景的立体感非常重要

由于光源有一定的面积,整个阴影区域并不是完全漆黑的(即硬阴影,Hard Shadow),而是在边缘的地方有一个明暗过渡(软阴影,Soft Shadow)

软阴影有三部分组成:完全遮挡的本影区(Fully Dark)、部分光照被遮挡的半影区(Penumbra)和完全没有被遮挡的光照区(Fully lit)

如果物体自己挡住了自己,则会形成自阴影

环境光遮罩(AO,Ambient Occlusion)

角落、缝隙等地方容易被物体自身或周围的物体遮挡住光线,会显得更暗一些,从而表现出较强的立体感和明暗对比度

参考

全局光照技术

Real-Time Rendering 3rd

UE3材质 & 贴图

UE4基于物理的材质 

猜你喜欢

转载自www.cnblogs.com/kekec/p/11042472.html