学习前提
- 学会了我方《OpenGL入门》、《OpenGL进阶》和《OpenGLShader》课程,或者具备同等水平的OpenGL编程人员
- 法线贴图
讲课方式比较
《OpenGL进阶》:我们来实现漫反射计算,通过n和l的夹角来计算漫反射的强度,为什么能通过n和l来确定这个强度呢?是因为...
《案例课程》:我们这里实现漫反射计算,然后再来实现镜面发射,最终颜色就等于漫反射+镜面反射
案例课程属于高级课程,OpenGL相关的知识我们认为是共识,如果这些东西细讲,则案例课程会非常冗长。如果不具备相当水平的同学请不要购买
注意事项
- glm库请使用课程随堂源码中的
内容介绍
视差贴图是基于法线贴图技术的,唯一的区别就是法线采样的位置会有一定的偏移,视差贴图的关键技术点也就是如何去计算这个偏移值。但最终效果的好坏实际上是因场景而已,每个场景 你需要自己去微调参数,让效果达到最棒。
如果需要看效果的话,建议下载东汉书院Windows或者Mac客户端,就可以看到实际运行效果。
实现思路
- 计算世界坐标系下的TBN矩阵
- 计算模型坐标系下的TBN矩阵
- 计算模型坐标系下的view_direction射线
- 将view_direction射线转到切平面坐标系
- 通过三角函数的规则计算视差偏移
- 从法线图种采样法线的时候给纹理坐标加上偏移
- 解码法线
- 将法线转到世界坐标系
- 计算光照效果