buf

BE something YOU love and understand
posts - 94, comments - 35, trackbacks - 0, articles - 2
   :: 首页 :: 新随笔 :: 联系 ::  :: 管理

Bump / Normal / Displacement / Parallax Mapping

Posted on 2011-04-26 17:54 buf 阅读(686) 评论(0)  编辑 收藏 引用 所属分类: Graphics

bump mapping : 计算点p的光强时不是直接使用p点的原始法向Np,而是在Np上加上一个小的扰动得到Np’,能够产生凹凸不平的表面效果。如何增加扰动也是用一张图像存储,即bump map。和普通的diffuse纹理映射一样,面片的每个点对应了bump map中的一个像素。



normal mapping :  对model进行简化而尽可能保留细节信息的一种方法,对简化后的model进行shading时使用normal map中对应的法向量。normal map的r、g、b通道分别存储了法向的x、y、z分量信息,指向+z方向的单位向量(0, 0, 1)映射为(0.5, 0.5, 1),这是normal map中最常见的颜色。



displacement mapping : bump mapping和normal mapping都只是在shading的时候调整或是使用新的法向,displacement mapping则直接作用于vertex,根据displacement map中相应点的像素值使vertex沿法向移动,产生真正的凹凸表面。这时的阴影也是凹凸的,而bump mapping后阴影仍然是光滑的。


parallax mapping : 和displacement mapping有点类似,所以又称为virtual displacement mapping。既然是virtual,parallax mapping没有修改vertex的位置,而是由一个以视角和纹理heightmap为输入的函数计算纹理坐标,通过视差获得更强的深度(立体感)。

只有注册用户登录后才能发表评论。