像素着色器实际上就是对每一个像素进行光栅化的处理期间,在GPU上运算的一段程序。
不同与顶点着色器,像素着色器不会以软件的形式来模拟像素着色器。
像素着色器实质上是取代了固定功能流水线中多重纹理的环节,而且赋予了我们访问单个像素以及访问每一个像素纹理坐标的能力
多重纹理的概述
多重纹理就是我们同时启用多层纹理,然后规定他们的融合方式,以得到特殊效果。
多重纹理最典型的应用就是光照运算,在顶点运算阶段,我们不打算使用Direct3D的光照模型,而是使用光照纹理图,
他规定了某一面是如何被照亮的。
例如:我们想在板条箱的上面投射聚光灯,我们可用结构D3DLIGHT9来定义该聚光灯,也可以将代表光照的纹理和板条箱的纹理进行融合
通过多重纹理进行融合比比Direct3D光照计算模型的优点:
1、光照已经预先计算好,并保存在聚光灯的纹理图中,这样程序在运行的时候,就不需要在对光照进行计算了,节省了时间
2、由于光照纹理图是预先计算好的,我们可以采用比Direct3D更精确的光照模型,从而得到更逼真的效果
多重纹理环节一般适用于为静态的物体实现一个完整的光照引擎。假如我们现在手上有多张已经计算好的纹理图,
比如:物体本身的纹理图,漫反射光照的纹理图,还有就是镜面光照的纹理图,当我们需要这些纹理的合成的时候,
只需对这些预先计算好的纹理图进行查询即可高效的为场景增加光照和增加细节。
多重纹理中有一点就是多重纹理坐标,用最简单的三角形来看的话,简单的绘制三角形,我们只需要一层纹理,此时只需要
一个纹理坐标,当我们需要三层纹理融