Phong Lighting Model

环境光照Ambient

光颜色 lightColor
物体颜色 objectColor
环境光因子 ambientStrength
环境光颜色 ambient vec3 ambient = ambientStrength * lightColor
观察到的颜色 result vec3 result = ambient * objectColor

漫反射光照Diffuse

法向量 norm vec3 norm = normalize(normal);
物体颜色 objectColor
光颜色 lightColor
光源位置 lightPos
物体位置 objectPos
光照方向向量 lightDir vec3 lightDir = normalize(lightPos - objectPos);
漫反射因子 diff vec3 diff = max(dot(norm, lightDir), 0.0)
漫反射光颜色 diffuse vec3 diffuse = diff * lightColor
观察到的颜色 result vec3 result = (ambient + diffuse) * objectColor

镜面光照Specular

法向量 norm
观察者位置 viewPos
物体位置 objectPos
观察方向向量 viewDir vec3 viewDir = normalize(viewPos - objectPos)
反射方向向量 reflectDir vec3 reflectDir = reflect(-lightDir, norm)
spec float spec = pow(max(dot(viewDir, reflectDir), 0.0), 32)
镜面光因子 specularStrength
镜面光颜色 specular vec3 specular = specularStrength * spec * lightColor
观察到的颜色 result vec3 result = (ambient + diffuse + specular) * objectColor

着色器

片段着色器


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值