在三维计算机图形学中,法线贴图(英语:Normal mapping)是一种模拟凹凸处光照效果的技术,是凸凹贴图的一种实现。法线贴图可以在不添加多边形的前提下,为模型添加细节。常见的使用场景是为低多边形(英语:Low poly)模型改善外观、添加细节,此时的法线贴图一般根据高多边形模型或高度贴图(英语:Heightmap)生成。
法线贴图通常以普通RGB图像的形式存储,其中的R、G、B分量分别对应法线的X、Y、Z坐标。
法线贴图有时也称为“Dot3(仿立体)凸凹纹理贴图”。凸凹与纹理贴图通常是在现有的模型法线添加扰动不同,法线贴图要完全更新法线。与凸凹贴图类似的是,它也是用来在不增加多边形的情况下在浓淡效果中添加细节。但是凸凹贴图通常根据一个单独的灰度图像通道进行计算,而法线贴图的数据源图像通常是从更加细致版本的物体得到的多通道图像,即红、绿、蓝通道都是作为一个单独的颜色对待。
法线贴图通常有两个变体,即物体空间与tangent-space法线贴图,它们的不同之处在于法线测量与储存所用坐标系统。
这项技术的一个有趣的应用是使用高分辨率模型的法线贴图表大幅度地提高low poly低面模型的显示效果。尽管这种利用该分辨率模型细节创建位移贴图取代非均匀有理B样条的方法早在1996年由Krishnamurthy与Levoy在Proc. SIGGRAPH 1996的文章“在密集多边形网格上使用光滑曲面”中已经提出,但是直到后来才开始用到更加普通的三角形网格。1998年另外两篇论文提出了从高分辨率向低分辨率多边形网格转换细节作为法线贴图的论文:Cohen et al.在SIGGRAPH 1998的“保留外观的简化”以及Cignoni et al. IEEE Visualization '98在“在简化的网格上恢复属性值的通用方法”。第一篇论文提出了一个特殊的约束简化算法,在化简过程中跟踪如何将丢失的细节映射到简化的网格。第二篇论文提出了分离高低精度多边形网格的简单方法,以及不受低精度模型构建方法影响的丢失细节恢复方法。后一种方法及其变体目前仍然是目前大多数可用工具使用的方法之一。
计算表面光照的朗伯值(漫反射值)时,只需计算以下两个单位向量的点积:
得到的结果就是光线在表面上的强度。假设有一个球体,我们只能通过多边形模型近似表示其曲面形状。通过在模型上应用三通道的位图纹理,就可以对更加细致的法线向量信息进行编码。位图中的每一个通道(通常是红色、绿色、蓝色通道)都对应于一个空间尺度(X、Y、Z),这些空间尺度与物体空间法线图的固定的坐标系统相关,或者与切空间法线图场合中根据位置相对于纹理坐标平滑变化的坐标系统相关。这使得模型表面更加细致,尤其是与先进的光照技术一起使用的时候更是如此。
单位法线向量可以根据对应的 UV 纹理坐标映射到法线贴图上。因为几何体上背向观察者的向量不会被观察到,所以法线贴图上只有面向观察者的向量(如果是左手坐标系,则 z 为 0 到 -1)。映射如下:
X: -1 ~ +1 : 红: 0 ~ 255 Y: -1 ~ +1 : 绿: 0 ~ 255 Z: 0 ~ -1 : 蓝: 128 ~ 255
- 直接指向观察者的法线 (0,0,-1) 映射为 (128,128,255)。所以(法线所创造的凹凸)物体上直接面朝观察者的部分为浅蓝色,也是法线贴图上最常见的颜色。
- 指向纹理右上角的法线 (1,1, 0) 映射为 (255,255,128)。所以物体的右上角一般是浅黄色,也是颜色贴图上最亮的部分。
- 指向纹理右侧的法线 (1,0,0) 映射为 (255,128,128)。所以物体的右边一般是浅红色。
- 指向纹理顶部的法线 (0,1,0) 映射为 (128,255,128)。所以物体的顶边一般是浅绿色。
- 指向纹理左侧的法线 (-1,0,0) 映射为 (0,128,128)。所以物体的左边一般是深蓝绿色。
- 指向纹理底部的法线 (0,-1,0) 映射为 (128,0,128)。所以物体的底边一般是深杨红色。
- 指向纹理左下角的法线 (-1,-1,0) 映射为 (0,0,128)。所以物体的左下角一般是深蓝色,也是颜色贴图上最暗的部分。
目前,法线贴图已经在个人电脑以及游戏终端上得到成功而广泛的应用。最初,微软的Xbox是唯一完全支持这种效果的家庭游戏终端,其它一些终端由于硬件上不能直接支持这种功能所以只能通过软件实现。如Xbox360这样的下一代终端的开发人员严重依赖于法线贴图的技术,并且已经开始着手实现视差映射技术。
相关
- 托马斯·亨利·赫胥黎托马斯·亨利·赫胥黎,FRS(英语:Thomas Henry Huxley,1825年5月4日-1895年6月29日),英国生物学家,因捍卫查尔斯·达尔文的进化论而有“达尔文的斗牛犬”之称。他为了对抗理查·欧文
- 正机长(英语:Captain),又称正驾驶,是航机内拥有最高指挥权的人。在双人坐的民航机、运输机、轰炸机上,机长的座位位于驾驶舱左侧;在双人坐的战斗机上,机长的座位位于驾驶舱前方;而在双
- 蔡 旭蔡旭(1911年5月12日-1985年12月15日),江苏武进人,农学家,中国科学院院士,中国小麦杂交育种的开拓者。蔡旭于1934年毕业于国立中央大学农学院农艺系。后留校任教,在农学家金善宝指导
- 原水交社宿舍群暨文化景观水交社是位于台湾台南市南区的地名,得名自日治时期在此设立的“水交社”(日本海军将官的亲睦团体),而与“水交社”一同设立的还有海军航空队宿舍,水交社地名主要指的即宿舍区一带
- 庄河市庄河市是中国辽宁省大连市下辖的一个县级市。位于辽宁省东南部,黄海北岸,辽东半岛的东侧。1992年9月21日撤县设市。与普兰店市、瓦房店市共称“北三市”。明属辽东卫地,清属盖
- 维也纳国际中心维也纳国际中心(英语:Vienna International Centre;德语:Internationales Zentrum Wien),通常称作维也纳联合国城,为联合国维也纳办事处(UNOV)所在地,位于多瑙河以北。维也纳国际中心
- 额我略十六世教宗额我略十六世(拉丁语:Gregorius PP. XVI;1765年9月18日-1846年6月1日)原名巴尔多禄茂·亚尔伯·卡佩拉里(Bartolomeo Alberto Cappellari),1831年2月2日当选罗马主教,同年2月6日
- 底川村底川村,是中华人民共和国甘肃省天水市麦积区元龙镇下辖的一个以李姓为主的自然村,花椒、苹果为其支柱产业。由底川村主体和“坪上”部分组成。位于秦岭山脉的渭河河谷地带,三面
- 迪涅莱班迪涅莱班(法语:Digne-les-Bains,法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2000","G
- 古斯塔夫六世·阿道夫古斯塔夫六世·阿道夫(1882年11月11日-1973年9月15日,瑞典文:Gustaf VI Adolf),全名:奥斯卡·弗雷德里克·威廉·奥拉夫·古斯塔夫·阿道夫(Oskar Fredrik Wilhelm Olaf Gustav Adol
