您的位置:首页 > 移动开发

OpenGL学习笔记:bump mapping

2011-09-15 15:42 211 查看
bump mapping是为了制作浮雕效果。(In 1978, James Blinn presented a method of performing what is called bump mapping. Bump mapping simulates the bumps or wrinkles in a surface without the need for geometric modifications to the model)

其主要特点是模拟,并不需要真正修改物体的几何模型数据。区别于displacement mapping

实现bump mapping,需要一张图片,称作bump map,结合光照技术,修改正常的法线向量

视觉欺骗原理:

当观察到一个物体是粗燥不平的时候,那是因为物体表面反射出不一样亮度的光线,光线进入你的双眼,经大脑进行智能合成,形成了物体表面粗燥不平的感觉。bump mapping的原理,就是制造出不一样亮度的光线来实现模拟

光线强弱与凹凸表面的关系:

光线强的,表面是为凸,光线弱的,表面凹





以上图片来源于http://freespace.virgin.net/hugo.elias/graphics/x_polybm.htm

上面两张图片都是一样的,只是旋转了180度,但凹凸的感觉完全相反。因为,光线在我们脑海中,总是从上往下照的(太阳在天上),亮的地方,总是更靠近光源,是凸起的(光源是上面),暗的地方,是凹的,远离光源。以两张图的右上圆为例,第一幅图中,边缘是亮的,其周围从上到下的颜色由暗渐明,因此是凸的感觉。第二幅图中,边缘是暗的,周围颜色从上到下是由明渐暗,因此形成凹的感觉。

什么是bump map

bump map由于描述光线的强度的灰度图。如上所述,光线强弱会导致凹凸效果。普通的纹理贴图保存的是颜色信息,贴图的颜色最终与物理模型混合。bump map保存的是光照信息,光照强度由白到黑,因此bump map是一张灰度图,像素描述了表面的凹凸程度。当然。bump map也和普通的纹理贴图一样,具备想要展示的基本形状

bump mapping

OpenGL中,光线的强弱是由法线向量决定的,因此。bump mapping的做法,就是根绝bump map图,对应的修改法线向量

实现bump mapping所需要的技术&材料:

1. bump map图。必须的

2. 光照。必须的

3. multitexture支持。这个基本上是必须的,取决于实现bump mapping的手段

讲解非常通俗易懂的参考:http://freespace.virgin.net/hugo.elias/graphics/x_polybm.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: