码迷,mamicode.com
首页 > 其他好文 > 详细

视差贴图 parallax map

时间:2015-05-13 08:50:49      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:视差贴图   parallax map   antispace   

 视差贴图,不同于法线贴图的是,会根据视角调整纹理映射的偏移,从而产生遮挡效果,
但在多边形的边缘仍然是平的。
(这个需要用浮雕映射来解决,利用gs阶段,输出更多的顶点,从而产生新的多边形,
需要硬件能支持相应的渲染管线,题外话,此处略过不表,
笔者认为如果边缘一般距离视点较远的话,一般情况下影响的效果有限)

首先要有一个高度图

根据视角,以观察到的点为终点,以纹理的最大高度(1*height_scale),根据视线向量,倒退到起点
可以设定一个step(可配置,step越小,采样次数越多,准确率越高,但帧率也会下降)
每隔一个step,采样出当前纹理的高度值tex_h,与当前视点的高度view_h比较,
如果view_h > tex_h 查找继续.否则停止.

为了更精细查找,nvidia还会在找到的step区间更进一步细分,但过程同上述一样,不表.


笔者实现的效果

技术分享

视差贴图 parallax map

标签:视差贴图   parallax map   antispace   

原文地址:http://blog.csdn.net/lsccsl/article/details/45687893

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!