文章目录
- 前言
- 一、Phong光照模型
- 二、图示解释Phone光照模型
- 1、由图可得,R 可以由 -L 加上 P 得出
- 2、P等于2*M
- 3、因为 N 和 L 均为单位向量,所以 M 的模可以由 N 和 L得出
- 4、得到M的模后,乘以 单位向量N,得到M
- 5、最后得出 P 和 R
前言
Unity中Shader光照模型Phong,也是一个经验型光照模型,非物理光照模型,用于低性能的解决高光效果,之前的Lambert光照模型是漫反射光照模型,做不到高光效果,用Phong模型来弥补。
一、Phong光照模型
Phone光照公式:Specular = SpecularColor * Ks * pow(max(0,dot(R,V)),Shininess)
Specular: 最后返回的高光效果
SpecularColor:可以指定高光的颜色
Ks:用于控制高光的反射强弱
R:入射光经过反射后的单位向量
V:反射的顶点到摄像机的单位向量
Shininess:高光指数,用于模型高光的范围
二、图示解释Phone光照模型
Phone光照公式:Specular = SpecularColor * Ks * pow(max(0,dot(R,V)),Shininess)
图中,向量画的不标准,已知向量都是单位向量,所以M的模长可以直接由点积得出
R 是公式中,我们未知的量,需要计算得出