opengl光照模型

来源:互联网 发布:js函数内定义全局变量 编辑:程序博客网 时间:2024/04/29 22:42

计算机图形学

   光照模型:

     Gourand着色:

基本思想:在每个多边形顶点计算颜色,在各个多边形内部进行插值,得到多边形内部各点颜色

     着色方法:1、计算多边形的单位法向量

     2、计算多边形顶点的单位向量

     3、利用光照方程计算顶点光强

     4、对多边形顶点光强进行双线性插值,获得多边形内部各点的光强

  



phong模型:与Gouraud着色法比较,Phong着色法的效果比前者更逼真,但运算程序也比前者为复杂

公式:I_spec = k_z * I_l(V • R)^n_s

 

其中:k_z为表面材质的镜面反射系数,n_s是高光指数,V表示顶点到视点的向量,R表示反射光的单位向量。

 

但是在实际的程序编写中,我们一般都会更容易得到入射光线的单位向量L,所以我们最好转换一下公式。设顶点的单位法向量为N,有公式:

R + L = (2N • L)N   (这里再次提醒一下,L的方向是由顶点指向光源的)

由这个可以推出:

R = (2N • L)N - L

所以模型公式可以变为:

I_spec = k_z * I_l(V • ((2N • L)N - L))^n_s

 


0 0
原创粉丝点击