平行光,点光,聚光

 

1.平行光

平行光比较简单,主要包含一个代表方向的三维向量.当然使用齐次坐标向量也行.但是要把 w" role="presentation" style="display: inline-block; line-height: normal; font-size: 16px; word-spacing: normal; overflow-wrap: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px; position: relative;">w 分量设置为0代表方向向量而不是点向量.然后再使用Phong氏着色模型中的diffuse,specular,和ambient对场景物体的贴图描述得到.GLSL代码可以先定义一个关于平行光的结构体

一般平行光在一个场景里面用一个就够了.当然想要来点别出心裁的也可以设立多个平行光源.但是得注意性能开销.

上面就是计算平行光的函数了,平行光的方向主要作用于Phong氏着色模型.然后通过三个分量对纹理进行采样最后叠加,返回一个RGB形式的颜色值.

设置一下平行光的参数