现实中的颜色与材料(2)

镜面光的计算方法比较复杂。最常用的计算方法是:先通过光线的方向向量和物体的平面法向量来计算出光线的反射方向向量。然后再用光线的反射方向向量和视线的方向向量做点积来计算出光线对眼睛的作用强度。再把这个计算得到的作用强度以光泽度值作乘方运算来增加高光部分的汇聚性,减少扩散。最后再把计算结果乘上光线本身的颜色。

冯氏模型公式如下:

spec = Ks * Il * ( dot(V,R) )^Ns
其中Ks 为镜面反射系数,Ns是高光指数,V表示从顶点到视点的观察方向,R代表反射光方向。由于反射光的方向R可以通过入射光方向L(从顶点指向光源)和物体的法向量求出,
R + L = 2 * dot(N, L) * N  即 R = 2 * dot(N,L) * N - L
所以最终的计算式为:
Ispec = Ks * Il * ( dot(V, (2 * dot(N,L) * N – L ) )^Ns

OpenGL超级宝典 第4版 中文版PDF+英文版+源代码 见 

OpenGL编程指南(原书第7版)中文扫描版PDF 下载

OpenGL 渲染篇

Ubuntu 13.04 安装 OpenGL

OpenGL三维球体数据生成与绘制【附源码】

Ubuntu下OpenGL编程基础解析

如何在Ubuntu使用eclipse for c++配置OpenGL  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/d44ac03d908256a41ec36c9cd7bca851.html