openGL之API学习(五十五)凹凸贴图技术

本文深入探讨了OpenGL中的凹凸贴图技术,包括Bump Mapping、Normal Mapping、Parallax Mapping、Displacement Mapping、Relief Mapping和Parallax Occlusion Mapping。通过这些技术,开发者可以利用低面数模型模拟高面数模型的细节,提高视觉效果,同时降低计算成本。
摘要由CSDN通过智能技术生成

法线贴图是目前游戏开发中最常见的贴图之一。我们知道,一般情况下,模型面数越高,可以表现的细节越多,效果也越好。但是,由于面数多了,顶点数多了,计算量也就上去了,效果永远是和性能成反比的。怎么样用尽可能简单模型来做出更好的效果就成了大家研究的方向之一。纹理映射是最早的一种,通过纹理直接贴在模型表面,提供了一些细节,但是普通的纹理贴图只是影响最终像素阶段输出的颜色值,不能让模型有一些凹凸之类的细节表现。而法线贴图就是为了解决上面的问题,给我们提供了通过低面数模型来模拟高面数模型的效果,增加细节层次感,效果与高模相差不多,但是大大降低了模型的面数。

凹凸贴图和纹理贴图非常相似。然而,纹理贴图是把颜色加到多边形上,而凹凸贴图是把粗糙信息加到多边形上。这在多边形的视觉上会产生很吸引人的效果。

粗糙信息的表示有很多方式,下面重点介绍几种常见的方式:

1、Bump Mapping 凹凸贴图

凹凸贴图在计算机图形领域中的研究,最早开始于70年代末,至今已经有接近50年历史了。

凹凸图里存储的是物体表面的高度值(比如木材,做石头,脱了漆的墙面,),本质上是灰度图,这种贴图都是灰白的,如果节省空间的话,甚至可以把贴图的Alpha通道征用来用作Bump。

渲染时候根据这些高度值来计算法线方向(有多种计算方法),进而再根据法线方向计算物体表面的亮度值(有多种计算方法),从而使物体表面出现亮暗分布,给人一种凹凸不平的视觉感受。这其实是一种对人眼进行欺骗的伪凹凸效果。

至于为什么会感觉出凹凸来这个就是人的眼睛自己骗自己了……其实那里本没有凹凸的,但是我们人眼睛太多管闲事了。就像Windows的按钮哪个纯平面的东西我们还以为是凸出来的呢。

下图坐标是效果图,右边是凹凸贴图。

2、Normal Mapping 法线贴图

相对于Bump Mapping,直接省去了从高度图生成法线图的过程。现在很多软件都支持从高精度模型中生成法线图。

Norm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值