25 | 如何用法线贴图模拟真实物体表面
月影
该思维导图由 AI 生成,仅供参考
你好,我是月影。
上节课,我们讲了光照的 Phong 反射模型,并使用它给几何体添加了光照效果。不过,我们使用的几何体表面都是平整的,没有凹凸感。而真实世界中,大部分物体的表面都是凹凸不平的,这肯定会影响光照的反射效果。
因此,只有处理好物体凹凸表面的光照效果,我们才能更加真实地模拟物体表面。在图形学中就有一种对应的技术,叫做法线贴图。今天,我们就一起来学习一下。
如何使用法线贴图给几何体表面增加凹凸效果?
那什么是法线贴图?我们直接通过一个例子来理解。
首先,我们用 Phong 反射模型绘制一个灰色的立方体,并给它添加两道平行光。具体的代码和效果如下:
现在这个立方体的表面是光滑的,如果我们想在立方体的表面贴上凹凸的花纹。我们可以加载一张法线纹理,这是一张偏蓝色调的纹理图片。
为什么这张纹理图片是偏蓝色调的呢?实际上,这张纹理图片保存的是几何体表面的每个像素的法向量数据。我们知道,正常情况下,光滑立方体每个面的法向量是固定的,如下图所示:
但如果表面有凹凸的花纹,那不同位置的法向量就会发生变化。在切线空间中,因为法线都偏向于 z 轴,也就是法向量偏向于 (0,0,1),所以转换成的法线纹理就偏向于蓝色。如果我们根据花纹将每个点的法向量都保存下来,就会得到上面那张法线纹理的图片。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了法线贴图技术及其应用。首先通过Phong反射模型绘制灰色立方体并添加光照效果,然后详细解释了法线贴图的概念和作用。法线贴图是一种纹理图片,保存了几何体表面每个像素的法向量数据,用于模拟凹凸效果。文章还解释了切线空间的概念和计算方法,以及如何通过UV坐标和点的坐标计算切线和副切线。通过这些技术,读者可以了解如何使用法线贴图给几何体表面增加凹凸效果,从而更真实地模拟物体表面。 此外,文章介绍了两种实现法线贴图的方法。一种是通过构建TBN矩阵来计算法向量,需要计算几何体的切线和副切线,然后得到TBN矩阵,用TBN矩阵和法线纹理数据来计算法向量。另一种更巧妙的方法是使用偏导数来实现法线贴图,不需要预先计算几何体的切线和副切线,而是直接用坐标插值和法线纹理来计算。这两种方法各有利弊,读者可以根据实际情况选择合适的方案。 最后,文章提到了法线贴图的应用,除了给几何体表面增加花纹以外,还可以用来增强物体细节,让物体看起来更加真实。这些技术和应用可以帮助读者更好地理解和应用法线贴图,从而提升物体表面的真实感和细节表现。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《跟月影学可视化》,新⼈⾸单¥68
《跟月影学可视化》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- 西门吹雪感觉越看越难 是数学不好吗
作者回复: 不要急,循序渐进
2020-12-231 - 阿不晕法线贴图包含颜色信息么。2022-08-24归属地:浙江
- Geek_29c515老师,您好,看了这么案例特效都是基于图形或图片的,我想掌握glsl动态文字或艺术字相关的,有什么思路或建议吗?2021-04-201
收起评论