前言
前面我们跟着LearnOpengl学习的都是通过怎么定义一些顶点数据弄出一个立方体在三维世界里模拟光照模拟光源。看着是有点真实的样子了。。可是你见过哪个真实世界里都是这些个立方体的,肯定都是真切的物体啊,什么房子,树,石头,木头等等。要怎么模拟这些呢?怎么把这些放进去呢?很简单啊。基本章节就学习了纹理坐标,我们就已经给立方体贴上了纹理让它成为了一个箱子-结果可以去看我第一章最后的成果图。
然后,我们还缺什么呢?就是把箱子上照上光,我们都说了第一节学习东西没有生气的原因就是死板不真实就是因为没有光,现在加上光不就是真实世界的东西了么?
现实世界中的物体通常并不只包含有一种材质,而是由多种材质所组成。想想一辆汽车:它的外壳非常有光泽,车窗会部分反射周围的环境,轮胎不会那么有光泽,所以它没有镜面高光,轮毂非常闪亮(如果你洗车了的话)。汽车同样会有漫反射和环境光颜色,它们在整个物体上也不会是一样的,汽车有着许多种不同的环境光/漫反射颜色。总之,这样的物体在不同的部件上都有不同的材质属性。
漫反射贴图
我们希望通过某种方式对物体的每个片段单独设置漫反射颜色。有能够让我们根据片段在物体上的位置来获取颜色值得系统吗?
说到这句话,有没有点点熟悉的感觉?我们希望通过物体上的位置找到物体的颜色。这不就是纹理么?我们纹理学的就是这么个道理啊,把纹理想象成一张地图,然后根据位置可以找到纹理上的每一个像素,这就是颜色啊。所以其实漫反射贴图没啥新东西&