float phong = pow(max(0,dot(vDir, rDir)),_Power);
//pow函数对phong高光影响的理解;
//pow(x,y)的意思是以x为底,x的y次方,phong模型中有黑白灰 三个层次,该函数的作用就是把灰色部分变黑,是高光变小
//黑色部分的值为0,白色部分的值为1,灰色部分的值介于两者之间,也就是(0,1)这个区间,
//pow函数执行之后,每个像素颜色乘以自己本身,本来是黑的部分零乘以零还是零 依然是黑色,
//白的部分一乘以一,依然是白色。
//灰色部分因为是介于零到一的小数,所以会越乘越小,0.5 * 0.5 = 0.25,值变小之后,部分像素颜色就变黑,白色的高光范围也就缩小了
//从而达到了用pow函数来控制高光范围大小的效果
05-28
225
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-22
09-07
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交